┌──────────────────────────────────────────────────────────────────────┐
│ Today's Agent Development Workflow (The Problem) │
└──────────────────────────────────────────────────────────────────────┘
┌─────────────────┐
│ BUILD │ (LangChain/CrewAI/AutoGen)
│ Fragmented │
│ Frameworks │
└────────┬────────┘
│
│ Manual Testing
▼
┌─────────────────────────────────────────┐
│ EVALUATE │
│ (Evaluation SDKs / Unit Tests / E2E) │
│ (Manual Testing / Jupyter Notebooks) │
└────────┬────────────────────────────────┘
│
│ Guess & Check
▼
┌─────────────────┐
│ DEPLOY │ (Docker / Custom Orchestration)
│ Custom Scripts │
└────────┬────────┘
│
│ Hope it Works
▼
┌─────────────────┐
│ MONITOR │ (Datadog / Custom Logs)
│ Reactive Fixes │
└────────┬────────┘
│
│ Something Broke?
│
└─────────────────────────┐
│
(Loop Back to BUILD)
│
▼
The AI agent hype is everywhere. But unlike the deep learning era that gave us reproducible experiments and systematic tooling, we’re building agents with ad-hoc tools, fragmented frameworks, and basically no methodology. I’ve been frustrated by this for a while, and I wanted to write down what I think is broken.
This is Part 1 of a 3-Part Series
- Why Building AI Agents Feels So Broken (You are here)
- What’s Out There - Looking at LangSmith, MLflow, and the major cloud providers
- What I’m Building - HoloDeck’s approach and how it works
The Mess We’re In
There’s no shortage of frameworks—LangChain, LlamaIndex, CrewAI, Autogen, and dozens more. Each promises to simplify agent development. But they all leave you solving the same hard problems:
- How do I know which prompt actually works? You tweak it manually. Test it manually. Repeat endlessly.
- How do I make my agent safe? You add guardrails ad-hoc. Validation rules scattered across your codebase. No systematic testing.
- How do I optimize performance? You adjust temperature, top_p, max tokens. Trial and error until something seems to work.
- How do I deploy this reliably? You build custom orchestration. Write deployment scripts. Manage versioning yourself.
- How do I know my agent still works after I changed that one thing? You hope. You test manually. You ship bugs to production.
Here’s what bugs me: we’re shipping agents, not code. Yet we treat them like traditional software—write it once, deploy it, call it done. But agents are probabilistic systems. Their behavior varies. Their performance degrades. Their configurations matter as much as their code.
Something’s off.
Why This Bugs Me Now
Agents aren’t just demos anymore. They’re going into production:
- Customer support - Agents handling real customer queries, with real consequences for bad responses
- Code generation - Agents writing and deploying code, with security implications
- Data analysis - Agents making decisions that inform business strategy
- Workflow automation - Agents executing multi-step processes with real-world effects
When your agent hallucinates in a Jupyter notebook, you shrug and re-run the cell. When your agent hallucinates in production, you lose customers, leak data, or worse.
The gap between “cool demo” and “production-ready” is huge. And I’ve watched teams discover this the hard way—including my own.
We’ve Done This Before
Here’s what I keep coming back to: the deep learning revolution wasn’t about finding the perfect neural network. It was about systematizing the process of building them.
Think about the traditional ML pipeline:
- Define architecture - Choose layers, activation functions, size. The structure matters.
- Define loss function - Quantify what “good” means. Measure it.
- Hyperparameter search - Systematically explore temperature, learning rate, batch size. Test rigorously.
- Evaluate and iterate - Run experiments. Compare results. Make data-driven decisions.
This wasn’t guesswork. It was scientific method applied to AI.
The community built frameworks around this—Keras, PyTorch, TensorFlow. They made the pipeline accessible. Suddenly, thousands of practitioners could build sophisticated models because the methodology was codified.
But somehow, we’ve abandoned this for agents.
We’re back to hand-tuning prompts. Testing agents by running them once. Deploying based on gut feel. Ignoring the systematic approach that made deep learning successful.
Why did we regress?
So What’s Out There?
Before I started building my own thing, I wanted to understand the landscape. In Part 2, I look at what’s available:
- LangSmith (LangChain’s observability platform)
- MLflow GenAI (Databricks)
- Microsoft PromptFlow
- Azure AI Foundry
- Amazon Bedrock AgentCore
- Google Vertex AI Agent Engine
They all solve parts of the problem. But I couldn’t find anything that addressed everything I cared about.