Codrex
A Rust coding-agent runtime that pairs a cheap worker model with a strong orchestrator, to find out how much of agentic coding is really about the model.
The question
Agentic coding tools are expensive mostly because they run a frontier model for every step, including the many steps that are clerical: reading a file, applying a diff, running a test, reporting back. I wanted to know how far you get by splitting the roles — a strong model that decides, a cheap model that does.
Codrex started as a fork of OpenAI’s Codex CLI and became a testbed for that split.
What I chose
Rust, for the boring reason. The runtime spends its life spawning processes, streaming their output, and holding a lot of file state. I wanted no surprises in the supervision tree and a binary I could drop on any of my machines.
A hard boundary between deciding and doing. The orchestrator never touches the filesystem. It emits intents; the worker executes them and returns structured results. This is more ceremony than a single-agent loop, but it makes the swap testable: change one side, hold the other constant, measure.
A tournament, not a vibe check. I ran six rounds of the same tasks across the tools I was comparing, with fixed prompts and a scoring rubric written before I saw any output. Cursor won. Publishing a result that wasn’t mine was the point — otherwise it’s marketing.
What the split actually costs
Latency. Two model calls where there was one, plus serialisation between them. For long autonomous runs the cost saving dominates. For interactive editing, the extra round-trip is felt immediately, and I have not solved that.
Status
Still building. The honest summary today: the split works for well-specified mechanical work and degrades when the worker needs the orchestrator’s context to interpret an ambiguous instruction. That boundary is the interesting part.