Back to Insights
July 16, 20266 min readInsightAI Agentsprofessional servicesReuse

Fork What Works

My newest agent took an hour to build, and half of that was picking her name. I took Mia, an agent that has spent months quietly earning trust in production, and copied her whole. Same skeleton. Same health timer. Same knowledge tool. Then I changed one environment variable so the knowledge tool pointed at a new corpus, and Speckles was alive. Every programming instinct I have says this is a sin. But it is the same lesson I keep running into in every industry I work in: the expensive thing is not the build. It is the proof.

01The sin

Every programmer learns the same rule early: don't repeat yourself. If two systems share code, pull the shared part out and let both depend on it. So when I needed a second agent, one with Mia's shape but a head full of different knowledge, I knew what I was supposed to build. A platform. Add a tenant ID, a config schema, feature flags, a migration story. One codebase, many customers. It is the respectable answer, and I know how to build it.

I forked her instead. Speckles has her own HERMES_HOME. Her health timer is mia-health, cloned and renamed. Her knowledge tool is the same meta-knowledge tool with one env var pointed somewhere new. If you had diffed the two agents on day one you would have found almost nothing. That was the point.

02What the copy inherits

Why does the copy beat the platform? Because of what it inherits. Not the code. Code is the cheap part now; an agent can regenerate most of it in an afternoon. What the copy inherits is the track record.

Here is what a track record costs in my shop. In another corner of my work I run a denial-assessment agent for medical billing. Before it touched real claims, it had to pass a golden set of cases. That took weeks. Mapped-action accuracy crawled from 36.7% to 76.7% to 80%, run after run, prompt change after prompt change. Classification went from 80% to 93.3% the same way. On the full 150-case run it finally scored 92.0% on classification and 90.7% on action. Every point was paid for.

1
env var changed to give the clone its own knowledge corpus
0
files touched in Mia when Speckles was born
92.0%
classification score the denial agent earned on the full run
150
eval cases behind that score

A score like that attaches to one exact configuration. Change the prompt, the model, the wiring, and the number is void; you run everything again. A platform refactor is a change to every tenant at once, including the tenant that was already passing. A fork changes nothing about the parent. Mia's record survives because Mia is untouched.

The same rule holds everywhere I look. The quoting engine that prices jobs for a contractor-services business earned its trust quote by checked quote. The voice agents that call payers earned theirs call by graded call. None of that trust survives a rewrite. All of it survives a copy.

Key insight

A clone inherits its parent's passing track record on day one. A platform makes every tenant, including the first, earn that record again.

What broke

I once gated shipping on my tuned agent agreeing with an older agent, case by case. It took days to make the comparison run clean, and then the results showed the gate could never pass: on real divergences the tuned agent matched the golden answers about 78% of the time and the older agent about 38%. I was grading the student against a weaker student. I retired the gate. Earning a number you can trust is the most expensive thing I do.

03Who abstraction is for

But don't the copies rot? Two forks drift, fixes get ported by hand, and in five years you have two strangers. That used to be true. It was true because maintenance was done by people, and people hours were the scarcest thing in the building. Abstraction was never free. We accepted indirection, coupling, and harder debugging because it saved maintainer hours, and maintainer hours were worth more than anything else.

My maintainers are agents now. When a fix lands in Mia and Speckles needs it, I do not port it by hand. I say so, and an agent ports it. The cost of keeping two copies roughly in sync fell from an afternoon to a sentence. The cost of sharing code did not fall at all. Shared code still means a change made for the new agent can break the old one.

Duplication costs me disk. Shared code costs me blast radius.

Disk got cheap decades ago. Blast radius never gets cheap.

04The freedom to be wrong

The fork buys one more thing: the freedom to be wrong. Speckles is an experiment. I can break her, rebuild her, or kill her, and Mia never notices, because they share nothing at runtime. Try that on a platform. Every experiment on a shared codebase is an experiment on your best customer.

The result

The day she was born, Speckles answered real questions on a corpus Mia had never seen, and Mia never blinked, because none of her files were touched.

What I take from this:

  1. 1The asset is the track record, not the code. Code got cheap. Verified behavior did not.
  2. 2Fork the instance that already passes. The clone starts life with its parent's record and its own blast radius.
  3. 3Price abstraction in maintainer hours. If agents do your maintenance, duplication just got very cheap.
  4. 4Keep the trusted thing untouchable. New corpora, new tenants, and new experiments live in copies.

DRY was never really about repetition. It was a bet that keeping copies in sync costs more than sharing one original. For fifty years the bet paid. In a shop where agents do the maintenance, it has quietly stopped paying, and almost nobody has noticed. So look at the platform rewrite on your roadmap and ask what it costs in re-earned trust. Then ask what a copy costs. Mia keeps working. Speckles gets to be broken until she earns her own record. They share everything except a fate.