How building software is changing at Anthropic
The Pragmatic Engineer ยท email ยท 2026-07-28 Reader ๐ฅ๏ธ
Agentic TestingDeterministic Egress ContainmentLegacy & Organizational ForgettingLong-Running & Managed AgentsMulti-Agent OrchestrationPull Requests & Async Code ReviewRiding Model ImprovementsToken ThroughputTrustVerifiability (as the Quality Bar)
Inside Anthropic, AI has not eliminated the traditional structure of software engineering (planning, PRDs, cross-team alignment, code review) so much as relocated where the effort and the bottleneck sit โ from writing code to verifying it, and from one engineer working alone to fleets of parallel AI agents whose output is checked, merged, and increasingly re-reviewed by other AI, while every design assumption must now be re-tested at each new model generation.
theoretical ยท mixed โ Journalistic reporting built from four on-the-record Anthropic interviews plus two extended case narratives (Claude Managed Agents, the Bun rewrite), used as evidence for a broader descriptive claim about where software-engineering practice is heading inside a leading AI lab. Expository/narrative in method, but the selection and framing serve an implicit argument โ verification, not implementation, is now the bottleneck โ more than a neutral survey.
Structure
| Part | Role |
|---|---|
| Claude Managed Agents case study โ Katelyn Lesse (Claude Platform team) recounts a ~6-month project to build a pre-built, cloud- or self-hosted harness for production agents. | evidence โ extended real-project narrative |
| Bun's 11-day Zig-to-Rust rewrite โ Jarred Sumner recounts using 64 parallel agents and $165K of tokens to do in 11 days what would have taken a small team a year. | evidence โ extended real-project narrative |
| 'Changing engineering practices' โ a synthesis section drawing on both case studies plus Thariq Shihipar's cross-cutting observations: AI-lab-specific norms (unlimited tokens, high autonomy), fluid prototyping, the verification/implementation time split, AI-driven code review and testing, fanning out, automations, an approaching auto-merge norm, and re-testing assumptions each model generation. | generalization / conclusion drawn from the two case studies |
| Sections 4-7 (Team-level changes; Still the same; the changing 'standout' engineer archetype; Will AI replace software engineering?) โ announced in the article's own table of contents but not available past the section-4 header. | conclusion โ TEASED ONLY, full text paywalled |
Key terms
- Claude Managed Agents Long-Running & Managed Agents
Anthropic's pre-built harness product for production agents, runnable on Anthropic-managed cloud infrastructure, a customer's own infrastructure, or with any sandbox the customer chooses โ an interface decoupling the agent 'brain,' the sandbox 'hands,' and the event-log 'session.' - Spiking
Building a minimal, working end-to-end version of a system for a single real internal customer first (here: Claude Code's mobile backend), before generalizing the architecture for external customers โ used to stress-test the design against real constraints rather than speculative ones. - Fanning out
Jarred Sumner's term for distributing many independent chunks of work to many parallel Claude agent instances at once, with an orchestrator agent collecting suggestions and making the actual commits, rather than working with one agent sequentially. - Tokenmaxxing Token Throughput
Gaming or inflating token-usage metrics that a token budget or leaderboard would otherwise incentivize; named here only to say Anthropic doesn't have this problem because there is no token budget or usage tracking to game.
Propositions
- explicitBuilding Claude Managed Agents (a pre-built cloud- or self-hosted harness for production agents) took Anthropic's Claude Platform team about six months โ a project Katelyn Lesse says would probably have taken about two years pre-AI.conf: highextendsBuilding AI Agents For The Enterprise ยท p19 โ Supplies the origin story, internal build cost, and ~6-month timeline behind the Claude Managed Agents product that the other extraction credits as a strategically central part of Anthropic's enterprise substrate.
- explicitPlanning, not prototyping or implementation, was the single largest and most important phase of the Claude Managed Agents project, closely resembling a typical pre-AI planning process.conf: high
- explicitPRDs, authored and coordinated as shared Google Docs, remain necessary for complex, cross-team projects even inside an AI-native organization, because they align humans and business stakeholders, not agents.conf: high
- explicitInternal cross-team alignment on interfaces is now faster and more fluid than pre-AI: teams stand up rough stub components or services and iterate live with a client team, rather than exchanging fully-specified requirements documents up front.conf: high
- explicitcontestedA large, mature production codebase (Bun, 535,496 lines of Zig) can be rewritten to a different language (Rust) in about 11 days by one domain expert directing 64 parallel AI agents for $165,000 in API-price tokens โ a migration that, done by hand, would have needed a small team of engineers roughly a year while freezing bugfixes, security fixes, and features.conf: highextends โBun Rewrites 535K Lines of Zig into Rust in Four Months, Eliminates Numerous Memory Leaks ยท p1 โ Gives the fuller end-to-end timeline (4 months to the v1.4.0 release) against the companion piece's 11-day initial-rewrite-sprint framing, showing most elapsed time went to post-hoc hardening rather than generation.contradicts โAndrew Kelley Interview: Why He Built Zig, Banned AI Contributions, and Moved Zig off GitHub ยท p7 โ That piece frames the AI-agent-assisted Bun-to-Rust rewrite as a capability/technical achievement; Kelley explicitly disputes reading it as a technical or language-merit verdict at all, attributing it instead to diverging project values.
- explicitA mechanical, behavior-preserving rewrite โ minimal semantic changes, validated against the project's existing (language-independent) test suite โ is a safer strategy than an open-ended reimplementation when migrating a large codebase to a new language.conf: high
- explicitIn the Bun rewrite, actual code-generation/implementation was roughly 15% of total effort; the remaining ~85% went to fixing compile errors, tests, and verifying the result worked as expected.conf: highsupportsMeasuring AI impact, assessing readiness, and new data trends ยท p1 โ The Bun rewrite's own time breakdown (15% implementation / 85% fixing and verifying) is a concrete internal data point for the claim that code generation was never the real bottleneck.
- explicitThe 11-day rewrite depended on Jarred being the codebase's original creator and best-informed expert; the article states this as a precondition without addressing whether the same speed and safety would hold for a team attempting a comparable rewrite without an equivalent domain expert directing it.conf: medium
- explicitdevelopedRunning multiple (3-10+) AI coding agents in parallel per person, with no token budget or usage tracking to promote 'tokenmaxxing,' is now normal working practice at Anthropic, and comes with very high individual autonomy relative to Big Tech or most startups.conf: highextends โHow Claude Code Is Built ยท p11 โ The earlier 'multi-clauding' data point (25% of Max users run parallel agents, reported as an open question) is the precursor observation that the later article generalizes into 'running 3-10+ parallel agents per person is now normal working practice.'
- explicitโก disputed & corroboratedBecause engineers can no longer personally read all the AI-generated code now being merged at high volume, trust in that code must instead come from layered automated, out-of-process verification โ AI code review, a dedicated security scanner, and fuzz testing โ rather than from a human reading every diff.conf: highextendsAgentic Code Review ยท p2 โ Jarred's '100+ PRs a day, trust without reading it all' problem is the concrete, practitioner-side confirmation that the precondition making human code review scale (reading faster than writing) has broken down.contradicts โBun Rewrites 535K Lines of Zig into Rust in Four Months, Eliminates Numerous Memory Leaks ยท p8 โ The companion piece frames layered automated verification (AI review, security scanner, fuzzing) as a legitimate substitute for human line-by-line review at scale; Kelley's critique here directly disputes that this substitution is trustworthy, on the same underlying rewrite.supports โHow Claude Code Is Built ยท p8 โ Orosz's earlier reporting (Sep 2025) that Claude does first-pass code/security review with a mandatory human second pass is the concrete layered-review pattern that the later 'building software' piece (Jul 2026) generalizes into a broader claim about trust in AI-generated code coming from layered automated review.
- explicitManual merge-button-pressing by a human is expected to give way, within a few months, to automatic merging once a second, fresh-context-window AI reviewer judges a change simple and low blast-radius, at least for the Bun project.conf: highextendsAgentic Code Review ยท p12 โ Gives a concrete two-step mechanism (automated reviewer LGTM, then a second AI's fresh-context blast-radius judgment before auto-merge) for the abstract 'human moves from reading every diff to owning judgment and high-blast-radius gates' pattern.
- explicit"Fanning out" โ dispatching many independent chunks of work to multiple parallel AI agents at once rather than to one agent sequentially โ is a pattern Jarred finds underused beyond one-off large rewrites.conf: highextendsClaude Code: Best practices for agentic coding ยท p16 โ Jarred's interactive fan-out of a single hard migration across many parallel Claude agents is the same 'fanning out' pattern as Claude Code's headless-mode batch fan-out across CI pipelines, applied to a much less mechanical, higher-judgment task.
- explicitcorroboratedAssumptions embedded in agent and product design must be re-tested at every new model generation because capability jumps can silently invalidate them โ Anthropic deleted 80% of the Claude Code system prompt for this reason.conf: highsupports โHow Claude Code Is Built ยท p5 โ The team's concrete practice of deleting scaffolding code (e.g. half the system prompt) whenever a new model release subsumes it is a specific instance of the later article's broader claim that design assumptions must be re-tested at every new model generation.
- explicitHTML is now a better default output format for AI agents than Markdown for some uses at Anthropic, because current Claude models handle HTML competently and it conveys richer, more shareable structure โ reversing an earlier assumption that agents should default to Markdown.conf: high
- explicitMost tokens spent in AI-assisted development at Anthropic are no longer spent on implementation, but on discovery of unknowns, prototyping, mocking, and verification/testing.conf: highsupportsAssumptions as code: SiriusXM's approach to platform prioritization ยท p7 โ Thariq's observation that most tokens go to discovery and verification, not implementation, is a direct practitioner confirmation of the claim that cheap code generation shifts the bottleneck to discovery and review.
- explicitAt the team level, design has become more of an ongoing activity and less front-loaded, people work across more concurrent projects, and Anthropic caps most projects at a maximum of two engineers.conf: low
- explicitDespite the changes above, two-pizza teams, the importance of planning, the relevance of PRDs on complex projects, the challenge of context switching, and a roughly stable ratio of coding-to-testing time have all persisted unchanged from before the AI wave.conf: low
- explicitThe 'standout' software engineer archetype at Anthropic is shifting toward deep understanding โ including of the layer below what one directly works on โ plus the ability to coordinate work.conf: low
- explicitThe more hands-on Anthropic's software engineers get with AI, the less they report fearing that AI will replace their jobs.conf: low
- explicitClaude Managed Agents keeps credentials out of the agent, sandbox, and session entirely: all calls needing credentials go through a proxy holding a session token, the proxy alone fetches the actual secret from a vault, and it is injected only at the egress boundary when the service is invoked.conf: highextendsAnthropic Details How It Contains Claude Across Web, Code, and Cowork ยท p11 โ Same underlying egress-containment idiom reported from two angles: Claude Managed Agents' vault-and-proxy design injects credentials only at the egress boundary so the agent/sandbox/session never see them, while the InfoQ piece reports Anthropic reaching the same session-token-scoped-proxy pattern for Cowork only after a domain-allowlist bypass (api.anthropic.com's Files API) showed that trusting a destination is not the same as trusting every function reachable through it. Read together, the CMA architecture is the pattern built proactively; the Cowork fix is the same pattern arrived at reactively, after an incident โ corroborating that egress-boundary credential injection is Anthropic's converged design, not a one-off.
Arguments
The rate-limiting step in AI-assisted software delivery at Anthropic has shifted from writing code to verifying it.
Explicit premises:
- In the Bun rewrite, implementation took ~15% of total time versus ~85% on fixing/testing/verifying.
- Thariq independently reports that most tokens across the org go to discovery, prototyping, and verification/testing rather than implementation.
- Trust in merged code now has to come from automated review/scanning/fuzzing rather than a human reading every diff, because human reading no longer scales to the volume merged.
Implicit premises:
- Current-generation coding agents can generate code fast enough that code-writing speed is no longer the binding constraint.
- Verification tooling and practice have not sped up proportionally to code-generation speed, so the ratio of effort has inverted.
Inferences:
- Organizations trying to capture AI coding productivity gains should prioritize investment in verification, testing, and review tooling over further investment in code-generation speed.
Manual, human-read code review and manual PR-merging are being displaced by chains of automated AI checks (code review, security scanning, fuzz testing), with either sampling/auditing by a human or a second, independent AI review as the final gate. strength: medium
Explicit premises:
- Jarred frames the problem explicitly: 'how do you merge 100+ PRs a day... and make sure the code works?'
- The Bun team already runs Claude code review, a dedicated Claude Security Scanner (11 runs on this rewrite), and fuzz testing as standard practice.
- Jarred predicts a near-future auto-merge flow gated by a second, fresh-context AI's blast-radius judgment rather than a human's.
Implicit premises:
- The volume of AI-generated code now merged exceeds what a human can responsibly read line-by-line at the rate it arrives.
- The team judges the AI review/scanning/fuzzing layers to be trustworthy enough to substitute for some fraction of human reading.
Inferences:
- If trust holds up under scale and incident rate, this pattern is likely to spread beyond one team/project inside Anthropic to become a default posture for high-throughput AI-assisted codebases generally.
Agent and product design assumptions must be treated as provisional and re-tested at every model upgrade rather than fixed once and left in place. strength: high
Explicit premises:
- Anthropic deleted 80% of the Claude Code system prompt because the model got smarter and no longer needed that scaffolding.
- The team reversed an earlier Markdown-by-default assumption in favor of HTML because current Claude models handle HTML well and it conveys richer structure.
Implicit premises:
- Earlier engineering decisions were partly compensating for model limitations that later model generations removed.
- Failing to re-test these assumptions means carrying dead-weight scaffolding (over-engineered prompts, suboptimal output formats) that no longer earns its cost.
Inferences:
- Teams building AI products should schedule assumption-review as a recurring practice tied to each model release, not treat it as a one-time design decision.
Narratives
- Before generalizing Claude Managed Agents for external customers, the Claude Platform team first built and shipped a narrower, real service for an internal customer (spinning up sandboxes and booting Claude Code for the mobile app), then re-architected around a 'brain' (agent) / 'hands' (sandboxes and tools) / 'session' (event log) split once that internal build surfaced hard problems โ reliability when sandbox connections drop, and credential/access-control handling.
โ Supports the proposition that internal-customer-first, dogfooded prototyping surfaces integration problems earlier and more concretely than designing the generic/external-facing version up front. - Jarred Sumner's 11-day rewrite of Bun from Zig to Rust โ 64 parallel agents, $165,000 in tokens, an orchestrator agent that alone made commits from other agents' suggestions to avoid conflicts, and Bun's own pre-existing, language-independent (TypeScript) test suite serving as the pass/fail oracle โ is offered as proof of what became technically and economically feasible for one domain expert, where a full year of frozen feature/bugfix work would have been organizationally unacceptable for a small human team.
โ Illustrates the argument that verification (not implementation) is the real bottleneck, and that a pre-existing, trustworthy test suite is what makes a large AI-driven rewrite safe to attempt at all. - In Claude Managed Agents' credential architecture, all calls that need credentials go through a proxy holding a session token; the proxy alone fetches the actual credentials from a vault, and they are injected only at the egress boundary when the service is invoked โ the agent, sandbox, and session itself never see them.
โ Shows a concrete security pattern (deterministic credential injection at the egress boundary, never inside the agent's own context) for keeping a powerful, autonomous agent from ever directly handling secrets it could leak or misuse.
Questions addressed
- โ
How do you let customers build production AI agents on infrastructure they trust (self-hosted or Anthropic-hosted) without every customer re-inventing 'harness infrastructure' from scratch?
Claude Managed Agents: a brain/hands/session-decoupled architecture plus a vault-and-proxy credential model, arrived at via internal dogfooding before generalizing. - โ
Can a large, mature codebase be rewritten to a safer language without an unacceptable freeze on bugfixes, security fixes, and features?
Yes, for Bun specifically: a mechanical, minimal-behavioral-change rewrite validated against the existing test suite, executed via 64 parallel AI agents directed by the original codebase's creator, in 11 days. - โ
How do you establish trust in code you personally can no longer read at the rate it is produced and merged?
Layer automated, out-of-process verification (AI code review, a dedicated security scanner, fuzz testing) in place of exhaustive human reading, moving toward auto-merge gated by a second AI's judgment. - โญ Do the practices described (unlimited tokens, an original-creator-level domain expert directing the rewrite, an internal-lab audience willing to dogfood a new service) generalize to teams without Anthropic's token economics, bench depth, or internal customer base?
Gaps
- incompleteSections 4-7 of the article (team-level changes, what's stayed the same, the changing 'standout' engineer archetype, and the 'will AI replace software engineering' argument) are paywalled; only the author's own one-line table-of-contents previews are visible, not the supporting reporting, quotes, or argument.
Read next: Obtain the full subscriber article, particularly the 'will AI replace software engineering?' section โ squarely inside the persona's rigorous-adopter interest in whether hands-on AI experience reduces or increases fear of job loss โ and the 'standout engineer' section, relevant to the persona's craft/leadership interests. - uninformedThe reporting draws entirely on four named individuals inside Anthropic (a platform-org engineering head, one high-profile external contractor turned employee, one cross-functional engineer, one applied-AI/sales-engineering role) with no comparison to Anthropic teams operating under tighter constraints, no former-employee or outside-critical perspective, and no acknowledgment that access journalism inside the very lab that sells the tools being praised may select for best-case, showcase-ready stories.
Read next: Look for outside-in or critical accounts of Anthropic engineering culture (former-employee retrospectives, competitor comparisons, or the promised follow-up piece comparing Anthropic and OpenAI) to check whether practices like the 11-day Bun rewrite are typical internally or a cherry-picked outlier. - incompleteThe $165,000-in-tokens figure for the Bun rewrite is given 'at API price' but the article doesn't address whether this reflects Anthropic-employee internal/discounted token access versus what an external customer attempting the same feat would actually pay, nor how it compares to the counterfactual cost of continuing to hand-maintain Zig memory-safety bugs indefinitely.
Read next: The article itself links to a companion piece, 'What can we learn from Bun's rapid Rust rewrite with AI?', which reportedly covers this in more depth โ worth reading for the cost-accounting the free preview lacks. - illogicalThe piece treats 'all tests pass' as sufficient proof that the Bun rewrite 'works,' but doesn't examine whether the pre-existing TypeScript test suite has coverage adequate to catch subtle behavioral divergences a full cross-language rewrite could introduce โ the same test suite being reused as the oracle for the very change that could invalidate its assumptions.
Read next: Cross-read with material on test-suite adequacy and mutation testing, or with the article's own companion piece on the Bun rewrite, to see whether post-rewrite defect rates in production are reported anywhere.closed byBun Rewrites 535K Lines of Zig into Rust in Four Months, Eliminates Numerous Memory Leaks โ Reports the empirical outcome the companion piece left unexamined: post-merge fuzzing, 11 rounds of security review, and further validation caught 19 subtle semantic regressions the original TypeScript test suite had not caught, and fuzzing surfaced 15 more PRs' worth of issues โ direct evidence that 'all tests pass' was not sufficient proof of correctness and that additional out-of-band verification layers did real, non-redundant work.
Related documents
- Anthropic Details How It Contains Claude Across Web, Code, and Cowork
- Building AI Agents For The Enterprise
- Claude Code: Best practices for agentic coding
- Agentic Code Review
- Assumptions as code: SiriusXM's approach to platform prioritization
- Measuring AI impact, assessing readiness, and new data trends
- Agentic AI and Code Reviews
- Harness design for long-running application development
- Anthropic's Designs Three-Agent Harness Supports Long-Running Full-Stack AI Development
- AWS Expands DevOps Agent with AI-Powered Release Management to Validate Code Before Production