It’s a loop. Run your agent, feed the traces to HALO, get the report, apply the fixes, then re-run your agent.
HALO takes in OTEL compliant traces from AI agents using tracing frameworks such as Langfuse, Arize/OpenInference, or even just plain JSONL. It uses an RLM (Recursive Language Model) to more efficiently break trace analysis into smaller subproblems in order to find recurring patterns across large amounts of data and fix systemic issues that regular LLMs might typically miss.
You can also optionally provide a path to where your agent code lives to give the engine more context so it can more concretely provide useful insights.
The repo also includes a desktop app that you can run locally without having to sign up for anything or configure anything complex.
Check out the readme in the repo for more in depth information on what HALO is and how you can use it to your benefit :)
I'm curious how this compares to just using Claude Code directly and giving it a dump of the agent traces? It seems like Claude could probably do some of the same diagnostics / trace grouping to identify failure patterns. Why use a custom harness?
However, once you're at production scale the problem changes. You can't always fit 10,000+ traces in Claude Code and still have it be effective especially when the relevant pattern of agent failures may only become apparent when you pass that many in. That's where the RLM based methodology helps. HALO recursively decomposes the trace data into smaller investigations, analyzes those sub-pieces, and then synthesizes those up to determine the recurring harness-level failure modes better than Claude Code or Codex ever could at a large scale.