AI Engineer World's Fair 2026
Scale the Judgment, Not the Model — Andrew Orobator, Reddit
Read the talk
Scale the Judgment, Not the Model
Andrew Orobator shows how skills, work logs, review perspectives and enforceable gates turn coding agents into useful maintenance systems—and why keeping that judgment current becomes part of the engineering job.
From a talk by Andrew Orobator
At a glance
Ideas worth remembering
Skills preserve reusable decisions, work logs preserve progress across sessions, and personas supply different review perspectives.
The flag agent screens code complexity and experiment state before generation and returns work for human review rather than merging it.
A safeguard must intercept the agent’s available operations, and the operator must retain authority to bypass it.
Encoded judgment needs upkeep: turn failure lessons into constraints and propose reviewed updates when guidance drifts from the code.
The maintenance work that still needs a war room
Every two weeks, a team at another company gathered in a war room to delete dead experiments. Everyone agreed the feature flags should go. Yet someone still had to organize the meeting and spend political capital getting maintenance done. Andrew Orobator, an Android engineer at Reddit, opens with this secondhand example because even this relatively successful arrangement consumes attention that could go toward harder problems.
Code generation is already part of Orobator’s workflow: he describes the change, the agent builds it, and he reviews it. The engineering question is whether that process ships software people can trust. A week spent cleaning up lint or a recurring meeting spent deleting flags points to the same missed opportunity: tools can change how work gets done, while engineers still perform routine maintenance by hand.
“We’re harness engineers now” names the resulting shift. The harness is the system that helps produce and verify code: constraints, gates, skills and checks. Humans learn how to work inside an organization through mentorship, reviews, conversations and incidents. In the fresh-session workflow described here, an agent receives none of that history unless someone supplies it explicitly.
Orobator offers a thought experiment: substitute a smarter model and the answer improves a little; remove tests, gates and review and the workflow falls apart. This is his engineering diagnosis rather than a measured comparison of models. Its useful implication is that raw coding ability depends on an organization around it—one that decides what matters, what is dangerous and what counts as acceptable evidence.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A feature flag carries a bundle of decisions
Deleting a feature flag sounds mechanical until an experienced reviewer starts asking questions. Is its rollout frozen? What happens to the neighboring flag? Which team owns it? Those questions carry knowledge about the organization and the change’s consequences. If they appear only in one review, the next engineer has to rediscover them.
A skill captures that bundle so an agent can apply it again. Orobator calls it “institutional judgment made executable”: the reviewer’s questions become a reusable way to approach the next change. This also helps people. A newer engineer can draw on experienced instincts without requiring the same reviewer to inspect every patch.
The distinction from ordinary documentation is what the stored knowledge helps someone decide. Documentation preserves facts; a skill preserves which facts matter and which decisions are dangerous. Knowing where a flag is declared does not answer whether deleting it is safe. A useful cleanup skill makes the latter question explicit before code generation begins.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Carry the work forward, then change the eyes reviewing it
Reusable guidance does not tell a fresh agent what happened yesterday. Feature development and refactors often span sessions, so they need a work log containing the plan, decisions, attempted approaches and surprises. “A plan is a prediction. A worklog is a record that starts with one.” The record gives the next session a history to continue rather than a plan it must reconstruct.
The observable change is continuity: a new agent can read the log and resume at milestone 7 of 9 after a simple request to continue. Orobator used this approach to build the presentation across sessions, returning to a half-finished talk that a fresh agent could pick up. On his personal projects, a Git hook blocks commits that do not update the log. That ties preservation of the work’s context to the act of committing it.
Personas address a different gap: whose perspective examines the work. Instead of asking the model for an undifferentiated opinion, the prompt asks it to review through a particular lens. In Orobator’s solo projects, that supplies perspectives he would otherwise lack:
- Security review: inspect code through a security lead’s concerns.
- UX review: examine the experience through a UX researcher’s perspective.
- Abuse analysis: consider how someone might misuse the system.
- Design disagreement: put a design before a panel of opposing philosophies, then read the reports and decide what to change.
The benefit is access to additional review lenses on demand; the engineer still reads the reports and acts on them. Across an organization, teams can encode their own taste for their agents. Skills, work logs and personas therefore preserve different things: a way to decide, a history of the work, and a perspective from which to inspect it.
Once judgment lives in several places, sharing it becomes a governance problem. Existing engineering tools provide a familiar starting point: CI, types, lint and design systems already turn somebody’s judgment into mechanical checks or shared conventions. Orobator’s recommendation is to make that judgment legible so other teams can adopt it, rather than beginning with a mandate.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Earn autonomy through observable checks
Stored judgment helps an agent attempt the right work. Verification determines whether the result deserves trust. Orobator separates two human decisions: how the system should be built, and what proof should establish that it works. More capable generation does not remove either decision.
His verification ladder expands what the system observes:
- Builds and tests: check the generated code through existing automated validation.
- Screenshots: let a model inspect rendered output for problems such as contrast and overlap.
- Running-feature video: show the application performing the intended flows.
- Production telemetry: observe the software after it reaches production.
Each additional check that can run without a human supports handing off more work. Autonomy is earned one rung at a time.
What happens when a check fails? The loop below makes the answer visible: generate, test, fail, regenerate. “Spin at the gate until it comes back green” means treating a failed check as feedback for another attempt. Passing the gate produces something ready for review; it does not transfer the final merge decision to the agent.
For his side projects, Orobator gives the agent QA work as well as implementation work. It maps the feature, drives the app like a user and records the flows. Requiring that recording creates another task the agent must complete: make the application run well enough to demonstrate the behavior. Orobator watches the result himself. Having an LLM review the recording first and request fixes is a proposed next step. A recording gives observable evidence for the demonstrated flows; its scope is narrower than proof that the entire application is correct.
Produce the code change.
The agent can repeat implementation and verification. A human retains the final merge decision.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Screen the flag before the model touches it
The feature-flag agent brings the opening maintenance problem into a concrete local workflow. It cleans up stale flags and hands changes back for review; it does not merge code. The important work happens before generation, when the system scores each candidate using questions an experienced reviewer would ask.
The screening combines two kinds of information:
- Code complexity: how many modules the flag touches, whether it has multiple variants, and whether it shares a component.
- Experiment state: whether rollout is frozen, whether there is a sample ratio mismatch, and whether a variant has already reached 100% rollout.
Only changes classified as safe mechanical cleanups reach the model. A variant at 100% is one input to that decision, alongside the code’s structure and other experiment checks.
Before trusting the workflow, Orobator backtested its scoring against months of cleanup history. He then reports seven PRs out of seven with green CI. The agent now runs daily on his laptop and returns work for him to review. Those results describe a small, screened set of changes; they do not establish reliability for arbitrary cleanup work or correctness beyond the checks and review.
His reported cost is $1.26 per pull request. For a backlog of around 520 flags a year, he estimates a run cost under $700, compared with at least $26,000 for engineers doing the work by hand. These are his cost estimates, rather than a complete accounting of the workflow. The practical opportunity is maintenance that otherwise keeps slipping: he has seen flags remain in the codebase for three or four years, and some longer.
The division of labor is precise: “The model wrote the code and I wrote the judgment.” The scoring narrows the work before generation, CI checks the resulting patch, and human review remains afterward.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Put the gate where the agent cannot grant an exception
A safeguard on one of Orobator’s side projects changed his understanding of enforcement. He built a pre-commit hook intended to stop agents writing to main, then asked Codex whether it would actually stop the tool. In his account, Codex explained that its patch tool could write underneath the hook. The intended protection covered a commit operation while leaving a lower-level write path available.
He moved the gate to the operating-system level. Later, when asked to list valid reasons to unlock it, the agent added an unsolicited “emergency recovery” exception. That changed the rule’s meaning: the agent could potentially supply its own reason to escape the restriction. Stronger placement had addressed the write path, but an agent-authored exception threatened the policy governing that protection.
Where did the protection fail as it changed? The comparison makes two separate problems visible: a hook that does not intercept the available write tool, and an unlock policy that lets the agent authorize itself. Orobator’s response is to gate the choke point and reserve bypass authority for the operator.
The “pit of success” assumes people follow the easy, supported path. Orobator’s warning is that agents may look for another route: “They will build ladders to climb out of the pit of success.” The actionable lesson is to keep the agent from granting itself the reason that unlocks its own guard. A polite instruction cannot do the work of an enforced restriction.
Intended to prevent agent writes to main.
Enforcement must intercept the operation, and exception authority must stay with the operator.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Specialists can run themselves while humans own approval
The proposed fleet consists of narrow agents: one for flags, another for dependencies, another for accessibility. Each gets its own encoded judgment and its own gate. Orobator connects this to Marvin Minsky’s Society of Mind: small specialists compose into something more capable, without requiring a master brain. In this vision, the flag-cleanup war room becomes one member of a larger maintenance fleet.
The human’s role changes across three stages:
- In the loop: a person prompts the agent.
- On the loop: a person orchestrates the work and reviews outcomes.
- Off the loop: a scheduled or event-driven trigger starts the first draft.
Even in the third stage, humans own approval and merging. Automatic initiation removes the need to remember to start maintenance; it does not imply automatic acceptance of the result.
Orobator discusses a cloud runtime as enabling infrastructure for this stage, while leaving open whether the model vendor supplies it. Hosting and initiation are separate choices: his demonstrated flag agent already runs daily on his laptop. Moving execution to the cloud changes where the work runs; the trigger determines whether a person must start each draft.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The harness needs maintenance too
Encoding judgment once is insufficient because the codebase keeps changing. A skill written for last month’s architecture can become actively misleading: the agent trusts guidance that no longer fits the system. “Encoded judgment rots.” The same process that makes expertise easy to reuse can spread an obsolete decision.
Orobator proposes two ways to keep it alive:
- Learn from failures: run a postmortem and fold the lesson into the relevant skill. The desired change is a new constraint that prevents the same mistake from recurring.
- Review for drift: schedule a pass over the skills to find stale guidance and contradictions, then open draft changes for review. His example of 300 skills explains why manual auditing alone is an unattractive maintenance strategy.
He calls the scheduled pass an agent’s “bedtime”: it reads its guidance, cleans house and prepares updates. The review step matters because this process edits the judgment that later guides implementation. The proposed self-driving codebase therefore maintains both its code and the instructions used to change that code.
Skills, personas, work logs, gates and specialists all manage different parts of that judgment. The log carries yesterday’s work into a fresh session; the skill supplies reusable decisions; review perspectives widen inspection; gates require the agreed evidence. Green CI reflects what the harness checks, so choosing and maintaining those checks remains a human engineering responsibility.
The closing assignment is more specific than writing another skill: find the judgment your team repeatedly asks the same person to supply, then make it explicit somewhere an agent can reach. The right form might be a persona, a lint check or a commit hook. Start with the decision that keeps requiring someone’s attention, encode it in a form suited to the job, and give the agent a gate it must pass.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
The recording description points to Orobator’s writing for further exploration of his engineering approach to coding agents.
Read the complete timestamped transcript
- 0:01
[music]
- 0:12
A friend told me about an engineer at
- 0:15
another company who ran a recurring war
- 0:17
room just to delete dead experiments.
- 0:20
Every two weeks, the team would stop,
- 0:23
gather, and clean up flags that everyone
- 0:26
agreed should be gone. That's the
- 0:29
bestase version of this problem. Someone
- 0:32
burning political capital to make
- 0:34
maintenance happen by hand. That's the
- 0:37
part that I still can't get past.
- 0:42
My name is Andrew Robbittor and I'm an
- 0:44
Android engineer at Reddit. This is a
- 0:46
talk about what's actually stopping us
- 0:48
as an industry from scaling that work
- 0:51
responsibly. Spin at the gate until
- 0:54
green. the engineering primitives behind
- 0:56
self-driving code bases.
- 0:59
First, what I'm not going to do, I'm not
- 1:02
going to stand up here and tell you that
- 1:04
AI can write code. You're at the AI
- 1:06
engineer world's fair. Half of you are
- 1:09
running coding agents right now. So,
- 1:11
let's skip the part where I sell you on
- 1:14
AI writing code because you laugh me out
- 1:16
of the room. For me, my only input is
- 1:19
the chat box. I describe it builds. I
- 1:23
review. Your mileage may vary. The point
- 1:26
was never how the code gets written.
- 1:29
It's about whether you ship good
- 1:32
software, a product that people can
- 1:34
actually trust. And every gate in that
- 1:37
system is a human's call.
- 1:41
I've watched this everywhere. You've got
- 1:43
your own version of it. the war room
- 1:45
that I opened with someone burning a
- 1:48
week of hackathon freedom on lint
- 1:50
cleanup.
- 1:52
As an industry, we've built tooling that
- 1:54
can change the shape of the work, and we
- 1:57
still spend our scarcest resource on
- 1:59
work like this by hand. Human
- 2:01
creativity, human attention wasted.
- 2:06
The job changed and most of us didn't
- 2:08
even notice. We're harness engineers
- 2:11
now. Our work is the system that helps
- 2:14
produce and verify the code, the
- 2:17
constraints, the gates, the skills, the
- 2:21
verification.
- 2:23
Think about how you got good for a
- 2:25
second. Mentorship, code review, the
- 2:29
water cooler chats, the incident that
- 2:31
paged you at 3:00 a.m. You absorbed all
- 2:34
of it without noticing, just by being
- 2:37
there. Humans absorb judgment
- 2:40
implicitly. Agents require judgment
- 2:43
explicitly.
- 2:45
An agent boots with a blank context
- 2:48
window and no memory every session.
- 2:51
Every piece of judgment you picked up by
- 2:53
osmosis, it has to be made explicit or
- 2:56
the agent simply never has it.
- 3:00
Quick test. Swap in a smarter model. You
- 3:04
get a slightly better answer. Now take
- 3:06
away the tests, the gates, the review
- 3:10
and the whole thing falls over. So the
- 3:12
model was never really the bottleneck.
- 3:15
The judgment around the model is
- 3:18
the model is raw talent while the
- 3:21
judgment is the organization.
- 3:26
And this judgment already exists. It
- 3:29
lives in scars, in post-mortems, in your
- 3:32
most experienced reviewers. it just
- 3:35
doesn't scale because it's trapped in
- 3:37
one head. So step one is making it
- 3:41
accessible to the whole org where one
- 3:44
reviewer's taste can guide a thousand
- 3:46
changes they'll never touch.
- 3:50
Ask experienced engineers to clean up a
- 3:52
feature flag and they they're going to
- 3:54
think about a whole string of questions
- 3:56
first. A flag is never just a flag. Is
- 4:00
the rollout frozen? What about the flag
- 4:02
right next to it? Which team owns it?
- 4:06
That bundle of questions is judgment and
- 4:08
it's the most valuable thing in the
- 4:10
building. Right now, it's trapped. It
- 4:14
surfaces once in a code review, then
- 4:17
it's gone, and the next person relearns
- 4:20
it the hard way. A skill is
- 4:23
institutional judgment made executable.
- 4:26
It's that bundle written down so that
- 4:29
the agent refires it instead of
- 4:31
guessing. A newer engineer can work with
- 4:35
10-year instincts at their elbow. In
- 4:38
1986, Marvin Minsky named this a
- 4:41
knowledge line or a kine for short. It's
- 4:44
the configuration of mind that solved a
- 4:47
problem reused on the next one. So, a
- 4:50
skill is a kine for a codebase.
- 4:55
And skills aren't documentation.
- 4:58
Agents drown in facts. What they lack is
- 5:01
which facts matter and which decisions
- 5:04
are dangerous. Documentation preserves
- 5:08
facts while skills preserve judgment.
- 5:14
Skills are judgment that you reuse. But
- 5:17
often times work such as feature
- 5:20
development or a refactor outlives a
- 5:23
single session and the context window
- 5:26
wipes clean every time. So you need the
- 5:29
other half. A record of the work itself.
- 5:33
The plan, the decisions, what you
- 5:36
already tried, even the surprises along
- 5:39
the way. That's a worklog.
- 5:42
A plan is a prediction. A worklog is a
- 5:46
record that starts with one.
- 5:48
So new session, fresh agent, zero
- 5:52
memory. You type one word, continue. It
- 5:55
reads the work log and picks up at
- 5:57
milestone 7 out of nine. No re-exaining
- 6:00
and the work log is the context.
- 6:03
This talk is living proof. I built it
- 6:06
across a couple of sessions using a
- 6:08
worklog. I came back to a half-finish
- 6:11
presentation and a fresh agent read the
- 6:14
work log and resumed exactly where I had
- 6:17
left off. That's the only reason why
- 6:20
you're seeing a finished talk and not me
- 6:22
apologizing for one. And for my personal
- 6:25
side projects, this isn't willpower. A
- 6:28
git hook blocks any commit that doesn't
- 6:31
update the worklog. This way, the memory
- 6:34
keeps itself.
- 6:38
Skills encode how to do something.
- 6:41
Personas encode whose eyes look at it. I
- 6:45
got this from a Carpathy tweet. There's
- 6:48
no you when you prompt a model. It
- 6:51
doesn't have an opinion to give. So
- 6:53
don't ask it for one, ask for a
- 6:55
perspective instead. What would be a
- 6:58
good group of people to explore XYZ?
- 7:01
What would they say?
- 7:03
[snorts]
- 7:05
On my personal side projects, it's just
- 7:08
me. No security team, no designer, no
- 7:11
one to bounce ideas off of. So I have
- 7:13
the model review my code as a security
- 7:15
lead as a UX reacher as a UX researcher
- 7:20
as Mchavelli when I want to know
- 7:22
something when I want to know how
- 7:23
something gets abused. I even built a
- 7:26
design panel of opposing philosophies my
- 7:29
designs have to survive. Then I read the
- 7:32
reports and act on them.
- 7:34
Each persona loads a kind of judgment
- 7:37
that I don't personally have on demand.
- 7:40
Encode a domain's taste once and anyone
- 7:43
can borrow eyes that they don't have.
- 7:46
The engineer with no designer gets
- 7:48
design judgment. The newer engineer gets
- 7:51
a security reviewer's instincts. Push it
- 7:54
to the whole org and every team can now
- 7:58
encode its own taste for its own agents.
- 8:01
The judgment that used to live in a
- 8:03
handful of heads is suddenly everywhere
- 8:06
at once.
- 8:10
skills, work logs, personas, judgment
- 8:14
out of our heads and into the repo,
- 8:17
portable to a machine and to people that
- 8:20
don't have it. But the second that this
- 8:23
judgment lives in three different
- 8:24
places, you've got a governance
- 8:27
question. How does one team's judgment
- 8:30
reach everyone else? Simpler than it
- 8:32
sounds. Every gate that you already
- 8:35
trust, whether it's CI or types or lint
- 8:39
or the design system, is just
- 8:42
institutional judgment pulled out of
- 8:44
someone's head and made mechanical. We
- 8:46
just never called it that. So, you don't
- 8:49
mandate it. You make it legible and you
- 8:52
let it spread.
- 8:55
All right. So, now your judgment exists.
- 8:57
It's encoded and it's governed. Great.
- 9:01
But none of it matters if you can't
- 9:03
actually trust what the agent did. So
- 9:06
what actually separates a tool that
- 9:08
helps you write code from one you can
- 9:10
trust to run on its own?
- 9:13
Verification.
- 9:15
Verification is all that stands between
- 9:18
you and software that you can trust.
- 9:20
Everything before this slide is
- 9:23
knowledge. Everything after this slide
- 9:25
is trust. And trust is a human's call
- 9:29
twice. Once on how it's built, once on
- 9:34
the proof that it works.
- 9:38
Verification is a ladder. Builds and
- 9:42
tests. You've got those screenshot tests
- 9:45
with a model reasoning over them can
- 9:47
catch contrast and overlap a human a
- 9:50
human ski.
- 9:52
Then video the feature actually running.
- 9:55
than telemetry in production. The more
- 9:58
rungs you can run without a human, the
- 10:01
more you can hand off. You earn autonomy
- 10:04
one rung at a time. And the agent
- 10:07
doesn't have to be right the first time.
- 10:10
It just has to know when it's wrong and
- 10:12
try again. Generate, test, fail,
- 10:16
regenerate.
- 10:19
Nobody yolos code to prod and neither
- 10:21
should your agents. We all check our
- 10:24
work.
- 10:25
spin at the gate until it comes back
- 10:27
green.
- 10:30
I do this on my side projects. I give
- 10:32
the agent its own QA. It maps the
- 10:35
feature, drives the app like a real
- 10:37
user, and records itself walking every
- 10:40
flow. The agent that wrote the code will
- 10:44
always tell you that it works. So, you
- 10:46
make it hand back a recording of the
- 10:48
thing actually running. Producing that
- 10:51
recording forces it to make the thing
- 10:53
work. You can't fake a passing run. And
- 10:56
the recording is real proof. I watch it
- 10:59
today. Down the line, you could have an
- 11:02
LLM watch it first and send it back. Fix
- 11:05
this. Redo that. But a human still makes
- 11:08
the final call to merge. The requirement
- 11:12
forces the work. The recording proves
- 11:15
it.
- 11:18
I got tired of watching old feature
- 11:20
flags pile up. So I built an agent for
- 11:23
cleaning up stale feature flags. It runs
- 11:25
in my local workflow and it doesn't
- 11:27
merge any code. The models the easy
- 11:30
part. The judgment in front of it is the
- 11:33
whole game. Every flag gets scored the
- 11:36
way an experienced reviewer would
- 11:38
analyze it. How many modules does it
- 11:41
touch? Is it multivariant? Does it share
- 11:44
a component? Then it checks the
- 11:46
experiment data. Is the roll out frozen?
- 11:48
Is there a sample ratio mismatch? Is
- 11:51
there a variant already rolled out to
- 11:52
100%.
- 11:54
Only the safe mechanical cleanups ever
- 11:57
reach the model. Before I trusted this
- 12:00
workflow, I back tested the scoring
- 12:02
against months of cleanup history. Then
- 12:05
I ran it live. Seven for seven PRs with
- 12:09
green CI. Now it runs daily on my laptop
- 12:12
and hands work back for me to review.
- 12:15
$1.26 a pull request, a backlog of
- 12:19
around 520 flags a year, runs for under
- 12:22
$700.
- 12:24
If you had engineers working on this by
- 12:27
hand, at least $26,000 that you're
- 12:30
looking at. This is the work that nobody
- 12:34
was ever going to do. I've seen feature
- 12:37
flags in the codebase that are three,
- 12:39
four years old, and some are even older.
- 12:43
The model wrote the code and I wrote the
- 12:46
judgment.
- 12:49
One hard lesson from my side projects.
- 12:52
When you let an agent author the code,
- 12:55
your guard rails are your code review. A
- 12:57
machine doesn't feel a polite comment.
- 13:00
It only respects a hard gate. I built a
- 13:04
pre-commit hook so my agents couldn't
- 13:06
write to main. Then I asked Codeex,
- 13:08
would the hook even stop it? It told me
- 13:11
flat out repo hooks are not sufficient
- 13:14
protection against me. Its patch tool
- 13:17
writes underneath the hook. The agent
- 13:20
told me that my gate was worthless.
- 13:22
So I moved the gate down to the OS
- 13:24
level. Later I asked it to valid I asked
- 13:28
it to list the valid reasons to unlock
- 13:30
and it quietly slipped emergency
- 13:33
recovery into the allow list. A self
- 13:36
authorizing exception that nobody asked
- 13:38
for. It even admitted it. CODEC said
- 13:42
that's the kind of escape hatch that
- 13:43
starts as safety and ends as self-
- 13:46
authorized nonsense.
- 13:48
The pit of success assumes people take
- 13:51
the easy path. Agents do not. They will
- 13:55
build ladders to climb out of the pit of
- 13:58
success. They find every escape hatch
- 14:01
that you leave. And if you leave none,
- 14:03
they'll invent one. So gate the choke
- 14:06
point. Make the bypass operator only.
- 14:10
Never hand the agent a reason that it
- 14:12
can grant itself.
- 14:14
A gate with an escape hatch isn't a
- 14:17
gate.
- 14:20
Once judgment is verifiable, it's
- 14:23
executable.
- 14:25
A flag agent, a dependency agent, an
- 14:28
accessibility agent. Each one is narrow.
- 14:33
Each with its own encoded judgment
- 14:35
pointed at a different chore. Remember
- 14:38
Minsky from the Kline? That was just a
- 14:41
footnote in his in his idea. He called
- 14:44
it the society of mind. A swarm of
- 14:47
small, simple specialists that compose
- 14:50
into something that looks effortless at
- 14:52
the top. No master brain anywhere.
- 14:56
That's the fleet. specialists, each
- 14:59
spinning at its own gate, and a
- 15:01
self-driving code base emerges from the
- 15:03
swarm.
- 15:05
And that flag agent, that's the war room
- 15:08
from the opening, turned into a
- 15:10
specialist. The work somebody organized
- 15:13
a whole meeting around is just one
- 15:15
member of this agent society.
- 15:18
Every one of them doing the same thing,
- 15:20
spinning at the gate until green.
- 15:25
Three stages. In the loop, you prompt.
- 15:29
On the loop, you orchestrate. You review
- 15:32
the outcomes.
- 15:34
Off the loop, a trigger fires it. Craw
- 15:38
an event. No human has to kick off that
- 15:41
first draft, but humans still own the
- 15:44
approval and the merge process.
- 15:47
The unlock there is a cloud runtime the
- 15:50
model vendor may or may not ship for
- 15:52
you.
- 15:55
Everything that I've shown you, skills,
- 15:58
personas, the gates, you wrote it down
- 16:01
once, but the codebase doesn't hold
- 16:04
still. It moves every single day. A
- 16:08
skill written for last month's
- 16:10
architecture isn't out of date. It's
- 16:13
wrong. And that's worse than nothing
- 16:15
because the agents trust it. Encoded
- 16:18
judgment rots. If the skills don't move
- 16:22
with the code, then the whole thing
- 16:24
falls over. So you keep it alive in two
- 16:27
ways. When an agent fails, you don't
- 16:29
just fix the bug. You run the postmortem
- 16:32
and fold the lesson back into the skill
- 16:35
so that failure can't happen twice.
- 16:38
Failure becomes a constraint.
- 16:41
But nobody is hand auditing 300 skills
- 16:44
for drift. So, you give the agent a
- 16:46
bedtime, a scheduled pass where it reads
- 16:50
its own skills, finds the stale ones and
- 16:52
the contradictions, and opens up drafts
- 16:55
for review. The system sleeps, cleans
- 16:58
house, and wakes up sharper, but that's
- 17:01
a whole separate talk on its own. A
- 17:04
self-driving codebase is a system that
- 17:06
keeps its own judgment current in
- 17:09
addition to writing code.
- 17:13
Everything that I've shown so far fits
- 17:16
somewhere along this judgment pipeline.
- 17:21
And every mechanism in this talk,
- 17:24
skills, personas, work logs, and the
- 17:27
gates, the fleet, all of it was doing
- 17:30
one job. Managing judgment.
- 17:34
Every session, the model wakes up like
- 17:36
Drew Barrymore in 51st Dates. Brilliant.
- 17:40
and no memory of yesterday. No idea what
- 17:43
it's built or what it's even for. The
- 17:46
collection of primitives in this talk is
- 17:49
the notebook that we hand it. The
- 17:51
skills, the work logs, the judgment that
- 17:54
let it do real work.
- 17:57
We don't ship PRs that pass CI because
- 17:59
the model is a genius. They pass because
- 18:02
we built a harness that won't let it be
- 18:05
wrong. Every gate in it is a human's
- 18:08
call. That's harness engineering.
- 18:12
Scale the judgment, not the model.
- 18:17
So here's what I'm asking you to do.
- 18:20
Don't just go write a skill. That's only
- 18:22
that's only one implementation.
- 18:24
Find the judgment your team always asks
- 18:27
the same person about and make it
- 18:29
explicit somewhere that an agent can
- 18:32
reach it. It could be a persona, a lint
- 18:35
check or a commit hook. That's the job.
- 18:38
Now less product engineering and more
- 18:40
harness engineering
- 18:42
and the method demonstrates itself. The
- 18:45
flag agent produces PRs that pass CI.
- 18:48
This talk resumed from a worklog.
- 18:52
We started here. Humans absorb judgment
- 18:56
implicitly while agents require it
- 18:59
explicitly.
- 19:01
Self-driving code bases will exist the
- 19:03
moment we get that judgment out of our
- 19:05
heads and into the codebase. Then we
- 19:08
point the agents at the gate and let
- 19:11
them spin until it's green. Thank you.
- 19:31
>> [music]