ai / agents
An agent is a software program that runs tools in a loop to achieve a goal. Tools are things like web search, reading files, and writing files. You state the goal, the agent decides which tools to use, observes results, and decides what to do next, until the goal is achieved.
I run agents in Warp.
When code is cheap
Adding features, refactoring, security patches, bug fixes: modern agents can do them all, and do them fast.
If a new error comes in, I pass the backtrace to the agent, and it diagnoses and fixes it. Before agents, our team would quickly fix high-priority errors but sometimes deprioritize the long tail. Now we just knock them out. Our Sentry error backlog has been at zero for most of 2026.
Bugs, technical debt, and architectural decisions can all be addressed faster than before. When maintenance is this cheap, there's no excuse to let things rot, and we don't have to be afraid to refactor or rewrite when the need arises.
When high-quality software is so low-cost and fast to release and maintain, building is also often more practical than buying.
Humans in the loop
Agents now generate most of my team's code. We are humans in the loop: we write the instructions, we review every change, give feedback, and otherwise generally follow our traditional Software Development Lifecycle: git branches, GitHub pull requests, CI checks, peer review from humans (and now agents), merge, deploy.
Humans on the loop
We are also humans on the loop: we design the loop itself. Tests, CI, server logs, error tracking: each is a feedback loop we tighten around the agent. Run the tests, run security scans, apply coding guidelines, fix what fails, run them again.
Our job is increasingly becoming that we design into the environment: making sure the loops are tight enough that the agent can't wander far from correct.
Specifically, with more code being generated, checks runs more often locally and in CI. The checks themselves must be fast. cibot helps us start CI runs fast (a second or two after push) and its output is simple plain text: you can paste back to the agent when a check fails.
Similarly, I check AGENTS.md files into the repo to instruct agents.
They are version-controlled, reviewable in PRs,
and scoped to the directory they live in.
A root AGENTS.md covers architecture, conventions, and quick reference.
Subdirectory files (db/AGENTS.md, lib/handle/AGENTS.md, test/AGENTS.md,
ui/AGENTS.md) have domain-specific rules
so the agent gets focused context for the area it's working in.
What comes next?
Today we prompt one agent at a time and review its work. The next step may be orchestrating many agents in parallel. Project boards like Linear already track what needs building. Agent platforms like Warp Oz already run agents in the cloud. Connect the two and the board becomes the control plane?