Get our daily email

How Anthropic, OpenAI and Uber run engineering when agents write the code

Four competing companies published their playbooks in 2026. They land on the same four decisions. Here they are, sized for a normal team and budget.


The shift

From a line to a loop

Your old lifecycle was a line. Plan handed to design, design to build, build to test — one trip back through it, and you'd lost a whole release cycle.

Agents don't shorten that line so much as bend it into a loop. The same six stages still happen, but now they run as a tight circuit measured in hours, with you and your team above it — instigating, directing, governing — instead of standing inside it. Every decision on this page follows from that one change of shape.

Plan Design Build Test Deploy Maintain agents Plan Design Build Test Deploy Maintain Traditional — the line. One slow loop back is a new release cycle. AI-native — the loop. Hours, not weeks, with humans above the loop.
Scroll sideways →Source: Anthropic’s AI-Native SDLC Playbook.
The gap

Why your AI gains aren't showing up

Your engineers adopted coding agents months ago. Individual output jumped. Your delivery metrics barely moved. This page explains the gap and closes it.

A typical change used to run: plan 1 day, design 2, build 3, review 2, deploy 1. Agents collapse the 3-day build to hours. The other six days keep their length. Work now stacks up in front of every human gate you own: review, security sign-off, release approval.

Before agents — every stage runs at human speed Plan Design Build Test Deploy Maintain The promise — build runs at agent speed, the cycle shortens Plan Design Test Deploy Maintain cycle time reclaimed What teams see — the reclaimed time refills with queue Plan Design queue Test Deploy Maintain
Scroll sideways →Source: Anthropic’s AI-Native SDLC Playbook.

Two endings, both bad: the queue eats the gains, or code ships under-reviewed.

The companies furthest ahead already paid to solve this. In mid-2026, Anthropic, OpenAI, Uber, and PostHog each published how they run engineering when agents write most of the code. They compete, and their playbooks still land on the same four decisions. You don't need their token budgets or their hiring bar to make them. They are below.

Decision 01

Set agent autonomy per task

Your problem: every engineer decides daily, by feel, how much to trust the agent. Ten engineers, ten different rules, zero consistency.

The fix: decide per task with two questions. Is the work easy to check? A test suite that proves correctness means yes. Is a mistake cheap to undo? A safe revert with no customer impact means yes.

hard to checkeasy to check →
costly to undo  ←  cheap to undo
LEVEL 1 · AGENT DRAFTS
Human judges taste.

Readability refactors, naming, subjective calls.

hard to check · cheap to undo
LEVEL 3 · AGENT MERGES ALONE
Self-driving.

Dependency bumps, lint fixes, test coverage.

easy to check · cheap to undo
LEVEL 0 · AGENT ASSISTS
Human writes.

Sensitive core code, wide blast radius.

hard to check · costly to undo
LEVEL 2 · AGENT WRITES
Human owns the merge. today's default

Most dev work with a real test suite.

easy to check · costly to undo

PostHog's engineering team built this ladder and runs on it. Their warning for teams that raise autonomy whenever a better model ships: that's skipping your seatbelt because you got a nicer car. The task sets the ceiling.

RUN IT THIS WEEK
  • Classify your last 20 merged PRs on the matrix.
  • Every Level 2 or 3 task a senior engineer still babysits line-by-line is attention you're wasting.
  • To raise a task's level, improve one answer: better tests make it checkable, feature flags and rehearsed rollbacks make it reversible.
Decision 02

Spend on checking before more generating

Your problem: you're buying more generation capacity while your review capacity stands still. The math no longer supports that.

15%writing code
85%verifying it

Bun's 535,000-line Zig-to-Rust rewrite: 11 days, 64 parallel agents, on a job estimated at 3 engineer-years. The Pragmatic Engineer, inside Anthropic.

Checking work now costs about five times more than producing it. That flips your investment priority. Four practices from teams already running this way, sized for a normal budget:

  • Agents verify their own work first. Give every session one command that proves success: tests, build, screenshot diff. The agent loops until it passes. A human only sees passing work.
  • Never let an agent edit the tests for code it's fixing. Block it in config. One rule, most of the safety.
  • Run several narrow AI review passes instead of one broad one. Separate passes for bugs, security, and spec compliance. A fooled reviewer gets caught by the next one. (Anthropic and OpenAI both ship this pattern.)
  • Move humans to intent and risk. Does the change do what we meant? Is the blast radius acceptable? Stop re-checking anything the pipeline already proved.
REVIEW.md
## Passes (run all three, tag each finding)
- Bugs: logic errors, broken edge cases
- Security: injection, auth gaps, PII in logs
- Compliance: change matches spec.md and plan.md

## "Important" = breaks behavior, leaks data, or breaches policy
## Cap nits at 5 per review
## Skip generated files and anything CI already enforces
Decision 03

Put your lifecycle in files agents can read

Your problem: your requirements live in slide decks and meeting notes. A human has to translate them before any agent can act, and the translation loses detail every time.

The fix: each stage commits one file the next stage reads. An idea becomes intent.md. An accepted intent becomes spec.md. An approved spec becomes plan.md, which gates the code. A production incident writes the next intent.md, and the loop closes.

intent.md spec.md plan.md code + tests PR review production = human gate an incident writes the next intent.md
Scroll sideways →

This is Anthropic's playbook pattern, and it transfers because it needs git and nothing else. Uber runs the same idea for product docs: an AI first-pass reviewer scores every PRD before senior review, so the expensive meeting starts at judgment instead of context recovery.

intent.md
# Intent: <what you want>
Author: <name>. Status: draft.

## Problem
What you can't do today, in plain language.

## Proposed outcome
What "done" looks like for this change.

## Affected systems / users
Who depends on this, and who owns them.

## Constraints
Rules this must follow: compliance, licensing, cutover windows.

## Open questions
Unresolved items. Carry them forward; don't block on them.

An accepted intent.md becomes a spec.md: same author, now answering how, not just what.

spec.md
# Spec: <name, matches intent>
Source: intent.md. Status: draft.

## Approach
The mechanism, in enough detail that an agent can plan from it.

## Out of scope
What this deliberately does not solve. Says no in writing.

## Interfaces touched
APIs, schemas, or contracts this changes, and who else calls them.

## Rollback
How you undo this in production if it's wrong.

An approved spec.md becomes a plan.md: the spec broken into tasks small enough for an agent to run and a human to check.

plan.md
# Plan: <name, matches spec>
Source: spec.md. Status: approved.

## Tasks
Ordered, each one small enough to review in a single sitting.

## Verification
What proves each task done: tests it runs, not a description of intent.

## Gates
Where you sign off before the next task starts.

The Constraints section repays its five minutes fastest. A constraint written once reaches the agent in every session. You stop having the same correction conversation twice.

One honest limit from inside Anthropic: their most complex platform project of the year still ran a full traditional planning process, because dozens of people across three clouds needed alignment. Files replace coordination rituals. Complex systems still need thinking.

Decision 04

Sort every rule into advisory or enforced

Your problem: your engineering rules live in wikis and senior engineers' heads. Agents don't read wikis, and at machine speed a habit can't stop anything.

ADVISORY

makes violations rare
  • context files (CLAUDE.md / AGENTS.md)
  • policy skills
  • review guidelines

ENFORCED

makes violations near-impossible
  • hooks that block actions
  • pipeline policy gates
  • branch protection
  • scoped permissions

A must-hold rule found in the left column is a gap. Move it right.

Anthropic's security team learned where the line sits: one of their agents asked another agent to deploy a fix it lacked authorization to push itself. A human caught it. Their conclusion applies to any org: better instructions can't secure an agent. Constrained access can. One job per agent, minimum permissions, every action logged. And the volume forces the issue — engineers now ship several times the code they did before agents, most of it AI-written. Human-speed review can't govern that. Gates can.

The anchor rule across every playbook: the agent does everything up to the production gate and never crosses it. Enforced in ten lines:

.claude/hooks/production-gate.sh
#!/bin/bash
cmd=$(jq -r '.tool_input.command' < /dev/stdin)
if [[ "$cmd" == *"deploy"* && "$cmd" == *"production"* ]]; then
  if [ -z "$RELEASE_APPROVAL" ]; then
    echo "Production deploys need a named release authorization." >&2
    exit 2  # blocks the action; the message goes to the agent
  fi
fi
exit 0
RUN IT THIS MONTH

List your rules, sort the columns. Every must-hold rule sitting in a wiki is a gap. Close each one with a hook or a pipeline check.

The Code: Your daily unfair advantage in software engineering.

Join 350,000+ software engineers, tech leads, and CTOs who start their morning with The Code.

Get our daily email
Rollout

Go AI-native in four weeks

There is no single door in. Anthropic's own adoption map has five valid entry points, and whichever you pick, the work downstream of it follows:

1 · START ANYWHERE 2 3 4 5 PLANCapture intent BUILDCLAUDE.md TESTFeedback loop DEPLOYHooks BUILDPlan mode BUILDSkills BUILDSubagents TESTEvals DESIGNRequirements & design DEPLOYPR review DEPLOYCI/CD MAINTAINClosing the loop entry point · start at any one follows from whichever you pick
Scroll sideways →Source: Anthropic’s AI-Native SDLC Playbook.

We still recommend one order, because the steps differ in what they cost you to start. The sequence comes from enterprise field work (Kasaudhan's migration playbook): the last step needs negotiation with security and platform teams, the first needs nothing.

WEEK 1
intent.md

Five minutes of writing before any generation. Zero tooling.

WEEK 2
context file

Day-one knowledge into CLAUDE.md / AGENTS.md. The same mistake twice means the correction goes in.

WEEK 3
plan before code

Agent proposes first. Ask: what breaks? riskiest step? what did you not choose?

WEEK 4
REVIEW.md + gate

Mechanical checks to the pipeline, judgment to humans. Wire the production gate.

A staffing note, because a myth is spreading. Anthropic's teams remain 6 to 8 people. The change: one team now runs 3 to 8 parallel projects with about two engineers per project. Plan for the same teams shipping several times the projects. Headcount plans built on "two engineers and a swarm" will misfire.

Diagnostic

Score your team

Tap what's true today. One point per yes. Your answers stay in this browser.

0 / 8

Tap the items above to see where your team stands.