ai / agents

An agent is a software program that runs tools in a loop to achieve a goal.

I state the goal. The agent runs tools (web search, reading and writing files, etc.), observes results, and works until the goal is achieved.

I run agents in Warp as my primary tool for software development. I often run multiple agents in separate Warp tabs, inside git worktrees.

Warp AI agent and code review screenshot

Analogy

Horse-drawn cart AI agents
Intent Driver Human operator
Steering Reins Prompts
Power Horse Model
Transmission Leather harness Agent harness
World interface Wheels Tools & APIs
Load Cargo The task

A native terminal is the agent harness

I'm a long-time Vim user. I find raw CLIs like Claude Code too limiting.

Some things are nicer with a native UI like Warp:

A router picks the model

A custom router picks the model by task complexity: a fast, cheap model for easy tasks and a stronger model for hard ones. This saves me from choosing one per prompt.

The router also fails over. When one provider has availability issues, it flips to the most similar model from another. I keep a single router as my default and swap models as better ones ship.

Humans on the loop

We are often humans in the loop, writing instructions and reviewing every change.

We are also humans on the loop: we design the harness itself. CI and tests are constraints we tighten around the agent.

Specifically, checks run more often locally and in CI. cibot starts CI runs fast and outputs plain text to paste back to the agent if a check fails.

We also check AGENTS.md files into the repo. They are version-controlled and scoped by directory. A root AGENTS.md covers architecture and quick reference. Subdirectory files (db/AGENTS.md, ui/AGENTS.md) have domain-specific rules.

What goes in AGENTS.md

Patterns I've found useful:

← All articles