Home

Agent Harnesses

Tags: agents, software engineering
Audience: technical

A lot of folks would be better off not rolling their own harness. There are a couple of reasons for this. Rolling your own agent loop seems simple. It's easy to underestimate. The core agent loop just looks like this.

messages = [{"role": "system", "content": "you are a rly smart..."}]
while True:
    prompt = input("> ")
    messages += [{"role": "human", "content": prompt}]
    response = LLM.complete(messages)
    print(response)

Then you have to add tools and you're faced with a few questions. For example:

This can go on forever. As I've built agents on my own at my day job, I've found one thing: "buy don't build" - except there is zero cost. The colloquialism is cut down to simply "don't build". This may come to a shock to those of us who enjoy tinkering with these agent loops and understanding how context is managed, etc, but there is no reason to rebuild something that has been open sourced and perfected by full time employees working on it.

Take codex for example, an apache 2.0 licensed coding agent built for their models with 74k stars on github, over 8k closed pull requests, over 5k commits, etc. The project is exceedingly popular, and I use it every day. It's great and it's got most of the bells and whistles you'd expect from a modern coding agent: skills, custom slash commands, and built in session tracking/session-resume. If codex seems too complicated for your simple slackbot, try something like the pi-mono coding agent package, which is a much more minimalist interpretation of a general agent harness, with a focus on extensibility and ease of customization. This was the harness powering the rocket ship of a project openclaw that you may have heard of.

The point is, unless you're doing experimental harness research or something else extremely niche, a pre-built coding agent can offer you to skip the line. Don't get stuck building your own agentic loop if you don't have to.


Author's Note: John is anti AI slop. Ouachita Labs blog posts are always written with care by a human brain, proofread with Claude Code.