
The Hired Gun
My top 10 AI harnesses, and why they are contenders
An AI harness is the scaffolding around a model. It’s the shop floor where the work actually happens.
It gives you control, safety, reproducibility, cost management, and customization without rewriting the model itself. I use harnesses to test ideas fast, keep experiments comparable, and avoid leaking prompts or data. If you’re building with agents, you need one.
We’re Hired Guns. We’re the MacGyvers of this space. We don’t wait for permission. We build fast, run local when we can, and get around cloud costs with duct tape and good design.
What to look for
When I’m evaluating a harness, I care about a short list of non-negotiables:
- State management that survives retries. Agents fail. Networks drop. Models hallucinate. The harness has to remember where it was and pick up cleanly.
- Security and sandboxing you can audit. If the agent can run code or call tools, I need to know exactly what it can and cannot touch.
- Observability you can actually read. Traces, logs, intermediate thoughts, tool calls — all of it has to be inspectable without a PhD in distributed systems.
- Multi-agent support when you need it. Not every problem needs a committee, but when it does, the harness should make coordination straightforward instead of painful.
- Model agnosticism. I refuse to be locked into one provider. The best harnesses treat the model as a swappable component.
- Ease of use. If it takes a week to stand up a simple loop, it’s not a harness — it’s a research project.
Everything below was judged against those criteria.
The Top 10
1. LangGraph
The current production heavyweight. LangGraph treats agent workflows as graphs — nodes, edges, cycles, checkpoints, human-in-the-loop interrupts. State is first-class. Persistence is built in. Observability is excellent. When the job requires reliability, complex branching, and the ability to resume after failure, this is the tool most serious teams reach for. It has more moving parts than some alternatives, but that complexity is there for a reason.
2. OpenHands (formerly OpenDevin)
If your agents need to write, execute, and debug real code, OpenHands is one of the strongest options available. It was designed from the ground up for software engineering agents, with a secure runtime sandbox, an event-stream architecture, and clear separation between the agent controller and the execution environment. You get real isolation without giving up power. For anyone building coding agents or autonomous developers, this is near the top of the list.
3. Smolagents (Hugging Face)
Radical simplicity done right. Instead of forcing the model through rigid JSON tool schemas, Smolagents lets the model write and execute raw Python. The result is transparent, debuggable, and surprisingly capable. Configuration is minimal. It works with almost any model. When I want to move fast, understand exactly what the agent is doing, or keep the stack light enough to run locally, this is often my first choice.
4. CrewAI
CrewAI makes role-based multi-agent teams feel natural. You define agents with clear roles, goals, and tools, then drop them into a “crew” that collaborates on a task. The abstraction is clean and the time-to-first-working-system is short. It shines when the problem maps cleanly onto specialized roles (researcher, writer, critic, executor). Less ideal for highly dynamic or deeply stateful workflows, but excellent for structured collaboration.
5. AutoGen (Microsoft)
One of the more mature conversational multi-agent frameworks. AutoGen supports group chats, tool use, human feedback loops, and flexible conversation patterns. It’s well-documented, actively maintained, and flexible enough for both research experiments and production systems. If your mental model of agents is “a group of specialists talking to each other,” AutoGen will feel familiar and productive.
6. LlamaIndex Workflows / Agents
LlamaIndex has always been strong on data and retrieval. Their agent and workflow layer extends that strength into event-driven, stateful agent systems that play especially well with RAG pipelines. If your agents live or die by the quality of the context they can pull in, this is a natural fit. Observability and workflow control have improved significantly, making it a serious contender beyond pure retrieval use cases.
7. Goose (Block / Linux Foundation)
Goose is built around the Model Context Protocol (MCP) and treats tools and capabilities as modular servers. That design choice makes it highly extensible and aligned with where the industry appears to be heading. It’s lightweight, practical, and increasingly interesting as MCP gains traction. Worth watching closely if you care about long-term interoperability and clean tool boundaries.
8. Semantic Kernel (Microsoft)
More enterprise-oriented than most of the pure agent frameworks. Semantic Kernel emphasizes planning, skill composition, and structured orchestration. It has solid multi-language support and is designed to sit inside larger software systems rather than exist as a standalone agent playground. When you need agents that play nicely with existing enterprise codebases and governance requirements, this is a strong option.
9. Promptfoo
Not a full agent runtime — and that’s the point. Promptfoo is one of the best evaluation and red-teaming harnesses available. YAML-driven test cases, flexible assertions, LLM-as-judge support, and strong red-teaming features. I use it to keep experiments comparable, catch regressions, and systematically probe for failure modes. If you take reliability and safety seriously, you need something like this in the stack.
10. DeepEval
A pytest-native evaluation framework focused on the metrics that actually matter for agents and RAG systems: hallucination, tool correctness, answer relevancy, faithfulness, and more. It integrates cleanly into CI/CD pipelines and makes it practical to treat agent quality as a first-class engineering concern. Pair it with almost any of the runtimes above and you get a much more disciplined development loop.
Honorable Mentions
- Inspect (from the UK AI Safety Institute) — for rigorous safety and capability evaluations when you need research-grade methodology.
- Terminal-native and lightweight local agents (OpenCode and similar) — when pure local control and minimal dependencies are the priority.
- Haystack — still excellent when document processing pipelines and agents need to stay tightly coupled.
Closing Thoughts
There is no single best harness. The right choice depends on whether you optimize for production reliability, rapid experimentation, secure code execution, multi-agent collaboration, or systematic evaluation.
What matters is that you use one. Running raw model calls with a pile of ad-hoc scripts is how you lose reproducibility, leak data, and waste time. A good harness gives you the control surface you need without forcing you to rebuild the model.
Pick the one that matches the job. Keep the experiments tight. Stay local when you can. And never stop treating the scaffolding as seriously as the model itself.
That’s how the work actually gets done.
Comments 0 in this thread