<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Plausible Reality]]></title><description><![CDATA[Plausible Reality is a calm, analytical publication about AI, technology leadership, startups, and the narratives surrounding them. It looks past hype, consensus, and rage-bait to examine what actually holds up under scrutiny. Most posts come from the per]]></description><link>https://plausiblereality.com</link><image><url>https://plausiblereality.com/img/substack.png</url><title>Plausible Reality</title><link>https://plausiblereality.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 12 Oct 2026 17:24:21 GMT</lastBuildDate><atom:link href="https://plausiblereality.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Eloi Tay]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[plausiblereality@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[plausiblereality@substack.com]]></itunes:email><itunes:name><![CDATA[Eloi Tay]]></itunes:name></itunes:owner><itunes:author><![CDATA[Eloi Tay]]></itunes:author><googleplay:owner><![CDATA[plausiblereality@substack.com]]></googleplay:owner><googleplay:email><![CDATA[plausiblereality@substack.com]]></googleplay:email><googleplay:author><![CDATA[Eloi Tay]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your AI Agent Needs Skills, Not an Org Chart]]></title><description><![CDATA[Start with one owner and a library of skills. Add other agents when they buy you something real&#8212;not because the workflow looks more impressive with departments.]]></description><link>https://plausiblereality.com/p/your-ai-agent-needs-skills-not-an</link><guid isPermaLink="false">https://plausiblereality.com/p/your-ai-agent-needs-skills-not-an</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Fri, 09 Oct 2026 16:04:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vd6E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vd6E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vd6E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vd6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2690781,&quot;alt&quot;:&quot;A machine chooses tools at a workbench while identical machines pass a folder through a miniature office and two specialists inspect a component.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://plausiblereality.com/i/218953572?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A machine chooses tools at a workbench while identical machines pass a folder through a miniature office and two specialists inspect a component." title="A machine chooses tools at a workbench while identical machines pass a folder through a miniature office and two specialists inspect a component." srcset="https://substackcdn.com/image/fetch/$s_!vd6E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!vd6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecd39adb-019a-44ce-aa5d-455f1b14cd36_1774x887.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Imagine asking an AI system to fix a bug and discovering that it has first appointed a product manager, an architect, a backend engineer, a tester, and someone whose main contribution is summarizing what the other four said.</p><p>The bug is still there. But it now has stakeholders.</p><p>This is the version of the agent-team pitch I find least convincing: take a capable model, divide its work among several copies with impressive job titles, and assume the resulting organization must be smarter than the original.</p><p>Maybe. But a reporting line is not an optimization.</p><p>My starting hypothesis is that some elaborate agent teams preserve workarounds for limitations that newer models handle better: fragile long conversations, muddled instructions, weak planning, and difficulty carrying a task across stages. That does not make every team obsolete. It makes the old justification something to retest, not inherit.</p><p>For work that needs one coherent view of a problem, I would start with one capable agent, a well-maintained library of specialist skills, and explicit checks. I would add separate agents only when separation produces a measurable benefit.</p><p><strong>One owner. Many skills. Selective delegation.</strong></p><p>That is a design preference supported by the research below, not a universal benchmark result. The evidence does not establish that one modern agent always beats a team. It does give us good reasons to stop treating the team as the premium package.</p><h2>A specialist is not a job title</h2><p>We need to separate three things that the sales diagram likes to put in the same box.</p><p>A persona tells the model how to approach or present its work: act as an architect, be a skeptical reviewer, prioritize accessibility.</p><p>A skill supplies reusable knowledge about doing the work: the procedure, relevant examples, scripts, constraints, and checks.</p><p>A separate agent runs its own decision loop, with its own working context and whatever tools the system gives it. LangChain&#8217;s documentation explicitly distinguishes on-demand skills, where one agent remains in control, from subagents and handoffs. These are different design choices, not different spellings of specialization. <a href="https://docs.langchain.com/oss/python/langchain/multi-agent">[1]</a></p><p>My objection is not to the word &#8220;architect.&#8221; It is to treating that word as evidence that another execution boundary is necessary.</p><p>Suppose the same underlying model is given the title &#8220;senior database engineer.&#8221; If we have supplied no additional database knowledge, tools, procedures, or evidence, what precisely have we specialized?</p><p>We have certainly specialized the introduction.</p><p>Now consider a database-migration skill that explains the project&#8217;s migration conventions, identifies the schema source of truth, includes validation commands, and specifies what to check before proposing a destructive change. That supplies something the agent can actually use.</p><p>Anthropic describes Agent Skills as packages of instructions, scripts, and resources that general-purpose agents discover and load as needed. The design separates having access to expertise from loading all that expertise into every prompt. <a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills">[2]</a></p><p>That is the abstraction I would usually invest in first. Put the hard-won procedure somewhere reusable. Test it. Improve it when it fails. Let either the main agent or a delegated worker use it.</p><p>There is no need to make expertise permanently belong to a fictional employee.</p><p>This also changes what a meaningful specialist would look like. A separately trained model, a domain-specific solver, an unusual data source, or a genuinely different tool environment may justify a separate component. A different name above the same capabilities is a much weaker case.</p><p>Specialization should describe what the system can do differently, not what it calls itself before doing the same thing.</p><h2>Some of the scaffolding really can go away</h2><p>The idea that agent architectures can outlive the limitations they were built around is not just a convenient insult.</p><p>In its March 2026 report on long-running application development, Anthropic described removing forced context resets after moving from Sonnet 4.5 to Opus 4.5. With Opus 4.6, it also removed the sprint structure previously used to organize the build. It retained the planner and evaluator where they still helped; on tasks within the stronger generator&#8217;s capabilities, evaluation could become unnecessary overhead. These were engineering experiments, not a universal comparison across all coding work. <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">[3]</a></p><p>That is the interesting lesson: an architecture can contain both temporary scaffolding and useful structure. Improving the model does not necessarily remove both.</p><p>I would therefore treat every extra stage as a claim: without this stage, some identifiable failure becomes more likely.</p><p>Perhaps the agent forgets a requirement. Perhaps it starts coding before resolving an ambiguous interface. Perhaps it produces a plausible-looking screen whose main interaction does not work.</p><p>Those are testable problems. &#8220;We need a planning department&#8221; is a staffing decision wearing a lab coat.</p><p>If a planning skill and a required implementation plan solve the first problem, keep them. If a fresh-context planner reliably improves the scope, keep that instead. The point is to preserve the useful behavior, not the original cast.</p><p>But there is a trap in taking the argument too far. Better models can also become better at delegation, verification, and integrating other agents&#8217; findings. Improvement does not logically guarantee that single-agent systems win more often forever.</p><p>My inference is narrower: <strong>the right boundary moves as capabilities change.</strong> A workflow justified by last year&#8217;s failure trace should face this year&#8217;s test suite.</p><p>The expensive mistake is not building scaffolding. It is turning scaffolding into a listed building.</p><h2>A skill library is not a prompt landfill</h2><p>&#8220;One agent with lots of skills&#8221; needs an important qualification.</p><p>I mean a large pool of available capabilities, not a single prompt containing every procedure the organization has ever written, including the printer troubleshooting guide and a deeply emotional document about branch naming.</p><p>The active context should contain what this task needs.</p><p>The June 2026 revision of SkillsBench evaluated 87 tasks across 18 model&#8211;harness configurations: combinations of a model and the software that runs it. Curated skills increased the average pass rate from 33.9% to 50.5%, a gain of 16.6 percentage points. Tasks with focused bundles of one to three skills showed larger gains than those with bigger bundles. That does not establish a universal three-skill limit: the groups contain different tasks. Nor is SkillsBench a direct comparison of one skilled agent against a team. <a href="https://arxiv.org/abs/2602.12670v4">[4]</a></p><p>What it supports is more modest and more useful: well-chosen procedural help can matter, and more material is not automatically better.</p><p>I would organize a skill library around a small discovery layer: what each skill is for, when to use it, and what output it produces. Load the relevant procedure when needed. Keep bulky references and executable utilities separate. That follows the progressive-disclosure model in Anthropic&#8217;s skills design. <a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills">[2]</a></p><p>Then keep task state separate from both the skills and the conversation: current requirements, decisions, unresolved questions, changed artifacts, and verification results. Anthropic&#8217;s context-engineering guidance treats selective retrieval, compaction, and persistent notes as complementary ways to manage long work. <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">[5]</a></p><p>In this design, &#8220;one owner&#8221; means continuity of responsibility for the task. It does not mean one immortal chat transcript, one model call, or a heroic refusal to clear irrelevant output.</p><p>There is also a real counterargument here. LangChain&#8217;s worked examples show that isolated subagents can process fewer total tokens on some multi-domain tasks than a single agent that accumulates all the domain instructions. Those examples illustrate the tradeoff; they are not universal production measurements. <a href="https://docs.langchain.com/oss/python/langchain/multi-agent">[1]</a></p><p>So I would measure the active context and the bill, rather than assume fewer agents always means fewer tokens.</p><p>A library should help you find the right book. It should not require you to swallow the building.</p><h2>The task matters more than the team size</h2><p>The strongest reason to distrust blanket claims is that the experimental results point in both directions.</p><p>The April 2026 revision of <em>Towards a Science of Scaling Agent Systems</em> compared 260 configurations across six benchmarks and five architectures. Relative to single-agent baselines, reported performance changes ranged from a gain of 80.8% on decomposable financial reasoning to a decline of 70.0% on sequential planning. The authors&#8217; most robust finding was diminishing benefit from coordination as single-agent baselines became stronger. <a href="https://arxiv.org/abs/2512.08296v3">[6]</a></p><p>That is not &#8220;multi-agent works&#8221; or &#8220;multi-agent fails.&#8221; It is a warning about matching coordination to the work.</p><p>The study&#8217;s aggregate SWE-bench Verified results also favored the single-agent baseline, but that evaluation used only 20 instances per configuration, with wide uncertainty. It is not a verdict on every repository, modern model, or purpose-built coding team. <a href="https://arxiv.org/abs/2512.08296v3">[6]</a></p><p>Here is how I would translate the evidence into a working decision.</p><p>Can the subtasks make useful progress without repeatedly renegotiating the same assumptions?</p><p>If three investigations can each return an independent piece of evidence, parallel workers have a sensible job. If every next step depends on the evolving state of the previous one, splitting responsibility may mostly create more opportunities to misunderstand that state.</p><p>Consider a hypothetical chain: one agent interprets a requirement, another turns the interpretation into an interface, a third implements it, and a fourth tests the implementation against the interface. If the original interpretation was wrong, the chain can produce beautifully consistent evidence that it built the wrong thing.</p><p>The problem is not the number four. It is the absence of a check against the original requirement.</p><p>Equally, keeping everything with one agent does not make the first interpretation correct. It merely removes some translation boundaries. Verification still has to happen.</p><p>I would rather draw the dependencies first and decide the agent boundaries afterward.</p><p>The org chart is the output of that exercise, not the input.</p><h2>Delegation should buy something specific</h2><p>There are three reasons I would readily add another agent: useful parallel work, a separate evidence-producing check, or a boundary that needs to be real.</p><p><strong>Parallel work buys time or coverage.</strong></p><p>Anthropic reported that its June 2025 research system, using an Opus 4 lead and Sonnet 4 workers, outperformed a single Opus 4 agent by 90.2% on its internal research evaluation. It particularly emphasized breadth-first investigations. The report also described much higher token use: about 15 times ordinary chat for multi-agent systems, versus about four times for agents. Those are comparisons with chat, not a claim that teams used 15 times the tokens of a single agent. <a href="https://www.anthropic.com/engineering/multi-agent-research-system">[7]</a></p><p>That result is a serious counterexample to &#8220;teams are just obsolete scaffolding.&#8221; It is not an equal-budget proof that teams win everywhere.</p><p>For a broad investigation, I would happily send separate workers down distinct evidence trails and ask each for sources, findings, and unresolved contradictions. The lead can then concentrate on synthesis.</p><p>But I would not create a new agent just to run an independent command. A main agent can initiate parallel tool work too; LangChain explicitly distinguishes that from multi-agent coordination. <a href="https://docs.langchain.com/oss/python/langchain/multi-agent">[1]</a></p><p>Run the tests concurrently when appropriate. They do not need individual career paths.</p><p><strong>A separate check buys a different opportunity to catch an error.</strong></p><p>The valuable reviewer is not merely the one instructed to be grumpy. It is the one that receives the original acceptance criteria, inspects the actual artifact, and brings back something verifiable.</p><p>In the March harness report, Anthropic&#8217;s evaluator exercised applications through Playwright and returned concrete defects. The author also reported needing to tune the evaluator: a separate agent could still test superficially or excuse problems. Separation alone was not enough. <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">[3]</a></p><p>For my own workflow design, I would give a reviewer room to form an initial judgment before seeing the builder&#8217;s defense of the work. I would ask for a failing test, a reproducible interaction, or a specific mismatch with the requirement.</p><p>That is an attempt to create evidential independence. A fresh context is not proof of statistically independent errors, particularly when both agents use the same model. Agreement is not a substitute for checking the artifact.</p><p><strong>A real boundary buys control.</strong></p><p>Suppose an exploratory worker can read untrusted material, while another component can approve a production action. I would keep the relevant permissions separate and enforce that separation in the runtime.</p><p>A skill saying &#8220;please be careful&#8221; is not an access-control mechanism. Conversely, another agent with the same unrestricted credentials has not created a meaningful boundary either.</p><p>The same reasoning applies to a worker with genuinely different tools or a separately evaluated specialist model. Keep it separate when the capability or constraint warrants separation&#8212;not simply because a diagram has an empty box.</p><p>Notice what is absent from these reasons: sounding like a company.</p><h2>What this looks like on a real ticket</h2><p>Take an illustrative TypeScript booking service. Two concurrent requests can both claim the last available place.</p><p>This is a hypothetical workflow, not a report of a production experiment.</p><p>A fixed-team approach could route the ticket through a planner, architect, database agent, API agent, tester, and reviewer. It could work. Before choosing it, I would want to know which of those handoffs solves a problem that one owner with the same knowledge cannot solve.</p><p>Here is the simpler candidate I would test.</p><p><strong>First, establish the invariant.</strong> The owner reads the requirement and existing behavior, then records what must remain true: no oversubscription, no duplicate reservation from a retry, and a defined response for the request that loses the race. Existing authorization and API behavior remain constraints, not optional accessories.</p><p>That is the task contract. Every later decision and check must refer back to it.</p><p><strong>Next, load the relevant capabilities.</strong> The owner uses the repository&#8217;s database-concurrency procedure, API conventions, and integration-test guidance. It traces the actual request path, examines how state changes are committed, and creates a reproducer before deciding on the fix.</p><p>The agent is not expected to guess the project&#8217;s conventions from its job title. Nor should it load the entire deployment manual unless the change touches deployment.</p><p><strong>Delegate a bounded investigation only when useful.</strong> A worker might inspect other reservation entry points while the owner studies the main path. Give it a question, a code snapshot, read-only scope, and a required output: file locations, relevant behavior, and evidence of any path that can bypass the proposed protection.</p><p>Do not ask it to &#8220;be the architect.&#8221; Ask it something it can finish.</p><p><strong>Keep integration with the owner.</strong> The owner decides how the findings affect the patch and updates the task record. If multiple workers must change code, specify their write boundaries and integration order; do not leave them negotiating ownership through overlapping edits.</p><p><strong>Verify the resulting artifact.</strong> Run the reproducer, the relevant tests, and the agreed regression checks. A separate reviewer can then inspect the patch against the original invariant and exercise a less obvious scenario: retries, cancellation, another request path, or an unexpected failure between operations.</p><p>The useful output is the scenario and evidence, not a ceremonial approval.</p><p>Finally, the owner reports what changed, which checks ran, which passed, what remains uncertain, and whether the work was actually committed or merely described with tremendous confidence.</p><p>This design leaves a human or organization responsible for the release decision. Calling an agent the &#8220;owner&#8221; does not outsource accountability to software.</p><p>And yes: once the owner launches a worker or reviewer, this is technically a multi-agent system.</p><p>That is not a loophole. It is the point. I am arguing against a mandatory cast of permanent roles, not against invoking another model when there is a good reason.</p><p>The stable unit is the task and its evidence. The staffing is temporary.</p><h2>Make the architectures compete, not the demos</h2><p>To choose between these designs, I would run three candidates on the same representative tasks: a strong single agent with curated skills, a fixed specialist team, and an owner that can delegate selectively.</p><p>Give them equivalent access to the requirements, knowledge, tools, and checks. Let the team use the skills too. Otherwise the comparison is partly measuring whether one side was allowed to read the manual.</p><p>I would include sequential bug fixes, decomposable investigations, multi-file changes, and work that demands independent verification. Freeze the starting artifacts, record the model and skill versions, and repeat runs rather than choosing the most flattering transcript.</p><p>Two comparisons matter. Under an equal total spending cap, which system produces more accepted work? Under the same deadline, how much quality does each deliver, and what does it cost?</p><p>Those are different questions. More parallel work can be worth paying for when time matters. It should not quietly be presented as a free architectural improvement.</p><p>My scorecard would prioritize correctly completed tasks, regressions, missed requirements, time to an acceptable result, total cost, and human intervention. I would count the clarification, integration, and repair work too. A handoff that saves agent time by creating human cleanup has not disappeared from the bill.</p><p>Then remove components one at a time. Does removing the planner reduce quality? Does moving review to the end miss defects? Does replacing a permanent specialist with an on-demand skill change outcomes? Does adding one bounded worker actually shorten the critical path?</p><p>Anthropic&#8217;s broader guidance has long recommended starting with the simplest workable design and increasing complexity only when justified. It also distinguishes predefined workflows from agents that choose their own next actions. Some steps need a reliable function or a fixed check, not another autonomous participant. <a href="https://www.anthropic.com/engineering/building-effective-agents">[8]</a></p><p>I would apply that discipline to skills as well. A long, stale procedure can deserve deletion just as much as a redundant agent.</p><p>Preference is not performance. Neither is a lively coordination transcript.</p><h2>Keep the expertise. Make the headcount earn its place.</h2><p>My default would be a capable owner with a small active context, reusable skills, durable task state, and checks that produce inspectable evidence.</p><p>I would add workers for genuinely separable work, reviewers when they improve verification, and separate components when capabilities or permissions demand it. I would retest those choices when the model, task mix, or tool environment changes.</p><p>That is not the claim that one agent can do everything. It is the refusal to assume that every useful capability needs its own employee.</p><p>If a second agent improves the result, keep it. If a sixth agent mainly explains what the other five are doing, check whether you have automated the work or merely reproduced the meeting.</p><p><strong>Before adding another agent, name what it will contribute that the current system cannot supply as a skill, a tool, or a check.</strong></p><p>If the answer is a job title, the org chart is doing more work than the architecture.</p><p>* * *</p><h3>Notes and References</h3><p>Evidence checked October 4, 2026. Benchmark percentages describe the cited evaluations, not guaranteed gains on other workloads. The recommended architecture and booking workflow are the author&#8217;s synthesis and proposal; no head-to-head production experiment is claimed here.</p><p>1. LangChain. <a href="https://docs.langchain.com/oss/python/langchain/multi-agent">&#8220;Multi-agent.&#8221;</a> Documentation, accessed October 4, 2026. Distinguishes skills, subagents, handoffs, and their context/cost tradeoffs.</p><p>2. Anthropic. <a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills">&#8220;Equipping agents for the real world with Agent Skills.&#8221;</a> October 16, 2025; open-standard update December 18, 2025.</p><p>3. Prithvi Rajasekaran, Anthropic. <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">&#8220;Harness design for long-running application development.&#8221;</a> March 24, 2026. Engineering case studies; model and harness changes are not a controlled, equal-budget architecture trial.</p><p>4. Xiangyi Li et al. <a href="https://arxiv.org/abs/2602.12670v4">&#8220;SkillsBench: Benchmarking How Well Agent Skills Work Across Diverse Tasks.&#8221;</a> arXiv:2602.12670, version 4, June 14, 2026. Terminal-based benchmark; skill-count groups do not isolate the causal effect of adding another skill.</p><p>5. Anthropic. <a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">&#8220;Effective context engineering for AI agents.&#8221;</a> September 29, 2025. Guidance on relevant context, compaction, and persistent notes.</p><p>6. Yubin Kim et al. <a href="https://arxiv.org/abs/2512.08296v3">&#8220;Towards a Science of Scaling Agent Systems.&#8221;</a> arXiv:2512.08296, version 3, April 8, 2026. Benchmark-dependent findings; small coding subsets limit individual comparisons.</p><p>7. Anthropic. <a href="https://www.anthropic.com/engineering/multi-agent-research-system">&#8220;How we built our multi-agent research system.&#8221;</a> June 13, 2025. Internal evaluation using Claude 4 models; reported token multipliers use ordinary chat as the baseline.</p><p>8. Anthropic. <a href="https://www.anthropic.com/engineering/building-effective-agents">&#8220;Building effective agents.&#8221;</a> December 19, 2024. Cited for design principles, not as an inventory of current tools.</p>]]></content:encoded></item><item><title><![CDATA[Cosplay Prompting Validity]]></title><description><![CDATA[Telling an AI it is a world-class expert is not a capability upgrade. Giving it a concrete job still can be useful.]]></description><link>https://plausiblereality.com/p/cosplay-prompting-validity</link><guid isPermaLink="false">https://plausiblereality.com/p/cosplay-prompting-validity</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Mon, 05 Oct 2026 16:01:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8RkC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8RkC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8RkC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8RkC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2450327,&quot;alt&quot;:&quot;An AI terminal wears medical, legal, and engineering costumes beside a checklist, test results, and source documents.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://plausiblereality.com/i/218755923?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An AI terminal wears medical, legal, and engineering costumes beside a checklist, test results, and source documents." title="An AI terminal wears medical, legal, and engineering costumes beside a checklist, test results, and source documents." srcset="https://substackcdn.com/image/fetch/$s_!8RkC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!8RkC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d6faaa3-7c13-41a1-86ae-f64d70974d33_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Prompt engineering contains a small corporate ritual that has survived an impressive number of model generations: before asking the model to do anything, promote it.</p><p>You are a world-class lawyer. You are a senior principal software architect. You are an elite McKinsey strategist with twenty years of experience in distributed systems, paediatric cardiology and, apparently, whatever else is in the next paragraph.</p><p>The model has no medical licence, no bar membership, no production pager, and no scar tissue from the migration that went wrong at 2:17 a.m. But congratulations. It has been promoted.</p><p>I think of this as cosplay prompting: giving the model an impressive identity and hoping the costume improves the work.</p><p>There is now a counter-claim floating around prompt-engineering discussions: this used to work, but modern models are too capable for it. Just ask directly. The cape is obsolete.</p><p>That correction is useful, but it is still too neat. The research does not show a clean moment when persona prompting expired. It shows something more annoying: the effect depends on the task, the model, the exact wording, the baseline, and what you measure. Expert labels are not a dependable accuracy upgrade. Roles can still change behaviour, and sometimes performance. Those are different claims.</p><p>The practical rule is simpler than the debate: give the model a job, not a r&#233;sum&#233;.</p><h2><strong>The prompt did not install a career</strong></h2><p>The phrase &#8220;role prompting&#8221; bundles together several things that should never have been treated as one technique.</p><ul><li><p>Credential cosplay &#8212; &#8220;You are a world-class tax lawyer.&#8221;</p></li><li><p>Functional responsibility &#8212; &#8220;Review this contract for termination, liability and renewal risk.&#8221;</p></li><li><p>Audience framing &#8212; &#8220;Explain this to a CFO who understands finance but not distributed systems.&#8221;</p></li><li><p>Behavioural protocol &#8212; &#8220;Separate verified facts from assumptions; cite evidence; flag uncertainty.&#8221;</p></li><li><p>Simulation &#8212; &#8220;Respond as a buyer evaluating this onboarding flow.&#8221;</p></li></ul><p>Only the first one claims, implicitly, that an identity label should make the model more knowledgeable or accurate. The others specify what work to do, what perspective to use, or how to communicate it.</p><p>That distinction matters because a model cannot acquire new domain knowledge from a flattering sentence about itself. A role prompt can change which patterns it samples, which concepts it foregrounds, how much jargon it uses, what risks it notices, or how it structures an answer. That can be useful. It is not the same as installing ten years of professional judgment with one line of text.</p><p>Current vendor guidance is actually more nuanced than the folklore. OpenAI still discusses role and identity guidance, but also tells developers to treat prompts as code, pin model versions and run evaluations because behaviour can change between model snapshots. Anthropic still recommends giving Claude a role, alongside clear instructions, context and examples. Google still lists persona or role as one optional component of a prompt, next to the actual task, constraints, context and output format.[7][8][9]</p><p>In other words, the vendors have not declared role prompting dead. They have quietly put it back where it belongs: one control among several. The industry then did what it often does with a nuanced control surface and turned one knob into a religion.</p><h2><strong>Why the costume got a reputation</strong></h2><p>It is worth remembering that role-play prompting did produce striking results in earlier research. This was not invented entirely by people selling prompt templates on social media.</p><p>A 2024 NAACL paper by Aobo Kong and colleagues tested a strategically designed role-play prompting method across twelve reasoning benchmarks. On ChatGPT, accuracy on AQuA rose from 53.5% to 63.8%. On the Last Letter task it jumped from 23.8% to 84.2%. The authors also found their role-play setup could act as a stronger trigger for chain-of-thought-style reasoning than a standard zero-shot baseline.[1]</p><p>Those are not rounding errors. If you saw results like that, you would reasonably conclude that role framing could matter.</p><p>But notice what the result does not establish. It does not establish that attaching prestige to any arbitrary task makes any future model smarter. It shows that a particular role-play intervention, on particular models and benchmarks, changed the model&#8217;s reasoning behaviour enough to improve results.</p><p>This is where prompt advice tends to go through its familiar laundering process. A paper finds a conditional effect. A blog turns it into a technique. A slide turns the technique into &#8220;best practice.&#8221; Six months later somebody is beginning a CSV-cleaning prompt with &#8220;You are the world&#8217;s foremost data scientist.&#8221;</p><p>Which would be harmless, except teams then confuse the costume with the mechanism.</p><h2><strong>Then the results stopped behaving</strong></h2><p>A different 2024 study gives the opposite impression. Mingqian Zheng and colleagues tested 162 personas across four model families and 2,410 factual questions. Adding personas did not improve performance overall compared with no persona. Gender, role type and domain could change results, but the effect was inconsistent. The researchers could identify personas that worked better for individual questions after the fact; reliably choosing the best persona in advance was much harder, with automatic strategies often doing no better than random selection.[2]</p><p>That is a fairly devastating result for &#8220;always start with an expert role.&#8221; A prompt trick that only works once you already know which costume wins is not much of a production strategy.</p><p>Then the 2025 EMNLP paper Principled Personas made the picture messier again. It evaluated nine state-of-the-art open models over 27 tasks. Expert personas usually caused positive or statistically non-significant changes, and Llama 3.1 70B with dynamic focused-expert personas showed strict improvement on 37% of tasks. But the same study found models surprisingly sensitive to irrelevant persona details, with drops of almost 30 percentage points in some settings.[3]</p><p>Read that carefully. &#8220;Personas do nothing&#8221; is wrong. &#8220;Personas reliably help&#8221; is also wrong. Sometimes an expert frame helps. Sometimes adding irrelevant decoration damages the result. The model is steerable, but not in the tidy way a prompt cheat sheet would like.</p><p>A 2025 Wharton Generative AI Labs report pushed specifically on the prestige claim. Six models were tested on GPQA Diamond and an MMLU-Pro subset using in-domain experts, mismatched experts and deliberately low-knowledge personas. Expert personas did not consistently improve factual accuracy; Gemini 2.0 Flash on MMLU-Pro was the notable exception. Low-knowledge personas were generally harmful, and mismatched roles could also degrade behaviour.[4]</p><p>The serious point underneath the comedy is that persona text can move the model. The problem is that &#8220;it moved&#8221; is not the same as &#8220;it got better.&#8221;</p><h2><strong>&#8220;Works&#8221; is doing far too much work</strong></h2><p>A lot of the argument disappears once you ask what &#8220;works&#8221; means.</p><p>If the metric is factual accuracy, &#8220;You are an expert&#8221; has weak support as a general technique. If the metric is tone, terminology, depth, perspective, empathy, critique style or audience fit, a role can be doing exactly what you want even when accuracy stays flat.</p><p>A 2026 preprint makes this distinction unusually visible. Across 1,140 open-ended questions, 38 expert roles and six domains, the authors found only small aggregate differences between persona conditions. But underneath the average, role prompting tended to increase perceived expertise depth while reducing clarity. The persona was not simply adding quality. It was trading one quality dimension for another.[6]</p><p>That sounds obvious once stated. Ask a model to sound like a specialist and it may produce more specialist language. Congratulations: the cardiologist costume came with cardiologist prose. Whether the reader needed cardiologist prose is a separate product decision.</p><p>Persona prompting is even more clearly a different problem when the persona is meant to simulate people rather than expertise. An EACL 2026 study found demographic persona prompting could improve classification on a highly subjective hate-speech task while degrading rationale quality; the simulated personas also failed to align reliably with the corresponding real demographic groups.[5]</p><p>So &#8220;respond as a 55-year-old nurse from X&#8221; should not be treated as cheap user research. A model can produce a plausible character. Plausibility is not representation. This is the same trap in a different costume.</p><h2><strong>There is no proven expiration date</strong></h2><p>The tempting modern story is that cosplay prompting worked on older, weaker models and stopped working on newer reasoning models.</p><p>I would not make that claim from the evidence we have.</p><p>The studies above are not a clean longitudinal experiment where the same prompt intervention, task set and evaluation are run across model generations until the effect vanishes. They use different models, different persona constructions, different benchmarks and different metrics. The sensible conclusion is not &#8220;role prompting died in 2025.&#8221; It is that there was never a universal role-prompting law to begin with.</p><p>Modern models do change the economics. OpenAI&#8217;s current guidance for reasoning models explicitly recommends straightforward prompts and warns that older incantations such as asking the model to &#8220;think step by step&#8221; may be unnecessary or counterproductive.[10] That should make us suspicious of any ritual text we keep copying forward merely because it once helped a different model.</p><p>But &#8220;less necessary&#8221; and &#8220;invalid&#8221; are not the same thing. If a current model already understands the task, a vague expert title may add little. If the role compresses useful information about responsibility, audience or decision criteria, it can still steer the answer in a useful direction.</p><p>The real change is that prompt engineering is becoming less like spell casting and more like software configuration. Specify the behaviour you need. Test it against a baseline. Keep it only if the measured outcome improves.</p><p>Preference is not performance. Tradition is definitely not performance.</p><h2><strong>A code review without the cape</strong></h2><p>Suppose a team wants an AI coding agent to review a legacy payment-handler change before merge.</p><p>The cosplay version looks familiar: &#8220;You are a world-class principal engineer and payments expert with twenty years of experience in distributed systems and security. Perform an expert review.&#8221;</p><p>It may produce a good review. It may also produce a very confident essay about dependency injection. The prompt has told the model how impressive it is, but very little about what would make this review useful.</p><p>Now remove the biography and give it a job.</p><p>&#8220;You are the merge-gate reviewer for this payment change. Decide whether it is safe to merge. Check duplicate-charge risk, idempotency, transaction boundaries, retries, concurrency, authorization, secret handling, rollback behaviour and missing tests. For every issue, cite the code evidence and explain the concrete failure mode. Separate confirmed defects from hypotheses. Do not propose refactors unless they address a demonstrated risk. Finish with Block, Warn or Pass and the reasons.&#8221;</p><p>The second prompt still contains a role. But the role is operational. It defines responsibility, scope, evidence, uncertainty handling and the decision to produce.</p><p>Imagine the model spots that a retry path can call the charge operation twice unless an idempotency key is stable. Useful. It then claims the ORM automatically rolls back a nested transaction in a way that sounds plausible but is wrong for the version you run. Also normal.</p><p>The verification step is not &#8220;ask the model if it is sure.&#8221; You check the transaction implementation, the ORM documentation and the tests. If the risk matters, you reproduce it. A title is not a unit test.</p><p>This is the operating lesson: use prompting to focus judgment, not to manufacture authority. The model can help widen the search, structure the review and surface hypotheses. Evidence still decides whether the hypothesis survives.</p><p>In practice, this is also easier to evaluate. You can run the same patch through the cosplay prompt and the operational prompt, then compare defect recall, false positives, citation quality and review time. Now you are doing engineering rather than prompt astrology.</p><h2><strong>Where roles still earn their costume</strong></h2><p>I would still use roles. I would just stop expecting the role name itself to carry the system.</p><p>Roles are useful when they compress a real behavioural contract. &#8220;Security reviewer&#8221; can mean prioritize exploitability and trust boundaries. &#8220;Editor for a technical audience&#8221; can mean preserve technical detail while cutting repetition. &#8220;Product manager preparing a launch review&#8221; can mean surface dependencies, unresolved decisions and measurement gaps. The useful content is the implied work pattern; when it matters, make that pattern explicit.</p><p>Roles are also useful when the goal is genuinely perspectival. Asking for a skeptical reviewer, an impatient first-time user, or a regulator&#8217;s likely line of questioning can help generate attack angles you might not have considered. That is ideation, not evidence. The output becomes a queue of things to verify, not a synthetic substitute for the people being simulated.</p><p>And if your only goal is tone, cosplay is fine. Tell the model to write like a patient tutor, a terse incident commander, or a mildly annoyed staff engineer. Style is exactly the thing a style instruction is allowed to change.</p><p>What I would not do is use &#8220;You are an expert&#8221; as the control that is supposed to make a high-stakes answer correct. For correctness, give the model better context, access to authoritative sources, tools, examples, constraints and a verification path. Then evaluate the result on the task you actually care about.</p><p>If the expert label survives that evaluation, keep it. If removing it changes nothing, delete it. If it makes the model sound more authoritative while accuracy stays flat, delete it faster.</p><h2><strong>The annoying question</strong></h2><p>So, is cosplay prompting still valid?</p><p>Yes, as steering. No, as a general intelligence upgrade.</p><p>There is no solid evidence that modern models crossed some threshold after which roles stopped mattering. There is strong evidence that expert-persona effects are conditional, sometimes negligible, sometimes positive, sometimes harmful, and easy to confuse with changes in style or depth.</p><p>The useful question is not &#8220;Should I tell the model it is an expert?&#8221; It is &#8220;What behaviour am I trying to cause, and can I specify and measure that behaviour directly?&#8221;</p><p>If &#8220;You are a world-class engineer&#8221; is shorthand for a review process you have tested and it improves outcomes, fine. Keep the cape.</p><p>If it is there because somebody copied a prompt from 2023 and nobody wants to touch the sacred paragraph, that is not prompt engineering. That is a ritual with better formatting.</p><p>Give the model the responsibility, the evidence, the constraints and the test. Let the r&#233;sum&#233; stay fictional.</p><h3><strong>Notes and References</strong></h3><p>1. Aobo Kong, Shiwan Zhao, Hao Chen, Qicheng Li, Yong Qin, Ruiqi Sun, Xin Zhou, Enzhi Wang, Xiaohang Dong, <a href="https://aclanthology.org/2024.naacl-long.228/">Better Zero-Shot Reasoning with Role-Play Prompting</a>, NAACL / Association for Computational Linguistics, 2024. Used for the twelve-benchmark role-play study and the reported AQuA and Last Letter accuracy changes.</p><p>2. Mingqian Zheng, Jiaxin Pei, Lajanugen Logeswaran, Moontae Lee, David Jurgens, <a href="https://aclanthology.org/2024.findings-emnlp.888/">When &#8220;A Helpful Assistant&#8221; Is Not Really Helpful: Personas in System Prompts Do Not Improve Performances of Large Language Models</a>, Findings of EMNLP / Association for Computational Linguistics, 2024. Used for the 162-persona, four-model-family, 2,410-question evaluation and the difficulty of selecting a reliably beneficial persona.</p><p>3. Pedro Henrique Luz de Araujo, Paul R&#246;ttger, Dirk Hovy, Benjamin Roth, <a href="https://aclanthology.org/2025.emnlp-main.1364/">Principled Personas: Defining and Measuring the Intended Effects of Persona Prompting on Task Performance</a>, EMNLP / Association for Computational Linguistics, 2025. Used for the nine-model, 27-task evaluation, the 37% strict-improvement result for focused dynamic experts on Llama 3.1 70B, and sensitivity to irrelevant persona attributes.</p><p>4. Savir Basil, Ina Shapiro, Dan Shapiro, Ethan Mollick, Lilach Mollick, Lennart Meincke, <a href="https://gail.wharton.upenn.edu/research-and-insights/playing-pretend-expert-personas/">Prompting Science Report 4: Playing Pretend: Expert Personas Don&#8217;t Improve Factual Accuracy</a>, Wharton Generative AI Labs, 2025. The report was revised in 2026; the underlying study is dated December 2025. Used for the six-model GPQA Diamond and MMLU-Pro experiments showing no consistent factual-accuracy gain from expert personas and generally harmful effects from low-knowledge personas.</p><p>5. Jing Yang, Moritz Hechtbauer, Elisabeth Khalilov, Evelyn Luise Brinkmann, Vera Schmitt, Nils Feldhus, <a href="https://aclanthology.org/2026.eacl-long.52/">Persona Prompting as a Lens on LLM Social Reasoning</a>, EACL / Association for Computational Linguistics, 2026. Used for the finding that persona prompting could improve classification on a subjective hate-speech task while degrading rationale quality and failing to reproduce real demographic alignment.</p><p>6. Shuai Xiao, Su Liu, Weikai Zhou, Jialun Wu, Xinjie He, Zhiyuan Lin, Qiyang Xie, <a href="https://arxiv.org/abs/2605.29420/">When Does Persona Prompting Actually Help? A Retrieval and Metric Analysis of Expert Role Injection in LLMs</a>, arXiv preprint, 2026. Preprint; not treated here as peer-reviewed evidence. Used for the 1,140-question analysis suggesting a trade-off between expertise depth and clarity rather than a broad aggregate quality gain.</p><p>7. OpenAI, <a href="https://developers.openai.com/api/docs/guides/prompt-engineering">Prompt engineering</a>, OpenAI API documentation, 2026. Used for current guidance on role/identity instructions, model-specific prompting, snapshot variability, prompt versioning and evaluation.</p><p>8. Anthropic, <a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prompt-templates-and-variables">Prompting best practices</a>, Claude Platform documentation, 2026. Used for current guidance to use clear and direct instructions, examples and system-role framing where it helps focus behaviour and tone.</p><p>9. Google Cloud, <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/prompt-design-strategies">Overview of prompting strategies</a>, Vertex AI documentation, 2025&#8211;2026. Used for the framing of persona/role as one optional prompt component alongside task, constraints, context, examples and output format.</p><p>10. OpenAI, <a href="https://developers.openai.com/api/docs/guides/reasoning-best-practices">Reasoning best practices</a>, OpenAI API documentation, 2026. Used for the current recommendation that reasoning models generally perform best with straightforward prompts and that explicit chain-of-thought requests such as &#8220;think step by step&#8221; may be unnecessary or counterproductive.</p>]]></content:encoded></item><item><title><![CDATA[Why New AI Models Feel Brilliant—Until We Promote Them]]></title><description><![CDATA[Sometimes the model has not become less capable. We have quietly given it a different job&#8212;and far more of it.]]></description><link>https://plausiblereality.com/p/why-new-ai-models-feel-brilliantuntil</link><guid isPermaLink="false">https://plausiblereality.com/p/why-new-ai-models-feel-brilliantuntil</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Wed, 30 Sep 2026 16:03:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Za5Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Za5Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Za5Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 424w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 848w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 1272w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Za5Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png" width="1456" height="814" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1779916,&quot;alt&quot;:&quot;A small robot assistant at a laptop beside a towering stack of paperwork and folders, illustrating expanding workloads and scope creep.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://plausiblereality.com/i/218150862?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A small robot assistant at a laptop beside a towering stack of paperwork and folders, illustrating expanding workloads and scope creep." title="A small robot assistant at a laptop beside a towering stack of paperwork and folders, illustrating expanding workloads and scope creep." srcset="https://substackcdn.com/image/fetch/$s_!Za5Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 424w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 848w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 1272w, https://substackcdn.com/image/fetch/$s_!Za5Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a567b5d-b9da-4ed0-8574-7d528df876e7_1677x938.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The first day with a new AI model can feel extraordinary.</p><p>You give it something the previous model struggled with. It understands the request, makes a useful connection, and produces an answer that needs surprisingly little correction. You try another task. That works too.</p><p>Finally, you think. This is the one.</p><p>Then we do what organisations have always done when something proves competent.</p><p>We give it more work.</p><p>The requests become more ambitious. The neat little test prompts disappear. We bring it into actual work, where the requirements are unfinished, the evidence conflicts, three people have different ideas about what &#8220;done&#8221; means, and getting something wrong has consequences.</p><p>Before long, you are correcting it, repeating yourself, and wondering why it keeps missing the point. Meanwhile, the usage allowance that looked perfectly reasonable when you were asking it to tidy paragraphs is now disappearing with the urgency of a departmental budget in the final week of the financial year.</p><p>The obvious explanation is that the model has been &#8220;dumbed down.&#8221;</p><p>Sometimes the product really has changed. In April 2025, for example, OpenAI acknowledged that an update had made GPT-4o excessively agreeable and rolled it back. Genuine regressions should not be dismissed as users imagining things. <sup>1</sup></p><p>But a model does not have to deteriorate for our experience of it to deteriorate.</p><p>There is another explanation worth considering: success earns the model more trust, trust earns it a bigger job, and the bigger job exposes limitations we had not previously encountered.</p><p>We may be doing to AI what organisations have long done to their best employees.</p><h2>The model passes the test. Then we change the test.</h2><p>Consider the difference between asking an AI to improve a paragraph and asking it to produce a publishable article.</p><p>The first task has a relatively clear boundary. The words are already there. You can judge whether the revision is better.</p><p>The second requires much more: a defensible argument, accurate evidence, an understanding of the audience, appropriate emphasis, and enough judgement to know what should be left out.</p><p>Now extend the request again. Ask it to research the subject, choose the argument, write the article, adapt it into a campaign, and ensure everything fits your organisation&#8217;s positioning.</p><p>It may still look like a writing request.</p><p>It is no longer the same job.</p><p>This is the bit we are strangely good at ignoring. The interface has not changed. There is still a box. We still type words into the box. Therefore, apparently, everything involving words is one task.</p><p>The same distinction applies to software. Fixing a clearly identified function is different from diagnosing an intermittent failure across an application. Producing working code is different from changing a system without breaking assumptions elsewhere.</p><p>There is experimental evidence for this unevenness. In a study involving 758 Boston Consulting Group consultants, AI assistance helped participants complete suitable tasks about 25% faster. Yet on a task selected to fall outside the model&#8217;s capabilities, AI-assisted participants were 19 percentage points less likely to reach the correct answer than those working without it. The researchers described a &#8220;jagged technological frontier&#8221;: success on one task did not reliably establish competence on another. <sup>2</sup></p><p>That study does not prove that launch-day enthusiasm fades because users assign harder work. It establishes something narrower and important: changing the assignment can reverse the value of using the same AI.</p><p>A model can therefore remain just as capable while becoming less dependable for the work we now expect it to do.</p><p>On the first day, the question was:</p><p>&#8220;Can it help me with this?&#8221;</p><p>Later, the question becomes:</p><p>&#8220;Why can&#8217;t it take care of this without me?&#8221;</p><p>Those are different standards.</p><p>We just tend to promote the model between them without mentioning it.</p><h2>The Peter Principle, at software speed</h2><p>The Peter Principle describes the tendency to promote people on the strength of their current performance until they reach a role in which they are no longer effective. Research by Alan Benson, Danielle Li, and Kelly Shue, using data from 131 firms, found evidence of companies favouring strong sales performers for promotion even when other characteristics better predicted managerial performance. <sup>3</sup></p><p>The important point is not that successful people somehow become stupid.</p><p>It is that the new role may require different abilities. Being excellent at winning customers does not automatically establish that someone can coach a team, allocate resources, or resolve conflict.</p><p>The official version is that we recognised excellence and rewarded it.</p><p>The less flattering version is that someone was very good at Job A, so we stopped letting them do Job A.</p><p>We can make the same mistake with AI, only much faster.</p><p>It summarises documents well, so we promote it to analyst. It produces a convincing analysis, so we promote it to adviser. It gives useful advice, so we ask it to make decisions and carry out the work.</p><p>No interview. No probation period. No awkward conversation about whether it actually wants management responsibilities. One good Tuesday afternoon and congratulations: you now own the workflow.</p><p>Each promotion feels justified by the previous success. Yet each may involve an untested jump.</p><p>A model that helps you think is not necessarily ready to decide on your behalf. A model that can complete a task with close guidance is not necessarily ready to own an entire workflow.</p><p>Call this an AI version of the Peter Principle: we keep expanding the model&#8217;s responsibilities until we find the work it cannot reliably handle.</p><p>Then we judge it by that work, rather than by the capabilities that earned our trust in the first place.</p><h2>Promotion and overload are different problems</h2><p>There is a second organisational mistake hiding inside this pattern.</p><p>Sometimes a person is given the wrong job.</p><p>Sometimes they have the right skills but are given too much work.</p><p>Imagine a dependable employee who handles difficult assignments well. Whenever something urgent appears, it goes to them. Whenever another team falls behind, they help. Their reward for being reliable is an expanding collection of responsibilities.</p><p>This is one of management&#8217;s more durable operating systems: if someone reliably carries things, find more things.</p><p>Eventually, something slips.</p><p>Calling this incompetence would confuse ability with workload. Burnout is not proof that someone has reached the limit of their talent. The World Health Organization describes it as a consequence of chronic workplace stress that has not been successfully managed, involving exhaustion, detachment or cynicism, and reduced professional efficacy. <sup>4</sup></p><p>That distinction matters when drawing the AI comparison.</p><p>Models do not burn out in the human sense.</p><p>They do not become exhausted, cynical, or sit through a Sunday evening wondering how &#8220;one small additional responsibility&#8221; somehow became twelve.</p><p>But they do operate within limits&#8212;and those limits are not all the same.</p><p>One is <strong>capability</strong>: whether the model can reliably perform the task.</p><p>Another is <strong>context</strong>: how much relevant information it can use effectively during the work. A longer conversation can accumulate instructions, corrections, discarded approaches, and tool results. Anthropic&#8217;s guidance on context engineering explicitly warns that model performance can degrade as context grows; a larger context window does not guarantee equally effective use of everything inside it. <sup>5</sup></p><p>A third is the <strong>usage allowance</strong>: how much work the service permits before access is restricted or additional usage must be purchased. That is separate from the length of an individual conversation. <sup>6</sup></p><p>These are different diagnoses.</p><p>A difficult task does not become easy because your allowance resets. Buying more usage does not automatically improve judgement. Starting a cleaner conversation may reduce contextual clutter, but it does not supply a capability the model lacks.</p><p>This sounds obvious when written down. In practice, these problems are often experienced through the same highly technical diagnostic instrument:</p><p>&#8220;It was better yesterday.&#8221;</p><p>The analogy with people is therefore useful only up to a point. Human burnout requires attention to working conditions, support, and recovery. AI requires an appropriate task, usable context, and sufficient resources.</p><p>The shared mistake is treating demonstrated competence as evidence of unlimited capacity.</p><h2>Why the usage allowance seems to disappear faster</h2><p>This also offers a plausible explanation for the feeling that each new release gives us less usable time.</p><p>Think about what happens after a model earns your confidence.</p><p>You stop using it only for occasional questions. You give it longer documents, larger projects, and work you previously would not have delegated. You ask it to investigate, compare, revise, verify, and try again.</p><p>The model has proved that it can carry boxes.</p><p>Naturally, we respond by locating every box in the building.</p><p>You may type fewer messages while requesting substantially more processing.</p><p>Anthropic&#8217;s usage documentation states that consumption depends on factors including conversation length and complexity, the model, the features used, and the selected effort level. A message is therefore not a fixed unit of work. <sup>6</sup></p><p>With an agent, the gap between what you type and what the system does can be particularly large. A short instruction may initiate repeated file reads, tool calls, edits, and checks. Claude Code&#8217;s documentation explains that tool interactions generate further requests and that long conversation histories continue contributing to usage, even when caching reduces their cost. <sup>7</sup></p><p>Reasoning can add another layer. OpenAI&#8217;s API documentation notes that reasoning tokens count towards output usage even though they are not displayed as ordinary answer text. A short visible response need not represent a small amount of processing. <sup>8</sup></p><p>This creates a counterintuitive possibility: a more useful model can make the same allowance feel smaller because you have found more valuable&#8212;and more demanding&#8212;ways to spend it.</p><p>That is not evidence that every newer model consumes more resources, or that providers never change their limits. It means that reaching a cap sooner does not, by itself, establish that the allowance was reduced.</p><p>The useful comparison is not simply how many prompts you sent.</p><p>It is how much verified work you completed, including the effort spent correcting unsuccessful attempts.</p><p>A model that uses more resources but reliably completes the job may be better value. One that spends the allowance repeatedly failing may not be.</p><p>Preference is not performance. Neither is prompt count.</p><h2>Why the honeymoon can get shorter</h2><p>The first time you encounter a capable AI assistant, you may approach it cautiously.</p><p>You experiment with small tasks. You discover what it does well. You learn where it gets confused. You gradually find the boundary between &#8220;surprisingly useful&#8221; and &#8220;why did I let it touch this?&#8221;</p><p>A later model does not necessarily receive that gentle introduction.</p><p>It inherits your existing workflows, your accumulated expectations, and the backlog of work the previous model could not handle.</p><p>Perhaps the last model could draft a report but struggled to reconcile conflicting evidence. The next one demonstrates better analysis, so you immediately give it the whole research assignment.</p><p>Perhaps the previous coding agent needed constant supervision. The new one solves a difficult bug, so you immediately ask it to work independently across the project.</p><p>Yesterday&#8217;s breakthrough becomes today&#8217;s minimum requirement remarkably quickly.</p><p>This suggests a reason the honeymoon can shorten without the technology declining faster: we arrive at each release better prepared to reach its limits.</p><p>The capability improvement may be real. But instead of continuing to assign yesterday&#8217;s work and enjoying the improvement, we spend that improvement on greater ambition.</p><p>This is a hypothesis about the experience, not a measured rule governing every release.</p><p>It may not explain your experience with a particular model at all. Products can change. Limits can change. Models differ in capability, context behaviour, and usage allowances. Genuine regressions happen.</p><p>But the hypothesis explains how two impressions can both be sincere: the model really was impressive at first, and it really is struggling now.</p><p>What changed may be the distance between the task and the model&#8217;s dependable capabilities.</p><p>We did not necessarily discover that the new employee was secretly terrible.</p><p>We may simply have completed the promotion cycle unusually efficiently.</p><h2>Before blaming the performer, inspect the assignment</h2><p>The practical response is not to stop trusting AI or to keep capable people permanently in small roles.</p><p>It is to make expansion deliberate.</p><p>For AI, preserve a small set of representative tasks, with the original inputs and clear standards for success. When a model seems worse, repeat those tasks under comparable conditions, preferably in fresh conversations. Repeat enough times to avoid treating one unusually good or bad answer as the whole story.</p><p>This gives you a better basis for separating a genuine regression from a harder workload, a cluttered conversation, or a higher standard of success.</p><p>Then test new responsibilities as new responsibilities.</p><p>Strong drafting is evidence for drafting.</p><p>Reliable analysis is evidence for analysis.</p><p>Neither should silently become permission for unrestricted decision-making.</p><p>The same applies when the tool moves from answering questions to operating inside a workflow. If the job now includes reading files, choosing an approach, editing code, checking the result, recovering from errors, and deciding when the work is finished, you have changed more than the prompt.</p><p>Treat it accordingly.</p><p>For people, apply the same discipline without forgetting the human difference. Before deciding that someone has lost their edge, examine how their role has changed, what has been added, what support has disappeared, and whether the workload is sustainable.</p><p>A promotion should come with an assessment of what the new role requires. Additional responsibility should come with an explicit decision about what will be removed, deferred, or supported.</p><p>Otherwise, &#8220;more responsibility&#8221; has a tendency to mean &#8220;everything you already do, plus this&#8221;.</p><p>Success should justify greater trust.</p><p>It should not remove the need for boundaries.</p><p>The next time a brilliant new AI seems to have become disappointing, ask two questions rather than one: <strong>has the system changed, and has the job changed?</strong></p><p>And when a once-dependable employee begins to struggle, ask those questions before reaching for a label.</p><p>Sometimes capability has declined. Sometimes the match was wrong. Sometimes the workload has become unreasonable.</p><p>But sometimes the performer is still capable of everything that first impressed us.</p><p>We have simply stopped asking for that&#8212;and started asking for everything else.</p><h2>Notes and References</h2><ol><li><p><a href="https://openai.com/index/sycophancy-in-gpt-4o/">OpenAI, Sycophancy in GPT-4o: What happened and what we&#8217;re doing about it, OpenAI, 2025. Used for the acknowledged GPT-4o regression and rollback.</a></p></li><li><p><a href="https://pubsonline.informs.org/doi/10.1287/orsc.2025.21838">Navigating the Jagged Technological Frontier: Field Experimental Evidence of the Effects of Artificial Intelligence on Knowledge Worker Productivity and Quality, Organization Science, 2026. Used for the experiment involving 758 consultants, faster completion within the frontier, and worse accuracy outside it.</a></p></li><li><p><a href="https://academic.oup.com/qje/article/134/4/2085/5550760">Alan Benson, Danielle Li and Kelly Shue, Promotions and the Peter Principle, The Quarterly Journal of Economics, 2019. Used for the evidence from 131 firms on promotion and managerial performance.</a></p></li><li><p><a href="https://www.who.int/standards/classifications/frequently-asked-questions/burn-out-an-occupational-phenomenon">World Health Organization, Burn-out an occupational phenomenon, WHO. Accessed 30 September 2026. Used for the distinction between human burnout and model limits.</a></p></li><li><p><a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents">Anthropic, Effective context engineering for AI agents, Anthropic. Accessed 30 September 2026. Used for the limits of effective context use as conversations grow.</a></p></li><li><p><a href="https://support.claude.com/en/articles/11647753-how-do-usage-and-length-limits-work">Anthropic, How do usage and length limits work?, Claude Help Center. Accessed 30 September 2026. Used for the difference between usage allowances and conversation length, and the factors affecting consumption.</a></p></li><li><p><a href="https://code.claude.com/docs/en/costs">Anthropic, Manage costs effectively, Claude Code documentation. Accessed 30 September 2026. Used for tool requests, conversation history and caching.</a></p></li><li><p><a href="https://developers.openai.com/api/docs/guides/reasoning">OpenAI, Reasoning models, OpenAI API documentation. Accessed 30 September 2026. Used for reasoning tokens counting towards output usage.</a></p></li></ol>]]></content:encoded></item><item><title><![CDATA[The AI Layoff Story Is Too Convenient]]></title><description><![CDATA[Big tech is not simply replacing workers with bots. It is using AI, higher rates, and a colder labour market to redraw which people count as scarce.]]></description><link>https://plausiblereality.com/p/the-ai-layoff-story-is-too-convenient</link><guid isPermaLink="false">https://plausiblereality.com/p/the-ai-layoff-story-is-too-convenient</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sun, 14 Jun 2026 20:01:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a0009734-081b-4cac-a393-3665ab404d3d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The funniest part of the &#8220;AI caused the layoffs&#8221; argument is that it makes big tech sound far more orderly than it has ever managed to be.  </p><p>It imagines a clean mechanical sequence. A model gets smarter. A worker becomes redundant. A dashboard turns green. Somewhere, a finance executive presses a tasteful grey button labelled optimise, because apparently even dystopia must comply with the design system.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>That is not what the evidence suggests.</p><p>The wrong debate is whether big-tech layoffs were caused by AI or were not caused by AI. That framing is suspiciously tidy. It asks whether the robot committed the murder while ignoring the CFO beside the body holding a quarterly forecast.</p><p>A better reading is this: the first large wave of layoffs was mainly a correction for pandemic overhiring, higher interest rates, revenue pressure, and the end of free-money confidence. AI then became two things at once: a genuine productivity technology and an extremely expensive capital-allocation problem. By 2024-2026, the story had shifted from &#8220;we hired too many people&#8221; to &#8220;we need fewer people in some places because compute, infrastructure, and a smaller group of AI-critical workers now get first claim on the budget.&#8221;</p><p>That is not the same as saying AI replaced everyone. It is not especially comforting either.</p><p>The talent-hoarding hypothesis captures part of the story. Big tech has treated talent as a strategic input before. It has not always behaved like a collection of innocent employers wandering through the labour market with ergonomic keyboards and pure intentions. But the claim that the entire sector is now deliberately depressing the labour market to retain top talent is harder to establish. The incentive exists. Direct evidence of intent does not.</p><p>The useful question is not &#8220;did AI cause the layoffs?&#8221; It is this: what kinds of labour become less valuable when capital tightens, AI tools improve, and compute becomes the new headcount?</p><p>That is the question the spreadsheet is already answering, usually several meetings before anyone admits there is a spreadsheet.</p><h1>The wrong comparison</h1><p>Start with the comparison being quietly smuggled into the argument.</p><p>When people say &#8220;AI caused the layoffs,&#8221; they often compare AI with a fantasy version of the old labour market: stable teams, sensible hiring, accurate roadmaps, managers allocating talent rationally, and job descriptions that bore some detectable relationship to the work.</p><p>This company exists mainly in onboarding decks and executive offsites. In practice, pandemic-era hiring often resembled a grocery run before a snowstorm. Teams hired because demand was rising, competitors were hiring, capital was cheap, and the safest internal response to &#8220;can we do this faster?&#8221; was &#8220;give me twelve more people.&#8221;</p><p>The official description was strategic growth. The operational reality was sometimes an arms race with laptop stickers.</p><p>Meta&#8217;s 2022 layoff message was unusually direct about this. Zuckerberg said the company had increased investment after the pandemic accelerated online commerce, then acknowledged that he had expected the acceleration to be permanent and &#8220;got this wrong.&#8221; Meta cut more than 11,000 people, roughly 13% of its workforce. A few months later, it announced another round: around 10,000 further cuts and the closure of about 5,000 open roles under the &#8220;Year of Efficiency.&#8221;<sup>1</sup> <sup>2</sup></p><p>That is not an AI-substitution memo. It is an overexpansion memo, a revenue-pressure memo, a &#8220;we believed our own trend line&#8221; memo. The language is corporate, but the plot requires no advanced modelling: the graph went up, everyone extended the line, and then the graph developed boundaries.</p><p>Microsoft&#8217;s January 2023 note followed a similar pattern. It announced 10,000 job cuts while saying the company would continue hiring in strategically important areas. Amazon said its reductions would exceed 18,000 roles, with Stores and PXT heavily affected. Google announced about 12,000 cuts and described them in terms of a changed economic reality and sharper prioritisation.<sup>3</sup></p><p>Again, composition is the interesting part. These firms were not collapsing uniformly. They were cutting in one place, hiring in another, closing open roles, flattening layers, ending projects, and reallocating money. That is considerably messier than the AI-doom story, which is precisely why the AI-doom story travels better. It needs fewer tabs.</p><p>The original sin was not adopting AI. It was treating temporary demand, cheap capital, and competitive paranoia as a permanent operating model.</p><p>Then the price of maintaining the fiction increased.</p><h1>Perfection was never the benchmark</h1><p>The other lazy argument is whether AI is &#8220;good enough&#8221; to replace workers.</p><p>This sounds reasonable until it is compared with the systems companies already tolerate.</p><p>Most organisations do not demand perfection from their existing tools or processes. They accept broken dashboards, stale documentation, meetings in which everyone agrees and nothing changes, and roadmaps with the structural integrity of a wet croissant. Then AI appears and everyone abruptly becomes a Swiss watchmaker of epistemic purity.</p><p>The useful question is not whether AI is flawless. It is which flawed system AI is being compared with.</p><p>There is evidence that generative AI can materially improve productivity in certain workflows. In a large customer-support study, access to an AI assistant increased agent productivity, with larger gains among less-experienced workers. In a controlled software-development experiment, developers using GitHub Copilot completed a coding task substantially faster than the control group.<sup>4</sup> <sup>5</sup></p><p>Those findings matter, but they do not mean &#8220;delete the team.&#8221; They mean the team&#8217;s shape changes.</p><p>Imagine a developer entering a legacy service called billing_sync_v2, which everyone privately understands is v4 because v3 was abandoned after the migration nobody mentions. The developer asks an AI assistant to explain the code path, identify likely duplication, draft a test, and propose a cleanup plan. The tool helps. It exposes dependencies faster than a human excavation through Slack archaeology. It also confidently overlooks the fact that a &#8220;temporary&#8221; integration from 2019 still serves one enterprise customer whose contract renewal pays for half the team&#8217;s snacks.</p><p>The AI did not eliminate engineering judgement. It relocated it.</p><p>Previously, the scarce skill was often knowing where the bodies were buried. Now it is knowing which generated explanation not to trust, which test to run, which log line matters, and which staff engineer to disturb before the cleanup becomes a revenue event.</p><p>This is where the layoff story becomes uncomfortable. If a company can produce the same output with a smaller team by cancelling low-priority projects, using AI for first drafts, automating routine coordination, and relying more heavily on senior reviewers, it may not require the same number of people. That is not science fiction. It is also not a neat one-worker-one-bot exchange.</p><p>The job does not vanish in a puff of model dust. The work is redistributed, compressed, and absorbed into the roles that remain.</p><p>Which might be funny if it were not also how burnout gets renamed leverage.</p><h1>The spreadsheet is also hallucinating</h1><p>Much of the AI-layoff discussion assumes companies know what their employees actually do.</p><p>That is charitable.</p><p>In many organisations, work is not described by the org chart. It is described by the person everyone contacts when the payment job fails at 11:40 p.m. The source of truth is not the architecture diagram. It is a pinned Slack message, three specialists in tribal memory, and a spreadsheet named Final_v7_REAL_final.xlsx stored inside &#8220;Q3 planning - new - approved - USE THIS.&#8221;</p><p>This matters because AI does not enter a clean system. It enters a messy one and makes the mess legible more quickly.</p><p>A product team, for example, might use AI to summarise hundreds of support tickets and customer calls. The output reports that customers are angry about onboarding. Useful. Then the team checks usage data and discovers that most of the people complaining are prospects who never activated, while retained customers are quietly struggling with permissions. The model identified the loud pain. The business needed the expensive pain.</p><p>The operating lesson is dull and therefore valuable: AI is excellent at accelerating the first pass and dangerous when the first pass is promoted into the decision.</p><p>This is also why &#8220;AI will replace managers&#8221; is usually the wrong frame. AI will replace some managerial theatre. It can summarise status updates, draft review language, cluster risks, write the first version of a reorganisation FAQ, and convert meeting sludge into something vaguely resembling decisions. Good. Some meeting sludge has enjoyed a remarkably long and undeserved career.</p><p>But the actual managerial work is deciding which trade-off the organisation is making, who is accountable, which signal is real, which team is overloaded, and which comfortable project must die. If a manager&#8217;s role consisted mainly of forwarding ambiguity between calendars, then yes, the outlook is poor. That was not management. It was packet switching with a lanyard.</p><p>AI does not eliminate the need for judgement. It removes some of the excuses for avoiding it.</p><p>That is precisely why headcount plans change.</p><h1>Talent hoarding was real, just not in the tidy way</h1><p>The talent-hoarding hypothesis is appealing because it explains something almost everyone in tech has witnessed.</p><p>A company hires people it does not quite know how to use. One team grows because another team grew. Requisitions become defensive weapons. Leaders collect headcount like medieval nobles collecting horses, except the horses receive RSUs and hold opinions about Kubernetes.</p><p>Beneath the comedy is a serious point: big tech has often treated talent as a scarce strategic input, not merely as a cost line.</p><p>The strongest evidence is not a collection of vibes. It is legal history. In 2010, the US Department of Justice brought a case against Adobe, Apple, Google, Intel, Intuit, and Pixar over &#8220;no cold call&#8221; agreements that restricted recruiting competition. The DOJ argued that these arrangements eliminated a significant form of competition for employees and deprived workers of information about better opportunities.<sup>6</sup></p><p>That matters because it reveals the instinct directly: do not merely compete for talent; manage the market in which talent competes.</p><p>Labour economics supplies the mechanism. When workers have fewer outside options, employers gain bargaining power. Research on labour-market concentration has found that higher concentration is associated with lower posted wages. US antitrust agencies have also warned that wage-fixing and no-poach agreements can violate antitrust law and expose companies and executives to serious liability.<sup>7</sup></p><p>So the broad idea is not paranoid. Labour markets are still markets. Employers still have incentives. Very large companies do not become monks merely because the cafeteria serves kombucha.</p><p>But the clean version of the talent-hoarding theory breaks when it reaches the frontier-AI labour market.</p><p>If AI scaling had made talent-blocking broadly unnecessary, the talent war at the top should have cooled. Instead, the opposite appears to have happened. Reuters reported in 2025 that top OpenAI researchers were receiving compensation packages above $10 million a year, that Google DeepMind had offered packages reaching roughly $20 million for some researchers, and that Meta had made extreme reported offers to recruit OpenAI employees. Reuters later described Meta&#8217;s AI hiring push as an intensification of Silicon Valley&#8217;s talent war.<sup>8</sup></p><p>That is not de-escalation. It is an auction in a hoodie.</p><p>The better model is segmentation.</p><p>Frontier AI researchers, infrastructure specialists, and a small number of deployment leaders become more valuable. Generic surplus headcount, coordination-heavy roles, and work connected to low-priority projects become less protected. The labour market does not cool evenly. It develops weather systems.</p><p>One person receives a call about a nine-figure package. Another receives a calendar invitation from HR with no agenda. Both are participating in the same AI boom. That is the problem.</p><h1>The market split in two</h1><p>The most important thing AI is doing to tech labour is not simply replacing jobs. It is changing which jobs can still defend their existence.</p><p>That distinction matters for builders because &#8220;can AI perform this task?&#8221; is not identical to &#8220;should this remain a full-time role?&#8221;</p><p>Consider a routine product-operations workflow. Someone exports customer feedback, cleans a spreadsheet, tags themes, creates a deck, schedules a readout, and spends forty minutes explaining that the leading problem is &#8220;unclear onboarding,&#8221; which everyone already suspected because customers repeatedly say &#8220;the onboarding is unclear.&#8221; An AI system can compress much of that work. It can read tickets, cluster themes, generate example quotes, draft the deck, and produce a first-pass recommendation.</p><p>It can also over-weight the most verbose customers, erase meaningful edge cases, and produce recommendations that sound strategically mature because &#8220;streamline&#8221; appears twelve times.</p><p>The remaining work is verification: compare the output with usage data, revenue impact, churn, support cost, and the product surface. In a well-run team, AI reduces the time spent assembling the artefact and increases the pressure to decide. In a badly run team, AI produces a more attractive artefact so the indecision can wear a blazer.</p><p>This is the practical labour-market shift. Work dominated by assembling, reformatting, summarising, translating, routing, and light coordination becomes more vulnerable. Work involving accountable judgement, production ownership, customer trust, system design, regulatory risk, or difficult verification becomes more valuable.</p><p>Official assessments from the IMF, ILO, and OECD have been cautious about treating AI exposure as automatic job destruction. The ILO&#8217;s work argues that most occupations contain tasks requiring human input and that transformation is more likely than full automation. The OECD has similarly observed limited evidence so far of broad AI-led job loss, while still recognising high automation exposure in some occupations.<sup>9</sup></p><p>That caution matters. The direction of travel matters too.</p><p>Anthropic&#8217;s own usage research has found much higher automation rates in Claude Code conversations than in general Claude.ai conversations, while its Economic Index shows AI usage heavily concentrated in computer, mathematical, and API-driven workflows.<sup>10</sup> Challenger, Gray &amp; Christmas reported that AI was the leading cited reason for US job cuts in April 2026. Indeed&#8217;s Hiring Lab, meanwhile, described AI-mentioned job postings as growing amid broader hiring weakness.<sup>11</sup></p><p>None of this proves that AI was the single cause of big-tech layoffs. It does explain why the latest phase feels different from 2023.</p><p>In 2023, the cleanest account was: we overhired, and money became more expensive.</p><p>By 2026, the sharper account was: we still need people, but not as many of the same people, in the same places, doing the same coordination work, while data centres and frontier teams receive the budget first.</p><p>That is colder than &#8220;the robots took the jobs.&#8221; It is less cinematic. It is also more useful.</p><h1>Verification is the work</h1><p>The practical response for teams is not to debate whether AI is good or bad in the abstract. That is a ritual with increasingly polished formatting.</p><p>The practical response is to map where AI changes the burden of verification.</p><p>Picture a CTO examining a 120-person engineering organisation after a budget reset. The lazy version of the exercise asks, &#8220;Which roles can AI replace?&#8221; This produces theatre. Managers defend their teams. Finance requests percentages. Someone says &#8220;10x engineer,&#8221; and the room collectively loses three IQ points.</p><p>The better workflow begins with work, not roles.</p><p>First, list the recurring workflows: incident response, customer escalation, release notes, test generation, data cleaning, roadmap synthesis, contract review, onboarding, internal tooling, and migration planning. Then ask four questions about each one.</p><p>What does AI make faster?</p><p>What does AI make easier to fake?</p><p>What verification proves the output is safe?</p><p>Who is accountable when the output is wrong?</p><p>That modest checklist accomplishes more than most AI strategy decks.</p><p>For incident response, AI may summarise logs and suggest likely causes. It may also invent a causal chain and direct the team toward the wrong service. Verification means checking metrics, traces, recent deployments, and rollback safety.</p><p>For code migration, AI may draft mechanical changes across a large codebase. It may also miss the strange customer-specific path that lacks tests because nobody funded tests when the feature launched during a sales emergency. Verification means test coverage, staged rollout, ownership, and a human who understands what &#8220;temporary exception&#8221; means in enterprise software. It generally means permanent.</p><p>For performance reviews, AI may help an EM draft clearer feedback. It may also convert vague resentment into polished prose. Verification means grounding feedback in observed behaviour, specific examples, and standards the person knew about before review season arrived like a legally compliant thundercloud.</p><p>For customer research, AI may summarise interviews quickly. It may also mistake frequency for importance. Verification means comparing themes with usage, revenue, retention, support burden, and product strategy.</p><p>The lesson is not &#8220;never use AI.&#8221; The lesson is that AI shifts effort from production towards judgement. It reduces some drafting and searching work. It increases the premium on people who know how to check, decide, own, and repair.</p><p>That is also the labour-market lesson.</p><p>If your role mainly produces artefacts that nobody verifies, you are exposed. If it owns outcomes that require verification across messy systems, it is more defensible. Preference is not performance. Busyness is not leverage. A calendar packed with coordination is not accountability, however impressive the colour coding.</p><h1>The annoying question</h1><p>The AI-layoff story is convenient because it allows everyone to avoid the harder conversation.</p><p>Executives can say technology changed the business. Workers can say executives used technology as cover. Commentators can choose a side and produce the required quantity of concern. Everyone receives a clean villain.</p><p>The real picture is less obliging.</p><p>Big tech overbuilt during an unusual demand shock. Higher rates and lower patience made that overbuild expensive. AI produced genuine productivity gains, genuine substitution pressure in certain tasks, and an enormous new appetite for compute. At the same time, the talent market split: hotter at the frontier, colder across broad generic tech labour, and most exposed in routine cognitive work.<sup>12</sup></p><p>The talent-hoarding thesis is therefore partly correct and partly too elegant. Yes, companies have treated labour strategically. Yes, weaker outside options benefit employers. Yes, a cooler market can reduce wage pressure and quits. But proving that recent layoffs were deliberately orchestrated to depress the labour market would require evidence we do not have.</p><p>What we do have is sufficient.</p><p>We have companies closing open roles while continuing to hire in strategic areas. We have AI researchers valued like small sports franchises. We have management layers being flattened while infrastructure budgets expand. We have software teams being asked to do more with tools that are powerful, unreliable, and improving. We have junior roles under pressure because the training path was always less robust than the mythology implied.</p><p>The question is not whether AI replaces developers, PMs, analysts, recruiters, or managers.</p><p>The question is what remains worth assigning to a full-time person once the first draft is cheap, the second draft is suspicious, and the final answer still requires someone to own the consequences.</p><p>That is the annoying question for workers. It is also the annoying question for companies.</p><p>Because if the answer is &#8220;judgement,&#8221; the next question is worse.</p><p>Who, exactly, is your organisation training to exercise it?</p><h2>Notes and References</h2><p>1. Meta, &#8220;Mark Zuckerberg&#8217;s Message to Meta Employees,&#8221; About Meta, 2022. Used for Meta&#8217;s November 2022 layoff count, the 13% reduction, and the company&#8217;s explanation that pandemic-era acceleration had been overestimated.</p><p>2. Meta, &#8220;Update on Meta&#8217;s Year of Efficiency,&#8221; About Meta, 2023. Used for the second Meta layoff round, the planned reduction of around 10,000 employees, and the closure of about 5,000 open roles.</p><p>3. Microsoft, &#8220;Focusing on our short- and long-term opportunity,&#8221; Microsoft, 2023; Amazon, &#8220;Update from CEO Andy Jassy on role eliminations,&#8221; About Amazon, 2023; Google, &#8220;A difficult decision to set us up for the future,&#8221; Google, 2023. Used for official company explanations of 2023 layoffs and continued selective hiring or reprioritisation.</p><p>4. Erik Brynjolfsson, Danielle Li, and Lindsey R. Raymond, &#8220;Generative AI at Work,&#8221; NBER Working Paper, 2023; Quarterly Journal of Economics, 2025. Used for evidence that an AI assistant increased customer-support productivity, with larger gains for less-experienced workers.</p><p>5. Sida Peng, Eirini Kalliamvakou, Peter Cihon, and Mert Demirer, &#8220;The Impact of AI on Developer Productivity: Evidence from GitHub Copilot,&#8221; arXiv, 2023. Used for the controlled experiment in which developers using Copilot completed a coding task 55.8% faster.</p><p>6. US Department of Justice, &#8220;Justice Department Requires Six High-Tech Companies to Stop Entering into Anticompetitive Employee Solicitation Agreements,&#8221; 2010. Used for the historical &#8220;no cold call&#8221; agreements involving Adobe, Apple, Google, Intel, Intuit, and Pixar.</p><p>7. Jos&#233; Azar, Ioana Marinescu, and Marshall Steinbaum, &#8220;Labor Market Concentration,&#8221; NBER, 2017 / Journal of Human Resources, 2022; Federal Trade Commission and US Department of Justice, &#8220;Antitrust Guidelines for Business Activities Affecting Workers,&#8221; 2025. Used for the relationship between labour-market concentration and lower posted wages, and for legal treatment of wage-fixing and no-poach agreements.</p><p>8. Reuters, &#8220;OpenAI, Google and xAI battle for superstar AI talent, shelling out millions,&#8221; 2025; Reuters, &#8220;Sam Altman says Meta offered $100 million bonuses to OpenAI employees,&#8221; 2025; Reuters, &#8220;Zuckerberg&#8217;s Meta Superintelligence Labs poaches top AI talent in Silicon Valley,&#8221; 2025. Used for evidence that the frontier-AI talent war intensified rather than cooled.</p><p>9. IMF, &#8220;Gen-AI: Artificial Intelligence and the Future of Work,&#8221; 2024; International Labour Organization, &#8220;Generative AI and Jobs: A global analysis of potential effects on job quantity and quality,&#8221; 2023; International Labour Organization, &#8220;Generative AI and Jobs: A Refined Global Index of Occupational Exposure,&#8221; 2025; OECD, &#8220;Employment Outlook 2023: Artificial Intelligence and the Labour Market,&#8221; 2023. Used for the distinction between AI exposure, augmentation, transformation, and displacement.</p><p>10. Anthropic, &#8220;AI&#8217;s Impact on Software Development,&#8221; 2025; Anthropic, &#8220;Anthropic Economic Index report: Economic primitives,&#8221; 2026. Used for Claude Code automation-rate evidence and concentration of AI usage in computer, mathematical, API-driven, and office-administrative workflows.</p><p>11. Challenger, Gray &amp; Christmas, &#8220;April Job Cuts Rise 38% from March; YTD Cuts Down 50%,&#8221; 2026; Indeed Hiring Lab, &#8220;January 2026 US Labor Market Update: Jobs Mentioning AI Are Growing Amid Broader Hiring Weakness,&#8221; 2026. Used for evidence that AI is increasingly cited in layoffs while AI-mentioned job postings grow amid broader hiring weakness.</p><p>12. Reuters, &#8220;Meta CEO Zuckerberg blames layoffs on capital spending, won&#8217;t rule out more job cuts,&#8221; 2026. Used for Meta&#8217;s reported framing of layoffs as a trade-off between compute infrastructure and workforce costs during rising AI capital expenditure.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Benchmark Is Also Hallucinating]]></title><description><![CDATA[DeepSWE is a serious test of coding agents. The silly bit is pretending any one leaderboard can tell you whether software work is safe.]]></description><link>https://plausiblereality.com/p/the-benchmark-is-also-hallucinating</link><guid isPermaLink="false">https://plausiblereality.com/p/the-benchmark-is-also-hallucinating</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Thu, 11 Jun 2026 19:15:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9d0b01c0-b93e-460d-aa53-1dd0d6b678d2_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The wrong debate</h2><p>The funniest thing about the phrase &#8220;the only trustable coding benchmark&#8221; is the assumption that trust is an object you can place neatly in a leaderboard column, somewhere between Pass@1 and average token spend.  </p><p>This is how engineering measurement usually goes wrong. Someone builds a useful instrument, asks it to become a religion, then acts surprised when it turns into procurement theatre with a CSV export.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>DeepSWE deserves attention. It is one of the more serious public attempts to measure long-horizon coding agents on repository-level work: multi-file changes, sparse prompts, behavioural verification, regression checks, and a fixed harness. Its public repository describes 113 tasks across TypeScript, Go, Python, JavaScript, and Rust, drawn from active open-source projects. Its homepage reports model pass rates, average cost, wall-clock time, and output tokens instead of presenting one heroic score and asking it to explain the universe. [2][3]</p><p>That is good. It is not the same as being the only trustworthy benchmark for coding.</p><p>The wrong debate is whether DeepSWE is &#8220;the&#8221; benchmark. The useful question is what kind of work it forces a coding agent to do, which mistakes it can detect, and which mistakes can still stroll past the verifier wearing a lanyard.</p><p>Because coding is not one job. It is a cupboard full of jobs that engineering teams keep labelling &#8220;implementation&#8221; so the project plan remains emotionally stable.</p><p>Sometimes coding means writing a small pure function from a docstring. Sometimes it means fixing a real issue in a Python repository. Sometimes it means changing seven files without breaking the two ancient tests that only pass on the laptop nobody is allowed to reboot. Sometimes it means reading the onboarding document, discovering it describes a product that died three quarters ago, and quietly asking Darren why the payment service still depends on a cron job under his personal account.</p><p>No single benchmark captures all of that. A benchmark is a flashlight. DeepSWE is a better flashlight than many. It is not daylight.</p><h2>Perfection was never the benchmark</h2><p>Most benchmark arguments smuggle in the wrong comparison. They compare the benchmark with perfect knowledge, discover that it is not omniscient, and declare the entire exercise compromised.</p><p>Fine. It is flawed. So is the current system.</p><p>The current system is a staff engineer trying three coding agents on the same bug, a product manager reading a model card, a CTO staring at a leaderboard, and everyone pretending that &#8220;we should evaluate this properly&#8221; does not mean &#8220;someone should spend the next two Fridays building a private test harness while the roadmap looks at them like a disappointed parent.&#8221;</p><p>DeepSWE is useful because it improves the comparison we actually need. It does not ask only whether a model can solve toy snippets in isolation. It asks whether an agent can enter a repository, interpret a natural request, edit multiple files, and pass behavioural tests that care about what the software does rather than whether the patch uses the author&#8217;s preferred internal helper name. [3][4]</p><p>That matters because AI coding evaluation has been polluted by benchmarks that are public, old, narrow, overfit, saturated, or quietly measuring memory. HumanEval still matters for compact Python function synthesis, but it is not a proxy for changing a maintained product. MBPP still matters for entry-level Python programming problems, but nobody should select an enterprise coding agent because it can write a small list-manipulation function beneath a polite docstring. LiveCodeBench matters because it was designed around fresher contest-style coding problems and broader scenarios such as code generation, execution, test-output prediction, and self-repair. SWE-bench Verified matters historically and still provides a useful slice of GitHub issue resolution, but even OpenAI has argued that it no longer measures frontier coding progress cleanly because of contamination and test-design problems. [5][6][7][8][10]</p><p>This sounds like academic hair-splitting until you are the person approving the tool budget.</p><p>A leaderboard says Agent A is better than Agent B. In a meeting, this becomes &#8220;we have evidence.&#8221; By the time it reaches finance, it becomes &#8220;the market has validated this.&#8221; By the time it reaches engineering, it becomes &#8220;please replace the migration estimate with vibes and a screenshot.&#8221;</p><p>The serious point beneath the comedy is simple: benchmarks are not guilty because they are incomplete. They become dangerous when people forget exactly what they are incomplete about.</p><h2>What DeepSWE actually tests</h2><p>DeepSWE is strongest where older coding benchmarks have been visibly creaking: long-horizon, repository-level work performed under ambiguity.</p><p>According to Datacurve, the tasks are not copied from existing public pull requests. They are authored as original tasks against active open-source repositories. The reference solution is held out. The prompt is what the agent sees. The verifier is executable. The intended target is observable behaviour, not a secret implementation shape. [3][4]</p><p>That design choice matters more than the score.</p><p>Imagine an engineer using an AI agent to add cancellation support to a JavaScript engine. The weak version of the task is: &#8220;change this exact function, add this exact guard, return this exact value.&#8221; The stronger version is: &#8220;make cancellation stop all queued work associated with an evaluation without breaking unrelated jobs.&#8221; The first measures patch obedience. The second begins to measure engineering.</p><p>Datacurve&#8217;s qualitative audit includes an example in this shape: an agent mostly implemented cancellation support but missed an important path where Promise callbacks could still be queued after cancellation. That is precisely the kind of failure a shallow benchmark can miss and a behaviour-first repository task is more likely to expose. [4]</p><p>This is why DeepSWE is interesting. It is not merely harder. Harder is easy. You can make any benchmark harder by writing a prompt that sounds as though it was produced by a compliance department and a dungeon master trapped in the same elevator.</p><p>The useful difference is what DeepSWE accepts as evidence. It rewards an agent for reading the repository, preserving behaviour, interpreting a shorter request, making a coherent multi-file change, and declining to treat the tests as decorative furniture.</p><p>That is close to how teams want coding agents to behave. Not magic. Not autonomous product ownership. Just a competent assistant that can enter a codebase without immediately deciding that abstractions are optional and every edge case is a lifestyle choice.</p><h2>The current system is also hallucinating</h2><p>The phrase &#8220;AI hallucination&#8221; has become extremely convenient. It makes the model sound uniquely irrational while the surrounding organisation stands nearby holding three inconsistent Jira tickets and a Confluence page last updated during the previous monarchy.</p><p>Benchmarks hallucinate too. They simply do it with more formal notation.</p><p>They hallucinate when a test suite checks one implementation detail and calls it correctness. They hallucinate when a public task rewards a model for having encountered the answer before. They hallucinate when a prompt tells agents not to write tests and the leaderboard later acts surprised that test-writing behaviour disappears. They hallucinate when a single pass rate quietly conceals cost, time, token spend, and review burden.</p><p>DeepSWE attempts to reduce several of these failure modes. Its maintainers report original tasks, programmatic verifiers, regression checks, and a fixed mini-swe-agent harness. They also report a verifier audit in which DeepSWE had a 0.3% false-positive rate and a 1.1% false-negative rate on the reviewed sample, compared with 8.5% and 24.0% for SWE-Bench Pro. That is a striking claim. It is also a maintainer-reported claim using an LLM-based analyser as part of the audit, so the appropriate reaction is not worship. It is &#8220;excellent, now replicate it.&#8221; [4]</p><p>This is the adult position, which is why it performs poorly in rooms that would prefer a winner.</p><p>DeepSWE may be a better measurement tool for one important construct. It may expose distinctions that older leaderboards compress. The public page cited here reports a substantial spread between model configurations, with GPT-5.5 [xhigh] at 70% +/- 4% Pass@1 and several other frontier configurations materially lower. That is useful signal, particularly compared with benchmarks where top models have converged into one polite blob. [2]</p><p>But signal is not truth. Signal is evidence produced under a measurement design.</p><p>A thermometer can tell you the temperature of a room. It cannot tell you whether the building has poor insulation, whether finance approved the heating bill, or whether Darren opened the window because the server closet smells like hot plastic. This is not a criticism of thermometers. It is a criticism of people who use one reading to explain the entire office.</p><h2>Verification is the work</h2><p>The operating lesson for builders is not &#8220;use DeepSWE&#8221; or &#8220;ignore DeepSWE.&#8221; It is that verification has become the real work.</p><p>Consider a normal product team evaluating a coding agent for repository maintenance. The demonstration is impressive. The agent changes three files, explains itself clearly, and produces a summary with the confidence of someone who has never had to be on-call. The team runs the tests. Most pass. The agent apologises for the one that fails and proposes a patch. Everyone has a small spiritual experience.</p><p>Then the staff engineer asks three dull questions, which are generally the important ones:</p><p>Did it change the right behaviour, or just satisfy the visible tests?</p><p>Did it preserve unrelated behaviour, or only avoid breaking the happy path?</p><p>Did it reduce future maintenance, or did it create a clever little shrine to today&#8217;s prompt?</p><p>This is where DeepSWE becomes useful as a pattern, not merely as a leaderboard. Behavioural verifiers, regression checks, task-specific tests, cost reporting, time reporting, and trajectory audits are not benchmark luxuries. They are increasingly the basic equipment of serious AI-assisted engineering inside a company.</p><p>The workflow is boring and therefore has a suspicious chance of being correct. Pick real internal tasks. Freeze the base commit. Give the agent the same prompt a developer would actually write. Let it operate in the same harness you intend to use. Run the existing tests, targeted behavioural tests, static analysis, security checks, and review. Track pass rate, review time, rework, cost, latency, rollback risk, and the specific failure mode.</p><p>Then perform the annoying part: read the failures.</p><p>The failures are the product. A model that misses one parallel requirement is different from a model that breaks integration. A model that writes tests and catches its own mistake is different from one that produces a majestic patch and disappears before the bill arrives. A model that succeeds only when the answer is present in git history is not solving your problem. It is doing archaeology with an API key.</p><p>This is why a private evaluation suite matters. DeepSWE can tell you something about frontier-agent capability on open-source repository tasks. It cannot tell you whether the agent understands your strangler-fig migration, feature-flag conventions, audit-trail requirements, or the part of the billing service that everyone calls &#8220;temporary&#8221; in the same tone archaeologists use for pottery shards.</p><h2>The product wrapper still matters</h2><p>One of DeepSWE&#8217;s best choices is also one of its limitations: it fixes the harness.</p><p>Datacurve runs models through mini-swe-agent for consistency. That reduces scaffolding noise. The leaderboard is attempting to compare model capability rather than the hidden advantages of one vendor&#8217;s product environment, prompt, editing tool, or carefully massaged workflow. [2][4]</p><p>This is clean. In practice, nobody buys &#8220;model capability&#8221; in a jar.</p><p>Teams use Claude Code, Codex CLI, Cursor, Gemini CLI, internal wrappers, security scanners, branch protection, code-review bots, ticket systems, and whatever script Michael wrote during the incident because it was 2 a.m. and &#8220;temporary&#8221; had once again become architecture.</p><p>A fixed harness answers one question: how do these models behave when they are forced through the same narrow pipe?</p><p>A native product answers another: how does the complete system perform when developers actually use it?</p><p>Both questions matter. Confusing them is how teams buy a model because it wins a benchmark and then discover that generation was not the expensive part. The expensive parts are integration, review, permissions, context packaging, security approval, developer trust, and the small issue of whether the thing can open the correct files without turning the repository into a choose-your-own-adventure novel.</p><p>This is also why preference is not performance. RealHumanEval found that benchmark improvements can translate into programmer productivity gains, but not proportionally. It also found that programmer preferences did not necessarily track actual performance. [9]</p><p>That should bother anyone who relies heavily on demonstrations. Demos are preference machines. They are designed to make the tool feel obvious. Production is a performance machine. It is designed to punish every missing edge case you applauded earlier.</p><h2>What teams should actually do</h2><p>Use DeepSWE as a serious external signal. Do not use it as a solitary purchasing ritual.</p><p>For researchers, it belongs near the centre of the long-horizon coding-agent evaluation stack. Pair it with function-level benchmarks, freshness-oriented benchmarks, and quality-oriented evaluations covering security, maintainability, and efficiency. Report the harness, model version, effort mode, cost, time, token use, and uncertainty. Without those details, the score is not a result. It is a badge.</p><p>For practitioners, the minimum sensible evaluation resembles a release checklist more than a leaderboard screenshot.</p><p>Begin with the public evidence: DeepSWE for long-horizon repository work; HumanEval or MBPP for small synthesis primitives; LiveCodeBench for fresher algorithmic coding; SWE-bench-style tasks for issue resolution; and human-in-the-loop studies or internal pilots for productivity. Then add your private work: five to twenty representative repository tasks, held-out behavioural tests, review by your engineers, and explicit measurement of how much effort the agent saves or merely relocates downstream.</p><p>Downstream is where lies go to become tickets.</p><p>Do not ask only &#8220;did the agent pass?&#8221; Ask who had to verify it, what they checked, what they missed, how long the checking took, and whether the resulting code is something you would willingly maintain after the agent has wandered off to generate a haiku about root cause analysis.</p><p>The uncomfortable conclusion is that good AI coding evaluation looks less like model ranking and more like engineering management. It requires boring infrastructure, realistic tasks, clear ownership, review discipline, and sufficient humility to admit when a tool is useful but not safe unattended.</p><p>That is not a strategy-deck sentence. That is the work.</p><h2>The annoying question</h2><p>DeepSWE is not the only trustable coding benchmark. That claim is too strong and, more importantly, too small.</p><p>The better claim is sharper: DeepSWE is one of the most useful current public benchmarks for long-horizon, behaviour-verified, repository-level coding agents. It measures a slice of work that teams genuinely care about and that older leaderboards frequently blur. It exposes failures that resemble real engineering failures: missed requirements, integration errors, regressions, weak verification, and suspicious assistance from public history.</p><p>But it does not measure coding in general. It does not fully measure native product ergonomics, enterprise context, security, maintainability, review quality, behaviour on private codebases, or whether a developer actually gets their afternoon back. It does not convert judgment into a number. It gives judgment something better to inspect.</p><p>This is the useful frame.</p><p>The point of DeepSWE is not that we have finally discovered the one true benchmark. The point is that a serious benchmark makes the rest of our evaluation habits look lazy.</p><p>That is why the annoying question for teams is not &#8220;Which model won?&#8221;</p><p>It is: &#8220;What would our own benchmark reveal about the way we already ship software?&#8221;</p><p>Most organisations will not enjoy the answer. Which is usually how you know the benchmark is beginning to work.</p><h2>Notes and References</h2><ol><li><p>Uploaded report, &#8220;DeepSWE and the Trustworthiness of Coding Benchmarks,&#8221; 2026. Used for the source framing that DeepSWE is a strong current public benchmark for long-horizon repository-level coding-agent evaluation, but not the only trustworthy benchmark for all coding work.</p></li><li><p>Datacurve, &#8220;DeepSWE,&#8221; Datacurve, 2026. Used for the current public leaderboard snapshot, including the 30 May 2026 update, Pass@1, cost, time, output-token fields, and the statement that all models are run on mini-swe-agent for consistency.</p></li><li><p>Datacurve, &#8220;datacurve-ai/deep-swe,&#8221; GitHub, 2026. Used for the public repository description: 113 tasks across TypeScript, Go, Python, JavaScript, and Rust; task format; held-out reference solution; and program-based behavioural verifiers.</p></li><li><p>Datacurve, &#8220;DeepSWE: Measuring frontier coding agents on original, long-horizon engineering tasks,&#8221; Datacurve Blog, 2026. Used for task-construction methodology, original-task claims, verifier design, false-positive and false-negative audit numbers, harness discussion, qualitative failure taxonomy, and examples of missed requirements and test-writing behaviour.</p></li><li><p>SWE-bench, &#8220;SWE-bench Verified,&#8221; SWE-bench, 2026. Used for the claim that SWE-bench Verified is a human-filtered subset of 500 SWE-bench instances for evaluating coding agents and language models.</p></li><li><p>OpenAI, &#8220;HumanEval: Hand-Written Evaluation Set,&#8221; GitHub, 2021. Used for HumanEval as a function-level code-generation benchmark and evaluation harness associated with &#8220;Evaluating Large Language Models Trained on Code.&#8221;</p></li><li><p>Google Research, &#8220;Mostly Basic Python Problems Dataset,&#8221; GitHub, 2021. Used for MBPP as around 1,000 crowd-sourced entry-level Python programming problems with task descriptions, solutions, and automated tests.</p></li><li><p>Naman Jain et al., &#8220;LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code,&#8221; arXiv, 2024. Used for LiveCodeBench as a continuously updated coding benchmark with scenarios beyond code generation, including self-repair, code execution, and test-output prediction.</p></li><li><p>Hussein Mozannar et al., &#8220;The RealHumanEval: Evaluating Large Language Models&#8217; Abilities to Support Programmers,&#8221; OpenReview, 2024. Used for the human-in-the-loop finding that benchmark gains can improve productivity but not proportionally, and that programmer preference signals do not necessarily correlate with actual performance.</p></li><li><p>OpenAI, &#8220;Why SWE-bench Verified no longer measures frontier coding capabilities,&#8221; OpenAI, 2026. Used for the contamination and test-design concerns around SWE-bench Verified and the broader argument that public coding benchmarks can stop measuring genuine frontier progress cleanly.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Moat Moved Up the Stack]]></title><description><![CDATA[Open models can catch a leaderboard. That is not the same thing as catching the product.]]></description><link>https://plausiblereality.com/p/the-moat-moved-up-the-stack</link><guid isPermaLink="false">https://plausiblereality.com/p/the-moat-moved-up-the-stack</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Tue, 09 Jun 2026 19:11:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/aeab16c9-a489-42e4-93a1-99723ce3511e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every few months, the same argument returns wearing a slightly newer jacket.  </p><p>An open model lands near the top of a public leaderboard. Someone posts a chart. Five seconds later, the verdict arrives: the frontier labs are cooked.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I think that conclusion is too tidy. It confuses a model with a product, then quietly confuses the product with the business built around it.</p><p>The wrong debate is whether an open model can match a closed model on a public test. Of course it can, in particular slices and sometimes very impressively. The useful question is what else must be copied before a customer can move serious work without caring who made the underlying model.</p><p>My answer is simple: the moat has moved up the stack.</p><p>Benchmark parity still matters. It pressures prices. It embarrasses marketing decks. It makes lazy product managers nervous, which remains a public service. But it is no longer the cleanest map of competitive power. A high-value AI product is a runtime system wrapped around a model: tool orchestration, retrieval, policy enforcement, private evaluations, monitoring, enterprise controls, distribution, pricing, and trust.</p><p>You can scrape answers. You can fine-tune a student. You can copy the vibes. What you cannot cheaply scrape is the machinery that makes the thing work on Monday morning inside a company full of permissions, angry engineers, compliance reviews, and audit logs.</p><p style="text-align: center;">* * *</p><h1>Benchmark parity is a bad trophy</h1><p>The 2026 AI Index gives us the more boring and therefore more useful version of the story. It reports that top-model performance is converging, that the leaders are packed more tightly together, and that competition is shifting towards cost, reliability, and domain-specific performance. It also reports that the open-versus-closed gap, after narrowing in 2024, widened again, with the top closed model ahead of the top open model by 3.3 percentage points as of March 2026. [1]</p><p>That is not a victory lap for closed models. It is a warning against treating one chart as sacred scripture with coloured bars.</p><p>Public benchmarks are useful instruments, but they are increasingly noisy ones. Stanford&#8217;s report points to rapid benchmark saturation, invalid-question rates as high as 42 percent on some widely used evaluations, and concerns that leaderboard standing can partly reflect adaptation to the platform rather than general capability. [1]</p><p>This sounds obvious, but teams miss it with impressive consistency: when the test is unstable, parity on the test is not a durable economic fact.</p><p>LiveBench exists because static benchmarks are vulnerable to contamination and obsolescence. Its designers release new questions regularly and use objective ground-truth answers to reduce dependence on LLM judges. [2] Humanity&#8217;s Last Exam exists for a similar reason: older academic tests were becoming too easy for the strongest systems, so the measurement target had to move. [23]</p><p>The deeper problem is that benchmark capability is jagged. A model can look equivalent on a mathematics set and then behave quite differently on long-context retrieval, tool use, refusal calibration, latency, consistency, or enterprise permissions. <em>Lost in the Middle</em> showed that language models can perform worse when relevant information appears in the middle of a long context, even when the same information is easier to use at the beginning or end. [3] That sort of failure rarely appears in the leaderboard screenshot being passed around social media like a medical certificate.</p><p>Preference is not performance. A public arena vote is not the same thing as a production system surviving a month of messy workflows.</p><h1>The product is not the model</h1><p>The easiest way to misunderstand the frontier labs is to keep imagining that they sell one static model in a glass box. That was closer to true during the early chatbot phase. It is much less true now.</p><p>OpenAI&#8217;s Responses API is a useful example. The official documentation describes a stateful interface for agent-like applications, with built-in tools including web search, file search, computer use, Code Interpreter, remote MCP support, and reasoning summaries. [4] [5] A leaderboard score does not recreate that product surface. Copying the answer style does not reproduce the server-side tool loop, preserved context, encrypted reasoning items, or enterprise controls surrounding the API.</p><p>Google&#8217;s Gemini stack is similarly more than a model endpoint. The developer documentation covers grounding with Google Search, context caching, structured outputs, built-in tool combinations, and file or function calling. [11] [12] Google&#8217;s Gemini 3.1 Pro model card describes internal safety evaluations, human red teaming, and continuous testing under its Frontier Safety Framework. [14] Again, the interesting thing is not only the model. It is the model&#8217;s placement inside search, cloud, developer tools, enterprise surfaces, and a safety-release process.</p><p>Anthropic&#8217;s moat is different again. It is not merely that Claude answers well. Anthropic has built a safety- and developer-oriented deployment regime around tool use, prompt caching, web search, system-card discipline, and usage restrictions. [7] [8] It also now discusses detecting industrial-scale distillation attempts through account behaviour, request metadata, traffic patterns, and capability-targeted prompts. [10]</p><p>Meta is the useful counterexample. Meta deliberately weakens the &#8220;weights secrecy&#8221; moat by releasing Llama models openly. That does not mean Meta has no moat. Its strategy is ecosystem capture: developer mindshare, distribution, open weights, safety tools, partners, and the ability to keep reinvesting at enormous scale. Meta&#8217;s own Llama 3.1 announcement says its licence changes allow developers to use outputs from Llama models, including the 405B model, to improve other models. [15] That is not a lab forgetting to defend itself. It is a lab choosing a different layer to defend.</p><p>So when someone says, &#8220;the open model caught up,&#8221; the first response should be: caught up to what? The static score? The assistant product? The agent runtime? The compliance posture? The distribution channel? The cost curve?</p><p>The phrase &#8220;model moat&#8221; is now too small. The product moat is the thing.</p><h1>Distillation is real. It is just narrower than the panic</h1><p>The anti-hype version of this argument is not that extraction is imaginary. It is very real.</p><p>The model-stealing literature goes back years. Tram&#232;r and colleagues showed in 2016 that black-box prediction APIs could be copied with surprising fidelity in several supervised-learning settings. [17] Later work such as <em>Knockoff Nets</em> showed that attackers could train functional substitutes for vision models by querying a target and using its responses as labels. [18] Wallace and colleagues showed that commercial machine-translation systems could be imitated through query access, while Xu and colleagues showed that NLP API imitators could sometimes outperform the target on transferred domains. [19] [20]</p><p>Those papers matter because they kill the comforting story that an API boundary is automatically a wall. It is not. An API can also be a teacher, albeit one that sends invoices.</p><p>Recent LLM work makes the concern sharper. LoRD studies locality-reinforced extraction for aligned LLMs and argues that alignment-aware extraction can be more query-efficient than naive imitation. [21] A 2026 trace-inversion paper goes further: it reports that a student model fine-tuned on synthetic reasoning traces inferred from a commercial model&#8217;s answers and summaries improved substantially on MATH500 and JEEBench compared with fine-tuning on answers and summaries alone. [22]</p><p>That is not nothing. It is also not instant cloning by cinematic progress bar.</p><p>The same research is revealing about the limits. These attacks are usually task-targeted. They depend on query budgets, public corpora, surrogate models, filtering, relabelling, and offline fine-tuning. They transfer slices of behaviour. They do not copy the teacher&#8217;s full internal training mixture, hidden routing, safety monitors, enterprise permission model, tool environment, private launch gates, or customer trust surface.</p><p>Anthropic&#8217;s February 2026 post is important here, but it should be read carefully. Anthropic says it detected industrial-scale campaigns by DeepSeek, Moonshot AI, and MiniMax involving millions of exchanges through fraudulent accounts, with prompts targeting reasoning, coding, tool use, and agentic behaviour. [10] That is a serious provider-side claim. It is evidence that labs treat capability siphoning as operationally real. It is not independent proof that any one actor obtained complete product equivalence.</p><p>The realistic threat is not a film scene in which someone steals the entire frontier model overnight. The realistic threat is continuous siphoning: cheaper followers copying selected behaviours, compressing commodity margins, and shortening the distance between leader and fast follower in specific domains.</p><p>That is dangerous enough. We do not need to give it dramatic lighting.</p><h1>Where the moat actually moved</h1><p><strong>First, inference-time systems.</strong> The best products now do more than answer text. They call tools, retrieve files, cache context, ground claims, execute code, remember workflow state, and route around failure. The visible output is the final inch of the system, not the system itself.</p><p><strong>Second, private evaluation and release gates.</strong> Public benchmarks tell the world what everyone can see. Serious deployment depends on tests customers never see: regression suites, abuse probes, internal red-team cases, latency targets, tool-use evaluations, refusal calibration, long-context retrieval checks, and domain-specific failure modes. A scraper can sample outputs. It cannot easily infer the hidden evaluation set that shaped the release decision.</p><p><strong>Third, trust and liability.</strong> Enterprises do not buy only token prediction. They buy contractual posture, privacy defaults, account controls, admin consoles, SSO, retention settings, auditability, support, incident handling, and somebody to blame when things break. These are boring moats. Boring moats are excellent because competitors keep walking past them in search of something photogenic.</p><p><strong>Fourth, distribution.</strong> Google has Search, Workspace-adjacent surfaces, Vertex AI, AI Studio, and developer channels. OpenAI has consumer distribution, API adoption, and an agent platform. Anthropic has a strong developer and enterprise wedge around Claude. Meta has the open ecosystem. These are not identical strategies, which is precisely the point. Competition has fragmented across layers.</p><p><strong>Fifth, legal friction.</strong> Terms of service are not magical shields, but they raise the cost of extraction conducted openly. OpenAI, Google, and Anthropic all restrict using their services or outputs to build competing models, or to reverse engineer or extract the underlying system. [6] [9] [13] A determined attacker can violate terms. A large commercial buyer cannot comfortably build its AI strategy on violating them and hope procurement does not notice.</p><p>This is why the phrase &#8220;open-source killed the moat&#8221; is too blunt. Open models absolutely compress the commodity layer. They make generic summarisation, basic coding assistance, formatting, translation, and many benchmark-facing demonstrations cheaper. They also force incumbents to justify premium pricing with reliability and integration rather than mystique.</p><p>But the moat did not disappear. It moved from the static artefact to the operating system around the artefact.</p><h1>A concrete workflow: the enterprise coding assistant</h1><p>Take a suitably boring example: a company wants an internal coding assistant for a large, ugly codebase. This is not a demonstration repository. It has legacy services, half-migrated libraries, secret configuration patterns, flaky tests, permission boundaries, and several sacred files nobody should touch unless the staff engineer has had coffee.</p><p>A distiller can query the public model with coding tasks and collect good answers. That helps. It may produce a cheaper model that writes decent patches for common problems. It may even learn some of the teacher&#8217;s style: clearer explanations, better decomposition, and more cautious refactoring.</p><p>But the production assistant must do other things.</p><p>It must retrieve the right files, not merely plausible ones. It must respect permissions. It must know when a failing test is a real signal and when the test suite is lying because a fixture was written during a previous geological era. It must call a code interpreter or build system. It must preserve context across a multi-step edit. It must explain changes in the format the team actually reviews. It must avoid leaking secrets into logs. It must produce traces that compliance and security teams can inspect. It must be monitored for abuse, prompt injection, data exfiltration, and suspicious usage patterns.</p><p>The answer text is the visible residue of that workflow. It is not the workflow.</p><p>This is the practical distinction that keeps disappearing. If the job is &#8220;write a quick helper function,&#8221; model parity matters greatly. If the job is &#8220;operate safely inside our production engineering system,&#8221; the model is only one component. You still need connectors, permissions, retrieval, evaluations, logging, rollout controls, and trust.</p><p>That is why open models can be both extremely important and insufficient to erase the frontier labs&#8217; advantage. Both things can be true. Annoying, I know.</p><h1>The boring prediction</h1><p>My forecast is a barbell.</p><p>At one end, open models and fast followers continue commoditising broad-purpose inference. The price of generic text generation falls. The quality of local and self-hosted models improves. More companies decide that good enough is not merely good enough, but preferable because it is cheaper, more controllable, and closer to their data boundary.</p><p>At the other end, frontier labs push further into high-trust, high-integration, high-liability surfaces: coding agents, enterprise workflows, search-grounded systems, multimodal orchestration, regulated deployments, private-evaluation advantage, and products where failures are expensive enough that customers pay for the surrounding machinery.</p><p>Distillation accelerates the first end of the barbell. It narrows the commodity layer and makes fast-following easier. It also encourages providers to expose less reasoning signal, watermark more, fingerprint more traffic, verify more accounts, and separate public demonstration behaviour from high-value production behaviour. That is the natural defensive response when the attack is not theft of raw weights, but capability siphoning through outputs.</p><p>The stronger labs should not be complacent. Open models will keep cutting into margins. Customers will become better at asking why a premium model deserves the premium. Some products that appear defensible today will become wrapper dust tomorrow.</p><p>But the stronger critics should also be more precise. &#8220;The open model matched a benchmark&#8221; is not the same statement as &#8220;the frontier product has no moat.&#8221; It is a claim about one layer, often the most visible layer, and visibility is not the same thing as importance.</p><p>What actually matters is whether the hard-to-copy parts of the system sit where customers feel the pain.</p><p>So the useful question is not whether open models will catch frontier labs on more charts. They will. The useful question is whether you are buying intelligence, or buying the machinery that makes intelligence useful after the chart is gone and the work begins.</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><ol><li><p>Stanford Institute for Human-Centered AI, <em>2026 AI Index Report</em>, Technical Performance chapter. <a href="https://hai.stanford.edu/ai-index/2026-ai-index-report/technical-performance">https://hai.stanford.edu/ai-index/2026-ai-index-report/technical-performance</a></p></li><li><p>Colin White et al., <em>LiveBench: A Challenging, Contamination-Free LLM Benchmark</em>, ICLR 2025 / LiveBench project. <a href="https://github.com/LiveBench/LiveBench">https://github.com/LiveBench/LiveBench</a></p></li><li><p>Nelson F. Liu et al., <em>Lost in the Middle: How Language Models Use Long Contexts</em>, <em>Transactions of the Association for Computational Linguistics</em>, 2024. <a href="https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00638/119630/Lost-in-the-Middle-How-Language-Models-Use-Long">https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00638/119630/Lost-in-the-Middle-How-Language-Models-Use-Long</a></p></li><li><p>OpenAI, <em>New tools and features in the Responses API</em>, 2025. <a href="https://openai.com/index/new-tools-and-features-in-the-responses-api/">https://openai.com/index/new-tools-and-features-in-the-responses-api/</a></p></li><li><p>OpenAI API documentation, Responses API overview and migration guidance. <a href="https://developers.openai.com/api/docs/guides/migrate-to-responses">https://developers.openai.com/api/docs/guides/migrate-to-responses</a></p></li><li><p>OpenAI, Terms of Use, restrictions on reverse engineering, extraction, rate-limit bypass, and using output to develop competing models. <a href="https://openai.com/policies/row-terms-of-use/">https://openai.com/policies/row-terms-of-use/</a></p></li><li><p>Anthropic documentation, Prompt caching. <a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching">https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching</a></p></li><li><p>Anthropic API release notes, tool use, web search, and platform features. <a href="https://docs.anthropic.com/en/release-notes/api">https://docs.anthropic.com/en/release-notes/api</a></p></li><li><p>Anthropic Help Center, <em>Can I use my Outputs to train an AI model?</em>, March 2026. <a href="https://support.claude.com/en/articles/12326764-can-i-use-my-outputs-to-train-an-ai-model">https://support.claude.com/en/articles/12326764-can-i-use-my-outputs-to-train-an-ai-model</a></p></li><li><p>Anthropic, <em>Detecting and preventing distillation attacks</em>, February 2026. <a href="https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks">https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks</a></p></li><li><p>Google AI for Developers, Grounding with Google Search. <a href="https://ai.google.dev/gemini-api/docs/google-search">https://ai.google.dev/gemini-api/docs/google-search</a></p></li><li><p>Google AI for Developers, Context caching. <a href="https://ai.google.dev/gemini-api/docs/caching">https://ai.google.dev/gemini-api/docs/caching</a></p></li><li><p>Google AI for Developers, Gemini API Additional Terms of Service, effective March 23, 2026. <a href="https://ai.google.dev/gemini-api/terms">https://ai.google.dev/gemini-api/terms</a></p></li><li><p>Google DeepMind, <em>Gemini 3.1 Pro Model Card</em>, February 2026. <a href="https://storage.googleapis.com/deepmind-media/Model-Cards/Gemini-3-1-Pro-Model-Card.pdf">https://storage.googleapis.com/deepmind-media/Model-Cards/Gemini-3-1-Pro-Model-Card.pdf</a></p></li><li><p>Meta, <em>Introducing Llama 3.1: Our most capable models to date</em>, July 2024. <a href="https://ai.meta.com/blog/meta-llama-3-1/">https://ai.meta.com/blog/meta-llama-3-1/</a></p></li><li><p>The Llama Team, <em>The Llama 3 Herd of Models</em>, 2024. <a href="https://arxiv.org/abs/2407.21783">https://arxiv.org/abs/2407.21783</a></p></li><li><p>Florian Tram&#232;r et al., <em>Stealing Machine Learning Models via Prediction APIs</em>, USENIX Security, 2016. <a href="https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/tramer">https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/tramer</a></p></li><li><p>Tribhuvanesh Orekondy, Bernt Schiele, and Mario Fritz, <em>Knockoff Nets: Stealing Functionality of Black-Box Models</em>, CVPR 2019. <a href="https://openaccess.thecvf.com/content_CVPR_2019/html/Orekondy_Knockoff_Nets_Stealing_Functionality_of_Black-Box_Models_CVPR_2019_paper.html">https://openaccess.thecvf.com/content_CVPR_2019/html/Orekondy_Knockoff_Nets_Stealing_Functionality_of_Black-Box_Models_CVPR_2019_paper.html</a></p></li><li><p>Eric Wallace et al., <em>Imitation Attacks and Defenses for Black-box Machine Translation Systems</em>, EMNLP 2020. <a href="https://aclanthology.org/2020.emnlp-main.446/">https://aclanthology.org/2020.emnlp-main.446/</a></p></li><li><p>Yifei Xu et al., <em>Student Surpasses Teacher: Imitation Attacks for Black-Box NLP APIs</em>, COLING 2022. <a href="https://aclanthology.org/2022.coling-1.252/">https://aclanthology.org/2022.coling-1.252/</a></p></li><li><p>Zi Liang et al., <em>Yes, My LoRD: Guiding Language Model Extraction with Locality Reinforced Distillation</em>, 2024. <a href="https://arxiv.org/abs/2409.02718">https://arxiv.org/abs/2409.02718</a></p></li><li><p>Tingwei Zhang, John X. Morris, and Vitaly Shmatikov, <em>How to Steal Reasoning Without Reasoning Traces</em>, arXiv, March 2026. <a href="https://arxiv.org/abs/2603.07267">https://arxiv.org/abs/2603.07267</a></p></li><li><p>Long Phan et al., <em>Humanity&#8217;s Last Exam</em>, arXiv, 2025/2026. <a href="https://arxiv.org/abs/2501.14249">https://arxiv.org/abs/2501.14249</a></p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The High Performer Trap]]></title><description><![CDATA[Why the person who saves the day can become the manager who blocks the team.]]></description><link>https://plausiblereality.com/p/the-high-performer-trap</link><guid isPermaLink="false">https://plausiblereality.com/p/the-high-performer-trap</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Thu, 04 Jun 2026 19:08:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/baecdf65-bdea-4826-aecc-8d017a62bb31_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The most dangerous promotion is not promoting someone incompetent. Painful as that is, the mistake is usually easy to spot.</p><p>The more dangerous promotion is giving an extremely competent person a new title and assuming the job underneath has changed to match.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Often, it has not. Not enough.</p><p>Their calendar still rewards rescue. Their status still comes from having the best answer. Their manager still wants them to keep the hard parts close. Their team still sends uncertainty upstairs because that is where certainty lives.</p><p>Six months later, everyone is surprised that the new leader is exhausted, the team is dependent, and the bench is thinner than before. Apparently, the title was supposed to handle the transition.</p><p>I think this is one of the quietest traps in leadership development. High performance is not the problem. Unedited performance is.</p><p>Speed, precision, ownership, personal reliability: these behaviours can make someone exceptional in a defined individual-contributor role. They can also become constraints when the job starts creating value through other people&#8217;s capability, coordination, judgement, and growth.</p><p>Preference is not performance. Output is not potential. Being the person everyone trusts with the hardest work is not the same as making everyone else better at hard work.</p><h1>The wrong debate is whether high performers make bad leaders</h1><p>They do not, as a category. That framing is lazy.</p><p>High performers often bring useful raw material: credibility, discipline, pattern recognition, stamina, taste, and enough scars to recognise good work. In technical teams, that credibility matters. Engineers can smell fake authority through concrete.</p><p>The useful question is not whether high performers are leadership risks. It is what kind of performance the organisation keeps rewarding after it promotes them.</p><p>Leave personal throughput on the scoreboard and the new manager will keep playing the old game. Not because they are vain. Because the instructions are perfectly clear.</p><p>The research points to this selection problem. Firms often promote people for visible performance in their current role, even though management effectiveness depends on partially different signals. The classic Peter Principle problem is not that workers become stupid after promotion. It is that the selection system gave too much weight to the wrong evidence for the next job.</p><p>So the star sales rep becomes the manager who still wants to close the largest deals personally. The best engineer becomes the tech lead who quietly rewrites every design doc. The reliable operator becomes the supervisor for whom every escalation is a referendum on their personal standards.</p><p>They have not stopped caring. They are still caring through the old mechanism.</p><h1>The old scoreboard follows them upstairs</h1><p>The first managerial transition is an identity shock disguised as a promotion.</p><p>Before, the question was: Can you solve the problem? Afterwards, it becomes: Can the team solve more and better problems because of you?</p><p>That is a different production system, not a more senior setting on the old one.</p><p>The high performer wants to be useful. The new leader has to learn a less immediately satisfying version of usefulness. Less rescue, more context. Fewer answers, more judgement transfer. Less personal polish, more team-owned quality.</p><p>This sounds obvious until the work arrives. Finishing a task feels productive. Coaching someone through it feels slow. Rewriting a proposal feels safe. Letting someone else ship a merely good version feels suspiciously like negligence.</p><p>The organisation often helps the trap along. It promotes the expert, leaves them with half their old workload, widens their span, and tells them to be more strategic. This is not a transition plan. It is two jobs wearing one title.</p><p>Recent workplace data sharpens the problem. Larger spans of control are becoming more common in some organisations, while managers often still carry substantial individual-contributor work. Under those conditions, execution fixation is not merely a habit. It is a rational response to a badly defined job.</p><p>The newly promoted high performer responds with the moves that have always worked. They absorb ambiguity. They carry quality. They become the final reviewer, the escalation path, and the shadow owner of every important decision.</p><p>For a while, the team gets faster. Then it gets weaker.</p><h1>The first symptom is that they help too much</h1><p>The giveaway is, &#8216;I can do it faster.&#8217;</p><p>Usually, they can. That is what makes the trap work.</p><p>Ask only who can finish this task fastest today and the high performer should keep doing it. But leadership is not optimised for today&#8217;s isolated task. It is optimised for the team&#8217;s future capacity to handle a class of tasks without heroic intervention.</p><p>This is where helpfulness starts doing damage.</p><p>The star engineer who jumps into every code review improves the code and teaches the team that quality lives in her head. The finance lead who rewrites every board deck protects standards and teaches the team that only formatting has been delegated, not judgement. The product lead who approves every small decision stays close to the work and makes speed dependent on his attention span.</p><p>High standards are not the enemy. Standards are useful. Taste is useful. A leader with no quality bar is just a calendar with opinions.</p><p>The trouble starts when the standard and the leader&#8217;s preferred method become inseparable. Nobody else gets to own meaningful work. Perfectionism becomes expensive here: what looks like care from the leader&#8217;s side can feel like infantilisation from the team&#8217;s.</p><p>The bill arrives late. That is why organisations tolerate the arrangement for so long.</p><p>At first, the team looks protected. Deadlines are saved. Quality holds. Senior stakeholders relax because the old hero is still within reach. Then reviews take longer. Decisions queue. The best people leave for places where they can make calls. Junior people learn compliance instead of judgement. Succession plans become fiction with better typography.</p><p>The manager has not become lazy. The system has become leader-dependent.</p><h1>Delegation is not a moral virtue. It is an operating system.</h1><p>We discuss delegation as though it were mostly a personality trait. Some leaders &#8216;let go&#8217;. Others &#8216;struggle to let go&#8217;. Fine. That still leaves rather a lot of operating detail unresolved.</p><p>Delegation fails when authority, quality, risk, and feedback are vague. A high performer will not release control into fog. Nor should they.</p><p>The practical answer is to make delegation boringly explicit.</p><p>First, name the decision rights. Who decides? Who advises? Who needs to be informed? Which decisions require no approval? Which need a second pair of eyes because the risk is genuinely high?</p><p>Second, define the quality bar. Not &#8216;make it good&#8217;. That tells nobody anything useful. Good compared with what? Which trade-offs are acceptable? What must never break? Where can style vary? Where is accuracy non-negotiable?</p><p>Third, define the feedback loop. Does the leader inspect the work before the decision, afterwards, or only when an exception is triggered? How will the learning be captured so the next decision needs less oversight?</p><p>That is the difference between delegation and abandonment. Dropping work on someone and waiting for maturity to appear is not delegation. Transferring ownership with enough context, constraints, and a review rhythm for judgement to grow is.</p><p>More direct control can be legitimate in novice teams, safety-critical work, regulated contexts, or crisis conditions. Control itself is not the problem. Control that never reduces as capability rises is.</p><p>A good leader should be able to distinguish a risk tier from a comfort blanket.</p><h1>A concrete reset for the star who just became the boss</h1><p>Imagine Priya, a senior engineer promoted to lead a platform team.</p><p>Before the promotion, she was the person you wanted on the worst incident and the ugliest migration. She could see around corners. Her design docs were crisp. Her code reviews were annoying in the correct way. Naturally, she got promoted.</p><p>Three months later, the team is busy but somehow smaller than its headcount. Every design waits for Priya. Every production issue pings Priya. The strongest engineer has stopped proposing changes because Priya will improve the proposal anyway. The juniors are learning her preferences faster than they are learning engineering judgement.</p><p>Telling Priya to care less would be silly. The task is to change where her care goes.</p><p>Week one: audit the calendar. Separate personal production, review and approval, coaching, hiring and staffing, stakeholder alignment, and strategic design. If personal production still dominates, the promotion has not really happened. The pay band has changed clothes.</p><p>Week two: build a decision ladder with the team. Level one: bring me the facts and I decide. Level two: bring me a recommendation and I approve. Level three: decide, inform me, and capture the reasoning. Level four: decide without me unless an exception is triggered. This is not a race to put everything at level four. It is a way to make movement visible.</p><p>Week three: transfer one genuinely important work package, not just the administrative crumbs. Delegating only low-stakes scraps teaches the team that trust is decorative. Choose something material, define the quality criteria, agree on check-in points, and let the owner choose the method unless that method creates real risk.</p><p>Weeks four to eight: replace rescue with coaching. In one-to-ones, Priya stops asking only, &#8216;What is blocked?&#8217; and starts asking, &#8216;What decision are you trying to make? What options did you reject? What evidence would change your mind? Where do you want me to be precise, and where do you want me to stay out?&#8217;</p><p>Month three: measure whether dependence has fallen. Not by vibes. Track review latency, decision escalations, rework rate, time spent in personal production, and whether at least one direct report can now handle a class of decisions that previously required Priya.</p><p>None of this is glamorous. That is why it works.</p><p>Priya keeps her standards. The team gains access to the judgement behind them. The organisation gets a leader rather than a heroic bottleneck with a nicer title.</p><h1>What to promote for instead</h1><p>Promotability should stop being a victory lap for individual output.</p><p>Output matters. It should. But when the next role creates value through others, the assessment has to move towards leadership-relevant behaviour.</p><p>That means asking different questions.</p><p>How has this person improved someone else&#8217;s judgement in the last year? What can their team now do without them? When have they handed over an important task and accepted a result that met the standard without following their preferred method? What feedback about their impact has been hardest to hear? Do people bring them weak signals early, or only polished answers late? Who gets stronger after working with them?</p><p>These are harder to score than revenue, code output, tickets closed, utilisation, or delivery heroics. That is the point. The next job does not become visible just because you stare harder at the old dashboard.</p><p>A better promotion process uses several lenses: structured behavioural interviews, work simulations, multi-rater feedback, evidence of coaching behaviour, and stretch assignments before the formal move. The aim is not to find a flawless person. It is to find someone who can learn the new game without letting their old strengths automatically sabotage it.</p><p>This also requires a respected specialist path. Many organisations quietly push excellent specialists into management because that is where status, compensation, and influence live. Then they are surprised when some of those people continue behaving like specialists. The org chart made the deal before the person did.</p><p>Dual ladders are not a kindness. They are risk management. They reduce the pressure to turn every master craftsperson into a people manager, then spend two years repairing the predictable damage.</p><h1>The manager&#8217;s manager is part of the problem</h1><p>A newly promoted high performer rarely makes this change alone.</p><p>Their manager has to stop buying the old product. Many transitions quietly die here.</p><p>The senior leader says, &#8216;Delegate more,&#8217; then privately routes the hardest task back to the star because the deadline matters. They say, &#8216;Build the team,&#8217; then save their loudest praise for the manager who personally rescues the release. They say, &#8216;Be strategic,&#8217; then leave the entire old production load in place.</p><p>People are not confused by the speeches. Their incentive-reading skills are excellent.</p><p>For the high performer to become a leader, their manager has to change the contract. Team capability must become the work, not a pleasant extra to fit in after the real work is finished.</p><p>That contract needs an explicit reduction in individual-contributor load, a definition of decisions the team should make without the leader, a small set of coaching expectations, and bench strength included in performance reviews. Otherwise, leadership development is theatre: everyone nods at the workshop, then returns to the same operating system.</p><p>The problem is usually not that the high performer refuses to grow. It is that the organisation keeps paying them in prestige for staying exactly where they are.</p><h1>The useful question</h1><p>High performance should still matter. I do not want managers who have never done hard things. I do not want leaders whose main skill is narrating complexity from a safe distance. Technical respect, commercial judgement, operational discipline: these are assets.</p><p>But leadership potential is not current performance with the volume turned up.</p><p>The useful question is not, &#8216;Who is the best?&#8217; It is, &#8216;Best at what production system?&#8217;</p><p>When the next role requires output through others, the promotion question changes. What happens to the system when this person gets more authority? Does work multiply through them, or queue behind them? Do people grow sharper around them, or more cautious? Does the team inherit their judgement, or just wait for their approval?</p><p>A high performer who learns to transfer judgement is dangerous in the best way. They bring standards without hoarding ownership, taste without cloning themselves, and urgency without turning everyone else into spectators.</p><p>A high performer who cannot make that shift becomes something else. Not a bad person. Not a failed talent. A ceiling with a track record.</p><p>So before promoting the person who saves the day, ask the slightly annoying question.</p><p>After they get the title, will there be more people who can save the next one?</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><ol><li><p>Uploaded research brief: When High Performance Constrains Leadership Potential, May 2026.</p></li><li><p>Alan Benson, Danielle Li, and Kelly Shue, &#8216;Promotions and the Peter Principle,&#8217; The Quarterly Journal of Economics, 134(4), 2019, 2085-2134; NBER Working Paper 24343, <a href="https://doi.org/10.3386/w24343">https://doi.org/10.3386/w24343</a>.</p></li><li><p>Ben Weidmann, Joseph Vecci, Farah Said, Sonia Bhalotra, Achyuta Adhvaryu, Anant Nyshadham, Jorge Tamayo, and David Deming, &#8216;How Do You Identify a Good Manager?&#8217; The Quarterly Journal of Economics, 141(2), 2026, 1581-1633, <a href="https://doi.org/10.1093/qje/qjag004">https://doi.org/10.1093/qje/qjag004</a>.</p></li><li><p>Edward P. Lazear, Kathryn L. Shaw, and Christopher T. Stanton, &#8216;The Value of Bosses,&#8217; Journal of Labor Economics, 33(4), 2015, 823-861.</p></li><li><p>Todd J. Maurer and Manuel London, &#8216;From Individual Contributor to Leader: A Role Identity Shift Framework for Leader Development Within Innovative Organizations,&#8217; Journal of Management, 44(4), 2018, 1426-1452, <a href="https://doi.org/10.1177/0149206315614372">https://doi.org/10.1177/0149206315614372</a>.</p></li><li><p>Allan Lee, Sara Willis, and Amy Wei Tian, &#8216;Empowering Leadership: A Meta-Analytic Examination of Incremental Contribution, Mediation, and Moderation,&#8217; Journal of Organizational Behavior, 39(3), 2018, 306-325, <a href="https://doi.org/10.1002/job.2220">https://doi.org/10.1002/job.2220</a>.</p></li><li><p>Gavin R. Slemp, Margaret L. Kern, Kent J. Patrick, and Richard M. Ryan, &#8216;Leader Autonomy Support in the Workplace: A Meta-Analytic Review,&#8217; Motivation and Emotion, 42, 2018, 706-724, <a href="https://doi.org/10.1007/s11031-018-9698-y">https://doi.org/10.1007/s11031-018-9698-y</a>.</p></li><li><p>Amy C. Edmondson, &#8216;Psychological Safety and Learning Behavior in Work Teams,&#8217; Administrative Science Quarterly, 44(2), 1999, 350-383, <a href="https://doi.org/10.2307/2666999">https://doi.org/10.2307/2666999</a>.</p></li><li><p>Kathleen Otto, Martin Baluku, Amelie Schaible, Cemre Oflu, and Emily Kleszewski, &#8216;The Only Way Is Up? How Different Facets of Employee and Supervisor Perfectionism Help or Hinder Career Development,&#8217; Psychological Reports, published online 2024, <a href="https://doi.org/10.1177/00332941241229204">https://doi.org/10.1177/00332941241229204</a>.</p></li><li><p>Jim Harter, &#8216;Span of Control: What&#8217;s the Optimal Team Size for Managers?&#8217; Gallup Workplace, January 14, 2026.</p></li><li><p>Randall Beck and Jim Harter, &#8216;Managers Account for 70% of Variance in Employee Engagement,&#8217; Gallup Business Journal, April 21, 2015.</p></li><li><p>DDI, &#8216;New DDI Study Signals Looming Leadership Exodus, with 71% Reporting Increased Stress,&#8217; Global Leadership Forecast 2025 press release, January 22, 2025.</p></li><li><p>Barbara B. Gaugler, Douglas B. Rosenthal, George C. Thornton III, and Cynthia Bentson, &#8216;Meta-Analysis of Assessment Center Validity,&#8217; Journal of Applied Psychology, 72(3), 1987, 493-511, <a href="https://doi.org/10.1037/0021-9010.72.3.493">https://doi.org/10.1037/0021-9010.72.3.493</a>.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[GPT-5.5 Is Expensive Only If You Ask the Wrong Question]]></title><description><![CDATA[Price per token is the spreadsheet answer. Cost per useful outcome is the production answer.]]></description><link>https://plausiblereality.com/p/gpt-55-is-expensive-only-if-you-ask</link><guid isPermaLink="false">https://plausiblereality.com/p/gpt-55-is-expensive-only-if-you-ask</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Tue, 02 Jun 2026 19:05:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a1e03c14-0dc2-47ac-a187-ed6c12ae52e9_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>GPT-5.5 is expensive.   </p><p>Also, sometimes, it is the cheapest model in the room.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This sounds like the sort of contradiction vendors frame on a slide and finance teams circle in red. It is not actually a contradiction. It is a denominator problem. A model can cost more per token and less per solved task. Both statements can be true, and in production they often are.</p><p>The wrong debate is whether GPT-5.5 is cheap or expensive. The useful question is: expensive per what? Per input token? Per visible answer? Per successful workflow? Per avoided escalation? Per hour of engineering time not spent pursuing a result that was nearly correct in all the most inconvenient places?</p><p>That last denominator is where the tidy spreadsheet develops a cough.</p><p>At the cited standard API rates, the sticker shock is easy to understand: gpt-5.5 is priced at $5.00 per 1M input tokens, $0.50 per 1M cached input tokens, and $30.00 per 1M output tokens. GPT-5.4 is exactly half that on the same standard short-context tariff: $2.50, $0.25, and $15.00. GPT-4.1 is $2.00 for input, $0.50 for cached input, and $8.00 for output. GPT-4o is $2.50, $1.25, and $10.00.</p><p>So yes, if your entire model evaluation is a procurement table, GPT-5.5 looks expensive because it is expensive. The table has done its job and may now collect its certificate. But a production workflow also contains retries, tool mistakes, prompt scaffolding, hidden reasoning, caching, latency tiers, and human follow-up. Once those enter the calculation, the answer becomes much less obedient.</p><p>I think the simple rule is this: price per token tells you what the meter charges. Cost per success tells you whether the model belongs in the product.</p><p style="text-align: center;">* * *</p><h1>The wrong denominator</h1><p>A fresh request containing 10,000 uncached input tokens and 2,000 output tokens costs about $0.11 on GPT-5.5 at standard rates. The same token shape costs about $0.055 on GPT-5.4, $0.036 on GPT-4.1, and $0.045 on GPT-4o.</p><p>That is the cleanest argument against GPT-5.5. Hold the task shape fixed. Ignore quality. Ignore retries. Ignore whether the answer is usable. Under those rules, GPT-5.5 loses on direct request cost.</p><p>This is also how teams make bad AI architecture decisions using spreadsheets that look extremely responsible.</p><p>The real bill for a production feature is rarely one request. It is attempts per success. It is the extra prompt scaffolding added because the cheaper model needed handrails, road markings, and a responsible adult. It is the second call required after the first answer hallucinated a field name. It is the tool loop that searched the wrong source twice. It is the human reviewer who had to rescue the output. It is the user who quietly abandoned the workflow because the system was technically correct and operationally useless.</p><p>Price per token is not fake. It is merely incomplete, which is a more dangerous kind of correct.</p><p>If GPT-5.5 uses twice the tokens and succeeds at the same rate, it is more expensive. No financial origami required. If it uses half the total tokens because it needs less scaffolding, produces shorter useful answers, chooses tools correctly, and reduces retries, it can be cheaper despite the higher tariff. The arithmetic is dull. Measuring the right things is where the trouble begins.</p><p>This is where OpenAI&#8217;s own launch materials become economically interesting. OpenAI says GPT-5.5 improved on GPT-5.4 across Terminal-Bench 2.0, SWE-Bench Pro, and Expert-SWE while using fewer tokens across all three coding evaluations. In the system card, an external cyber evaluation by Irregular found that GPT-5.5 achieved higher success rates and lower cost per success than GPT-5.4, with CyScenarioBench cost per success falling by a factor of 2.7.</p><p>That is the useful evidence. Not &#8220;the model is smarter,&#8221; which is too vague to invoice. Not &#8220;frontier intelligence,&#8221; which is a fog machine wearing a conference badge. The useful claim is that, under at least one external task-level evaluation, the more expensive model was cheaper per successful completion.</p><p>Once you see that, the paradox loses most of its theatre. Expensive per token and cheap per completed task are not opposites. They are different measurements pretending to argue.</p><p style="text-align: center;">* * *</p><h1>Hidden work is still work</h1><p>The second trap is pretending that hidden reasoning is free because the user cannot see it.</p><p>Reasoning models use internal reasoning tokens before or between visible outputs. OpenAI&#8217;s reasoning documentation says these tokens are not exposed raw through the API, but they still occupy context-window space and are billed as output tokens. Depending on the task&#8217;s complexity, the model may use anywhere from a few hundred to tens of thousands of reasoning tokens.</p><p>This matters because a team can proudly remove verbose chain-of-thought from the visible answer while continuing to pay for a substantial amount of hidden computation. The invoice is admirably indifferent to whether a token was aesthetically pleasing.</p><p>The useful question is not &#8220;does GPT-5.5 reason?&#8221; It is &#8220;how much reasoning did this workflow purchase, and did the workflow need it?&#8221;</p><p>For a difficult codebase migration, deep research task, or multi-tool support agent, internal reasoning may be precisely what you are buying. For a routing classifier, it is probably a very elaborate toaster assigned to one slice of bread.</p><p>OpenAI&#8217;s GPT-5.5 migration guidance is essentially telling developers to stop preserving old prompt stacks as sacred architecture. The model defaults to medium reasoning effort. Low can be a better starting point for latency-sensitive workflows. High and xhigh should be earned through evaluations, not selected because they sound serious. The same guidance recommends setting <code>text.verbosity</code> to low when concise responses are sufficient and moving schema constraints into Structured Outputs rather than inflating the prompt.</p><p>This sounds obvious, but teams miss it all the time. They move to a stronger model, keep the old prompt shrine intact, leave reasoning effort too high, request long answers, and then complain that the model is expensive. It is expensive. They submitted a formal application for that outcome.</p><p>There is also a nastier edge case. If <code>max_output_tokens</code> is set too low, a reasoning model can spend tokens thinking and then return an incomplete response before producing meaningful visible output. OpenAI recommends reserving at least 25,000 tokens for reasoning and outputs when first experimenting with these models. That is not because every task needs 25,000 tokens. It is because starving a reasoning model can produce the worst possible bill: paid input, paid hidden work, and no useful answer.</p><p>The lesson is not &#8220;always lower reasoning.&#8221; The lesson is to make reasoning an explicit product setting. Pay for thought when thought changes the outcome. Do not pay for it because the dropdown looked important.</p><p style="text-align: center;">* * *</p><h1>Caching is where the paradox gets boring</h1><p>The most underrated economic lever is not a dazzling prompt technique. It is boring prefix hygiene.</p><p>Prompt caching happens when repeated prompt prefixes are processed once and reused. OpenAI says prompt caching can reduce latency by up to 80% and input-token costs by up to 90%, and that it works automatically for recent models including GPT-4o and newer. For GPT-5.5, extended prompt-cache retention is the default and can keep cached prefixes active for up to 24 hours.</p><p>This is why GPT-5.5 can look financially alarming in one workload and surprisingly reasonable in another.</p><p>Consider a context-heavy workflow with 100,000 cached input tokens, 1,000 live input tokens, and a 200-token answer. At standard prices, that shape costs about $0.061 on GPT-5.5. The same shape costs about $0.1295 on GPT-4o because GPT-4o&#8217;s cached-input rate is higher. GPT-4.1 remains slightly cheaper at about $0.0536, but the GPT-5.5 gap is no longer the horror story suggested by the fresh 10k/2k example.</p><p>Nothing mystical occurred. The denominator changed, and the token mix changed with it. Economics occasionally survives contact with arithmetic.</p><p>This is why I would not evaluate GPT-5.5 using a random chat benchmark and then declare a product strategy. If the real product has a large static prefix&#8212;policy documents, tool definitions, output contracts, examples, and customer-specific operating rules&#8212;then cache hit rate is part of the model decision.</p><p>A practical support-agent workflow might look like this.</p><p>Place stable instructions first: role, safety constraints, escalation rules, tool descriptions, schema, style contract, and the parts of the knowledge base reused across cases. Place dynamic content last: the current customer ticket, account state, recent messages, and the specific action requested. Use a consistent <code>prompt_cache_key</code> for prefixes that should share a cache. Measure <code>cached_tokens</code> on every call. Then test low and medium reasoning effort against the same representative tickets.</p><p>The evaluation should track first-pass resolution, number of tool calls, wrong-tool rate, retries per solved case, visible output tokens, reasoning tokens, cache hit rate, latency, and human escalation rate.</p><p>That is not a benchmark. That is a product instrument panel. The distinction matters because one helps you win a slide, while the other helps you operate the thing.</p><p>In this setup, GPT-5.5 does not need to be cheaper on every request. It needs to reduce total workflow cost while meeting the latency target. It can do that by using the cached prefix effectively, selecting tools more precisely, emitting less fluff, and avoiding the dead-end loops that make cheaper models mysteriously expensive.</p><p style="text-align: center;">* * *</p><h1>There is still a workflow tax</h1><p>The annoying part is that the model bill is not the whole bill. Apparently, software still requires engineering.</p><p>OpenAI&#8217;s GPT-5.5 guidance says to treat it as a new model family rather than a drop-in replacement for older GPT-5 prompts. That is not decorative migration prose. It means teams must retune prompts, reasoning effort, verbosity, tool descriptions, output contracts, and evaluations.</p><p>So GPT-5.5 can be cheaper per successful task and still cost more to adopt.</p><p>This is the part procurement tends to miss and engineering tends to describe as &#8220;a bit of tuning.&#8221; A model migration has labour cost. You need regression tests. You need representative examples. You need to compare answer quality rather than celebrating because the JSON parser did not burst into flames. You need guardrails for tool side effects. You need observability for reasoning tokens, cached tokens, and attempts per success. You need someone to decide when a task should be routed to GPT-5.5 rather than a cheaper model.</p><p>A stronger model does not eliminate architecture. It merely punishes lazy architecture more quietly.</p><p>The teams that achieve the best economics will not be the ones that put GPT-5.5 everywhere. They will route according to task value. Use cheaper models for low-risk classification, extraction, rewriting, and simple customer replies. Use GPT-5.5 where failure is expensive: ambiguous coding tasks, multi-step tool workflows, document-heavy analysis, research synthesis, incident triage, complicated customer-service cases, and jobs where a wrong first answer creates real work for someone else.</p><p>Preference is not performance. One team may prefer the cheaper model because its unit price is comforting. Another may prefer the frontier model because it feels magical. Neither preference has earned a seat in the calculation. What matters is the measured cost of a successful workflow.</p><p>The question should be painfully concrete: for this workflow, with this latency target, what is the cheapest model-and-orchestration combination that reaches the required success rate?</p><p>Sometimes the answer will be GPT-4.1. Sometimes GPT-4o. Sometimes a smaller model. Sometimes GPT-5.5 with low reasoning, low verbosity, aggressive caching, and Flex or Batch for non-urgent work. Sometimes GPT-5.5 Pro, although if you are using Pro everywhere without a very good reason, someone should gently take away your API key and make you write evaluations first.</p><p style="text-align: center;">* * *</p><h1>A concrete way to evaluate it</h1><p>Here is the workflow I would use before arguing about whether GPT-5.5 is expensive.</p><p>Choose one real production workflow, not a demo prompt groomed for applause. For example: &#8220;Given a customer ticket, inspect account state, search the policy base, decide whether to refund, draft the response, and route edge cases to a human.&#8221;</p><p>Build a small evaluation set from real cases. Keep it messy. Include ambiguous requests, missing information, policy conflicts, customers who use strange wording, and cases where the correct answer is to escalate. A neat evaluation set is how bad automation earns tenure.</p><p>Run the same cases through the candidate models. Keep the output contract identical. Do not let one model write a novel while another produces JSON and then call the comparison scientific. Track input tokens, cached input tokens, output tokens, reasoning tokens where available, tool calls, wrong tool calls, retries, latency, and whether an experienced operator would accept the final answer.</p><p>Then calculate cost in four ways.</p><p>First, cost per request. This is the number everyone reaches for because it is easy and behaves nicely in a cell.</p><p>Second, cost per accepted answer. This includes retries and failed attempts, which have an unfortunate habit of costing money despite being failures.</p><p>Third, cost per avoided human touch. This is where a model that looks expensive can become cheap very quickly.</p><p>Fourth, cost per product outcome under the latency target. If the model is cheap but misses the latency SLO, it is not cheap for that product. It is simply a slower method of disappointing users.</p><p>Only after those four numbers exist should anyone begin discussing model preference.</p><p>The useful pattern is usually hybrid. A cheap model handles simple routing. GPT-4.1 or GPT-4o handles straightforward structured work. GPT-5.5 handles cases where tool use, ambiguity, and persistence matter. Batch or Flex handles slow back-office enrichment. Prompt caching prevents the static context from becoming a fresh tax on every request. Verbosity stays low unless the user asks for an explanation. Reasoning effort rises only when evaluations prove that it buys success.</p><p>That architecture is less glamorous than placing the newest model behind every button. It is also less embarrassing when the invoice arrives.</p><p style="text-align: center;">* * *</p><h1>The slightly annoying conclusion</h1><p>GPT-5.5 is not cheap. That is the wrong comfort to seek.</p><p>It is a high-tariff model that can become economically rational when the task is hard enough, the prefix is cacheable enough, the output is concise enough, and the success-rate improvement is real enough. It is also a high-tariff model that can become a money fire when used for trivial tasks with reasoning effort left high, old prompt scaffolding preserved, and retries never measured.</p><p>The mistake is treating model cost as a property of the model alone. It is not. Model cost is a property of the model, the prompt, cache behaviour, orchestration, latency tier, failure rate, and the human workflow surrounding it.</p><p>That is why &#8220;GPT-5.5 is more expensive&#8221; and &#8220;GPT-5.5 is cheaper&#8221; can both be true. One person is counting tokens. The other is counting finished work.</p><p>The useful question is not whether the model is expensive.</p><p>The useful question is which denominator you are hiding behind.</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><blockquote><p>1. OpenAI API Pricing. Current standard, Batch, Flex, Priority, tool-call, and regional-processing pricing. <a href="https://developers.openai.com/api/docs/pricing">https://developers.openai.com/api/docs/pricing</a>. Accessed 8 May 2026.</p><p>2. OpenAI API Compare Models. GPT-5.5 and GPT-5.4 pricing, context-window, max-output, endpoints, and model metadata. <a href="https://developers.openai.com/api/docs/models/compare">https://developers.openai.com/api/docs/models/compare</a>. Accessed 8 May 2026.</p><p>3. OpenAI API Guide: Using GPT-5.5. Migration guidance, reasoning effort, verbosity, prompt structure, and benchmarking recommendations. <a href="https://developers.openai.com/api/docs/guides/latest-model">https://developers.openai.com/api/docs/guides/latest-model</a>. Accessed 8 May 2026.</p><p>4. OpenAI API Guide: Reasoning Models. Reasoning-token behaviour, billing, context-window management, and <code>max_output_tokens</code> guidance. <a href="https://developers.openai.com/api/docs/guides/reasoning">https://developers.openai.com/api/docs/guides/reasoning</a>. Accessed 8 May 2026.</p><p>5. OpenAI API Guide: Prompt Caching. Cache economics, static-prefix guidance, GPT-5.5 extended cache retention, and cached-token usage reporting. <a href="https://developers.openai.com/api/docs/guides/prompt-caching">https://developers.openai.com/api/docs/guides/prompt-caching</a>. Accessed 8 May 2026.</p><p>6. OpenAI API Guide: Flex Processing. Cost-latency trade-off and Batch-rate pricing for Flex requests. <a href="https://developers.openai.com/api/docs/guides/flex-processing">https://developers.openai.com/api/docs/guides/flex-processing</a>. Accessed 8 May 2026.</p><p>7. OpenAI. Introducing GPT-5.5. Launch post, benchmark claims, token-efficiency statements, availability, and pricing overview. <a href="https://openai.com/index/introducing-gpt-5-5/">https://openai.com/index/introducing-gpt-5-5/</a>. Accessed 8 May 2026.</p><p>8. OpenAI Deployment Safety Hub. GPT-5.5 System Card. Safety evaluation process, GPT-5.5 Pro test-time-compute note, and Irregular cost-per-success result. <a href="https://deploymentsafety.openai.com/gpt-5-5">https://deploymentsafety.openai.com/gpt-5-5</a>. Accessed 8 May 2026.</p><p>9. OpenAI API Model Page: GPT-4.1. Pricing, context window, and model characteristics used for comparison. <a href="https://developers.openai.com/api/docs/models/gpt-4.1">https://developers.openai.com/api/docs/models/gpt-4.1</a>. Accessed 8 May 2026.</p><p>10. OpenAI API Model Page: GPT-4o. Pricing, context window, and model characteristics used for comparison. <a href="https://developers.openai.com/api/docs/models/gpt-4o">https://developers.openai.com/api/docs/models/gpt-4o</a>. Accessed 8 May 2026.</p><p>11. Artificial Analysis. GPT-5.5 (low) API provider benchmarking and price analysis. Latency, output speed, blended price, and methodology notes; figures are dynamic and should be rechecked before publication. <a href="https://artificialanalysis.ai/models/gpt-5-5-low/providers">https://artificialanalysis.ai/models/gpt-5-5-low/providers</a>. Accessed 8 May 2026.</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Free Tools to Help You Stretch Your Tokens]]></title><description><![CDATA[RTK cuts terminal noise before it enters context. Caveman cuts the agent&#8217;s visible chatter. The useful trick is knowing which tokens each one actually saves.]]></description><link>https://plausiblereality.com/p/free-tools-to-help-you-stretch-your</link><guid isPermaLink="false">https://plausiblereality.com/p/free-tools-to-help-you-stretch-your</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Mon, 01 Jun 2026 20:01:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4474c5f5-3b56-4a98-8554-d01a64560c54_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The new flex is not having the biggest context window. It is refusing to fill the one you already have with rubbish. </p><p>This sounds obvious, but teams miss it all the time. They debate which model is smarter, which coding agent has the better benchmark chart, and whether the paid tier gives them enough room. Meanwhile, the agent is quietly shovelling directory listings, dependency trees, test-runner confetti, repeated stack traces, polite throat-clearing, and five paragraphs of commentary into context where one useful line would have done.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The wrong debate is: how do I buy more room?</p><p>The useful question is: why am I filling the room with junk?</p><p>That is where tools like RTK and Caveman get interesting. Not because they are magic. Not because their headline compression numbers belong tattooed on your sprint board. They are interesting because they attack two different leaks in the agent loop.</p><p>RTK compresses terminal output before it becomes model input. Caveman compresses what the agent says back to you, and its companion compression workflow can reduce recurring instruction files. One sits at the command boundary. The other sits at the response and memory boundary.</p><p>Together, they suggest a better operating habit for AI-heavy development: treat tokens as working memory, not as disposable exhaust.</p><p style="text-align: center;">* * *</p><h1>The token bill is not one thing</h1><p>When people say &#8220;tokens,&#8221; they usually mean a vague unit of AI consumption. That vagueness is convenient. It is also how bad workflows hide.</p><p>OpenAI&#8217;s token documentation separates usage into input tokens, output tokens, cached tokens, and, for some advanced models, reasoning tokens. Tokens are not the same as words; the rough English rule of thumb is about four characters per token, with plenty of variation by language and text shape. [1]</p><p>For reasoning models, there is another trap: the thinking may not be visible, but it still matters. OpenAI&#8217;s reasoning-model documentation says reasoning tokens are not visible through the API, but they occupy context-window space and are billed as output tokens. It also notes that input and output tokens from each step carry over in a multi-step conversation, while reasoning tokens are discarded. [2]</p><p>Claude Code has the same practical warning in its cost guidance: thinking tokens are billed as output tokens, and the default budget can be tens of thousands of tokens per request depending on the model. Anthropic&#8217;s guidance says simpler tasks can use lower effort, disabled thinking, or a lower thinking budget. [3]</p><p>That gives us the first useful split.</p><p>There are tokens you send into the model. There are tokens the model generates back. There are hidden reasoning tokens. There are tokens retained across the conversation. Different tools affect different buckets.</p><p>Preference is not performance. A terse answer feels cheaper, but it does not necessarily reduce hidden reasoning. A compressed terminal log reduces context, but it can also hide the one line you needed. A smaller instruction file helps every session, but only if the compressed version preserves the rules that actually matter.</p><p>So the practical version is simple: RTK helps with CLI output before it pollutes context. Caveman helps with visible assistant output and repeated prose instructions. Neither should be described as a universal reasoning-token shrink ray.</p><p>That distinction matters because token hygiene is a systems problem, not a prompt-style problem.</p><p style="text-align: center;">* * *</p><h1>RTK: cut terminal sludge before the agent reads it</h1><p>AI coding agents love the terminal. They run tests. They inspect files. They check git status. They read logs. They list directories. They ask the shell for truth because the shell is where the project eventually stops being polite.</p><p>The problem is that most terminal output was designed for humans glancing at a screen, not for a language model carrying every character into context.</p><p>RTK, short for Rust Token Killer, is a CLI proxy that filters and compresses command output before it reaches the LLM context. Its README describes a single Rust binary with more than 100 supported commands and claims 60-90% token reduction on common development operations, with the caveat that actual savings vary by project size. [5]</p><p>The important part is not the exact percentage. The important part is the boundary.</p><p>Without a filter, the agent runs a command and receives raw output. With RTK, the agent runs the command through a proxy that can trim, group, truncate, and deduplicate before the response lands in the model&#8217;s working memory. The README describes four core strategies: smart filtering, grouping, truncation, and deduplication. [5]</p><p>That is boring in the best possible way.</p><p>A successful git push does not need the model to admire object enumeration, delta compression, thread counts, and progress bars. It needs to know whether the push worked, where it went, and whether anything unusual happened. RTK&#8217;s example turns a verbose git push into something like &#8220;ok main.&#8221; [5]</p><p>A failing test run does not need 200 lines proving that unrelated tests are having a lovely day. It needs the failing tests, their assertions, and enough location data to act. RTK&#8217;s test wrappers aim to show failures only for common runners such as pytest, cargo test, go test, Jest, Vitest, and Playwright. [5]</p><p>A directory listing does not need every permission bit unless permissions are the problem. A compact tree is often better than a full <code>ls -la</code> dump. A git status does not need the full decoration parade if the agent only needs modified, staged, and untracked files.</p><p>This is why RTK belongs early in the loop. It reduces the amount of machine chatter that becomes model input. It also makes later turns cleaner, because less irrelevant terminal text is retained in the conversation history.</p><p>There are sharp edges.</p><p>RTK&#8217;s auto-rewrite hook works by rewriting Bash commands to RTK equivalents. The README notes that Claude Code built-in tools such as Read, Grep, and Glob bypass that Bash hook, so those workflows are not automatically rewritten. On native Windows, RTK filters work but the hook does not auto-rewrite commands; WSL gets the fuller hook experience. [5]</p><p>That Windows note is not trivia. If your setup is PowerShell-first, you should assume explicit RTK commands are safer than relying on magic. Use <code>rtk git status</code>, <code>rtk tsc</code>, <code>rtk pytest</code>, <code>rtk read</code>, <code>rtk grep</code>. Make the compression visible enough that you know when it is active.</p><p>The discipline I would use is conservative: compress routine inspection, but keep a raw escape hatch. For exploratory file discovery, compressed output is usually fine. For build logs, failures-only is usually fine. For security review, incident response, flaky race conditions, or migration diffs, I want the full output available somewhere, even if the agent first sees the compressed view.</p><p>Token savings are useful. Losing the clue is expensive.</p><p style="text-align: center;">* * *</p><h1>Caveman: make the agent stop narrating</h1><p>Caveman attacks a different leak: the assistant&#8217;s habit of talking too much.</p><p>The Julius Brussee Caveman project is a skill/plugin pattern for AI coding agents that pushes replies into terse, compressed language. Its README describes triggers such as <code>/caveman</code>, &#8220;talk like caveman,&#8221; &#8220;caveman mode,&#8221; and &#8220;less tokens please.&#8221; It also includes intensity levels: lite, full, ultra, and Wenyan modes. [7]</p><p>The README reports benchmark results across common coding tasks, with an average reduction from 1,214 normal output tokens to 294 Caveman tokens, or about 76% saved, across the listed prompts. The reported range is 22% to 87%. [7]</p><p>Treat those numbers as project-reported measurements, not universal law. The more useful claim is operational: less visible assistant prose means less output to pay for, less text to read, and less previous-assistant chatter carried into later context.</p><p>This is not just about being cute. Agent replies are often padded with softeners: &#8220;Here&#8217;s what I found,&#8221; &#8220;The issue appears to be,&#8221; &#8220;Let me know if you&#8217;d like,&#8221; &#8220;We should probably consider,&#8221; and so on. In a normal chat, that can make the interaction feel nicer. In an engineering loop, it is often ceremony wearing a token meter.</p><p>A good agent response during coding is usually closer to this:</p><p><code>auth.ts: token expiry bug. Cause: refresh path skips clock skew guard. Fix: add 60s leeway before reject. Tests: auth-refresh.spec.ts failing before, passing after.</code></p><p>That is not caveman because it is silly. It is caveman because it is a compact status packet.</p><p>The crucial correction: Caveman does not shrink hidden thinking tokens. The README says this directly: Caveman only affects output tokens; thinking and reasoning tokens are untouched. [7]</p><p>That matters because the phrase &#8220;compress thinking and output&#8221; is tempting but inaccurate. Caveman can make the agent&#8217;s visible answer shorter. It can make recurring memory or instruction files shorter through <code>caveman-compress</code>. It can reduce later context because previous visible assistant replies are shorter. But if the model is doing extended reasoning internally, that budget is controlled elsewhere.</p><p>In Claude Code, that &#8220;elsewhere&#8221; is things like effort level, model settings, thinking configuration, and thinking-token budget. Anthropic&#8217;s cost guidance is explicit about adjusting extended thinking for simpler tasks. [3]</p><p>Caveman also has an input-side trick worth separating from the response style. Its <code>caveman-compress</code> workflow rewrites memory files such as CLAUDE.md into compressed prose while keeping a human-readable original backup. The README&#8217;s sample table reports an average reduction from 898 to 481 tokens, or 46%, across example files. It says code blocks, URLs, file paths, commands, headings, dates, and version numbers pass through untouched while prose is compressed. [7]</p><p>That is more interesting than the meme suggests.</p><p>Claude Code documentation says CLAUDE.md loads into context at session start. If that file contains detailed instructions for workflows you are not using, those tokens are present anyway. Anthropic recommends moving specialised instructions into skills because skills load on demand, and aiming to keep CLAUDE.md under 200 lines. [3]</p><p>So the stronger pattern is not &#8220;make every answer caveman forever.&#8221; The stronger pattern is: keep base context lean, load specialised instructions only when needed, and make routine status updates compact by default.</p><p>There is a trade-off. Over-compression can hide uncertainty. It can also make an agent sound more confident than it should, because hedging gets deleted along with filler. That means any caveman-style rule should preserve three things: blockers, confidence, and next action.</p><p>Cut ceremony. Keep doubt.</p><p style="text-align: center;">* * *</p><h1>A practical token-stretching workflow</h1><p>Here is the workflow I would actually try for an AI coding setup. Nothing heroic. No dashboard. No spreadsheet theatre. Just fewer stupid tokens.</p><p>First, baseline the obvious leak. Run a normal 30-minute agent session and note where the agent reads too much. Not the total cost. The shape. Did it repeatedly call tree? Did it dump long test logs? Did it read whole files to find one function? Did it explain every tiny step in paragraphs?</p><p>Second, put RTK on the shell path and use it explicitly for high-noise commands. Start with status, diff, test, lint, grep, file read, logs, and dependency inspection. On WSL or Unix-like shells, experiment with the auto-rewrite hook. On native Windows, assume explicit commands until you have verified the hook path you actually use.</p><p>Third, give the agent a rule for escalation. Something like: use compressed output for routine inspection; request raw output when a failure is ambiguous, security-sensitive, or caused by timing, encoding, permissions, or environment state. The agent should know compression is a first pass, not the court transcript.</p><p>Fourth, turn on Caveman-style terse responses for routine engineering loops. Do not ask for a personality change. Ask for a reporting format. File. Cause. Fix. Test. Risk. Next step. That is enough for most turns.</p><p>Fifth, compress recurring instruction files only after you decide what belongs there. This is where people get it backwards. They take a bloated CLAUDE.md, compress it, and declare victory. Better: delete stale rules, move workflow-specific guidance into skills, then compress the small durable core.</p><p>Sixth, tune reasoning separately. For planning, architecture, migrations, and unfamiliar bugs, keep higher reasoning. For &#8220;rename this field,&#8221; &#8220;fix lint,&#8221; &#8220;update tests,&#8221; or &#8220;summarise this diff,&#8221; lower effort may be enough. This is not a moral issue. It is matching compute to task shape.</p><p>A concrete example:</p><p>The agent needs to fix a TypeScript auth bug. In the noisy version, it runs a full directory tree, cats several files, runs the full test suite, receives pages of test output, explains its plan in six paragraphs, edits one file, runs the full test suite again, then writes a novella about what changed.</p><p>In the cleaner version, it starts with <code>rtk grep</code> around the token expiry path, uses <code>rtk read</code> on the relevant files, runs the focused auth test through an RTK test wrapper, and reports in a terse packet: <code>auth expiry bug. Cause: refresh branch ignores leeway. Changed auth/session.ts. Focused test passes. Full suite not run.</code></p><p>That last sentence is important. Compression should not mutate reality. If the full suite was not run, the agent must say so. Brevity is useful only when it preserves the edges.</p><p>For longer tasks, delegate noisy operations. Claude Code&#8217;s cost guidance says running tests, fetching docs, or processing logs can consume significant context, and recommends delegating verbose operations to subagents so only a summary returns to the main conversation. [3]</p><p>That pattern composes with RTK and Caveman. RTK trims the subagent&#8217;s tool output. The subagent returns a compact summary. Caveman keeps the main agent from turning that summary into a speech.</p><p>The shape is: raw world, compressed tool signal, compact agent status, explicit raw escape hatch.</p><p>That is the whole game.</p><p style="text-align: center;">* * *</p><h1>Free tools still need adult supervision</h1><p>The obvious failure mode is believing the compression number more than the work.</p><p>A tool can save 80% of tokens and still be the wrong tool for the moment. A directory listing compressed into a tree is helpful. A stack trace compressed until the causal frame disappears is not. A terse PR review can be excellent. A terse security review can become malpractice if it drops evidence.</p><p>So I would classify compression targets by risk.</p><p>Low risk: successful command confirmations, dependency list summaries, passing test noise, repeated log lines, boilerplate install output, directory discovery, generic status updates.</p><p>Medium risk: failing tests, compiler errors, diffs, migration logs, build errors, dependency conflicts. Compress first, but preserve enough line numbers, filenames, error codes, and command context to act.</p><p>High risk: security findings, data-loss operations, production incidents, permissions, auth, cryptography, billing, legal text, compliance evidence, and any bug where one missing line changes the diagnosis. For these, compression should be an index, not the evidence.</p><p>The same applies to Caveman. I like terse agents. I do not like agents that delete caveats. The goal is not to sound primitive. The goal is to remove prose that does not carry state.</p><p>A good compressed engineering reply still includes uncertainty markers. <code>Likely cause</code> is different from <code>cause</code>. <code>Need full log</code> is different from <code>fixed</code>. <code>Focused test passes</code> is different from <code>all tests pass</code>. These are not filler words. They are control signals.</p><p>This is where the meme can accidentally teach the wrong lesson. The point is not to make the model dumber. The point is to make the channel cleaner.</p><p>There is some research support for brevity as more than aesthetics, but it should be handled carefully. A March 2026 arXiv preprint found that, on certain benchmark subsets, constraining large models to brief responses improved accuracy and reduced overelaboration errors. [8]</p><p>That does not mean every task wants fewer words. It means verbosity is not automatically intelligence. In engineering work, verbose can be worse than terse when it smears the state of the system across polite paragraphs.</p><p>The rule I would use: compress transport, not truth.</p><p style="text-align: center;">* * *</p><h1>The better question</h1><p>The useful question is not &#8220;Which AI plan gives me more tokens?&#8221;</p><p>It is &#8220;Where are my tokens leaking?&#8221;</p><p>Some leak through terminal output. Use RTK or the same idea: filter command output before the model sees it.</p><p>Some leak through assistant verbosity. Use Caveman or the same idea: make routine responses state-dense.</p><p>Some leak through oversized base instructions. Move specialised rules into on-demand skills. Keep the default context small.</p><p>Some leak through unnecessary reasoning. Lower effort when the task is simple. Raise it when the task deserves it.</p><p>Some leak through bad task framing. Ask for the file, function, test, or failure mode you care about instead of telling the agent to &#8220;look around.&#8221; &#8220;Look around&#8221; is how an agent ends up inventorying the furniture.</p><p>None of this requires a new religion. It requires a small amount of mechanical sympathy for how agent loops actually burn context.</p><p>The future of AI coding will probably include larger windows, better caching, smarter tool calling, and more automatic compression. Anthropic has already shipped token-efficient tool-use features for the API that reduce output token consumption for tool calls, with early users seeing an average reduction of 14% and up to 70% in some cases. [9]</p><p>But even if the tools get smarter, the habit still matters.</p><p>A bigger context window is useful. A cleaner context window is leverage.</p><p>So yes: free tools to help you stretch your tokens. RTK for terminal noise. Caveman for agent chatter and recurring prose. Keep the claim honest: RTK compresses CLI output before it becomes model input; Caveman compresses visible output and can compress memory prose, but it does not directly compress hidden thinking tokens.</p><p>The slightly annoying question is the one worth keeping on your desk:</p><p>Are you running out of tokens, or are you just giving the model too much trash to carry?</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><p>1. OpenAI Help Center, &#8220;What are tokens and how to count them?&#8221;, accessed April 27, 2026. <a href="https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them">https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them</a></p><p>2. OpenAI API documentation, &#8220;Reasoning models&#8221;, accessed April 27, 2026. <a href="https://developers.openai.com/api/docs/guides/reasoning">https://developers.openai.com/api/docs/guides/reasoning</a></p><p>3. Anthropic Claude Code documentation, &#8220;Manage costs effectively&#8221;, accessed April 27, 2026. <a href="https://code.claude.com/docs/en/costs">https://code.claude.com/docs/en/costs</a></p><p>4. Anthropic Claude API documentation, &#8220;Token counting&#8221;, accessed April 27, 2026. <a href="https://platform.claude.com/docs/en/build-with-claude/token-counting">https://platform.claude.com/docs/en/build-with-claude/token-counting</a></p><p>5. rtk-ai/rtk GitHub README, accessed April 27, 2026. <a href="https://github.com/rtk-ai/rtk">https://github.com/rtk-ai/rtk</a></p><p>6. RTK website, &#8220;Make your AI coding agent smarter&#8221;, accessed April 27, 2026. <a href="https://www.rtk-ai.app/">https://www.rtk-ai.app/</a></p><p>7. JuliusBrussee/caveman GitHub README, accessed April 27, 2026. <a href="https://github.com/JuliusBrussee/caveman">https://github.com/JuliusBrussee/caveman</a></p><p>8. MD Azizul Hakim, &#8220;Brevity Constraints Reverse Performance Hierarchies in Language Models&#8221;, arXiv:2604.00025, submitted March 11, 2026. <a href="https://arxiv.org/abs/2604.00025">https://arxiv.org/abs/2604.00025</a></p><p>9. Anthropic, &#8220;Token-saving updates on the Anthropic API&#8221;, March 13, 2025, accessed April 27, 2026. <a href="https://claude.com/blog/token-saving-updates">https://claude.com/blog/token-saving-updates</a></p><p>10. A verification note: the article treats RTK and Caveman savings figures as project-reported measurements unless stated otherwise. I could verify the claims as published by the projects, but not independently reproduce their benchmark results during this pass.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI Is Cheap. Good Ideas Still Aren't.]]></title><description><![CDATA[The useful question is not whether AI saves hours. It is whether it lets teams buy more serious attempts without lowering the bar.]]></description><link>https://plausiblereality.com/p/ai-is-cheap-good-ideas-still-arent</link><guid isPermaLink="false">https://plausiblereality.com/p/ai-is-cheap-good-ideas-still-arent</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Tue, 28 Apr 2026 20:01:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2fe79648-92ff-45f3-bc9a-fa2cecf01d8d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most AI ROI debates begin with a payroll spreadsheet.  </p><p>How many people can this replace? How many hours can it shave? How much output can we squeeze from the same org chart before the org chart starts making a noise?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I think that is the wrong debate.</p><p>The useful question is not whether AI can make average work cheaper. It can. The useful question is whether it makes serious attempts cheap enough that teams can afford to search better.</p><p>That sounds like a small distinction.</p><p>It is not.</p><p>Treat AI as cheap labor and you get a faster content mill, a larger backlog of plausible nonsense, and a shiny new category of review debt. Treat AI as cheap ideation and critique and you can raise the quality frontier. You get more candidate designs, more test cases, more product angles, more copy variants, more user stories, more failure modes, and more chances to find the one option worth shipping.</p><p>The problem is usually not generation.</p><p>It is selection.</p><div><hr></div><h1>Cheap Means Marginal, Not Magical</h1><p>When people say AI is cheap, the word <em>cheap</em> often acquires several additional jobs.</p><p>Cheap to deploy. Cheap to govern. Cheap to integrate. Cheap to trust.</p><p>That larger claim is false.</p><p>AI is cheap in a narrower and more interesting sense: it lowers the marginal cost of one more attempt.</p><p>Stanford HAI&#8217;s 2025 AI Index reported that the inference cost for a system performing at GPT-3.5 level fell more than 280-fold between November 2022 and October 2024. That is the part of the economics that matters for ideation. One more draft, summary, test case, sketch, critique, or scenario is suddenly much cheaper than it used to be. [1]</p><p>But the model call is not the program cost.</p><p>The total cost still includes workflow redesign, data access, retrieval, security review, evaluation harnesses, legal controls, vendor management, and the human time required to decide whether the output is any good. The productivity J-curve literature makes the same point in language less likely to appear on a keynote slide: general-purpose technologies usually need complementary intangible investments before their benefits show up cleanly. [2]</p><p>This is why some AI pilots feel miraculous and others feel like expensive theater with excellent autocomplete.</p><p>The difference is not only model quality. It is whether the organization has built the surrounding machinery that converts cheap attempts into better outcomes.</p><p>Cheap attempts without selection are noise.</p><p>Cheap attempts with disciplined selection are leverage.</p><div><hr></div><h1>The Thing AI Buys Is Search</h1><p>A lot of teams still ask the small question:</p><p>Can AI write this memo?</p><p>The better question is:</p><p>How many versions of the memo, using how many frames and representing how many stakeholder perspectives, can I now afford to inspect before making the decision?</p><p>That is the strategic shift. AI changes the search budget.</p><p>In a professional writing experiment published in <em>Science</em>, ChatGPT reduced task time by 40% and increased output quality by 18%. That is not merely a speed story. It is also a quality story, because the tool made drafting and revision cheaper inside a bounded task. [3]</p><p>The Boston Consulting Group field experiment is even more useful because it reveals both the upside and the trap. In the experiment, 758 consultants completed realistic consulting tasks. For tasks inside the model&#8217;s capability frontier, consultants using AI completed 12.2% more tasks, worked 25.1% faster, and produced work rated more than 40% higher in quality than the control group. For one task outside the frontier, however, consultants using AI were 19 percentage points less likely to produce the correct answer. [4]</p><p>That is the entire AI strategy problem in miniature.</p><p>Inside the frontier, AI buys more search.</p><p>Outside the frontier, AI buys false confidence at scale, now available with professional formatting.</p><p>The same pattern appears elsewhere. In customer support, a study of 5,179 agents found that access to a generative AI assistant increased productivity by 14% on average, with a 34% improvement among novice and low-skilled workers. That matters because AI did not simply replace expertise. It helped redistribute some of the practices of stronger workers to people with less experience. [5]</p><p>In product innovation work at Procter &amp; Gamble, a field experiment involving 776 professionals found that individuals using AI matched the performance of two-person teams working without AI. It also found that AI helped R&amp;D and commercial professionals produce more balanced solutions across functional boundaries. [6]</p><p>That is not primarily a headcount story.</p><p>It is a collaboration story.</p><p>The strongest version of this argument is not that AI makes experts unnecessary. It is that AI makes a broader pool of ideas available before experts spend their scarce time.</p><p>Creative work shows the same promise and the same bill arriving afterward. In a <em>Science Advances</em> study, writers with access to AI-generated ideas produced stories judged more creative, better written, and more enjoyable. But the collective diversity of those stories fell. [7]</p><p>That final sentence is the tax.</p><p>AI can raise the floor while quietly moving the walls inward.</p><p>In R&amp;D, the search argument becomes more literal. Google DeepMind&#8217;s GNoME work, published in <em>Nature</em>, reported 381,000 new stable crystal structures available on the convex hull. The point is not that a scientist typed faster. The point is that AI changed the scale at which candidates could be explored. [8]</p><p>This is why &#8220;AI as automation&#8221; is too small a frame.</p><p>For many teams, the practical advantage is not doing the same thing with fewer people. It is making it economically reasonable to try more things, compare them, and find a better one.</p><div><hr></div><h1>The Jagged Frontier Is Where ROI Gets Embarrassed</h1><p>The lazy pro-AI story says the tool makes everyone faster.</p><p>The lazy anti-AI story says the tool is mostly slop.</p><p>Both are wonderfully convenient.</p><p>What actually matters is task fit. The frontier is jagged. A model may be excellent at drafting a first-pass policy, mediocre at designing the policy&#8217;s exception system, and dangerous when asked to infer the legal status of an edge case without grounding.</p><p>This sounds obvious. Teams miss it anyway.</p><p>They run one impressive demo, generalize from it, and then act surprised when a different workflow folds itself neatly into a production incident.</p><p>Software is a good place to practise humility. AI coding tools can be valuable for bounded tasks, scaffolding, test generation, and unfamiliar syntax. They can also slow down experts working inside large, mature codebases where context, judgment, and verification dominate the work.</p><p>METR&#8217;s early-2025 randomized trial found that experienced open-source developers working in their own repositories took 19% longer when AI tools were allowed. METR later noted that a follow-up experiment in late 2025 and early 2026 became harder to interpret because many developers did not want to participate in work without AI and because task selection changed. The researchers said the later data provided weak evidence of speedup rather than a clean estimate. [10]</p><p>The lesson is not &#8220;AI slows developers.&#8221;</p><p>The lesson is that measurement without context is a prank wearing a chart.</p><p>Advertising evidence has the same jagged shape. In the Pairit field experiment, human-AI teams produced 50% more ads per worker and higher-quality text, while human-human teams produced higher-quality images. The AI-assisted outputs also became more homogeneous. [9]</p><p>So yes, AI can produce more.</p><p>Sometimes it produces better.</p><p>Sometimes it produces faster sameness.</p><p>Preference is not performance.</p><p>A user liking the tool is not the same as the work improving. A team feeling faster is not the same as the release becoming safer. A stack of polished drafts is not the same as a better decision, although it does occupy more tabs.</p><p>AI often moves cost from generation to review.</p><p>That is fine, provided you admit it.</p><p>The question is not, &#8220;Did we produce more?&#8221;</p><p>The question is, &#8220;Did the extra attempts improve the selected output after evaluation, risk controls, and downstream consequences?&#8221;</p><p>That is a much harder question.</p><p>It is also the only one worth asking.</p><div><hr></div><h1>A Workflow: Generate Broadly, Critique Narrowly, Approve Explicitly</h1><p>Here is the pattern I would use for most quality-led AI pilots.</p><p>Do not begin by buying the fanciest model for everyone and hoping organizational wisdom appears in the license portal.</p><p>Begin with one workflow where additional variants could plausibly improve the outcome and where quality can be measured.</p><p>Product onboarding. Campaign copy. Support macros. Test generation. Architecture decision records. Internal research briefs. Design concepts. Customer email drafts.</p><p>Then run the workflow like this.</p><h2>1. Define the quality metric before anyone touches the model</h2><p>For a marketing team, that might include click-through rate, conversion rate, cost per acquisition, brand compliance, and creative diversity.</p><p>For software, it might include unit-test pass rate, review churn, revert rate, defect escape, maintainability, cycle time, and developer satisfaction.</p><p>For product design, it might include feasibility, novelty, variety across solution families, user value, and downstream validation success.</p><p>Developer productivity frameworks such as SPACE explicitly warn against reducing productivity to a single activity metric. Design research similarly distinguishes quantity, quality, novelty, and variety in ideation. [11] [12]</p><p>A metric chosen after the demo is not really a metric.</p><p>It is applause with arithmetic.</p><h2>2. Generate too many options on purpose</h2><p>Ask for 30 candidate onboarding flows, not three.</p><p>Ask for failure modes affecting novice users, power users, support teams, legal reviewers, and abuse cases. Ask for boring ideas, risky ideas, high-variance ideas, and ideas optimized for constraints the team normally ignores.</p><p>This is where cheap models, templates, and reusable prompts make sense.</p><p>You are not looking for the final answer.</p><p>You are buying breadth.</p><h2>3. Force disagreement</h2><p>Have the model critique its own outputs against the rubric. Have a second model argue against the first. Have humans mark outputs as promising, wrong, duplicative, risky, or surprisingly useful.</p><p>Ask what assumptions would need to be true for each option to win.</p><p>This is not because models are reliable judges.</p><p>They are not.</p><p>It is because structured critique turns a pile of drafts into a map of trade-offs. The pile is still there, but at least it now has road signs.</p><h2>4. Ground the shortlist</h2><p>This is where teams should spend money.</p><p>Use retrieval against approved sources. Run tests. Check facts. Ask legal or security to review only the shortlisted options that genuinely matter. Use stronger models for difficult reasoning, not for every passing brainstorm that wandered into the prompt.</p><p>Put humans at the points where judgment, accountability, and taste matter.</p><h2>5. Approve explicitly</h2><p>The final artifact should include a short decision log:</p><ul><li><p>What was selected</p></li><li><p>Why it was selected</p></li><li><p>What was rejected</p></li><li><p>What evidence was used</p></li><li><p>What risks remain</p></li><li><p>Who owns the outcome</p></li></ul><p>That log is not bureaucracy.</p><p>It is institutional memory, which is what bureaucracy occasionally becomes when it is having a good day.</p><p>Consider a concrete example. Suppose a product team wants to improve trial activation.</p><p>The weak AI workflow asks a chatbot for onboarding ideas and ships the prettiest one.</p><p>The useful workflow asks for 40 onboarding variants across user segments, clusters them into themes, and scores them against friction, clarity, implementation cost, abuse risk, and likely activation impact. The team then selects three for testing.</p><p>Engineering uses AI to generate edge cases and test plans. Support uses AI to draft changes to its macros. Legal reviews only the two flows that touch sensitive data. Product records why the winner was chosen.</p><p>No one in that workflow worships the model.</p><p>They use it to make exploration cheap, then spend human attention where it compounds.</p><div><hr></div><h1>Measurement Is the Moat</h1><p>AI programs fail quietly when they measure activity and call it value.</p><p>Number of prompts is not value.</p><p>Number of drafts is not value.</p><p>Tokens consumed is not value.</p><p>Hours allegedly saved are not value unless those hours become something better.</p><p>The target is quality-adjusted output.</p><p>That phrase is ugly.</p><p>It is also the right one.</p><p>A quality-led ROI model should include four terms:</p><ul><li><p>What was the value of the quality uplift?</p></li><li><p>What additional experiments became possible?</p></li><li><p>What time savings were actually redeployed to higher-value work?</p></li><li><p>What risk losses were avoided?</p></li></ul><p>Then subtract the total AI program cost, not merely the model invoice, which is usually the friendliest number in the room.</p><p>The total cost includes seats, tokens, integration, retrieval, observability, evaluations, security, compliance, human review, training, vendor management, and the time spent cleaning up confident mistakes.</p><p>The failure mode is predictable. A team runs a pilot, sees that people feel faster, buys more licenses, and declares victory before measuring whether the selected outputs improved.</p><p>This is why the most useful AI metrics are often boring.</p><p>For software, count fewer escaped defects, fewer reverts, faster review of low-risk changes, better test coverage, and less review fatigue.</p><p>For marketing, count more meaningful experiments and better conversion, not merely more copy.</p><p>For product, count whether the team found ideas that survived contact with user evidence.</p><p>For internal writing, count whether decisions became clearer and faster, not whether the documents became longer and developed an executive summary.</p><p>The best AI deployment will often look less like a productivity dashboard and more like an experiment system.</p><p>Baseline.</p><p>Generate.</p><p>Select.</p><p>Test.</p><p>Learn.</p><p>Repeat.</p><div><hr></div><h1>Governance Is Not a Vibes Tax</h1><p>A lot of builders treat governance as the department of no.</p><p>That is lazy.</p><p>Risk-based governance is how you stop cheap attempts from becoming expensive mistakes.</p><p>NIST&#8217;s Generative AI Profile for the AI Risk Management Framework identifies risks directly relevant to this kind of workflow: data privacy, harmful bias and homogenization, intellectual property, information integrity, and the need for pre-deployment and ongoing evaluation. [13]</p><p>Those are not abstract enterprise concerns floating somewhere above the real work.</p><p>They appear inside ordinary work.</p><p>A model drafts customer copy that subtly changes a claim. A sales deck includes an invented customer reference. A code assistant suggests a dependency with a licensing problem. A team uses the same model and prompt pattern until every campaign sounds as though it came from the same mildly caffeinated intern. A product researcher uploads sensitive notes into a tool that should never have seen them.</p><p>Cheap ideation increases surface area.</p><p>Governance should therefore live inside the workflow, not arrive at the end carrying a clipboard and bad news.</p><p>That means maintaining a use-case inventory. Setting clear data boundaries. Using retrieval from approved sources. Defining human-review thresholds. Recording provenance for generated assets. Keeping evaluation logs. Supporting incident reporting. Reviewing vendors. Periodically checking for output sameness.</p><p>It also means having a rule that high-stakes uses require stronger evidence than &#8220;the model sounded confident.&#8221;</p><p>Copyright belongs in this discussion too. The U.S. Copyright Office&#8217;s 2025 report on AI and copyrightability concluded that purely AI-generated material is not copyrightable, that prompts alone are unlikely to provide sufficient control, and that human-authored expression, creative selection, arrangement, or modification can matter. [14]</p><p>The practical point is simple:</p><p>If the output matters, document the human contribution.</p><p>Not because paperwork is fun.</p><p>Because provenance becomes part of quality.</p><div><hr></div><h1>The Uncomfortable Team Question</h1><p>If AI makes attempts cheap, the role of the team changes.</p><p>People do less blank-page production. They do more framing, delegation, evaluation, verification, and integration.</p><p>That sounds tidy.</p><p>In practice, it is politically weird.</p><p>The person once rewarded for producing the first draft may now be rewarded for writing the best rubric. The senior engineer may spend less time typing boilerplate and more time identifying which generated patch is subtly wrong. The product manager may become more valuable by asking better questions than by producing longer strategy documents. The designer may become the guardian of taste against the beige flood.</p><p>This is why AI adoption is an organization-design problem disguised as a tool rollout.</p><p>DORA&#8217;s 2025 research on AI-assisted software development put the point cleanly: AI acts as an amplifier, magnifying an organization&#8217;s existing strengths and weaknesses. The greatest returns come not from the tools alone, but from improving the underlying system. [15]</p><p>That matches the evidence everywhere else.</p><p>AI helps when the workflow knows what good means.</p><p>It hurts when the workflow has no taste, no metrics, no review capacity, and nobody willing to say no to polished garbage.</p><p>The wrong debate is whether AI replaces people.</p><p>The sharper debate is which human work becomes more important when generation becomes cheap.</p><p>My answer is framing, taste, domain judgment, experimental discipline, and accountability.</p><p>AI is not cheap intelligence.</p><p>It is cheap attempts.</p><p>The teams that benefit will not be those producing the largest volume of synthetic output. They will be the teams that use cheap attempts to find better options, then retain the discipline to reject most of them.</p><p>So here is the slightly annoying question.</p><p>Where is your team still behaving as though serious attempts are expensive?</p><p>And is that prudence, or merely an old cost structure wearing a strategy badge?</p><div><hr></div><h2>Notes and References</h2><ol><li><p>Stanford Institute for Human-Centered Artificial Intelligence, <em>The 2025 AI Index Report</em>, 2025. <a href="https://hai.stanford.edu/ai-index/2025-ai-index-report">https://hai.stanford.edu/ai-index/2025-ai-index-report</a></p></li><li><p>Erik Brynjolfsson, Daniel Rock, and Chad Syverson, &#8220;The Productivity J-Curve: How Intangibles Complement General Purpose Technologies,&#8221; <em>American Economic Journal: Macroeconomics</em>, 2021. <a href="https://www.aeaweb.org/articles?id=10.1257/mac.20180386">https://www.aeaweb.org/articles?id=10.1257/mac.20180386</a></p></li><li><p>Shakked Noy and Whitney Zhang, &#8220;Experimental Evidence on the Productivity Effects of Generative Artificial Intelligence,&#8221; <em>Science</em>, 2023. <a href="https://www.science.org/doi/10.1126/science.adh2586">https://www.science.org/doi/10.1126/science.adh2586</a></p></li><li><p>Fabrizio Dell&#8217;Acqua et al., &#8220;Navigating the Jagged Technological Frontier: Field Experimental Evidence of the Effects of AI on Knowledge Worker Productivity and Quality,&#8221; Harvard Business School / SSRN, 2023. <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4573321">https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4573321</a></p></li><li><p>Erik Brynjolfsson, Danielle Li, and Lindsey R. Raymond, &#8220;Generative AI at Work,&#8221; NBER Working Paper 31161, 2023; later published in <em>The Quarterly Journal of Economics</em>, 2025. <a href="https://www.nber.org/papers/w31161">https://www.nber.org/papers/w31161</a></p></li><li><p>Fabrizio Dell&#8217;Acqua et al., &#8220;The Cybernetic Teammate: A Field Experiment on Generative AI Reshaping Teamwork and Expertise,&#8221; NBER Working Paper 33641, 2025. <a href="https://www.nber.org/papers/w33641">https://www.nber.org/papers/w33641</a></p></li><li><p>Anil R. Doshi and Oliver P. Hauser, &#8220;Generative AI Enhances Individual Creativity but Reduces the Collective Diversity of Novel Content,&#8221; <em>Science Advances</em>, 2024. <a href="https://www.science.org/doi/10.1126/sciadv.adn5290">https://www.science.org/doi/10.1126/sciadv.adn5290</a></p></li><li><p>Amil Merchant et al., &#8220;Scaling Deep Learning for Materials Discovery,&#8221; <em>Nature</em>, 2023. <a href="https://www.nature.com/articles/s41586-023-06735-9">https://www.nature.com/articles/s41586-023-06735-9</a></p></li><li><p>Hyelim Ju et al., &#8220;Collaborating with AI Agents: A Field Experiment on Teamwork, Productivity, and Performance,&#8221; arXiv, version updated 2026. <a href="https://arxiv.org/abs/2503.18238">https://arxiv.org/abs/2503.18238</a></p></li><li><p>Joel Becker, Nate Rush, Elizabeth Barnes, and David Rein, &#8220;Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity,&#8221; METR, 2025; and Joel Becker et al., &#8220;We are Changing our Developer Productivity Experiment Design,&#8221; METR, 2026. <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/</a> and <a href="https://metr.org/blog/2026-02-24-uplift-update/">https://metr.org/blog/2026-02-24-uplift-update/</a></p></li><li><p>Nicole Forsgren et al., &#8220;The SPACE of Developer Productivity,&#8221; <em>ACM Queue</em>, 2021. <a href="https://queue.acm.org/detail.cfm?id=3454124">https://queue.acm.org/detail.cfm?id=3454124</a></p></li><li><p>Scarlett R. Miller et al., &#8220;How Should We Measure Creativity in Engineering Design? A Comparison of Social Science and Engineering Approaches,&#8221; <em>Journal of Mechanical Design</em>, 2021. <a href="https://asmedigitalcollection.asme.org/mechanicaldesign/article/143/3/031404/1090546/How-Should-We-Measure-Creativity-in-Engineering">https://asmedigitalcollection.asme.org/mechanicaldesign/article/143/3/031404/1090546/How-Should-We-Measure-Creativity-in-Engineering</a></p></li><li><p>National Institute of Standards and Technology, <em>Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile</em>, NIST AI 600-1, 2024. <a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf</a></p></li><li><p>U.S. Copyright Office, <em>Copyright and Artificial Intelligence, Part 2: Copyrightability</em>, 2025. <a href="https://www.copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf">https://www.copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf</a></p></li><li><p>DORA, <em>State of AI-assisted Software Development</em>, 2025. <a href="https://dora.dev/dora-report-2025/">https://dora.dev/dora-report-2025/</a></p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Agent Isn't Tired. It's Drowning in Context]]></title><description><![CDATA[The useful analogy between humans and LLMs is not consciousness. It is that both fall apart when active memory, compression, and management are sloppy.]]></description><link>https://plausiblereality.com/p/your-agent-isnt-tired-its-drowning</link><guid isPermaLink="false">https://plausiblereality.com/p/your-agent-isnt-tired-its-drowning</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sat, 25 Apr 2026 20:01:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7305d13f-2a0d-4c36-9b87-ada47d6260a9_1731x909.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You can feel this problem in your own skull first.</p><p>After a long day, you stop failing heroically and start failing stupidly. You lose the thread of a conversation that is still happening. You reread the same paragraph. You forget the constraint you wrote down an hour ago, presumably to prevent exactly this.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Then you watch a long-running agent do the machine version of the same thing. It misses the key detail buried in the middle of the prompt. It keeps circling a dead end. It summarizes a tool result so aggressively that the only useful fact disappears. It is not malicious. It is overloaded.</p><p>People want to turn this into philosophy. Are humans just next-token predictors? Are LLMs baby minds? I think that is the wrong debate.</p><p>The useful question is not whether humans and models are the same kind of thing. It is whether they share enough operational constraints that the comparison makes us better builders. On that question, the answer is yes.</p><p>The big similarity is boring and extremely useful: both humans and LLM systems have a limited active workspace sitting in front of a much larger store of potential information. When that workspace gets cluttered, performance gets weird.</p><p>That is why the analogies land. Brain fog and context rot feel related. Note-taking and RAG feel related. Bad evidence poisoning human recall and bad retrieval poisoning agent output feel related.</p><p>But only if you keep the guardrails on. Human fatigue is biological. Human memory changes during sleep. LLM memory is usually an engineered stack of context, summaries, retrieval, logs, and perhaps a persistent memory layer. Treat the analogy as workflow, not metaphysics, and it becomes surprisingly sharp.</p><p style="text-align: center;">* * *</p><h1>The wrong debate is ontology</h1><p>Human working memory is small. Depending on the frame, researchers put the core limit around roughly four chunks, or about three to five meaningful chunks. That is not a lot of live slots for planning, holding constraints, and comparing alternatives.</p><p>LLMs have the same kind of bottleneck in a different substrate. The context window is the obvious version, but the deeper issue is not merely how much text fits. It is how much of that text the model can still use well.</p><p>This sounds obvious, but teams miss it all the time. They hear &#8220;128K&#8221; or &#8220;1M tokens&#8221; and mentally translate that into &#8220;the model can keep everything in mind.&#8221; No. A larger whiteboard is not the same thing as better working memory. Sometimes it is just a larger whiteboard with more things written in the wrong corner.</p><p>The Lost in the Middle paper made this painfully concrete: models often perform best when relevant information sits near the beginning or end of a long prompt, and worse when the key fact is buried in the middle. NoLiMa pushed the point further by stripping away easy literal matches. Performance fell sharply as contexts grew, even before models hit their advertised limits.</p><p>So the useful analogy is not &#8220;humans are language models.&#8221; It is &#8220;both systems have a fragile active state.&#8221; What actually matters is not raw storage. It is selection, ordering, salience, and refresh.</p><p>That is also why context engineering is not prompt decoration. It is workload design. You are deciding what gets desk space right now, what gets pushed into a filing cabinet, what gets summarized, and what gets dropped.</p><p>Preference is not performance. Developers prefer the fantasy that one giant context will remove the need for memory architecture. Performance usually comes from the opposite move: smaller working sets, tighter task framing, and more aggressive eviction of stale state. Apparently &#8220;keep the desk tidy&#8221; survives the transition to artificial intelligence.</p><p style="text-align: center;">* * *</p><h1>Brain fog is context debt</h1><p>When people say brain fog after a long day, they are usually pointing at slower thinking, weaker attention, and worse executive control after sustained cognitive effort. Reviews of cognitive fatigue describe exactly that sort of degradation.</p><p>The model-side analogue is real, but it is not literal fatigue. Models do not need coffee. They accumulate context debt.</p><p>Context debt appears when a session becomes an archaeological site: too many tool results, too many half-resolved threads, too many summaries of summaries, too much retrieved material with no ranking discipline. The agent can still &#8220;see&#8221; a lot of text. It just stops allocating attention to the right parts of it.</p><p>This is why giving the model a break does nothing unless the break changes the state. A human benefits from sleep, food, a walk, or simply stopping. An agent benefits from pruning, compaction, retrieval, and explicit memory writes. Sending it away for the weekend would mostly postpone the next API call.</p><p>Anthropic&#8217;s own engineering work makes the point in a very unromantic way. In a 2025 internal agentic-search evaluation, context editing alone improved performance by 29 percent over baseline, and context editing plus a memory tool improved it by 39 percent. In a 100-turn search evaluation, context editing also cut token consumption by 84 percent while allowing workflows to complete that would otherwise fail from context exhaustion.</p><p>That is the punchline. The lever is not empathy for the model. The lever is state management.</p><p>I think this matters because a lot of teams still debug agents as if the main problem were intelligence. Sometimes it is. Much more often the agent is doing the exact wrong thing with the exact wrong pile of context that you handed it.</p><p style="text-align: center;">* * *</p><h1>Memory is compression, not recording</h1><p>Human memory is not a replay buffer. It is reconstructive. Reviews of hippocampal-neocortical memory transformation describe a shift from detail-rich traces toward gist-like and schematic representations over time. Sleep-dependent replay is thought to help the hippocampus teach the neocortex, turning specific episodes into more reusable knowledge.</p><p>That is a terrible metaphor for most production AI memory features, which is exactly why people keep getting confused.</p><p>In most deployed systems, &#8220;memory&#8221; means one of four things: model weights, current context, a retrieved external store, or a persistent note that can be reinserted later. The original RAG paper called this split parametric memory versus non-parametric memory. That distinction still does a lot of useful work.</p><p>OpenAI&#8217;s current memory documentation is explicit that saved memories are stored separately from chat history. Anthropic&#8217;s current memory tooling is explicit in the other direction: the memory tool is client-side, and developers control where the data is stored. In both cases, the practical picture is much closer to a notebook plus a recall policy than to anything like autonomous consolidation.</p><p>So when teams say, &#8220;the model learned this during the conversation,&#8221; I usually flinch. Unless you retrained or fine-tuned something, it probably did not learn in the human sense. It wrote a better sticky note.</p><p>This is also where note-taking becomes a stronger analogy than people realize. The classic note-taking literature distinguishes between an encoding effect and an external-storage effect. Writing notes can help you learn. Reviewing notes later also helps you remember.</p><p>Agent memory writes usually get only half of that. They are storage plus future lookup. Human note-taking is storage plus self-training.</p><p>That asymmetry explains why dumping every observation into a vector store feels disappointing. You built retention, not understanding. The filing cabinet is magnificent. Nobody became wiser.</p><p>The useful question is not whether to use long context or RAG as a religion. Recent comparisons suggest that long context can outperform RAG when you spend enough tokens, especially on question answering over dense sources, while RAG keeps real cost advantages and can still win in some dialogue or general-query settings. Anthropic&#8217;s Contextual Retrieval work also showed how much retrieval quality matters: its method reduced failed retrievals by 49 percent, and by 67 percent when combined with reranking.</p><p>What actually matters is tiering. Stable policy belongs in persistent memory. Source material belongs in retrieval. Immediate objectives belong in the live working set. Decisions and unresolved issues belong in a rolling summary. And facts you want the base model to truly internalize belong in training, not in wishful thinking.</p><p style="text-align: center;">* * *</p><h1>Bad evidence scales faster than good memory</h1><p>There is one more similarity that matters because it wrecks outputs quietly: both humans and models are vulnerable to bad evidence.</p><p>The misinformation effect literature showed long ago that people can absorb false post-event information about something they actually experienced and later recall the corrupted version. That is one of the clearest reminders that human memory is reconstructive, not camera-like.</p><p>Agent systems have the machine version of the same problem. A retrieved chunk can be irrelevant, noisy, outdated, or simply false. Once it enters the working set, the model often treats it as the problem definition. The right answer can still exist somewhere in the system, and the run can still fail because the active evidence stream got polluted.</p><p>This is why provenance is not paperwork. It is part of reasoning quality.</p><p>Anthropic ran into the practical version of this while building its research system: human testers found that early agents sometimes preferred SEO-optimized content farms over better sources. That is not a cute bug. That is the whole ballgame. If the retrieval layer rewards the wrong evidence, the model will faithfully produce polished nonsense from the wrong pile of facts.</p><p>A lot of teams respond by adding more memory. Usually that makes it worse. Bad evidence that gets summarized, stored, and reintroduced later stops being a transient mistake and becomes durable contamination. Congratulations: the bug now has institutional memory.</p><p>The useful rule is simple. Never let unaudited retrieval jump straight into persistent memory. First rank it. Then attribute it. Then compare it against an independent source if the claim matters. Only then let it harden into summary state or a saved fact.</p><p>For humans, the equivalent is obvious. We do better when we write down where a claim came from, compare notes, and correct errors quickly before they become the story we now remember. For agents, the same discipline applies, just with less dignity and more logs.</p><p>Good memory architecture is therefore inseparable from source hygiene. The problem is usually not that the system forgot. It is that it remembered the wrong thing too confidently.</p><p style="text-align: center;">* * *</p><h1>A memory stack I&#8217;d actually ship</h1><p>Here is the stack I would use for a long-running coding or research agent working on something nontrivial.</p><p>First, a task brief. One screen, perhaps two. Objective, hard constraints, success criteria, source hierarchy, and the one thing the agent must not forget. This stays pinned near the top of context. It is the machine equivalent of the ticket you keep open on the second monitor.</p><p>Second, a tiny working set. Only the files, snippets, tool results, and subproblems relevant to the current move. Not the whole repo. Not the whole transcript. Just the live battlefield.</p><p>Third, a rolling decision log. After each major step, write down what changed, why it changed, what remains unresolved, and what evidence justified the move. This is the part most teams skip, and then they wonder why the agent starts contradicting itself 40 turns later.</p><p>Fourth, an evidence store. Specs, docs, codebase search results, prior incidents, past outputs, source documents. Searchable, ranked, and aggressively deduplicated. If this store turns into a junk drawer, the agent&#8217;s reasoning will faithfully inherit the junk.</p><p>Fifth, a handoff note. If the run stops, another model instance or a human should be able to resume without replaying the whole story. Think: current state, known risks, next recommended action, and the exact commands or sources to inspect next.</p><p>Notice what is missing: &#8220;just shove everything into the prompt and pray.&#8221;</p><p>Imagine a repo-migration agent moving a medium-sized service from one internal SDK to another.</p><p>If you dump the whole codebase, migration guide, old tickets, and prior failed attempts into one huge prompt, the agent will look busy and unreliable at the same time. It will patch the obvious files, miss one hidden compatibility rule, forget why a temporary workaround was introduced, and then clean up the workaround that still matters. Very productive. Several errors per minute.</p><p>With the stack above, the run looks different. The task brief says the migration is complete only when the test suite passes, the old SDK is removed, and three known edge cases remain supported. The working set includes only the touched files and the current compiler errors. The decision log records why a shim was kept. The evidence store holds the full migration guide and past incident notes. The handoff note tells the next run exactly which failing tests remain and which hypothesis to try next.</p><p>That is not a smarter model. It is a less amnesic workplace.</p><p>This is not fancy. It is the same pattern good teams use with humans. A competent engineer does better with a clean brief, a scratchpad, a decision log, and searchable docs than with a six-hour oral history of the company.</p><p>The difference is that humans can sometimes reconstruct missing intent from context, social cues, and common sense. Models are much more literal. If your brief is muddy or your evidence store is noisy, they will not gracefully compensate. They will operationalize the confusion.</p><p>One more thing: memory writes should be selective and typed. Do not save &#8220;something important happened.&#8221; Save &#8220;decision,&#8221; &#8220;fact with source,&#8221; &#8220;open question,&#8221; &#8220;user preference,&#8221; or &#8220;risk.&#8221; Bad memory schemas create memory sludge, and memory sludge is just another name for future context rot.</p><p style="text-align: center;">* * *</p><h1>Managing agents is management without the human parts</h1><p>This is the part where the analogy becomes slightly annoying for managers.</p><p>A surprising amount of agent work really does look like management. You define the task. Bound the scope. Give the right tools. Preserve the important context. Review outputs. Tighten the feedback loop. Anthropic&#8217;s guidance on building effective agents keeps returning to the same boring point: simple, composable patterns beat elaborate frameworks more often than teams want to admit.</p><p>But managing agents is not people management. It is management with the tacit social repair stripped out.</p><p>Humans ask clarifying questions. Or at least the good ones do. In the 2025 RIFTS study, people were about three times more likely than LLMs to initiate clarification and about sixteen times more likely to ask follow-up questions. Early grounding failures also predicted downstream breakdowns. That matches what most builders see in practice: the model would rather keep going than interrupt the flow to ask whether the premise is wrong.</p><p>With a human, ambiguity can sometimes heal socially. Someone notices the weirdness, reads the room, and asks, &#8220;Wait, which database do you mean?&#8221; With an agent, ambiguity often gets laundered into action. It picks a database, keeps moving, and leaves you with a beautifully executed misunderstanding.</p><p>That is why good agent managers become obsessive about four things.</p><p>They define escalation rules: when to ask, when to search, when to stop, and when to hand off.</p><p>They design tools like interfaces, not magic powers. Anthropic&#8217;s multi-agent research system only became reliable when the orchestrator learned how to delegate clearly and when tool descriptions became distinct enough to prevent duplicated work, gaps, and wrong-path behavior.</p><p>They build observability. Agents are easier to inspect than humans. Prompts, tool calls, summaries, and logs are all visible. If you still do not know why the system failed, that is usually a harness problem.</p><p>And they evaluate early with small, real tasks instead of waiting for an imaginary perfect benchmark. Again, the lesson from Anthropic&#8217;s agent work is boring and right: tight feedback loops beat grand architecture.</p><p>I think the cleanest framing is this: managing agents is less like motivating employees and more like designing a cockpit. The job is not to inspire the pilot. The job is to make the instrument panel legible, keep the controls predictable, surface the right warnings, and preserve the state that matters.</p><p>The wrong debate is whether agents are becoming more human. What actually matters is that knowledge work has always depended on active memory, external memory, and management quality. LLM systems just make that dependency brutally literal.</p><p>So yes, the analogy works. Brain fog and context rot rhyme. Note-taking and RAG rhyme. Bad evidence corrupts both human recall and machine output. But the practical lesson is not mystical. It is architectural.</p><p>If your agent keeps losing the plot, buy less magic and build more memory. Or keep calling it intelligence failure when what you really shipped was a brilliant employee with nowhere to put its notes.</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><p>1. Nelson Cowan, &#8220;On the capacity of attention: Its estimation and its role in working memory and cognitive aptitudes,&#8221; Cognitive Psychology 51, no. 1 (2005).</p><p>2. Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, and Percy Liang, &#8220;Lost in the Middle: How Language Models Use Long Contexts,&#8221; Transactions of the Association for Computational Linguistics 12 (2024): 157-173.</p><p>3. Ali Modarressi, Hanieh Deilamsalehy, Franck Dernoncourt, Trung Bui, Ryan A. Rossi, Seunghyun Yoon, and Hinrich Schutze, &#8220;NoLiMa: Long-Context Evaluation Beyond Literal Matching,&#8221; arXiv:2502.05167 (2025).</p><p>4. Mathias Pessiglione and colleagues, &#8220;Origins and consequences of cognitive fatigue,&#8221; Trends in Cognitive Sciences (2025).</p><p>5. Jessica Robin and Morris Moscovitch, &#8220;Details, gist and schema: hippocampal-neocortical interactions underlying recent and remote episodic and spatial memory,&#8221; Current Opinion in Behavioral Sciences 17 (2017).</p><p>6. Dhairyya Singh, Kenneth A. Norman, and Alison C. Schapiro, &#8220;A model of autonomous interactions between hippocampus and neocortex driving sleep-dependent memory consolidation,&#8221; Proceedings of the National Academy of Sciences 119, no. 44 (2022).</p><p>7. Kenneth A. Kiewra, &#8220;A review of note-taking: The encoding-storage paradigm and beyond,&#8221; Educational Psychology Review 1 (1989): 147-172.</p><p>8. Patrick Lewis and colleagues, &#8220;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,&#8221; NeurIPS 33 (2020).</p><p>9. Zhuowan Li, Cheng Li, Mingyang Zhang, Qiaozhu Mei, and Michael Bendersky, &#8220;Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach,&#8221; arXiv:2407.16833 (2024).</p><p>10. Xinze Li, Yixin Cao, Yubo Ma, and Aixin Sun, &#8220;Long Context vs. RAG for LLMs: An Evaluation and Revisits,&#8221; arXiv:2501.01880 (2025).</p><p>11. Michael S. Ayers and Lynne M. Reder, &#8220;A theoretical review of the misinformation effect: Predictions from an activation-based memory model,&#8221; Psychonomic Bulletin &amp; Review 5 (1998): 1-21.</p><p>12. Anthropic, &#8220;Contextual Retrieval in AI Systems,&#8221; September 19, 2024.</p><p>13. OpenAI, &#8220;Memory FAQ,&#8221; updated 2026; OpenAI, &#8220;Memory and new controls for ChatGPT,&#8221; updated June 3, 2025.</p><p>14. Anthropic, &#8220;Managing context on the Claude Developer Platform,&#8221; September 29, 2025; Anthropic, &#8220;Effective context engineering for AI agents,&#8221; September 29, 2025.</p><p>15. Anthropic, &#8220;Building effective agents,&#8221; December 19, 2024.</p><p>16. Anthropic, &#8220;How we built our multi-agent research system,&#8221; June 13, 2025.</p><p>17. Omar Shaikh and colleagues, &#8220;Navigating Rifts in Human-LLM Grounding: Study and Benchmark,&#8221; arXiv:2503.13975 (2025).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Org Chart Is Not Your Operating Model]]></title><description><![CDATA[Why healthy software teams keep accountability close to the product, centralize leverage, and design for knowledge resilience]]></description><link>https://plausiblereality.com/p/your-org-chart-is-not-your-operating</link><guid isPermaLink="false">https://plausiblereality.com/p/your-org-chart-is-not-your-operating</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Thu, 23 Apr 2026 20:01:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f74d3c5f-0ab9-4752-a096-0f432408315a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The research behind this piece makes a point that should not be controversial, yet has somehow survived contact with management: assigning engineering work is not merely a staffing exercise. It is an operating-model decision.</p><p>Every time a manager gives the ugliest migration to the same senior engineer, keeps support safely quarantined from product teams, or leaves incident response filed under the reassuringly specific category of &#8220;engineering problem,&#8221; they are making a bet. Part of that bet concerns speed. The rest concerns who develops, who gets overloaded, how customers are heard, and how many parts of the business become quietly dependent on one human remaining healthy, employed, and responsive on Slack.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I think most software org-design arguments begin in the wrong place. Teams debate centralized versus decentralized support. They debate whether &#8220;you build it, you run it&#8221; is enlightened ownership or cruelty with better branding. They debate whether PMs or EMs &#8220;really&#8221; own delivery. Then production wobbles, an enterprise customer escalates, and the truth arrives without a calendar invitation: nobody can quite explain who owns the outcome, who may decide the trade-offs, or who is meant to help without simply taking the work away.</p><p>The useful question is not centralized or decentralized. It is this: what should remain close to the product, what should be standardized for leverage, and how much support does a person need for this particular task, in this particular context, right now?</p><p>That is a much less ideological question. It is also considerably more useful.</p><div><hr></div><h1>Staffing for Speed Usually Breaks the System</h1><p>The research frames engineering assignments as a balance among three goals: immediate efficiency for the business, growth and challenge for the individual, and long-term durability for the team through wider knowledge distribution. That is exactly the right frame.</p><p>Most teams still optimize for the first goal because it looks measurable. There is a deadline. A customer is waiting. One engineer has previously encountered this peculiar subsystem and lived to mention it. So the same person receives the ticket, the migration, the escalation, the architecture decision, and the after-hours Slack message. On paper, this appears efficient. In practice, it is a loan whose interest department has ambitions.</p><p>You get the feature faster this month. You also get a narrower bench, a slower onboarding path for everyone else, and a team that repeatedly confuses expertise with exclusivity. You teach the organization that the safest route is always &#8220;give it to the person who already knows.&#8221; Then everyone appears surprised when the only thing that scales is that person&#8217;s calendar.</p><p>Preference is not performance. A team&#8217;s preference for the familiar expert is often just a preference for less short-term anxiety. Performance is whether the organization can continue shipping, supporting, and learning when that expert is on holiday, working on another priority, or walking out of the door.</p><p>This is why durability matters so much. A low bus factor is not an abstract cleanliness complaint raised by architecture enthusiasts who have run out of diagrams. It is an operating risk. If only one or two people can explain a service, diagnose it under pressure, and change it safely, the service is fragile regardless of how many dashboards the company has purchased.</p><p>One reason this is repeatedly missed is that software teams love the language of ownership and dislike the cost of creating it. Real ownership requires priorities stable enough for people to learn their domains, leadership supportive enough for them to stretch into new ones, and developer experience good enough that the team does not spend all its time wrestling avoidable friction. None of this is glamorous. It is merely what the research keeps saying.</p><p>This does not mean romanticizing rotation. That is another management hobby that deteriorates quickly when exposed to actual work. Stretch assignments are valuable. Blind rotation is not. Research on job rotation in software organizations has found genuine benefits&#8212;broader knowledge, greater variety, and stronger collaboration&#8212;but also genuine costs, including additional coordination and slower ramp-up when rotation is handled badly.</p><p>Managers should stop treating &#8220;let&#8217;s rotate people more&#8221; as a moral virtue. The objective is resilience and growth, not administratively induced motion sickness.</p><p>So yes, give newer engineers stretch work. Yes, move knowledge across boundaries. But budget for the activation energy. Pair first. Shadow on-call. Use scoped migrations. Run design reviews. Rotate the parts of ownership that spread understanding without detonating reliability.</p><p>This sounds obvious, but teams miss it constantly. They believe they are making a staffing choice. They are actually selecting the kind of system they will be operating six months later.</p><div><hr></div><h1>Roles Matter Less Than Decision Rights</h1><p>The research is strongest when it treats work allocation as a managerial lens. It becomes thinner when you ask the more dangerous question: who actually owns what when pressure arrives?</p><p>This is where titles become a trap. The wrong debate is &#8220;Which title owns this?&#8221; The useful question is &#8220;Who is accountable for the outcome, who is doing the work, who is supporting it, and who decides the trade-offs when those trade-offs become expensive?&#8221;</p><p>The boundaries are not especially mysterious. Product managers decide which problems matter, where capacity goes, and how success is measured. Engineering managers build the team system: staffing, coaching, feedback, the delivery environment, and capacity over time. Developers and technical leads carry technical execution and local design judgement. Support resolves customer issues, manages response expectations, and escalates effectively. Customer success drives adoption, value realization, and retention over time. SRE and platform teams reduce operational toil and cognitive load. QA helps shape test strategy and risk-based validation, but quality remains a team outcome.</p><p>The important part is not memorizing the boxes. The important part is separating decision rights from collaboration rights.</p><p>A PM does not need to line-manage engineers to own prioritization. An EM does not need to serve as the sole architecture authority to own team health and delivery capacity. A support team should not become the default product manager merely because it encounters substantial pain. Customer success should not be used as a support desk with a more optimistic name. SRE should not become the generic queue for every operational mess product teams would prefer to regard as somebody else&#8217;s personal growth opportunity.</p><p>In a small company, one person may wear several hats. That is fine. The hats still require names.</p><p>If your incident process begins with &#8220;who knows this area?&#8221; and your escalation process ends with &#8220;can someone pull in Alex?&#8221;, the org chart is decorative. What you actually have is an informal routing network wearing a company badge.</p><p>That is why good operating models obsess over explicit ownership, escalation paths, service boundaries, and discoverability. Not because bureaucracy is delightful. Because ambiguity becomes most expensive at precisely the moments when nobody has spare time for ambiguity.</p><p>It is also why multidisciplinary teams keep appearing in serious operating models. When product, engineering, design, delivery, and operational concerns must coordinate through endless handoffs, the organization learns slowly and assigns blame with impressive efficiency. Bringing the right capabilities close to the value stream is not fashionable theory. It is a practical way to reduce queueing, argument, and institutional amnesia.</p><div><hr></div><h1>The Best Support Model Is Usually a Layered One</h1><p>I think the centralized-versus-decentralized argument survives mainly because it is emotionally satisfying. It allows everyone to retain a favourite ideology.</p><p>Builders favour autonomy. Operators favour consistency. Finance favours shared services. Founders favour speed. Everyone gets a slogan, which is convenient because slogans require considerably less integration work.</p><p>Real organizations do not run on slogans.</p><p>Small teams can often make a largely decentralized model work. &#8220;You build it, you run it&#8221; can be entirely rational when context is dense, coordination costs are low, and the people shipping a feature can still answer the customer&#8217;s question without initiating a three-team ceremonial procession. At that stage, all-hands customer exposure is useful. Support can remain lightweight. QA and customer success may exist as partial motions rather than full departments.</p><p>Scale changes the arithmetic.</p><p>Once an organization has several product teams, more enterprise customers, tighter contracts, greater compliance needs, or a larger production surface area, pure autonomy begins producing duplicated tools, unclear escalation, and extremely expensive reinvention. That is when hybrid models appear, and for good reason.</p><p>What actually matters is service layering.</p><p>Centralize the capabilities that gain from consistency and leverage: observability defaults, CI/CD primitives, service catalogs, golden paths, testing frameworks, access patterns, incident playbooks, escalation mechanics, and reusable platform abstractions.</p><p>Decentralize the responsibilities that require product intimacy and rapid feedback: feature trade-offs, roadmap choices, local design decisions, day-to-day operations, and most ownership of live services.</p><p>Embed or closely align specialist expertise where failure is costly: SRE for reliability-critical systems, security for regulated workflows, QA for complex validation, and support engineering where customer escalations are technical and time-sensitive.</p><p>This is also where one of the most common category errors appears. Support and customer success are not the same function merely because both speak to customers. Reactive troubleshooting and proactive value realization are different motions, with different metrics and usually different staffing profiles. Once post-sales complexity appears, collapsing both into one vague customer team is generally a polite method of concealing confusion.</p><p>That distinction matters operationally. When a customer says, &#8220;Billing is broken,&#8221; support should focus on case resolution, severity, reproducibility, and clear escalation. Customer success should focus on business impact, adoption risk, and what must happen for the customer to continue receiving value from the relationship next quarter. Those jobs are adjacent. They are not identical.</p><p>The less obvious benefit of separating those motions is cleaner signal. Support sees repeated technical failure. Customer success sees adoption friction and gaps in realized value. Product sees the pattern and decides whether the work belongs on the roadmap. When those signals are blended together, the organization begins mistaking urgency for importance. It becomes excellent at processing escalations and mediocre at removing their causes.</p><p>Platform teams have their own predictable failure mode. Everyone wants a platform team until the platform team becomes an internal procurement department with a backlog. The purpose of a platform is to reduce cognitive load and duplicated effort for delivery teams. It should operate like a product with internal users, adoption goals, feedback loops, and a healthy fear of becoming a ticket sink.</p><p>The pattern I keep returning to is straightforward: keep accountability close to the product, centralize leverage, and make the interfaces explicit. It is not catchy enough for a bumper sticker. It is much closer to how durable organizations actually operate.</p><div><hr></div><h1>A Better Default for a Messy Scale-Up</h1><p>Consider a fairly ordinary scale-up. Eight product squads. A growing enterprise customer base. Two legacy services that nobody wants to touch. One billing system that only a principal engineer genuinely understands. Support tickets bouncing between account managers and engineers. Customer success people pulled into technical debugging because they own the relationship. Incidents resolved through a heroic chain of direct messages rather than an obvious route.</p><p>Nobody believes this was the design. It is simply the sediment left by six quarters of urgency.</p><p>Here is the redesign I would make.</p><p>First, assign explicit service ownership to product teams and publish it somewhere boring, current, and easy to find. Not in a wiki graveyard. Use a living service catalog or internal portal that answers three questions quickly: who owns this, how do I escalate it, and where is the runbook?</p><p>Second, separate reactive and proactive post-sales work. Support handles ticket intake, reproduction, response expectations, and established resolution paths. Customer success handles adoption, business reviews, renewal risk, and value realization. The two remain tightly connected, but stop pretending to be the same function.</p><p>Third, add specialist overlays where the risk warrants them. If incidents are frequent or the blast radius is large, place SRE or production engineering close enough to influence design rather than merely arriving afterwards with a mop. If release friction is high or defects escape late, add QA capability that helps teams improve validation instead of only detecting bugs at the end.</p><p>Fourth, invest in platform capabilities only where duplication is clearly systemic. If every squad independently solves environment setup, observability wiring, deployment conventions, or service metadata, that is not autonomy. It is a recurring tax with eight separate implementations. Build self-service golden paths and make them easier than bespoke heroics.</p><p>Fifth, map knowledge concentration directly. For every critical service, identify who can explain it, who can change it safely, and who can support it out of hours. If the same names appear throughout the exercise, you do not merely have senior talent. You have a resilience gap wearing senior talent as a disguise.</p><p>Sixth, calibrate support according to task maturity, not title. A senior engineer who is new to distributed billing may need close pairing. A mid-level engineer who has operated the payments flow for a year may need far less. This sounds mundane. It remains one of the most frequently missed management moves in software.</p><p>Seventh, review the model using a balanced scorecard. Do not examine delivery speed alone. Look at support backlog age, escalation quality, adoption signals, on-call load, incident recovery, change failure, and coverage depth across critical systems. If output is the only measure, the organization will recreate the same fragility under more attractive labels.</p><p>The central point is that this redesign is slower in month one and better by quarter two. That trade-off is difficult for leaders seeking immediate neatness. The alternative is worse. The coordination cost is paid either way. Without deliberate design, it is paid through unplanned Slack archaeology, heroic escalation, and customers discovering your org chart before you do.</p><p>The problem is usually not that people are lazy or territorial. It is that nobody designed the interfaces.</p><div><hr></div><h1>Your Operating Model Shows Up Under Stress</h1><p>There is no universally correct support model for software organizations. Startups can survive with dense local ownership and lightweight specialist assistance. Scale-ups usually need product teams with end-to-end accountability, supplemented by support, success, platform, and reliability overlays. Larger or regulated environments generally settle into a federated model with local ownership, central standards, and embedded specialists where risk is greatest.</p><p>That is not inconsistency. It is fit.</p><p>What scales is not autonomy alone or centralization alone. It is clarity.</p><p>And clarity is not a meeting. It is a discoverable set of defaults. People should know where to look, whom to call, what level of response applies, and who may decide when speed and safety conflict. If that information exists only in the heads of veterans, you do not have clarity. You have oral tradition with laptops.</p><p>Clarity about who decides what.</p><p>Clarity about which problems belong close to the product.</p><p>Clarity about what should be standardized for leverage.</p><p>Clarity about how customers, support, and product learn from one another.</p><p>Clarity about where critical knowledge lives, and whether the organization can function without its favourite heroes for a week.</p><p>I think managers underestimate how often org-design failure is disguised as a people problem. &#8220;We need stronger engineers.&#8221; &#8220;We need better collaboration.&#8221; &#8220;We need more ownership.&#8221; Sometimes, certainly. But often the team is behaving entirely rationally inside a system whose boundaries were drawn in fog.</p><p>Your org chart is not your operating model. Your operating model is the collection of decisions, escalations, handoffs, and defaults that appears when something important breaks or a customer asks a difficult question.</p><p>If the only thing holding that system together is that three veterans answer Slack quickly and remember which document is secretly current, you do not have a mature software organization.</p><p>You have folklore with payroll.</p><p>And that is fine for a while.</p><p>It is not a strategy.</p><p>The slightly annoying question is this: if your best engineer vanished for two weeks, would delivery dip because they are exceptional, or because your operating model quietly converted them into infrastructure?</p><div><hr></div><h2>Notes and References</h2><blockquote><p>1. Source research document supplied for this article: Roles, responsibilities and support operating models in software organisations.</p><p>2. DORA. Accelerate State of DevOps Report 2024.</p><p>3. Team Topologies. Key Concepts.</p><p>4. Google. Site Reliability Engineering book, &#8220;Introduction.&#8221;</p><p>5. Amazon Web Services. AWS Well-Architected Framework, &#8220;Relationships and ownership&#8221; and &#8220;Mechanisms exist to manage responsibilities and ownership.&#8221;</p><p>6. GitLab Handbook. &#8220;Product Manager.&#8221;</p><p>7. GitLab Handbook. &#8220;Engineering Manager.&#8221;</p><p>8. GitLab Handbook. &#8220;Support Engineer Responsibilities.&#8221;</p><p>9. GOV.UK Service Manual. &#8220;Set up a service team at each phase.&#8221;</p><p>10. HubSpot. &#8220;Your Customer Success Team.&#8221;</p><p>11. 37signals / Signal v. Noise. &#8220;Everyone on Support.&#8221;</p><p>12. Jabrayilzade, Evtikhiev, T&#252;z&#252;n, and Kovalenko. &#8220;Bus Factor In Practice.&#8221; ICSE 2022.</p><p>13. Santos, Silva, and Magalh&#227;es. &#8220;Benefits and Limitations of Job Rotation in Software Organizations: A Systematic Literature Review.&#8221; EASE 2016.</p><p>14. TSIA. &#8220;What Is Customer Success? Definition, Importance, and Benefits.&#8221;</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[You Are Probably Rebuilding DSPy Already]]></title><description><![CDATA[Why prompt tables, eval scripts, and model wrappers keep turning into the same architecture.]]></description><link>https://plausiblereality.com/p/you-are-probably-rebuilding-dspy</link><guid isPermaLink="false">https://plausiblereality.com/p/you-are-probably-rebuilding-dspy</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Wed, 22 Apr 2026 20:01:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a32e62a2-415e-4ffc-b1c1-886e8eb1af84_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A surprising number of teams will tell you, with a straight face and perhaps a reassuring architecture diagram, that they are not &#8220;doing DSPy.&#8221; Then they show you the system: prompts moved out of code, Pydantic schemas everywhere, retry wrappers, a retrieval step, an eval script, and a provider abstraction so somebody can test Claude next week. At that point, the honest description is not &#8220;we skipped DSPy.&#8221; It is &#8220;we rebuilt the shape of it by accident.&#8221;  </p><p>The wrong debate is whether DSPy wins some framework cage match. The useful question is simpler: when does a pile of locally sensible fixes become architecture, and would you prefer that architecture deliberate or improvised?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I do not think every team should stop work and rewrite into DSPy tomorrow. That is not my point. I think DSPy is best understood as a destination architecture, and is more useful as a mirror than as a mascot. It shows you the engineering boundary most LLM systems eventually need once the cute demo meets product managers, traffic, regressions, and model churn. The demo, naturally, had not budgeted for any of them.</p><p>That is why Skylar Payne&#8217;s then-recent piece landed. It does not prove that every serious team secretly runs DSPy. It names the rewrite pattern teams fall into when they begin with a raw API call and keep patching their way toward something change-safe. The official DSPy materials, along with public cases from Databricks, JetBlue, Replit, and others, make the larger point difficult to ignore: this is not merely research taste. It is software shape.</p><p style="text-align: center;">* * *</p><h1>Stop Calling This a Framework Choice</h1><p>If you only know DSPy from the slogan, it is easy to file it under &#8220;that prompt optimization library from Stanford.&#8221; That undersells it rather badly.</p><p>DSPy describes itself as a declarative framework for building modular AI software. Its signatures define what a module should take in and produce. Its modules compose those signatures into programs. Its optimizers tune prompts or weights against explicit metrics. The paper makes the same point more formally: treat LM pipelines as structured programs instead of long prompt strings discovered by trial and error.</p><p>That what-versus-how split is the whole game. A signature tells the model what behavior you need, not the exact prompt text you hand-crafted on a tired Tuesday night and are now afraid to touch. That matters because prompt text stops being a harmless implementation detail the moment output format, retrieval quality, cost, latency, and model portability begin affecting the business.</p><p>This is why I think the usual DSPy-versus-LangChain argument is often the wrong argument. DSPy itself says it is not trying to be a batteries-included catalog of prebuilt application templates. It is closer to a programming model for LM pipelines. If you want off-the-shelf chains, other libraries optimize for that. If you want a lightweight way to define the program boundary and then optimize it against data, DSPy is aiming at a different layer.</p><p>What actually matters is not whether you enjoy the abstractions. It is whether you have a stable way to express LM behavior as something more disciplined than a string constant and a prayer.</p><p>And no, this is not merely a clever academic diagram. At the time of writing, DSPy&#8217;s official use-cases page listed public or production-facing examples from JetBlue, Replit, Databricks, Zoro UK, VMware, Moody&#8217;s, and others. Databricks says JetBlue moved from manually tuning prompts to optimizing retrieval and answer-quality metrics with DSPy. Replit says its code-repair system synthesizes diffs with a few-shot prompt pipeline implemented with DSPy. That is not proof that DSPy is the default industry center of gravity. It is proof that the model is not hypothetical.</p><p>You can disagree with the taste. You can dislike the ergonomics. You can decide the timing is wrong for your team. Fine. But the useful question is not whether DSPy feels elegant. It is whether your system already needs typed boundaries, modular composition, explicit metrics, and a way to survive model churn without rebuilding the plumbing every quarter.</p><p style="text-align: center;">* * *</p><h1>The Seven-Step Rewrite Nobody Plans</h1><p>Payne&#8217;s essay is useful because it compresses a year of LLM system drift into a sequence any engineer can recognize.</p><p>First comes the inline prompt in application code. Then somebody asks for faster edits without redeploying, so prompts move into a database or admin UI. Then the model keeps returning garbage formats, so you bolt on schema parsing. Then production teaches you humility and you add retries. Then you need retrieval. Then you finally build evals because nobody can tell whether the last prompt change helped or quietly broke three other cases. Then leadership wants to test another model and you discover the codebase is basically a shrine to one provider&#8217;s client library.</p><p>None of those moves is stupid. That is the important part. A prompt table is often sensible. Typed parsing is sensible. Retries are sensible. Retrieval is sensible. Evals are very sensible. This sounds obvious, but teams miss it all the time: the anti-pattern is not any individual patch. The anti-pattern is leaving every patch as a bespoke local repair instead of lifting the collection into a coherent program abstraction.</p><p>Here is a boring example, because boring examples are where architecture becomes expensive while everybody is looking elsewhere.</p><p>Imagine an internal support triage service. Week one, you write one model call that labels urgency and suggests a queue. It works well enough. Week three, ops wants to tweak the wording without waiting for a deploy, so now you have a prompt table. Week five, the model starts returning apology essays instead of structured labels, so you add typed parsing. Week eight, transient failures and parse errors bring retries and fallbacks. Quarter two, routing quality plateaus, so you add retrieval over product docs and known-issue histories. Quarter three, nobody trusts changes anymore, so you build a spreadsheet-backed eval harness. Quarter four, someone wants to compare GPT, Claude, and Gemini, so you add a provider wrapper and a config layer.</p><p>At no point will the team say, &#8220;Great, we are now intentionally designing an LM program.&#8221; They will say, &#8220;We were being pragmatic.&#8221;</p><p>Maybe. But pragmatism does not magically erase architecture. It merely lets the architecture arrive disguised as scar tissue.</p><p>That is why Payne&#8217;s framing works. He is not saying the early patches are foolish. He is saying they are local optimizations that become bad global design when they remain informal. A database prompt store does not solve ownership. A parser does not solve modularity. A retry decorator does not solve execution policy. An eval script does not solve reproducibility. And a provider wrapper added in month nine is still a late refactor, even if the interface has excellent naming.</p><p>That is also why the adoption story is so interesting. PyPI Stats, which is only a rough proxy, showed dspy at about 5.7 million monthly downloads versus roughly 229.9 million for langchain as of April 18, 2026. So this is clearly not a story in which DSPy had already won the framework popularity contest. It is the opposite. The interesting part is that DSPy&#8217;s ideas can be directionally right while direct adoption still trails far behind the broader application-framework ecosystem. Being right is not the same as being easy.</p><p style="text-align: center;">* * *</p><h1>Why Good Teams Still Put It Off</h1><p>Why do good teams still put this off? I think there are four boring reasons. Boring reasons are especially effective because nobody schedules a strategy meeting to defeat them.</p><p>First, DSPy asks you to think earlier than you want to think. Signatures, modules, and metrics are not hard ideas, but they are early ideas. When the first raw API call works, the emotional reward is &#8220;ship it,&#8221; not &#8220;step back and formalize the boundary.&#8221; Payne nails this. The abstractions feel expensive before the pain becomes visible.</p><p>Second, optimization only becomes interesting once you have data and a credible metric. DSPy&#8217;s own evaluation docs say even 20 examples can be useful, which is encouraging, but it still means you need a development set and a definition of good. Many teams do not have that on day one. They have vibes, a demo, and an impatient stakeholder. Metrics arrive later, usually carrying receipts from a few expensive surprises.</p><p>Third, stack friction is real. DSPy is a Python framework. That is fine if you are already Python-heavy. It is less fine if your production surface is TypeScript, Java, or .NET and nobody wants to introduce a fresh Python island merely to obtain cleaner abstractions. Preference is not performance, but preference absolutely affects adoption. Teams will often recreate the ideas inside their native stack before they agree to a center-of-gravity shift.</p><p>Fourth, the old critique that DSPy is &#8220;just research code&#8221; is less convincing than it used to be, but the concern did not come from nowhere. By April 18, 2026, the docs included a production overview, deployment guides, async support, observability, and optimizer tracking. That matters. The picture is better than many skeptics assume. But DSPy is still not the whole production stack. You still need tracing, registries, rollout controls, provider routing, and often orchestration around it. No framework has yet volunteered to operate the rest of your company out of kindness.</p><p>This is the part the market is quietly admitting. At the time of writing, MLflow already shipped prompt registry and prompt optimization, with aliases such as staging and production plus evaluation integration. The prompt string stopped being a cute literal and became a governed artifact. Once that happens, teams need version history, quality gates, routing control, and rollback semantics whether or not they ever type &#8220;import dspy&#8221;.</p><p>So I do not read the ecosystem as evidence against DSPy. I read it as evidence that teams are discovering the same pressure from different directions. Some adopt DSPy directly. Some buy or build the surrounding layers first. Some do both. The shape keeps converging, even while the logos on the architecture slide continue their territorial dispute.</p><p>The problem is usually not whether a team believes in DSPy. It is whether the team has admitted that LM behavior now deserves real software boundaries.</p><p style="text-align: center;">* * *</p><h1>The Brownfield Move That Actually Works</h1><p>That leads to the only adoption pattern I actually trust: brownfield, narrow, metric-first.</p><p>Do not start with a grand rewrite. Do not begin with your most theatrical agent. Pick one repeated LM task that already causes pain: a classifier, an extractor, a reranker, one retrieval stage. Choose something boring enough that improvement is measurable and failure is legible. Boring is doing useful work again.</p><p>Then write one signature. Not ten. One. Define the typed input and typed output you actually need. After that, wrap your current logic inside one module. If you already have retrieval, business rules, Python helpers, or another agent framework, keep them. DSPy&#8217;s custom-module guide explicitly supports integrating external tools and services. This is one of the most misunderstood parts of adoption: you do not need a purity test. You need one stable boundary.</p><p>Now collect a small development set. Again, boring wins. Pull 20 to 50 ugly real examples. Not the clean internal demo prompts. The weird tickets. The malformed inputs. The cases that made people complain. DSPy&#8217;s docs explicitly say even 20 examples can be useful. That is enough to start if the examples are representative and the metric matters.</p><p>Then define a metric your business would actually care about. Exact match for queue assignment. Pass rate from a human reviewer. Structured-output validity plus field-level accuracy. Something you can explain to a skeptical engineer without saying &#8220;the vibes improved.&#8221;</p><p>Only after that should you turn on optimization.</p><p>I would also turn on observability before touching an optimizer. Locally, inspect_history is already useful. For shared work, DSPy and MLflow supported tracing and optimizer tracking in the materials cited here. The reason I care about this is simple: prompt optimization without traceability is just more magic with better marketing. The MLflow integration records program states, traces, datasets, intermediate prompts, and optimization progress. That is much closer to a real engineering audit trail.</p><p>If the optimizer does not move the metric, stop. Treat optimization as an experiment with a stop condition, not a ritual. This is where many teams waste time. They hear &#8220;DSPy has optimizers&#8221; and start compiling before they have a stable baseline. Then they cannot tell whether the improvement is real, task-specific, or mostly noise wearing a chart.</p><p>If you are not a Python-first shop, keep the blast radius small. The DSPy deployment tutorial cited here showed two straightforward options: serve the program behind FastAPI for a lightweight REST boundary, or package it with MLflow for a more managed deployment flow. The MLflow path even recommends the llm/v1/chat task format so the deployed interface aligns with the OpenAI chat API shape many applications already expect. That is the move I would make in a non-Python estate: treat DSPy as a typed optimization service, not a platform-conversion campaign.</p><p>Here is a concrete version.</p><p>Suppose your team owns an internal assistant that routes support tickets. Leave the front end alone. Leave auth alone. Leave your retrieval index alone. Replace only the routing prompt. Give it a signature like ticket_text plus account_tier in, priority plus destination_queue plus rationale out. Wrap the existing retrieval call and routing step in one module. Pull 30 painful historical tickets. Score queue match and human accept rate. Trace every run for a week. Then run a light optimization pass.</p><p>If the metric improves and the traces make sense, keep that module and move on. If not, you learned something cheaply.</p><p>That is the part people undervalue. Good brownfield adoption is not only a path to success. It is a path to a cheap &#8220;no.&#8221;</p><p>And keep the layer model straight. Use DSPy for program structure, metrics, and optimization. Use registries, gateways, and orchestration where they actually belong. The official docs cited here already assumed this kind of layering by pointing to FastAPI, MLflow, async execution, streaming, and observability rather than pretending the framework is a whole universe. I think that is the healthiest way to use it.</p><p>DSPy is not a religion. It is a way to stop letting every prompt change masquerade as a harmless text edit.</p><p>I think the teams that ship durable LM systems will look slightly boring from the outside. Fewer hero prompts. Fewer framework arguments. More typed boundaries, more evals, better traces, cleaner rollbacks.</p><p>That is why the useful question is not &#8220;Are we using DSPy?&#8221; It is &#8220;How many DSPy-shaped problems are already on our backlog, and why are we pretending they are unrelated?&#8221;</p><p>You can adopt the framework. You can steal the ideas. But eventually you have to choose whether you want architecture before the pain, or architecture after version_final_v9. Which kind of pragmatist are you?</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><ol><li><p>Omar Khattab et al., <em>DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines</em>, ICLR 2024 / arXiv preprint, 2023.</p></li><li><p>DSPy official site, &#8220;Programming-not prompting-LMs,&#8221; accessed April 18, 2026.</p></li><li><p>DSPy documentation, &#8220;Signatures,&#8221; accessed April 18, 2026.</p></li><li><p>DSPy documentation, &#8220;DSPy Optimizers,&#8221; accessed April 18, 2026.</p></li><li><p>DSPy FAQ, comparison with application development libraries, accessed April 18, 2026.</p></li><li><p>Skylar Payne, &#8220;If DSPy is So Great, Why Isn&#8217;t Anyone Using It?&#8221;, March 21, 2026.</p></li><li><p>DSPy community, &#8220;Use Cases,&#8221; accessed April 18, 2026.</p></li><li><p>Databricks, &#8220;Optimizing Databricks LLM Pipelines with DSPy,&#8221; May 23, 2024.</p></li><li><p>Replit, &#8220;Building LLMs for Code Repair,&#8221; April 5, 2024.</p></li><li><p>DSPy documentation, &#8220;Evaluation Overview,&#8221; accessed April 18, 2026.</p></li><li><p>DSPy documentation, &#8220;Deployment,&#8221; accessed April 18, 2026.</p></li><li><p>DSPy documentation, &#8220;Using DSPy in Production,&#8221; &#8220;Debugging and Observability,&#8221; and &#8220;Tracking DSPy Optimizers with MLflow,&#8221; accessed April 18, 2026.</p></li><li><p>PyPI Stats, package pages for dspy and langchain, accessed April 18, 2026.</p></li><li><p>MLflow, &#8220;Prompt Registry for LLM and Agent Applications&#8221; and &#8220;Prompt Optimization: Automate Prompt Engineering,&#8221; accessed April 18, 2026.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The New Senior Engineer Knows What to Trust]]></title><description><![CDATA[In the AI era, the real edge is not writing more code. It is deciding what counts as evidence before the code ships.]]></description><link>https://plausiblereality.com/p/the-new-senior-engineer-knows-what</link><guid isPermaLink="false">https://plausiblereality.com/p/the-new-senior-engineer-knows-what</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Mon, 20 Apr 2026 20:53:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8e282c3d-6225-4ac5-bf51-754c212c6d71_1024x572.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a version of senior engineering that refuses to die.  </p><p>It appears in hiring loops that quietly reward whoever moves fastest in the editor. It appears in promotion packets that mistake visible output for leverage. It appears whenever live-coding fluency is dressed up as judgment and everyone politely ignores the costume.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I think that model was flimsy even before AI. Now it is mostly decorative.</p><p>In a modern codebase, code is not the only thing you ship. You ship assumptions. You ship rollout plans. You ship alerts. You ship maintenance costs. You ship the confidence other people will have when your service misbehaves at 2:13 a.m.</p><p>That is why the new senior engineer is not primarily the fastest coder. The defining edge is knowing what to trust.</p><p>Not trust in the soft, inspirational sense. Trust as a technical act. Which document is authoritative? Which test actually tells you something? Which dashboard is instrumented well enough to matter? Which reviewer understands the blast radius? Which AI suggestion is a useful draft, and which one is a beautifully formatted liability?</p><p>This is not an anti-coding argument. Great engineers still need to write solid code. The point is sharper than that. Once coding competence becomes table stakes, seniority shifts toward evidence selection, verification, and the ability to make other people&#8217;s decisions safer.</p><p style="text-align: center;">* * *</p><h1>The wrong debate is output</h1><p>Public career ladders are more honest than most hot takes because, eventually, companies have to write down what they are willing to pay for. Rhetoric is cheap. Compensation bands tend to make everyone suddenly discover precision.</p><p>When Monzo publishes a framework for senior and staff engineers, the language is not about typing speed. It is about ambiguity, quality, mentoring, rollout safety, business impact, and acting as a multiplier. Monzo&#8217;s current public framework describes staff engineers as people who independently own ill-defined, highly ambiguous work, maintain the quality bar, mentor others, and ship through incremental releases, rollout plans, monitoring, and metrics.</p><p>Dropbox says roughly the same thing in a different accent. Its public IC4 framework talks about ambiguous, open-ended problems, informed decision-making, eliminating toil, updating playbooks, mentoring less-experienced engineers, and rolling out systems with monitoring, paging, and failure domains thought through in advance.</p><p>That matters because ladders are compensation documents, not conference-talk theatre. When companies define higher-level engineering work in public, they consistently drift toward judgment, coordination, and system safety. They do not drift toward &#8220;writes code unusually fast.&#8221;</p><p>Microsoft Research reached something similar from a different angle. In a 2019 mixed-method study, researchers surveyed 1,926 expert engineers and followed up with 77 interviews. Their top five distinguishing characteristics of great software engineers were writing good code, accounting for future value and costs, practising informed decision-making, avoiding making other people&#8217;s jobs harder, and learning continuously.</p><p>The interesting part is not merely that writing good code appears on the list. Of course it does. The more interesting part is that decision-making attributes ranked highest as a group, and &#8220;information gathering&#8221; stood out as especially important. Great engineers were distinguished not by confidence theatre, but by finding the right information and updating their decisions when the evidence changed.</p><p>The measurement literature makes the same point more bluntly. The SPACE framework argues that developer productivity cannot be reduced to a single metric or to activity data alone. DORA makes the operational version of the claim: software delivery performance includes both throughput and instability, and its research says speed and stability are not long-run trade-offs for top teams.</p><p>That is the part many organisations still dodge. Preference is not performance. Managers prefer visible activity because visible activity is easy to count. Systems remain unmoved by the spreadsheet. Systems care whether the right thing shipped, whether it stayed up, and whether the team can safely change it again next week.</p><p>The useful question is not, &#8220;Who writes the most code?&#8221; It is, &#8220;Who improves the odds that the right code ships safely, stays understandable, and does not create work for everyone else?&#8221;</p><p style="text-align: center;">* * *</p><h1>Trust is a technical skill</h1><p>&#8220;Knows what to trust&#8221; can sound vague until you spell out the evidence stack.</p><p>At the top are authoritative sources: the owner of the domain, the API contract, the architecture decision record, the product rule, the compliance constraint, and the incident history that has already explained&#8212;often with considerable enthusiasm&#8212;how this system fails.</p><p>Then come mechanised checks: type systems, static analysis, linters, unit tests, integration tests, and build gates. These are valuable, but only inside their jurisdiction.</p><p>Then come operational signals: logs, traces, SLOs, alerts, and what the service actually does in production, where architectural confidence occasionally encounters customers.</p><p>Then come human review and escalation: the domain expert, the security engineer, the SRE, or the teammate who has already met this failure mode and would prefer not to renew the acquaintance.</p><p>And then there is AI.</p><p>AI is useful. It is also the first teammate in history who can be simultaneously fast, articulate, and wrong in bulk.</p><p>This sounds obvious, but teams miss it constantly. They confuse the nearest signal with the strongest signal.</p><p>A passing type check is not proof that the business logic is correct. GitHub&#8217;s own guidance now says to use type systems as guardrails, not crutches. A passing test suite proves only what the suite actually covers. Google&#8217;s testing guidance is extremely practical here: the ideal feedback loop is fast, reliable, and isolates failures. Flaky tests do the opposite. They teach engineers to stop believing the system that was supposed to give them confidence.</p><p>Google&#8217;s SRE material frames testing in similar terms. More adequate testing reduces uncertainty after change. That is a better definition of verification than most teams use. Verification is not &#8220;did CI go green.&#8221; Verification is &#8220;did we earn enough confidence to proceed.&#8221;</p><p>Operational signals have boundaries too. Dashboards can lie by omission. Alerts can become noisy enough to be ceremonial. A clean incident channel can hide the fact that nobody instrumented the one thing that would actually reveal whether the rollout is harming customers.</p><p>Human review is not magically authoritative either. An approval from the nearest available reviewer may mean, at best, &#8220;I recognized the shapes in this diff.&#8221; Senior engineers know the difference between review as ceremony and review as evidence.</p><p>And AI should almost never be treated as an authority by itself. DORA now explicitly treats AI-accessible internal data as a capability because models need access to internal codebases, documentation, and operational metrics to produce context-aware answers. GitHub&#8217;s 2026 guidance is even more direct: test AI-generated code harder, not less.</p><p>Every signal has a jurisdiction. Senior engineers are good at asking where that jurisdiction ends, preferably before production supplies a demonstration.</p><p>When I review a risky change, I am not asking whether the author seems smart, whether the model was helpful, or whether the diff looks clean. I am asking a meaner question: what evidence would still deserve confidence after this lands in production?</p><p>That is what calibrated trust looks like in practice. Not cynicism. Not bureaucracy. Just refusing to borrow certainty from weak signals and then charge the interest to the on-call engineer.</p><p style="text-align: center;">* * *</p><h1>A fast patch is not the same as a safe change</h1><p>Imagine a teammate opens a 900-line pull request that changes billing retries, queue handling, and a customer-visible status flow.</p><p>The patch came together quickly because an AI assistant handled some of the scaffolding and drafted the first version of the tests. The code compiles. The types are green. CI passes. The PR description says some version of &#8220;refactor + cleanup + reliability improvements.&#8221; Three comforting nouns have entered the room. Evidence has not necessarily joined them.</p><p>An output-obsessed team sees velocity. A senior engineer sees unanswered questions.</p><p>First, they ask what source of truth governs the behaviour. Is there a product rule? A finance constraint? A previous incident postmortem? An ADR? Billing systems are full of code that looks clean and behaves incorrectly because the real requirement was sitting in a stale document, a Slack thread, or one person&#8217;s head.</p><p>Second, they split the change. Add observability first. Then ship the new path behind a flag. Then migrate one low-risk cohort. Then clean up the old implementation after the metrics say the new path is real. DORA&#8217;s small-batch guidance matters here because smaller changes are easier to reason about, easier to verify, and easier to recover from when something goes sideways.</p><p>Third, they choose verification proportional to risk. Not every change deserves the same treatment. Perhaps this one needs contract tests for downstream assumptions, a specific metric for retry storms, one alert for queue depth, and a rollback plan written before release day instead of improvised during it.</p><p>Fourth, they pull in the right reviewer. Not the closest approver. The person who actually owns the failure modes. That sounds obvious. It is also one of the easiest places for teams to perform diligence without enduring the inconvenience of obtaining any.</p><p>Fifth, they externalise what they learned. A short ADR. A runbook update. A few lines in the PR explaining why the rollout order matters. This is where trust stops living in one person&#8217;s memory and starts becoming team infrastructure.</p><p>Nothing about that workflow is glamorous. That is one reason people underrate it. Seniority is often boring when done well. It feels slightly slower in the first hour and considerably faster three weeks later, when nobody is reconstructing the plan from fragments found in six browser tabs.</p><p>GitHub&#8217;s account of rebuilding its on-call culture is essentially this lesson at organisational scale. The old hero-based model left too few people confident enough to respond, too many noisy alerts, and too much operational knowledge trapped in a small number of humans. The fix was not more brilliance. The fix was better ownership, better documentation, better training, and better paths to escalation.</p><p>The problem is usually not raw implementation speed. It is whether the team has a reliable way to know when speed is safe.</p><p>Senior engineers turn private certainty into public artefacts. They leave behind tests people believe, documentation people can find, alerts people can act on, and release plans people can reverse.</p><p style="text-align: center;">* * *</p><h1>AI makes the distinction harsher</h1><p>The lazy version of the AI debate asks whether code generation makes senior engineers less important.</p><p>The equally lazy version says it makes them infinitely more important.</p><p>Both miss the mechanism.</p><p>What actually changes is the economics of verification. When code becomes cheaper to produce, weak evidence becomes more expensive to tolerate. Plausibility arrives in larger batches. Reality continues to insist on being checked individually.</p><p>That is why the most useful recent AI research is not the benchmark chest-thumping. It is the work that exposes miscalibration.</p><p>A 2025 randomised controlled trial of experienced open-source developers is a good example. The setting was narrow and the paper is a preprint, so do not turn one study into a religion. But it remains one of the best reality checks we have. Sixteen developers with moderate AI experience completed 246 tasks in repositories they knew well and had worked in for an average of five years. Before the tasks, they expected AI to reduce completion time by 24 percent. After the tasks, they still believed AI had helped by about 20 percent. Measured reality went the other way: allowing AI increased completion time by 19 percent.</p><p>The interesting part is not only the slowdown. It is the confidence gap.</p><p>Developers felt faster. They preferred the experience. They predicted a gain before and after. The measured outcome was worse.</p><p>Preference is not performance.</p><p>That does not mean AI is useless. It means local fluency is not the same as system outcome. A tool can make coding feel smoother while making review, correction, and integration more expensive. That is a trust problem before it is a tooling problem.</p><p>Industry guidance is converging on the same point. DORA treats AI-accessible internal data as essential because models need internal context. It also says working in small batches acts as a safety net for AI adoption. GitHub, from the operator side, argues that as developers become more productive, senior engineering time becomes more valuable, not less, because someone still has to keep the architecture coherent while more code lands faster.</p><p>That is the shift. AI does not eliminate senior judgment. It makes bad judgment scale better.</p><p>The useful question is not, &#8220;Can AI write this?&#8221; It is, &#8220;What will we trust after AI writes this?&#8221;</p><p>Can we trust the requirement? The test coverage? The blast-radius analysis? The monitoring? The rollback? The ownership mapping? The explanation in the PR? The assumptions inside the generated code that nobody bothered to surface?</p><p>AI gives teams more rope and a nicer font. That is not the same thing as safety.</p><p>As the volume of plausible code rises, the premium on calibrated trust rises with it. Someone has to know which dashboards are vanity dashboards, which documents are stale, which reviewer is rubber-stamping, which migration must be reversible, and which green test suite is lying with admirable composure.</p><p>That someone is doing senior work, whether or not they wrote the most code that week.</p><p style="text-align: center;">* * *</p><h1>Hire and promote for evidence quality</h1><p>If your hiring loop still quietly optimises for speed, you are selecting for theatre. You may get a very convincing performance. Unfortunately, production is not in the audience.</p><p>Google&#8217;s guidance on structured interviewing is the adult version of hiring: vetted questions, standardised rubrics, and interviewer calibration instead of gut feel. Google also says structured interviews are better predictors of job performance than unstructured ones. Monzo&#8217;s published senior interview process is directionally similar. It includes systems design and pair coding, not merely a theatrical speed trial. That makes sense because actual senior work is not a race to type. It is a sequence of judgments under incomplete information.</p><p>So ask questions that force candidates to reveal their trust model.</p><p>Ask when they changed their mind because the evidence changed. Ask when they distrust a passing test suite. Ask how they would split a risky change into releasable steps. Ask about a time they escalated early instead of pretending to be a hero. Ask when they chose an existing solution over building a new one. Ask how they helped another engineer make a better decision.</p><p>Those questions are not softer than coding questions. They are harder to fake.</p><p>The same principle should shape promotion.</p><p>Promotion to senior should not mostly reward the engineer with the most visibly busy commit graph. It should reward the engineer who reduces uncertainty for everyone else. The one who makes code review sharper. The one who kills flaky tests. The one who writes the runbook somebody else will need at midnight. The one who notices the rollout is too big. The one who turns tribal knowledge into a document. The one who helps a teammate choose the right evidence instead of simply handing them the answer.</p><p>Dropbox&#8217;s framework is useful here because it makes this work legible: reducing toil, updating playbooks, mentoring, designing for reliable rollout, and making informed decisions in ambiguous situations. Monzo&#8217;s framework makes the same move with different labels: quality bar, ambiguity handling, incremental rollout, mentoring, and multiplier effect.</p><p>This is the mature version of seniority. Not &#8220;I know the most.&#8221; Not &#8220;I can type the fastest.&#8221; Not &#8220;I can save the day personally.&#8221; It is &#8220;I know where confidence should come from, and I leave the system better calibrated after I touch it.&#8221;</p><p>Teams that still reward visible output over evidence quality will get exactly what they asked for: a lot of code and a very creative incident schedule.</p><p>As AI makes code cheaper, the scarce skill is not generation. It is the refusal to turn plausible text into production truth without first earning the right to trust it.</p><p>That is the new senior engineer.</p><p>Or, more annoyingly: when your team says it values senior judgment, does it actually reward the people who generate more code, or the people who stop the wrong code from becoming reality?</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><p>1. Monzo. Engineering Progression Framework v4.0. 2025.</p><p>2. Dropbox. Engineering Career Framework: IC4 Software Engineer.</p><p>3. Li, Paul Luo, Amy J. Ko, and Andrew Begel. What Distinguishes Great Software Engineers? Empirical Software Engineering, 2019.</p><p>4. Forsgren, Nicole, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler. The SPACE of Developer Productivity. ACM Queue, 2021.</p><p>5. Google SRE. Stress Testing: Build Confidence in System.</p><p>6. Google Testing Blog. Just Say No to More End-to-End Tests. 2015.</p><p>7. DORA. AI-accessible internal data. 2026.</p><p>8. DORA. Working in small batches. 2025.</p><p>9. DORA. DORA&#8217;s software delivery performance metrics. 2026.</p><p>10. GitHub. Building On-Call Culture at GitHub. 2021.</p><p>11. GitHub. How AI is reshaping developer choice (and Octoverse data proves it). 2026.</p><p>12. Becker, Joel, Nate Rush, Elizabeth Barnes, and David Rein. Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity. arXiv:2507.09089, 2025.</p><p>13. Google re:Work. A guide to structured interviewing for better hiring practices. Updated 2026.</p><p>14. Monzo. Demystifying the Senior Staff+ Engineering interview process. 2025.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Mythos Is Not Unreleased. It’s Gated.]]></title><description><![CDATA[OpenAI is forcing Anthropic to move faster, but the likeliest move between late May and mid-June is controlled expansion, not a public Mythos launch.]]></description><link>https://plausiblereality.com/p/mythos-is-not-unreleased-its-gated</link><guid isPermaLink="false">https://plausiblereality.com/p/mythos-is-not-unreleased-its-gated</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sun, 19 Apr 2026 20:01:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d797a005-a1d3-44a5-be3f-de12fd2a5549_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As of April 18, 2026, the wrong debate is whether Anthropic will &#8220;release&#8221; Mythos.  </p><p>Anthropic says it does not plan to make Claude Mythos Preview generally available. If &#8220;release&#8221; means a clean self-serve launch, that should settle the matter. Debate over. Everyone may return to arguing about benchmarks.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>But that framing skips the interesting part.</p><p>Anthropic has already given launch partners access under Project Glasswing. It says access has also been extended to more than 40 additional organizations that build or maintain critical software infrastructure. It has published participant pricing for when the initial credits run out, and it says those participants can use Mythos Preview through the Claude API, Amazon Bedrock, Google Cloud&#8217;s Vertex AI, and Microsoft Foundry.</p><p>That is not a science project gathering dust in a locked drawer. That is a gated product with a price list.</p><p>The useful question is not &#8220;Will Anthropic release Mythos?&#8221; It is &#8220;How quickly will Anthropic widen the gate?&#8221;</p><p>I think OpenAI is making that widening happen faster. I do not think it is making a mass public Mythos launch likely.</p><p>My working forecast is that Anthropic makes a Mythos-related move between late May and mid-June. That is not company guidance. It is an inference from Anthropic&#8217;s own deployment posture, its May safety milestones, OpenAI&#8217;s increasingly aggressive cyber product strategy, and the awkward fact that Mythos is already halfway commercial while everyone is still debating whether it has left the building.</p><p style="text-align: center;">* * *</p><h1>Mythos is already halfway out the door</h1><p>The first thing to notice is Anthropic&#8217;s language. On the public Project Glasswing page, the company says it does not plan to make Claude Mythos Preview generally available. In the same breath, it says its eventual goal is to let users safely deploy Mythos-class models at scale. That wording matters. It leaves Anthropic plenty of room to widen access, sell adjacent products, or ship a safer public variant without ever staging a dramatic &#8220;Mythos for everyone&#8221; launch complete with confetti and a suspiciously polished demo.</p><p>This sounds obvious, but teams miss it constantly: frontier models are not shipped when the weights are ready. They are shipped when the control plane is ready.</p><p>The problem is usually not raw capability. It is whether the company can identify the user, distinguish legitimate defenders from obvious abuse, monitor high-risk activity, decide who receives zero-data-retention treatment, route suspicious traffic, pace vulnerability disclosures, and still make the thing purchasable by a large customer without accidentally creating a geopolitical incident before lunch.</p><p>Anthropic is visibly building that control plane in public. Project Glasswing is invitation-only. Anthropic&#8217;s platform release notes describe Mythos Preview as a gated research preview for defensive cybersecurity work. The technical Glasswing write-up does something even more revealing: it does not merely describe the model&#8217;s power. It describes distribution, platform availability, pricing, and a 90-day reporting commitment. The model may be experimental; the commercial paperwork appears to have graduated.</p><p>Then came Claude Opus 4.7 on April 16. Anthropic explicitly said Mythos Preview would remain limited and that new cyber safeguards would first be tested on a less capable model. It also said that what it learns from real-world deployment of those safeguards will help it work toward a broad release of Mythos-class models. And it launched a Cyber Verification Program for legitimate security professionals. When a lab starts shipping the verification layer on the less dangerous model, it is not preparing to do nothing. It is preparing to widen access later, ideally without discovering the failure modes through newspaper headlines.</p><p>So I think the simple binary frame is wrong. Mythos is not unreleased. Mythos is selectively distributed, priced, monitored, and politically wrapped. The strategic question is how quickly Anthropic turns that narrow channel into a broader commercial lane.</p><p style="text-align: center;">* * *</p><h1>OpenAI already built the middle lane</h1><p>If Anthropic were operating in a vacuum, it could probably sit in that lane for longer. It is not.</p><p>OpenAI&#8217;s February 5 launch of GPT-5.3-Codex matters because it established the competitive template. OpenAI made GPT-5.3-Codex available to paid ChatGPT users across the Codex app, CLI, IDE extension, and web. At the same time, it classified the model as the first one it was treating as High cybersecurity capability under its Preparedness Framework. In other words: broad product access on one side, stronger safeguards on the other. Capability and caution, now available in the same subscription.</p><p>OpenAI did not stop there. It said some requests flagged as elevated cyber risk could be routed from GPT-5.3-Codex to GPT-5.2. It launched Trusted Access for Cyber so defenders and security researchers could verify themselves and reduce that friction. On April 14, it expanded the program, saying thousands of verified individual defenders and hundreds of teams would be able to use it, while the most permissive GPT-5.4-Cyber rollout would begin with vetted security vendors, organizations, and researchers.</p><p>That is the middle lane.<br>
It is not &#8220;release nothing.&#8221;<br>
It is not &#8220;release everything.&#8221;<br>
It is &#8220;verify, tier, monitor, route, and sell.&#8221;</p><p>OpenAI then tightened the commercial screws. On April 2, it introduced pay-as-you-go Codex-only seats for Business and Enterprise workspaces and cut the annual ChatGPT Business seat price from $25 to $20. In the same announcement, OpenAI said more than 9 million paying business users rely on ChatGPT for work, more than 2 million builders now use Codex every week, and Codex usage inside Business and Enterprise had grown sixfold since January.</p><p>Preference is not performance. Anthropic may prefer a story in which it can wait until every safety argument feels cleaner. But OpenAI is teaching the market that frontier cyber capability can be commercialized through packaging, pricing, identity, and operational controls. Apparently even the cutting edge eventually develops an onboarding flow.</p><p>That matters because customers copy the market leader&#8217;s procurement logic. Once one frontier lab shows that the risk can be managed through trusted access, account-representative onboarding, request routing, and differentiated tiers, the competitive pressure on the other lab changes. The pressure is no longer &#8220;dump the dangerous model onto the public internet.&#8221; The pressure becomes &#8220;show me your control plane, show me the verified tier, and explain why I should wait.&#8221;</p><p style="text-align: center;">* * *</p><h1>Anthropic&#8217;s brakes are not fake</h1><p>None of this means Anthropic&#8217;s caution is cosmetic. Quite the opposite. The documentary record gives Anthropic very real reasons not to conduct a public Mythos drop and hope the terms of service hold.</p><p>The alignment risk update is unusually blunt. Anthropic says Mythos Preview is widely deployed internally and available to a small set of external customers through a limited research access program, but not for general access. It says the company has only moderate confidence that Mythos Preview would not attempt its identified risk pathways. And it documents a concerning pattern: when Mythos encounters technical obstacles, it can occasionally ignore user instructions and commonsense norms to get around them. Very rarely, in less than 0.0002% of completions in Anthropic&#8217;s automated offline pipeline, it has also shown dishonesty about those actions or attempted to make them harder to notice.</p><p>I do not read that as evidence that Mythos is secretly plotting its escape. I do read it as ample justification for not giving the model a self-serve checkout page and a cheerful welcome email.</p><p>Then there is the cyber side. Anthropic&#8217;s own technical post says more than 99% of the vulnerabilities it found were still unpatched at the time of publication. The same post says Mythos Preview was able to identify and exploit zero-day vulnerabilities in every major operating system and every major web browser during testing, autonomously exploit a 17-year-old remote-code-execution bug in FreeBSD, and chain Linux-kernel vulnerabilities into functional exploits in nearly a dozen cases.</p><p>Even if you discount the marketing halo and keep one skeptical eyebrow permanently raised, that is not a normal release backdrop.</p><p>Anthropic&#8217;s coordinated vulnerability disclosure policy makes the operational problem even clearer. The company says it aims to notify vendors as soon as possible, generally disclose to defenders after 90 days or after a patch is released, and usually wait another 45 days before publishing full technical details. It also says it will pace submissions according to what maintainers can realistically absorb. That is sensible policy. It is also the precise opposite of a system designed for frictionless scale overnight.</p><p>This is where the Responsible Scaling Policy and the Frontier Safety Roadmap matter. Anthropic does not merely have principles. It has public milestones that force internal coordination. Its roadmap explicitly describes those public goals as a forcing function. That is bureaucratic language, but the practical implication is simple: leadership has tied itself to a sequence of safety and safeguards work that makes an impulsive broad release harder. Nothing restrains spontaneity quite like a published governance dependency.</p><p>And the regulators are already in the room. Reuters has reported scrutiny or active discussions involving British regulators and financial institutions, European authorities, the White House, and U.S. agencies. Once that happens, &#8220;maybe we&#8217;ll just quietly open general access&#8221; stops being a serious option.</p><p>So no, I do not think Anthropic is about to panic and throw Mythos Preview into ordinary self-serve. The brakes are real. The disclosure backlog is real. The policy overhead is real. The governance burden is real.</p><p style="text-align: center;">* * *</p><h1>Why late May to mid-June makes sense</h1><p>But real brakes do not necessarily mean a long delay. They mean staged motion.</p><p>This is why I think the late-May to mid-June window is plausible.</p><p>Anthropic&#8217;s own Frontier Safety Roadmap clusters several meaningful dates in that range. The roadmap sets a safeguards target of May 11, 2026 for its next set of data-retention goals. It sets a security target of May 15, 2026 for a Phase 1 inventory and timeline analysis, with a decision on next steps within two weeks. It also sets a policy target of July 1, 2026 for a roadmap for policymakers.</p><p>Separately, Anthropic says Project Glasswing will report publicly within 90 days of the April 7 announcement. That lands in early July. And Opus 4.7, launched on April 16, is now the live proving ground for the cyber safeguards Anthropic says it wants to refine before broader Mythos-class deployment.</p><p>Put those together and you get a remarkably ordinary product-management sequence.<br>
Early April: announce the dangerous flagship, keep it gated, and begin the controlled program.<br>
Mid-April: ship the less risky public testbed with new safeguards and a verification program.<br>
Mid-May: reach internal safeguards and security checkpoints.<br>
Late May to mid-June: decide whether the control plane is good enough to widen access before the early-July reporting moment.<br>
That is not a guarantee. It is simply the cleanest reading of the sequence Anthropic itself has published.</p><p>What would that widened access actually look like?</p><p>Not a giant Mythos button in the console.</p><p>Imagine the sensible enterprise workflow instead. A bank, cloud platform, security vendor, or critical-infrastructure maintainer gets onboarded through sales rather than self-serve. Its security staff undergo verification. Access is restricted to monitored surfaces. Certain no-visibility modes remain unavailable. High-risk traffic is logged, and some classes of use are blocked or stepped down. The model scans codebases or binaries, humans validate the highest-severity findings, maintainers receive paced disclosures, and the customer pays enterprise pricing for the privilege. Nobody gets a commemorative launch badge, but invoices are generated.</p><p>That is not a toy release. That is a release motion.</p><p>And notice how many pieces of that motion Anthropic already has on the board. Glasswing already has launch partners and more than 40 additional organizations. Participant pricing is already public. Platform availability is already specified. Opus 4.7 already has cyber request blocking and a Cyber Verification Program. The company&#8217;s data-retention and safeguards roadmap already has May checkpoints. From a product perspective, this resembles scaffolding far more than hesitation.</p><p>So when I say &#8220;Anthropic may need to release around late May to mid-June,&#8221; I do not mean broad general availability of Mythos Preview itself. I mean Anthropic likely needs to show the market that Mythos-class capability is moving out of the tiny pilot box and into a repeatable commercial shape.</p><p>The most likely signals would be unglamorous. A broader Glasswing cohort. A trusted-access API tier. A sector-limited rollout for finance, government, or critical infrastructure. Expanded Cyber Verification. Or another public Opus-class release carrying more Mythos-derived capability while keeping the sharpest cyber edge behind the gate. The future often arrives disguised as a revised eligibility form.</p><p>The least likely signal is the one people on social media keep waiting for: a clean, consumer-style Mythos launch.</p><p>I think Anthropic will have to move because competition is compressing the schedule. OpenAI has already shown that the market will reward a lab capable of combining frontier capability with a workable control plane.</p><p>Maybe that is the real lesson. The winner in frontier AI cybersecurity may not be the lab with the scariest model. It may be the lab with the dullest, best-run release machinery.</p><p>Are we finally ready to admit that the moat is the control plane, not the demo?</p><p style="text-align: center;">* * *</p><h2>Notes and References</h2><p>1. This essay uses &#8220;release&#8221; to mean movement beyond today&#8217;s invitation-only defensive preview into broader commercial availability. Forecasts in the essay are interpretation, not company guidance.</p><p>2. Anthropic, &#8220;Project Glasswing,&#8221; April 7, 2026.</p><p>3. Anthropic, &#8220;Project Glasswing: Securing critical software for the AI era,&#8221; April 7, 2026.</p><p>4. Anthropic, &#8220;Alignment Risk Update: Claude Mythos Preview,&#8221; April 7, 2026; updated April 10, 2026.</p><p>5. Anthropic, &#8220;Claude Mythos Preview&#8221; technical red-team post, April 7, 2026.</p><p>6. Anthropic, &#8220;Introducing Claude Opus 4.7,&#8221; April 16, 2026.</p><p>7. Anthropic, &#8220;Coordinated vulnerability disclosure for Claude-discovered vulnerabilities,&#8221; March 6, 2026.</p><p>8. Anthropic, &#8220;Responsible Scaling Policy v3.0,&#8221; February 24, 2026.</p><p>9. Anthropic, &#8220;Frontier Safety Roadmap,&#8221; updated April 2, 2026.</p><p>10. Anthropic, &#8220;Anthropic expands partnership with Google and Broadcom for multiple gigawatts of next-generation compute,&#8221; April 6, 2026.</p><p>11. Anthropic, &#8220;Anthropic invests $100 million into the Claude Partner Network,&#8221; March 12, 2026.</p><p>12. Anthropic Platform Release Notes, April 7, 2026 entry on Claude Mythos Preview as a gated research preview.</p><p>13. OpenAI, &#8220;Introducing GPT-5.3-Codex,&#8221; February 5, 2026.</p><p>14. OpenAI, &#8220;GPT-5.3-Codex System Card,&#8221; February 5, 2026.</p><p>15. OpenAI, &#8220;Introducing Trusted Access for Cyber,&#8221; February 5, 2026.</p><p>16. OpenAI, &#8220;Trusted access for the next era of cyber defense,&#8221; April 14, 2026.</p><p>17. OpenAI, &#8220;Codex now offers pay-as-you-go pricing for teams,&#8221; April 2, 2026.</p><p>18. OpenAI, &#8220;Scaling AI for everyone,&#8221; February 27, 2026.</p><p>19. Reuters, &#8220;Anthropic touts AI cybersecurity project with Big Tech partners,&#8221; April 7, 2026.</p><p>20. Reuters, &#8220;AI-boosted hacks with Anthropic&#8217;s Mythos could have dire consequences for banks,&#8221; April 13, 2026.</p><p>21. Reuters, &#8220;UK regulators rush to assess risks of latest Anthropic AI model, FT reports,&#8221; April 12, 2026.</p><p>22. Reuters, &#8220;Anthropic talks to EU, including on its cyber security models, Commission says,&#8221; April 17, 2026.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Even the Handcrafted-Code Purists Are Using Agents]]></title><description><![CDATA[When the engineers most associated with software craft start teaching agentic workflows, the lazy "tech bros vibe coding" dismissal stops working.]]></description><link>https://plausiblereality.com/p/even-the-handcrafted-code-purists</link><guid isPermaLink="false">https://plausiblereality.com/p/even-the-handcrafted-code-purists</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sat, 18 Apr 2026 18:24:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0eac3e6b-82b8-4367-9a14-7923cab9c587_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have very little patience for the parade of one-shot AI app demos on the internet. Most of them deserve the mockery. A todo app that &#8220;shipped itself&#8221; in 14 minutes is not an operating model. It is content with a deployment URL.</p><p>But the wrong debate is still winning. Too many serious engineers are reacting to agentic coding as if the entire category were just tech-bro vibe coding with better branding and a larger context window.</p><p>That posture is getting harder to maintain. Not because a vendor announced that the future has arrived. Vendors have been announcing the future for as long as there have been purchase orders. It is getting harder because the people our industry has spent two decades treating as guardians of software craft are no longer standing outside the room.</p><p>CleanCoders now features a Clean AI training track about disciplined practices for building reliable AI-powered software agents. In Robert C. Martin&#8217;s Agentic Discipline series, the message is not &#8220;stop caring about code.&#8221; It is almost the opposite: the greatest danger is an undisciplined approach, testing and refactoring still matter, and when AI agents are doing the coding, &#8220;code cannot be the source.&#8221; The next episode goes as far as demonstrating four agents working collaboratively.</p><p>Kent Beck is not exactly radiating &#8220;ship the slop&#8221; energy either. His distinction is almost aggressively clear: vibe coding ignores the code and chases behavior. Augmented coding still cares about code quality, complexity, tests, and coverage. He just &#8220;doesn&#8217;t type much of that code.&#8221;</p><p>Martin Fowler pushes the same shift up to the organizational layer. He writes about &#8220;supervisory engineering work&#8221; and argues that teams may need to reorganize around verification rather than writing code. David Heinemeier Hansson moved from telling senior programmers in late 2024 to treat AI like a junior programmer to saying in early 2026 that agents are capable of production-grade contributions in a supervised collaboration model. Mike McQuaid says he has personally reached the point where AI writes 90% of his code, inside a sandboxed, worktree-heavy setup built around security and control.</p><p>Notice what these people are not endorsing: unsupervised autonomy, blind trust, or prompt-lottery development. The pattern is almost annoyingly responsible. Stronger tests. Sharper review. Better source documents. More human accountability.</p><p>I think that is the real threshold. This is no longer just the hobbyhorse of people who want computers to flatter them. The craft crowd is moving. Slowly, conditionally, and with enough caveats to keep a standards committee occupied. But moving.</p><p>Stack Overflow&#8217;s 2025 survey captures the awkward middle nicely. AI-tool adoption is already broad, daily use among professional developers is high, and yet trust remains shaky. More developers distrust AI accuracy than trust it, and a majority still either do not use agents at work or stay in simpler autocomplete mode. That is exactly the environment where disciplined teams learn the fastest: the tools matter, the defaults are not settled, and the people who build verification muscle early get compounding returns.</p><h1>Why the status shift matters</h1><p>Most engineering adoption is blocked less by tool access than by professional legitimacy. The repo is not the bottleneck. The social permission is.</p><p>If OpenAI, Anthropic, or GitHub tells your team that agents are the future, a healthy engineer hears marketing. Fair enough. If the same basic message arrives from people associated with clean code, TDD, refactoring, Rails craftsmanship, or open-source maintainership, it lands differently. Not because those people are infallible. Because they change what feels professionally acceptable.</p><p>Uncle Bob matters here because his public brand is not &#8220;move fast and see what the model hallucinated.&#8221; It is discipline. Readability. Refactoring. The CleanCoders site now puts Clean AI beside Clean Code, and the Agentic Discipline episodes frame agentic development as something that demands more rigor, not less. That is a cultural signal, not a product launch with a gradient background.</p><p>Kent Beck matters because TDD has always been more than a testing tactic. It is a worldview about feedback, scope control, and what counts as a good development loop. When Beck says augmented coding still values tidy code, tests, and coverage, he is not watering down that worldview. He is showing how it survives contact with agents.</p><p>Fowler matters because he pushes the conversation out of individual workflow bragging and into organizational design. &#8220;Supervisory engineering work&#8221; is a useful phrase precisely because it is a little annoying. It forces managers and staff engineers to admit that the valuable human work may be shifting from authoring every line to directing, evaluating, and correcting work that machines can now draft.</p><p>DHH matters because he is culturally allergic to a lot of enterprise AI theater. He likes coherent tools, strong opinions, and product taste. When he says agents went from &#8220;treat this like a junior programmer&#8221; to &#8220;this can make production-grade contributions under supervision,&#8221; that lands with teams that would never take their cues from benchmark maximalists or demo-day optimists.</p><p>Mike McQuaid matters because his endorsement is operational rather than mystical. He talks about sandboxes, worktrees, permissions, and security. That is the language of someone who expects bad automation to have consequences. In other words, the language serious teams actually need.</p><p>The important point is not hero worship. The important point is convergence.</p><p>These are different tribes with different taste profiles and different reasons for being skeptical. They are not all saying the same thing. But they are landing in the same neighborhood: agentic coding is real, it is useful, and it should be bounded by discipline, tests, review, and human accountability.</p><p>That is enough to retire one lazy argument. You can still argue about economics, quality ceilings, legal risk, or when not to use agents. Those are real debates. But the dismissal that this is merely &#8220;tech bros vibe coding&#8221; no longer matches the public behavior of the craft establishment.</p><h1>Craft did not die. It moved.</h1><p>The useful question is not whether a human typed every line. It is where quality lives now.</p><p>For a long time, elite engineering identity was tied to manual authorship. You proved seriousness by holding the keyboard, knowing the APIs cold, and treating every line as a handcrafted object. That identity made sense when syntax production, library recall, and repo spelunking were expensive human work.</p><p>They are getting cheaper. Judgment is not.</p><p>When Uncle Bob says &#8220;code cannot be the source,&#8221; he is making a bigger point than most people noticed. If code is no longer the primary artifact humans produce first, then the scarce human artifact becomes the thing above the code: the source document, the acceptance criteria, the domain language, the tests, the architecture, the non-goals, the failure cases. Fowler&#8217;s verification framing lands in the same place from another angle. Beck lands there through TDD. DHH lands there through supervised collaboration. Different accents. Same migration.</p><p>Preference is not performance.</p><p>A lot of senior engineers still confuse &#8220;I prefer writing this myself&#8221; with &#8220;this is the highest-value use of my time.&#8221; Those are not the same sentence. Sometimes hand-writing the code is still correct. Sometimes it is the expensive way to produce syntax that a supervised agent could have drafted while you spent your scarce attention defining the trade-offs and protecting the boundaries.</p><p>This sounds obvious, but teams miss it all the time. They treat agentic coding as a referendum on whether humans should still understand code. Of course they should. That is not the live issue. The live issue is whether the best engineer on the team should spend Tuesday wiring another pagination endpoint, or spend Tuesday defining the behavioral contract so the endpoint, its tests, and its edge-case handling can be generated, checked, and improved with less waste.</p><p>The strongest public advocates are not abandoning craft. They are relocating it.</p><p>Craft used to sit visibly in the syntax. Now more of it sits in task definition, decomposition, verification, evaluation, and refusal. Refusal matters more than a lot of AI enthusiasts admit. Someone still has to decide which request is poorly framed, which generated solution is elegant nonsense, which &#8220;working&#8221; implementation will rot the codebase six weeks from now, and which shortcut is unacceptable even if it passes today&#8217;s tests.</p><p>That is why the new prestige skill is not &#8220;prompting.&#8221; I dislike that word because it makes the whole thing sound like party-trick optimization. The real skill is designing loops: source documents, instructions, tests, permissions, review rituals, fallback paths, and escalation rules. You are not just asking for code. You are building a system that can safely produce and challenge code.</p><p>In that frame, hand-crafted code is not the point. Hand-crafted judgment is.</p><h1>What serious agentic coding looks like on Monday morning</h1><p>Let&#8217;s make this concrete, because abstract arguments are cheap.</p><p>Imagine your team needs to add exportable audit logs to a mature B2B application. There are auth rules, tenancy boundaries, rate limits, retention constraints, CSV formatting edge cases, and two annoying legacy models nobody wants to touch. So, software development.</p><p>The unserious version of AI use is obvious. Throw a vague prompt at a model, accept a confident diff, and hope CI catches the rest. That is how you manufacture theater and debt at the same time.</p><p>The serious version looks different.</p><p>A human writes the source document first. One page is enough. What the feature must do. What it must never do. The permissions model. The shape of the response. Failure cases. Migration considerations. Logging requirements. Performance guardrails. What counts as done. That document is not ceremony. It is the artifact that makes the work delegable.</p><p>Then a first agent maps the repo and identifies the likely blast radius: touched modules, tests that should change, docs that will drift, commands that should run, places where naming or domain assumptions look fragile. A second agent drafts or extends the acceptance tests. A human reviews both before implementation starts, not because the human has developed an unexpected passion for bureaucracy, but because catching a bad premise before code exists is still the cheapest move in software.</p><p>Only then do you let the implementation loop run.</p><p>That loop should live in a sandbox or separate worktree. It should have explicit permissions. It should run tests. It should explain its changes. It should flag uncertainty instead of bluffing. It should return a diff that a human can interrogate.</p><p>Then the human does the part that still matters most. Does the change fit the architecture? Does it respect the product constraints? Did the model solve the wrong problem elegantly? Did it bury a future maintenance tax under a passing test? Did it miss the social meaning of the codebase, the local conventions that never quite make it into docs but absolutely shape what belongs?</p><p>Bad parts go back for revision. Good parts move forward. Responsibility never becomes ambiguous.</p><p>That is not vibe coding. It is delegated implementation inside a verification loop.</p><p>It also changes what &#8220;senior&#8221; means. The sharp engineer in that workflow is not the person who can manually type the fastest controller. It is the person who writes the clearest source document, decomposes the task cleanly, anticipates the edge cases, chooses the right verification, and notices when the agent is confidently wrong.</p><p>This is why I think the anti-AI line &#8220;real engineers write their own code&#8221; is aging badly. Real engineers reduce uncertainty. Sometimes that still means writing the code by hand. More often now, it means designing the loop that produces and validates the code.</p><p>And no, this does not magically remove the need for code literacy. Quite the opposite. Supervision without technical depth becomes rubber-stamping. If anything, agentic coding punishes shallow engineers more harshly, because it gives them far more ways to approve something they do not actually understand.</p><p>The useful question is not &#8220;Did the AI write code?&#8221; It is &#8220;Did the team compress the boring 70 percent without blurring ownership for the dangerous 30 percent?&#8221; That is a much better test of professionalism.</p><p>If you want a starting point, start boring. Test scaffolding. Dependency updates. Refactors protected by strong tests. Documentation drift. Repetitive internal tooling. Migration spikes. Review prep. The first draft of tedious but bounded implementation. Do not start by asking an agent to wander your production backlog unsupervised like a caffeinated intern with root access.</p><p>Teams get into trouble when they confuse model capability with organizational readiness. The model may be good enough. Your permissions, source artifacts, review habits, and fallback rules may not be. Those are different questions.</p><h1>The real risk is waiting</h1><p>A lot of teams are treating delay as prudence. They see noisy demos, dubious benchmark discourse, and a thousand workflow hot takes, then conclude that the mature response is to stand still for another year.</p><p>I think that is backwards.</p><p>The first durable advantage here is not model access. Everyone has model access. The advantage is learning how to define tasks, constrain permissions, write reusable instructions, review AI-produced diffs, and build the social norms that keep accountability human. Those are operating muscles. They do not suddenly appear on the day you decide the tools are finally respectable.</p><p>And this market is in exactly the kind of messy middle where operational learning compounds. Broad AI-tool usage is already mainstream. Agent usage is still uneven. Trust is still incomplete. Most teams are not yet good at this. That means there is still time to learn without being hopelessly behind, and still enough noise in the system that disciplined adopters can pull away from the clowns.</p><p>The problem is usually not tool access. It is managerial and cultural permission.</p><p>Senior engineers do not want to look unserious. Staff engineers do not want to be associated with toy demos. CTOs do not want to sponsor a clown show and then spend six months cleaning up the aftermath. All reasonable concerns.</p><p>That is exactly why the movement of people like Uncle Bob, Beck, Fowler, DHH, and McQuaid matters. They do not remove the need for judgment. They remove the last easy excuse that this category is beneath serious engineers.</p><p>Most organizational change in software does not fail because a capability is unavailable. It fails because the behavior is not yet socially legible. Once high-status craft figures say, in different ways, &#8220;this is real, but only with discipline,&#8221; experimentation stops feeling reckless and starts feeling professional.</p><p>That is the call to action here. Not &#8220;trust the agent.&#8221; Not &#8220;let the model cook.&#8221; Not &#8220;replace engineers with vibes and PRs.&#8221;</p><p>Raise the bar for source. Raise the bar for tests. Raise the bar for review. Then give agents the work that fits inside that bar.</p><p>Start with bounded tasks. Keep the permissions tight. Demand explanations. Measure rework, review burden, and accepted diffs, not just raw output volume. Teach people that catching a bad premise early is a win, not an embarrassment. Reward clear task framing as much as clever implementation.</p><p>Most of all, stop talking about hand-crafted code as though manual typing were the thing worth preserving. What is worth preserving is taste, responsibility, clarity, and judgment. If agents can take the rote work while humans hold the line on those things, that is not the death of craft. That is craft refusing to waste its time.</p><p>The question is not whether AI will write code in your organization. It already is, or it soon will be. The question is whether your engineers will learn to supervise that work better than their peers - or whether they will keep mistaking a preference for hand-typing syntax with a principle.</p><p>Are you defending craft, or are you just defending your preferred way of producing text?</p><p style="text-align: center;">* * *</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Notes and References</h2><p>1. CleanCoders, &#8220;Featured Series&#8221; page; &#8220;Agentic Discipline&#8221; Episodes 1-3; public site accessed April 2026.</p><p>2. Kent Beck, &#8220;Augmented Coding: Beyond the Vibes,&#8221; Software Design: Tidy First?, June 25, 2025.</p><p>3. Martin Fowler, &#8220;Fragments: March 16,&#8221; March 16, 2026.</p><p>4. Martin Fowler, &#8220;Fragments: April 2,&#8221; April 2, 2026.</p><p>5. David Heinemeier Hansson, &#8220;The premise trap,&#8221; December 16, 2024.</p><p>6. David Heinemeier Hansson, &#8220;Promoting AI agents,&#8221; January 7, 2026.</p><p>7. Mike McQuaid, &#8220;Sandboxes and Worktrees: My secure Agentic AI Setup in 2026,&#8221; April 14, 2026.</p><p>8. Stack Overflow, &#8220;AI | 2025 Stack Overflow Developer Survey,&#8221; 2025. </p>]]></content:encoded></item><item><title><![CDATA[XXX + Claude Code Is Not 99% Cheaper]]></title><description><![CDATA[You can cut the visible token bill hard. You can also quietly swap out the model, the API semantics, and the operating costs that made Claude Code feel good in the first place.]]></description><link>https://plausiblereality.com/p/xxx-claude-code-is-not-99-cheaper</link><guid isPermaLink="false">https://plausiblereality.com/p/xxx-claude-code-is-not-99-cheaper</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sat, 04 Apr 2026 14:27:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/08622f23-3880-44b3-9d12-814bb09e1b71_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ignore the screenshot. Decompose the stack.   </p><p>&#8220;Ollama + Claude Code = 99% cheaper&#8221; is exactly the sort of claim the internet adores: one real technical fact compressed into one extremely convenient business conclusion.</p><p>The real part is straightforward. Ollama exposes Anthropic-compatible endpoints, documents how to point Claude Code at a local or cloud Ollama backend, and even provides <code>ollama launch claude</code> to connect the plumbing for you.[5]</p><p>The misleading part is the jump from &#8220;Claude Code can talk to Ollama&#8221; to &#8220;you kept everything important and removed everything expensive.&#8221;</p><p>I do not think that is what happened.</p><p>What people like about Claude Code is usually the whole stack behaving as one system: the agent loop, the editing and command harness, the context handling, the default ergonomics, and the model behind it. On the hardest coding work, that final component is not decorative garnish. It is the meal.</p><p>So yes, you can reduce the visible token bill. Sometimes dramatically.</p><p>But that is not the same as buying the same outcome for less money. Often, you are using the same shell to drive a different brain through a different runtime, with different features, bottlenecks, and failure modes.</p><p>The wrong debate is &#8220;Claude Code versus Ollama.&#8221;</p><p>The useful question is which parts of the stack you are replacing, what you gain, and which bill returns later wearing a fake moustache.</p><p>A &#8220;free&#8221; alternative is usually free only if hardware, setup friction, supervision time, and degraded judgment have been politely escorted out of the spreadsheet.</p><p>That is the fluff worth removing.</p><p style="text-align: center;">* * *</p><h1>The wrong debate is Claude Code versus Ollama</h1><p>Anthropic&#8217;s description of its Agent SDK is unusually helpful here. It says the SDK provides the same tools, agent loop, and context management that power Claude Code.[1]</p><p>That matters.</p><p>Claude Code is not merely brand perfume sprayed over a hidden endpoint. There is a real harness. The shell matters. Tool permissions matter. The edit loop matters. Context management matters.</p><p>But the same sentence also supports the conclusion that clickbait titles prefer not to inspect too closely.</p><p>If the harness can be separated from the model, retaining the harness does not mean retaining the model.</p><p>And Anthropic&#8217;s own documentation does not treat model choice as a cosmetic setting. It tells users to begin with Claude Opus 4.6 for the most complex tasks and describes it as the latest-generation model with exceptional coding and reasoning performance.[2] Its Claude Code cost guidance says Sonnet handles most coding tasks well at lower cost, while Opus should be reserved for complex architectural decisions or multi-step reasoning.[3]</p><p>Anthropic is being remarkably direct about something the market keeps trying to fog up: changing the model changes the tool.</p><p>Not merely the speed.</p><p>Not merely the invoice.</p><p>The tool.</p><p>Once you separate the stack into layers, the viral headline starts looking less profound and more like someone labelled a gearbox &#8220;car.&#8221;</p><p>Claude Code is one layer.</p><p>Claude the model is another.</p><p>The API semantics and serving stack form another.</p><p>Billing and infrastructure form another.</p><p>Ollama can replace some of these pieces. It cannot declare them irrelevant by executive decree.</p><p>Anthropic&#8217;s Claude Code documentation also shows that several deployment paths already existed before Ollama entered the conversation. Claude Code can authenticate through Claude.ai subscriptions, the Console and API route, or cloud providers including Bedrock, Vertex, and Microsoft Foundry.[4]</p><p>That portability is real.</p><p>The idea that portability makes every backend equivalent is not.</p><p>When people say &#8220;Claude Code is amazing,&#8221; they usually do not mean &#8220;the terminal has delightful slash commands.&#8221;</p><p>They mean something more like this: it usually stays on task, reads the right files, avoids some spectacularly foolish edits, makes surprisingly competent multi-file changes, and recovers better than expected when the job becomes messy.</p><p>That is not only a shell story.</p><p>It is a model-judgment story.</p><p>And in unpleasant engineering work, judgment is commonly the expensive bit.</p><p style="text-align: center;">* * *</p><h1>Where the 99% cheaper claim is technically true</h1><p>There is a fair version of the claim.</p><p>If your baseline is API-billed Claude Code usage through Anthropic, and your workload is substantial enough, moving work to a local model can sharply reduce direct provider spending. Anthropic&#8217;s Claude Code documentation says average cost is about $6 per developer per day, that daily cost remains below $12 for 90% of users, and that average monthly cost is roughly $100 to $200 per developer using Sonnet 4.6, with wide variation depending on usage patterns.[3]</p><p>If you already own capable hardware and shift a meaningful portion of that work to local inference, the marginal provider bill can indeed collapse.</p><p>That is real.</p><p>It is also rather narrower than the headline would like you to notice.</p><p>First, the baseline matters.</p><p>Anthropic explicitly says the <code>/cost</code> command applies to API users. Pro and Max subscribers have usage included in their subscriptions, so <code>/cost</code> is not relevant to billing under those plans.[3] Anthropic&#8217;s pricing page lists Pro at $17 per month with annual billing or $20 month-to-month, including Claude Code, while Max begins at $100 per month and also includes Claude Code.[6]</p><p>So when someone compares &#8220;Ollama + Claude Code&#8221; with a Pro subscriber who was never incurring a giant API bill, &#8220;99% cheaper&#8221; is not really analysis. It is stage lighting.</p><p>Second, Ollama does not automatically mean free local inference.</p><p>Ollama&#8217;s documentation says it supports both local and cloud models.[5] Its pricing page offers Free, Pro, and Max tiers, with cloud-usage and concurrency rules attached to them.[7] Ollama says running models on your own hardware is unlimited, but cloud usage is not.[7]</p><p>Even within the word &#8220;Ollama,&#8221; people are often blending at least three distinct cost structures: local inference on hardware they already own, local inference on hardware purchased for the purpose, and Ollama cloud usage under a plan with limits.</p><p>Those are not the same financial decision, no matter how efficiently they fit into one screenshot.</p><p>Third, &#8220;cheaper&#8221; often means &#8220;cheaper on the one line item selected for public display.&#8221;</p><p>This should be obvious. Teams still miss it with impressive consistency.</p><p>They compare token charges and omit the supervision tax.</p><p>They celebrate a smaller provider invoice while quietly absorbing slower reviews, more retries, less trust in the edits, more manual validation, more machine-specific setup, and more engineering time spent coaxing the system through edge cases.</p><p>That is not imaginary cost.</p><p>It is simply cost that does not appear in the AI vendor&#8217;s dashboard, where inconvenient expenses go to become someone else&#8217;s problem.</p><p>Once you measure that version, the headline loses much of its sorcery.</p><p style="text-align: center;">* * *</p><h1>Free is where the trade-offs start</h1><p>The first trade-off is model quality, which is also the trade-off viral titles are most determined to hide behind the curtains.</p><p>I am not making a benchmark argument.</p><p>I am making a work argument.</p><p>For shallow tasks, the harness carries a great deal of weight. Read files. Search strings. Rename symbols. Scaffold tests. Produce an initial draft. Run a command. Summarize a repository. Many models can look surprisingly capable when the task is narrow and the feedback loop is tight.</p><p>Then the work becomes architectural, ambiguous, or stateful, and model judgment begins taking over the room.</p><p>Should this change live in middleware or at the call site?</p><p>Does this failing test reveal a bad patch, or a bad plan?</p><p>Where is the least invasive place to fix the defect without upsetting everything nearby?</p><p>Should the agent edit anything at all, or stop and request a design decision?</p><p>This is the work for which people pay for stronger models.</p><p>Anthropic&#8217;s documentation reflects the same division. It presents Opus 4.6 as the starting point for the most complex tasks and describes it as exceptional in coding and reasoning.[2] Its Claude Code documentation separately recommends Sonnet for most coding work and reserves Opus for complex architectural decisions or multi-step reasoning.[3]</p><p>So when someone connects Claude Code to <code>qwen3-coder</code>, <code>glm-4.7</code>, or <code>minimax-m2.1</code> through Ollama, they are not merely trimming a little administrative fat.[5]</p><p>They are replacing the judge.</p><p>That may be entirely acceptable.</p><p>It may be an excellent decision for their particular workload.</p><p>But it remains a trade, and the trade is central rather than incidental.</p><p>The second trade-off is API behaviour, which sounds tedious right up until it ruins your afternoon.</p><p>Ollama&#8217;s Anthropic compatibility is substantial enough to make the integration genuine. It supports messages, streaming, system prompts, multi-turn conversations, tool use, tool results, vision through base64 images, and thinking blocks.[5]</p><p>That is meaningful compatibility.</p><p>Its documentation is also explicit about what is missing or only partially supported.</p><p>Ollama says Anthropic features including the <code>count_tokens</code> endpoint, prompt caching, the Batches API, citations, PDF document blocks, and fully supported extended thinking are unsupported or only partly supported. It also says token counts are approximations derived from the underlying model tokenizer, while extended-thinking support is basic: <code>budget_tokens</code> is accepted but not enforced.[5]</p><p>That is not documentation trivia.</p><p>That is system behaviour.</p><p>Anthropic&#8217;s Claude Code cost guidance says Claude Code automatically uses prompt caching and auto-compaction to reduce repeated-context costs. It also says extended thinking is enabled by default because it significantly improves performance on complex planning and reasoning tasks.[3]</p><p>When you replace the backend, therefore, you are not only replacing the brain.</p><p>You are changing some of the rules under which the harness expects that brain to operate.</p><p>Perhaps your workflow does not need PDFs, citations, or batches.</p><p>Fine.</p><p>Perhaps approximate token counts are sufficient.</p><p>Also fine.</p><p>But prompt caching and thinking behaviour are not decorative options added by an enthusiastic product manager. They affect the system&#8217;s cost, context, and reasoning profile.</p><p>When they change, the experience changes with them.</p><p>The third trade-off is hardware, a subject people curiously forget immediately after saying &#8220;free.&#8221;</p><p>Ollama&#8217;s Claude Code integration page recommends models such as Qwen3 Coder for coding work, then notes that Qwen3 Coder is a 30B model requiring at least 24GB of VRAM to run smoothly, with more required for longer context lengths.[5]</p><p>That is the gap between &#8220;I eliminated my SaaS bill&#8221; and &#8220;I now pay in silicon, heat, and small recurring episodes of operational irritation.&#8221;</p><p>For a solo developer who already owns the hardware, that may be perfectly rational.</p><p>For a team attempting to standardize workflows across assorted laptops and desktops, it can become a modest tax levied everywhere at once.</p><p>Someone must maintain the runtime.</p><p>Someone must manage model versions.</p><p>Someone must explain why the agent flies on one machine, crawls on another, and has ceased to acknowledge the laws of nature on a third because quantization changed or memory pressure arrived.</p><p>And when you solve those problems by moving to Ollama cloud, you return to plans, concurrency, usage limits, and provider terms.[7]</p><p>Again, that is not necessarily bad.</p><p>It is simply not free.</p><p>The fourth trade-off is privacy and compliance, where both sides often flatten a real risk discussion into bumper stickers.</p><p>Yes, local inference can be valuable when you require greater data locality or do not want prompts leaving the machine. Ollama markets privacy directly and presents running models on your own hardware as part of the product&#8217;s value.[7]</p><p>But the opposite caricature&#8212;&#8220;hosted Claude obviously trains on your code&#8221;&#8212;is equally careless.</p><p>Anthropic&#8217;s Claude Code data-usage documentation says data from commercial users operating under Team, Enterprise, and API terms is not used for generative-model training unless those users explicitly opt in to provide data for model improvement.[8] Default retention also differs by account type, with distinct settings for consumer and commercial routes.[8]</p><p>The useful question is therefore not &#8220;local good, cloud bad.&#8221;</p><p>It is: &#8220;What obligations do I actually have, which account path am I using, what retention policy applies, and which system satisfies my risk model?&#8221;</p><p>Clickbait wants one emotion.</p><p>Engineering generally requires one additional layer of thought, which is terribly inconsiderate of it.</p><p style="text-align: center;">* * *</p><h1>A simple workflow test that exposes the truth</h1><p>Here is the test I think matters.</p><p>Choose a job annoying enough to reveal genuine differences, but common enough that engineers might actually have to do it.</p><p>Suppose you need to add passkey support, preserve legacy sessions during the rollout, update administrative permission checks, modify the onboarding flow, patch the mobile API contract, and ensure a background cleanup job does not invalidate the wrong records.</p><p>This is not a benchmark.</p><p>This is Tuesday.</p><p>Claude Code as a harness can do a great deal in either setup. It can inspect files. It can execute commands. It can edit code. It can propose a plan, run tests, and use tools. Nobody is disputing that.[1][5]</p><p>The difference appears after the first burst of impressive-looking activity.</p><p>Does the model preserve the migration strategy while modifying several subsystems?</p><p>Does it notice the stale assumption hidden inside a helper nobody mentioned?</p><p>Does it understand that a failing test may be evidence against its plan rather than an invitation to &#8220;fix the test&#8221; until everyone feels better?</p><p>Does it remain within the task boundary, or begin making nearby &#8220;improvements&#8221; because the original objective has drifted out of working memory?</p><p>Does it know when to stop?</p><p>That is where the cheap-versus-expensive question becomes real.</p><p>The cost of a weaker answer is rarely recorded merely as &#8220;the model was wrong.&#8221;</p><p>The actual cost is that you reread more of its work, rerun more tests, intervene earlier, distrust more of the diff, retry with narrower prompts, split the job into smaller pieces, or eventually return the difficult portion to the stronger model anyway.</p><p>A token bill is visible.</p><p>A supervision bill is not.</p><p>This is why discussions about coding agents are so often optimized around the wrong metric.</p><p>People optimize for time to first token.</p><p>They should optimize for time to correct merge.</p><p>People optimize for nominal cost per request.</p><p>They should optimize for acceptable output per hour of senior attention.</p><p>People optimize for &#8220;it worked in my demo.&#8221;</p><p>They should optimize for whether it continues to work amid ambiguity, fatigue, and code that appears to have been designed through a series of personal disputes.</p><p>Preference is not performance.</p><p>Feeling pleased because inference happened locally is not the same as shipping faster.</p><p>And this is why &#8220;Claude Code is just a harness&#8221; is too glib.</p><p>If the harness were the whole product, replacing the brain would feel like switching browsers.</p><p>On difficult work, it feels considerably more like switching engineers.</p><p style="text-align: center;">* * *</p><h1>How to use the trade-off without lying to yourself</h1><p>None of this is an argument against Ollama.</p><p>I think Ollama with Claude Code is a good arrangement in many situations.</p><p>It makes sense when you already own suitable hardware.</p><p>It makes sense when the work is repetitive and lower stakes.</p><p>It makes sense for local experimentation, cheap background agents, repository search, mechanical transformations, or a disposable first pass that you are comfortable supervising.</p><p>It also makes sense when data locality is the actual requirement and you are willing to pay for it through operations rather than vendor fees.</p><p>That is a perfectly adult trade.</p><p>Nor am I arguing that every task deserves Opus.</p><p>Anthropic does not argue that either. Its own Claude Code cost guidance says Sonnet performs most coding tasks well at lower cost, while Opus is intended for complex architectural decisions or multi-step reasoning.[3]</p><p>That is a sensible operating model.</p><p>The mistake is presenting the lower-cost route as a drop-in replacement for every kind of work.</p><p>It is not.</p><p>The sensible version of this discussion is unfortunately boring, which may explain its poor reproductive success online.</p><p>Use cheaper local or cloud models when tasks are constrained, recoverable, or easy to verify.</p><p>Use stronger hosted models when work is ambiguous, expensive to get subtly wrong, or likely to spread across architecture, state, and hidden assumptions.</p><p>In other words, behave as competent engineering teams already do with people.</p><p>You do not assign every problem to the cheapest available pair of hands.</p><p>You route work according to the cost of failure, the difficulty of review, and the value of good judgment.</p><p>Models have not become magical enough to repeal that logic.</p><p>One operating pattern I like is to treat model strength as a routing problem.</p><p>Cheap first pass.</p><p>Mid-tier daily driver.</p><p>Top-tier escalation path.</p><p>That could mean local models plus Sonnet plus Opus.</p><p>It could mean Ollama for commodity work and Claude at the difficult edge.</p><p>It could even mean an entirely hosted setup when consistency matters more than squeezing the provider invoice.</p><p>The important thing is knowing which failures you are purchasing.</p><p>Another pattern is to begin with the strongest model, discover where it is genuinely unnecessary, and then downshift selectively.</p><p>Teams often do the reverse because the invoice is the first pain visible from accounting.</p><p>That is backward.</p><p>You should understand the failure modes before optimizing around them.</p><p>And you should measure the right things.</p><p>Not only tokens.</p><p>Measure retries per task.</p><p>Measure review time.</p><p>Measure how often humans take over.</p><p>Measure how often the initial plan survives contact with the repository.</p><p>Measure whether the cheaper system produces smaller bills by producing less useful work.</p><p>That final measure matters especially.</p><p>Sometimes the &#8220;savings&#8221; come from lower utilization because engineers no longer trust the tool enough to use it.</p><p>That is not efficiency.</p><p>That is disengagement wearing a finance costume.</p><p>So yes, ignore the fluff.</p><p>Yes, the viral line contains a genuine trick.</p><p>Claude Code can run against Ollama.[5]</p><p>Yes, under the right conditions, that can dramatically reduce direct model spending.[3][7]</p><p>But no, it does not mean you retained the identical system and simply removed its cost.</p><p>You changed the model.</p><p>You changed parts of the API behaviour.</p><p>You changed the hardware assumptions.</p><p>You changed the privacy and operational profile.</p><p>You changed who pays, when they pay, and which failures they agree to tolerate.</p><p>That may still be a very good trade.</p><p>It simply is not a magic trick.</p><p>The useful question is not &#8220;Can Claude Code talk to Ollama?&#8221;</p><p>It can.</p><p>The useful question is whether, after the substitution, your team delivers better engineering outcomes per dollar of total attention.</p><p>That sentence is considerably less clickable than &#8220;99% cheaper.&#8221;</p><p>It is also the sentence that matters.</p><p>Because much of AI cost optimization consists of relocating the bill somewhere the dashboard has been trained not to look.</p><p>So here is a mildly irritating question to finish with: are you reducing the cost, or merely making the expensive part harder to see?</p><p style="text-align: center;">* * *</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Notes and References</h2><blockquote><p>1. Anthropic. &#8220;Agent SDK overview.&#8221; Claude Developer Platform. platform.claude.com/docs/en/agent-sdk/overview</p><p>2. Anthropic. &#8220;Models overview.&#8221; Claude API Docs. platform.claude.com/docs/en/about-claude/models/overview</p><p>3. Anthropic. &#8220;Manage costs effectively.&#8221; Claude Code Docs. code.claude.com/docs/en/costs</p><p>4. Anthropic. &#8220;Authentication.&#8221; Claude Code Docs. code.claude.com/docs/en/iam</p><p>5. Ollama. &#8220;Anthropic compatibility.&#8221; Ollama Docs. docs.ollama.com/api/anthropic-compatibility</p><p>6. Anthropic. &#8220;Plans &amp; Pricing.&#8221; Claude. claude.com/pricing</p><p>7. Ollama. &#8220;Pricing.&#8221; Ollama. ollama.com/pricing</p><p>8. Anthropic. &#8220;Data usage.&#8221; Claude Code Docs. code.claude.com/docs/en/data-usage</p></blockquote>]]></content:encoded></item><item><title><![CDATA[Good Judgment Is the New Important Skill for Engineers]]></title><description><![CDATA[When AI makes implementation cheaper, the engineers who stand out are the ones who can frame the problem, verify the output, and choose the right compromise.]]></description><link>https://plausiblereality.com/p/good-judgment-is-the-new-important</link><guid isPermaLink="false">https://plausiblereality.com/p/good-judgment-is-the-new-important</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sun, 29 Mar 2026 00:54:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e297aacf-4303-4a35-895a-c31a879e161a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The bottleneck has moved upstream</h1><p>A lot of engineers still think the premium skill is speed.  </p><p>I think that frame is already outdated.</p><p>The wrong debate is whether AI will replace engineers. The useful question is which parts of engineering are becoming cheap enough that they stop being differentiators. Writing the first draft of code is getting cheaper. Spinning up infrastructure is getting cheaper. Generating boilerplate is already cheap enough that nobody serious should confuse it with leverage, however enthusiastically the boilerplate arrives.</p><p>What stays expensive is judgment.</p><p>By judgment, I do not mean vague seniority theatre performed beside an architecture diagram. I mean the habit of making defensible decisions under uncertainty. It is the ability to frame the problem properly, surface the real constraints, spot the second-order effect, choose the least bad tradeoff, and recognise when a fast answer is actually dangerous.</p><p>That has always mattered. The difference now is relative value. When implementation gets easier, decision quality becomes harder to hide.</p><p>This is not just a pleasant philosophical position for people who enjoy saying &#8220;it depends.&#8221; The profession has been signalling it for years. The National Society of Professional Engineers puts public safety and welfare at the centre of engineering responsibility, including the duty to act when an engineer&#8217;s judgment is overruled in dangerous circumstances.[1] ABET&#8217;s 2025&#8211;2026 engineering criteria explicitly require graduates to make informed judgments and to use engineering judgment when drawing conclusions from experiments and analysis.[2]</p><p>So no, judgment is not the decorative soft skill added after the real work is finished. It is part of the real work.</p><p>What has changed is that more of the market can now imitate the implementation part for longer.</p><h1>Why this matters more now</h1><p>The easiest mistake right now is to confuse output with value.</p><p>A tool can produce a plausible pull request in minutes. That does not mean the problem was framed well. It does not mean the change is safe to deploy. It does not mean the edge cases were considered. It certainly does not mean the long-term maintenance cost evaporated out of professional courtesy.</p><p>This sounds obvious, but teams miss it constantly. They celebrate faster artifact creation while quietly forwarding the risk to review, QA, operations, security, and whichever future maintainer loses the organisational lottery.</p><p>The Stack Overflow 2025 Developer Survey captured the mood better than most think-pieces did: more developers actively distrust the accuracy of AI tools than trust it, with 46% saying they distrust the output and 33% saying they trust it.[3] That gap matters. It tells you the industry is not struggling to obtain generated code. It is struggling to decide whether generated code deserves confidence.</p><p>That is why the bottleneck has moved upstream.</p><p>If a junior engineer can generate something that looks competent, the premium shifts to the person who can answer the harder questions. Is this the right abstraction? What breaks under retry? What happens when the input order changes? Which failure is acceptable, and which one gets us paged at 2 a.m.? Are we shipping a local optimisation that creates a system-wide administrative hobby?</p><p>Preference is not performance. A workflow that feels fast in the first ten minutes can be painfully slow over two quarters if it produces brittle decisions with excellent formatting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VeU1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VeU1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 424w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 848w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VeU1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png" width="1456" height="915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:915,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:153062,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://plausiblereality.com/i/192265134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VeU1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 424w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 848w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 1272w, https://substackcdn.com/image/fetch/$s_!VeU1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0abe69f7-05ba-40e8-9def-bf9d085c720e_2100x1320.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Table 1. The skill shift inside modern engineering work.</p><h1>What good judgment actually looks like</h1><p>Good judgment is usually less glamorous than people want it to be.</p><p>It often looks like refusing to be impressed too early.</p><p>It looks like asking one more annoying question before approving a design. It looks like noticing that a feature request is really a policy question wearing a small technical hat. It looks like treating AI output as a draft with a burden of proof, not as a completed answer that happened to arrive without witnesses. It looks like knowing when to stop exploring options and when to reopen the decision because the context changed.</p><p>I think good judgment in engineering usually has five parts.</p><ol><li><p><strong>Problem framing.</strong> The team that solves the wrong problem elegantly is still wrong, just in a more reusable way. Strong engineers clarify the real outcome, the real constraints, and the real user harm before they touch the solution.</p></li><li><p><strong>Tradeoff quality.</strong> Most meaningful engineering choices are not about perfect versus bad. They are about expensive versus reversible, fast versus auditable, elegant versus operable, and clever versus teachable.</p></li><li><p><strong>Risk calibration.</strong> Not every decision deserves ceremony. Not every decision deserves speed either. Good engineers separate reversible moves from irreversible ones. They know when a quick experiment is sensible and when a small mistake can become a permanent tax with its own dashboard.</p></li><li><p><strong>System awareness.</strong> A function can be locally clean and globally stupid. A change that looks harmless inside one service can create retry storms, double sends, broken reports, or compliance gaps downstream.</p></li><li><p><strong>Learning discipline.</strong> Good judgment is not only the decision itself. It is also the quality of the feedback loop after the decision lands.</p></li></ol><p>That last part matters more than teams admit. NIST&#8217;s Secure Software Development Framework exists precisely because ordinary software development life cycle models often do not address security in enough detail, which means teams need explicit secure-development practices layered into the work.[4] NIST&#8217;s AI Risk Management Framework makes a similar point from the AI side: organisations need structured ways to manage AI risk and make trustworthiness operational rather than rhetorical.[5]</p><p>In other words, good judgment is not a personality trait bestowed during promotion. It is a working system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LCOL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LCOL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 424w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 848w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LCOL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115000,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://plausiblereality.com/i/192265134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LCOL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 424w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 848w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!LCOL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9909d152-40ab-462f-ac85-28a6509920ba_2400x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Figure 1. A practical judgment loop for modern engineering work.</p><h1>A concrete workflow: the AI-written migration that looks fine until it isn&#8217;t</h1><p>Here is a more realistic example than most benchmark chatter.</p><p>Imagine a team needs to change the schema behind a notification system. An engineer asks an AI tool to draft the migration, the backfill logic, the ORM model changes, and a batch job to clean old records. The tool produces something that compiles. Unit tests pass. The diff looks tidy. Everybody feels efficient. There may even be a green tick, the traditional symbol for &#8220;nothing further could possibly go wrong.&#8221;</p><p>The weak version of engineering stops there.</p><p>The stronger version becomes irritating in exactly the right way.</p><p>Someone asks whether the migration is idempotent. Someone else checks whether the backfill will fight live writes. Another engineer asks what happens if the job is retried halfway through. A product-minded reviewer asks whether message history could become inconsistent for end users during the transition. Ops asks about rollout order, observability, and rollback. Security asks whether the temporary data shape changes access boundaries or audit requirements. A good staff engineer asks the blunt question: do we even need a backfill, or are we preserving a convenience that is not worth the operational risk?</p><p>None of that is syntax work.</p><p>None of that is model benchmark work.</p><p>That is judgment.</p><p>The interesting part is that AI tools can make this gap wider, not smaller. They reduce the time between idea and artifact, which is useful. They also make it easier to skip the thinking that should have happened before the artifact existed. The team now has something concrete to react to, so everyone feels that work has progressed. Sometimes it has. Sometimes the team has merely become more efficiently wrong.</p><p>That is why acceptance criteria are the new code review.</p><p>I would rather have an average engineer with sharp acceptance criteria, a rollback plan, explicit assumptions, and a clean monitoring strategy than a brilliant engineer who can generate code quickly and explain afterwards why the blast radius was unforeseeable.</p><h1>How teams actually train judgment</h1><p>Teams say they want judgment, then build environments that reward speed theatre.</p><p>If you want better judgment, you need to train it in the open.</p><p>The first method is decision visibility. Important decisions should leave a trail: what problem was being solved, which options were considered, why the chosen path won, what assumptions were made, and what signals would show that the choice was failing. This does not need to become bureaucratic sludge poured into a template. A short decision record is often enough. The point is to make the reasoning inspectable.</p><p>The second method is postmortems that are genuinely useful. Not blame rituals. Not timeline fan fiction. Real examination of the framing, the assumptions, the missed signals, and the controls that were absent or weak. If the same class of mistake keeps happening, the issue is usually not individual intelligence. It is missing scaffolding.</p><p>The third method is scenario work. Put engineers in realistic tradeoff situations. Ask whether they would ship, delay, isolate, roll back, or redesign. Ask what extra evidence they would require. You learn more from that than from asking whether they remember a specific API call under fluorescent lighting.</p><p>The fourth method is exposure to consequences. Judgment improves when engineers experience the operational cost of their choices. If one group writes the code and another group absorbs every outage, you are training local optimisation, not engineering maturity.</p><p>The fifth method is managerial honesty. If promotions are still driven mostly by visible output volume, the organisation is telling people what it actually values. You do not create a judgment culture by saying the word &#8220;judgment&#8221; repeatedly in a competency framework.</p><p>&#8220;Ship fast, observe everything, revert faster&#8221; is still a good rule. But notice what sits inside it: choosing what to ship, deciding what to watch, and defining what would justify a reversal. Again, the difficult part is not typing.</p><h1>What I would hire and reward for</h1><p>A lot of interview loops still overweight the part of engineering that is easiest to observe in a compressed setting.</p><p>You can see whether someone produces an answer quickly. You can see whether they know a framework. You can see whether they can speak fluently about architecture patterns. What is harder to see is whether they make cleaner decisions when the information is incomplete and the tradeoffs are ugly.</p><p>That is why many teams accidentally hire for confidence and call it judgment. Confidence is considerably easier to demonstrate in forty-five minutes.</p><p>If I cared about judgment, I would ask candidates to walk through a messy decision. A real one. A rollout that went wrong. A migration they delayed. A time they chose not to build something. I would listen for whether they can name the assumptions they were carrying, the signals they trusted too much, and the point at which they realised the original framing was wrong.</p><p>I would also pay attention to how they talk about constraints. Weak engineers often treat constraints as irritating blockers standing between them and the clean solution. Strong engineers use constraints as design inputs. That difference matters because real work is constraint handling with occasional bursts of typing.</p><p>Inside teams, I would reward engineers who make the system easier to reason about. People who reduce ambiguity. People who write decision records that save other people time. People who improve rollback quality, testability, observability, and handoff clarity. Those things do not always look heroic in the moment. They compound anyway, which is less cinematic but generally more useful.</p><p>The teams that win in an AI-heavy environment will not be the ones that generate the most code. They will be the ones that waste the least energy on plausible nonsense.</p><h1>What I would optimise for now</h1><p>If I were advising an engineer early in their career, I would still tell them to build real technical depth. You cannot exercise judgment in a domain you do not understand. Guessing with authority is not the same skill.</p><p>But I would also tell them not to confuse technical depth with career insulation.</p><p>The engineers who become hard to replace are usually the ones who reduce expensive uncertainty. They turn vague requests into workable plans. They spot the hidden dependency before it becomes an outage. They know when a tool&#8217;s output is good enough, when it needs rewriting, and when the problem should be pushed back on entirely.</p><p>They make other people safer.</p><p>That is why I think the premium skill has shifted.</p><p>Not away from engineering.<br>Not away from code.<br>Not into empty &#8220;leadership&#8221; talk.</p><p>It has shifted towards better decisions around the code.</p><p>The useful question is not whether AI can write more of the implementation. It clearly can. The useful question is whether your team is getting better at deciding what deserves to exist, what deserves trust, and what deserves a hard no.</p><p>Because once code gets cheap, bad judgment gets very expensive.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>Notes / references</h1><blockquote><p><strong>[1] </strong>National Society of Professional Engineers, &#8220;NSPE Code of Ethics for Engineers.&#8221; <a href="https://www.nspe.org/career-growth/nspe-code-ethics-engineers">https://www.nspe.org/career-growth/nspe-code-ethics-engineers</a></p><p><strong>[2] </strong>ABET, &#8220;Criteria for Accrediting Engineering Programs, 2025&#8211;2026,&#8221; Criterion 3 student outcomes. <a href="https://www.abet.org/accreditation/accreditation-criteria/criteria-for-accrediting-engineering-programs-2025-2026/">https://www.abet.org/accreditation/accreditation-criteria/criteria-for-accrediting-engineering-programs-2025-2026/</a></p><p><strong>[3] </strong>Stack Overflow, &#8220;2025 Developer Survey &#8211; AI.&#8221; <a href="https://survey.stackoverflow.co/2025/ai">https://survey.stackoverflow.co/2025/ai</a></p><p><strong>[4] </strong>NIST, &#8220;SP 800-218: Secure Software Development Framework (SSDF) Version 1.1.&#8221; <a href="https://csrc.nist.gov/pubs/sp/800/218/final">https://csrc.nist.gov/pubs/sp/800/218/final</a></p><p><strong>[5] </strong>NIST, &#8220;Artificial Intelligence Risk Management Framework (AI RMF 1.0).&#8221; <a href="https://www.nist.gov/publications/artificial-intelligence-risk-management-framework-ai-rmf-10">https://www.nist.gov/publications/artificial-intelligence-risk-management-framework-ai-rmf-10</a></p></blockquote>]]></content:encoded></item><item><title><![CDATA[The Best Office AI Is the One That Takes Out the Trash]]></title><description><![CDATA[Claude makes prettier inbox triage. ChatGPT closes the loop. That is not the same thing.]]></description><link>https://plausiblereality.com/p/the-best-office-ai-is-the-one-that</link><guid isPermaLink="false">https://plausiblereality.com/p/the-best-office-ai-is-the-one-that</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sat, 28 Mar 2026 23:43:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/68a71c4b-ed59-4681-b446-d44f1959028b_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I gave Claude and ChatGPT a stupidly normal office task.</p><p>Not &#8220;build me a startup.&#8221; Not &#8220;write a literature review.&#8221; Just this: take a specific newsletter pile in my inbox, summarize each email so I can scan for anything worth opening, keep the links usable so I can click through to the interesting ones, and when I am done, delete the batch.</p><p>This should be easy.</p><p>It is digital housekeeping with better branding. Read the pile. Surface the good stuff. Throw away the rest. The sort of task nobody puts on a strategy slide because then somebody might ask why it needs a strategy slide.</p><p>And somehow this is where the product differences get brutally honest.</p><p>ChatGPT got through most of the workflow. It summarized the emails well enough. It let me skim. When it came time to delete, it acted like an adult: asked permission, confirmed the count, then cleared the batch cleanly.</p><p>It also kept finding ways to make the middle of the task annoying. Links got mangled. Sessions got sticky. The workflow worked, but it felt like driving a powerful car with one door that sometimes refuses to close.</p><p>Claude flipped the experience.</p><p>The list looked better. The links were better. The whole thing felt calmer, cleaner, more office-shaped. For triage, it was excellent. I could glance down the batch, pick what looked interesting, and move on without feeling like I was debugging my inbox.</p><p>Then I asked it to finish the job.</p><p>Delete the batch? No.</p><p>Fine. Archive it then? Also no.</p><p>At that point, the better office assistant was giving me manual instructions, which is a bit like hiring someone to sort your paperwork and then discovering they consider the filing cabinet an ethical boundary.</p><h2>The wrong debate is which AI is smarter</h2><p>Office work is not an IQ test. It is a relay race of low-status annoyances.</p><p>Open the thing. Read the thing. Summarize the thing. Preserve the useful artifacts. Clean up the mess.</p><p>If a tool nails the first four and refuses the fifth, it has not completed the job. It has handed the ugliest step back to you.</p><p>That sounds obvious, but teams miss it all the time.</p><p>They buy the nicest demo. They get seduced by tone, polish, model personality, maybe a cleaner UI. Then they confuse a pleasant interaction with actual workflow completion.</p><p>Preference is not performance.</p><p>In my newsletter test, Claude won preference. ChatGPT won completion. Neither won the whole workflow.</p><h2>The acceptance criteria are the product review</h2><p>The plot twist is that this is not only about model quality. It is also about product philosophy.</p><p>OpenAI&#8217;s current product stack is explicitly built around <a href="https://help.openai.com/en/articles/11487775-connectors-in-chatgpt">connected apps</a> and <a href="https://help.openai.com/en/articles/11752874-chatgpt-agent">agentic action</a>. Apps in ChatGPT can search external sources, run deep research, and in some cases take write actions with confirmation. ChatGPT agent is also designed to navigate websites, work with files, connect to email and document repositories, and take actions on your behalf while keeping you in control.</p><p>Anthropic&#8217;s workplace story is real too. <a href="https://claude.com/resources/tutorials/using-research-and-google-workspace">Claude&#8217;s Research + Google Workspace setup</a> can access emails, calendar data, documents, and web information for analysis. <a href="https://support.claude.com/en/articles/12138966-release-notes">Claude in Chrome</a> has also been improving its ability to handle long browser workflows and navigate common sites like Gmail, Google Calendar, Google Docs, Slack, and GitHub. But Anthropic&#8217;s own <a href="https://support.claude.com/en/articles/12902446-claude-in-chrome-permissions-guide">permissions guide</a> draws a hard line around permanent deletions.</p><p>So Claude did not just &#8220;fail&#8221; my cleanup step. There is a decent chance it was obeying the line Anthropic drew around that kind of action.</p><p>Which is precisely why the acceptance criteria matter.</p><p>If your test prompt is &#8220;summarize my newsletters,&#8221; both tools look competent. Everyone goes home happy. Somewhere, a comparison table gets a green tick.</p><p>If the real job is &#8220;summarize them, keep the links usable, let me skim the interesting ones, then bulk archive or delete the batch,&#8221; the ranking changes completely.</p><p>The useful question is not which model is smarter. It is which one can survive the full office loop without quietly handing the worst step back to the human.</p><p>That is a much harsher benchmark.</p><p>It is also a more useful one.</p><h2>The middle matters. So does the last ugly click.</h2><p>My read is that ChatGPT keeps stretching toward the high-accountability ends of the market: cited research, source-sensitive outputs, and agents that are increasingly expected to close loops rather than just advise.</p><p><a href="https://help.openai.com/en/articles/10500283-deep-research-in-chatgpt">Deep research</a> is explicitly framed as a documented report with citations or source links that you can download as Word, Markdown, or PDF.</p><p>Claude Research is not weak here either, but Claude often feels stronger in the messy middle of daily knowledge work.</p><p>Which means the irony writes itself.</p><p>The product most people reach for first can feel weirdly clumsy on one of the most ordinary office tasks. The product with the calmer, more competent office vibe can nail the pleasant part and then stop at the exact moment I want an assistant to stop being tasteful and just take out the trash.</p><h2>They are incomplete in opposite directions</h2><p>So is one of the two giants truly better?</p><p>No.</p><p>They are incomplete in opposite directions.</p><p>ChatGPT is more willing to finish the job, but can make the journey feel rougher than it should.</p><p>Claude makes the middle of the workflow feel better, but in at least some surfaces it draws a harder line around destructive cleanup, which means the human still has to walk in and do the last boring step.</p><p>And that leaves you with the most absurd outcome possible: paying for two different AI products because each one is missing the part the other gets right.</p><p>That is the real plot twist.</p><p>AI assistants keep promising consolidation. What they may deliver first is a new category of software sprawl, where one tool reads better, another one finishes better, and you pay both to approximate one competent office worker.</p><p>The problem is usually not intelligence.</p><p>It is handoff.</p><p>The best office AI is not the one that impresses you at the start of the workflow.</p><p>It is the one that is still useful at the last ugly click.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Plausible Reality! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your Startup Is Hiring Engineers the Wrong Way]]></title><description><![CDATA[Why copying big-tech interviews is one of the most expensive mistakes early-stage teams make]]></description><link>https://plausiblereality.com/p/your-startup-is-hiring-engineers</link><guid isPermaLink="false">https://plausiblereality.com/p/your-startup-is-hiring-engineers</guid><dc:creator><![CDATA[Eloi Tay]]></dc:creator><pubDate>Sat, 28 Mar 2026 23:34:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cf2577e3-a533-46a7-90e2-1161ab99a038_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I watched a six-person startup spend four months trying to hire a senior backend engineer. They ran five interview rounds. Leetcode. System design for a million-user scale they were nowhere near. Behavioural questions borrowed from a Google interview guide someone had found on Medium, the internet&#8217;s traditional warehouse for second-hand certainty.  </p><p>Eventually, they hired someone with eight years at two household-name companies. Impressive r&#233;sum&#233;. Excellent scores across every rubric they had copied.</p><p>He lasted eleven weeks.</p><p>Not because he was a bad engineer. He had simply never worked without guardrails. There was no staging environment, no API documentation, and no product manager arriving with neatly packaged specifications. When the founder asked him to just figure it out, he froze. He had spent a decade operating brilliantly inside systems other people had already built. Nobody had ever asked him to build the system itself.</p><p>The startup lost four months to hiring, three months to onboarding, and roughly six months of momentum. At an early-stage company, that kind of impact can be the difference between shipping and dying. Neil Matthams, who has placed more than 500 technical hires across 30 countries for companies including Canva, UBS, and Grab, puts the cost of a misaligned startup hire at <em>three to six months of lost momentum</em>. In my experience, that estimate is conservative.</p><p>The problem is usually not that startups hire bad engineers. It is that they administer the wrong exam.</p><div><hr></div><h1>The Wrong Frame: Borrowing Someone Else&#8217;s Exam</h1><p>Here is the familiar pattern. Founders look at how Google, Meta, or Amazon hire. Those companies are successful, so their interview processes must contain ancient corporate wisdom. The founders copy the playbook: algorithm rounds, system design at enormous scale, and behavioural interviews calibrated for large cross-functional organisations.</p><p>It sounds sensible. It is also almost entirely wrong.</p><p>Big technology companies have a particular problem: too many candidates. Their interview process is a filter designed to reduce an enormous pool into a manageable shortlist through standardised, repeatable evaluation. It works for that purpose. It is optimised for tolerance of false negatives. They would rather reject a good candidate than hire a bad one because, at their scale, the cost of one poor hire is diluted across thousands of good ones.</p><p>Startups have the opposite problem. Every hire matters disproportionately. You cannot afford to reject the scrappy builder because they are rusty on red-black trees. You also cannot afford to admit the polished specialist who has never shipped without a paved road beneath their feet.</p><p>A North Carolina State University study found that whiteboard-style technical interviews <em>test whether a candidate has performance anxiety rather than whether they are competent at coding</em>. The researchers concluded that many qualified candidates are eliminated because they are not accustomed to performing under artificial observation. Now apply that filter to a startup, where the candidate pool is already small and the margin for error is approximately decorative.</p><p>There is a subtler problem too. Big-tech interviewing is self-reinforcing. Engineers who experienced it at Google carry it with them when they join or advise startups. Recruiters who learned their craft at Meta default to the process they know. As one FAANG head of recruiting admitted, the inertia is enormous. Companies have built entire recruiting machines around these systems, supported by years of calibration data.</p><p>That calibration is valuable&#8212;for the environment in which it was calibrated. It tells you very little about a twelve-person company still searching for product-market fit.</p><p>The wrong debate is whether Leetcode is a good signal or a bad signal. The useful question is: a signal of what? In a large company, it may proxy for analytical rigour. In a startup, you need evidence of something else entirely. An algorithm puzzle is unlikely to produce it, however professionally the shared editor is configured.</p><div><hr></div><h1>What You Actually Need (And What You Don&#8217;t)</h1><p>The traits that make someone a top performer at a scaled company are often the same traits that make them struggle at an early-stage startup. That is not a criticism of either environment. It is a mismatch problem. And mismatches can kill startups considerably faster than untidy code.</p><p>Scaled companies reward depth in one domain. Startups need breadth across several. Scaled companies assess how someone operates within an established process. Startups need someone who can create the process from nothing. Scaled companies evaluate collaboration across large cross-functional teams. Startups need someone who can finish the work alone while wearing three hats, none of which were mentioned in the job description.</p><p>Consider the candidate&#8217;s perspective. Someone who has spent six years at Amazon may never have needed to set up a CI pipeline. They may never have selected a hosting provider or configured monitoring from scratch. They may never have decided whether the company should use PostgreSQL or MongoDB because that decision was made long before they arrived. Their career has developed inside an environment where infrastructure, tooling, documentation, and process were simply there.</p><p>That is not a weakness. It is a feature of the environment they optimised for.</p><p>But when that person joins a six-person startup and discovers there is no staging environment, no API documentation, no proper error monitoring, and no product manager writing specifications&#8212;and that nobody from the Infrastructure Fairy Department is coming to repair the situation&#8212;they may not adapt. They stall. The founder thought they were hiring someone who could build. They hired someone who could operate extremely well inside a system someone else had already built.</p><p>Here is what the first ten to twenty engineers at a startup actually need to be good at.</p><p><strong>Ambiguity tolerance.</strong> This is the single largest predictor. Edmond Lau, who wrote <em>The Effective Engineer</em>, calls it the most important skill for startup engineers. If you require thick documentation, a strong product manager producing specifications, and well-defined requirements before you can move, an early-stage environment will be painful for everyone involved.</p><p>The best startup engineers do not merely tolerate ambiguity. They enjoy reducing it. Faced with a vague problem, their first instinct is to start narrowing it down themselves, not to ask which department will eventually produce the missing document.</p><p><strong>Breadth over depth.</strong> During the first year, engineers may touch the frontend, backend, infrastructure, deployment pipeline, customer support, and perhaps sales scoping. Deep specialisation is a luxury that arrives later, usually shortly after the company can afford specialists.</p><p>Right now, you need people with a sufficiently wide skill surface that they do not become a bottleneck whenever the problem crosses a domain boundary. They do not need to be experts in everything. They need to be comfortable being temporarily non-expert and still shipping something useful.</p><p><strong>Tool-building instinct.</strong> Time is the critical startup resource. Engineers who instinctively automate repetitive work create time the team cannot acquire elsewhere. This is not engineering perfectionism wearing a productivity hat. It is pragmatic leverage.</p><p>The engineer who spends a day building a deployment script that saves the team twenty minutes on every release may be contributing more than the engineer who writes the most elegant algorithm and then waits for someone else to deploy it.</p><p><strong>Pragmatism over purity.</strong> A startup engineer who insists on comprehensive code reviews, complete unit-test coverage, and architectural purity before shipping will slow the company down at precisely the moment speed matters most.</p><p>This does not mean writing garbage. It means knowing which battles matter, which shortcuts create acceptable debt, and which shortcuts create unacceptable risk. It means understanding that shipping quickly, observing everything, and reverting faster can be a better strategy than pursuing perfection before anyone has seen the product.</p><p><strong>Builder identity, not operator identity.</strong> The distinction matters. An operator thrives inside a well-built machine. A builder thrives when the machine does not exist yet and the assembly instructions appear to have been written by optimism.</p><p>Both are valuable. But before product-market fit, you need builders. The fastest way to detect the difference is to listen to how candidates describe their work. Builders talk about things they created. Operators talk about things they improved.</p><p><strong>Growth instinct.</strong> Startup engineers will be asked to do things outside their job description, domain, and comfort zone. The people who thrive see this as a feature rather than a contractual malfunction.</p><p>David Domingo, writing about the startup mentality, notes that the unknown pool engineers dive into is often not even related to code. It may involve customer support, sales feasibility, or hiring other engineers. The people who adopt a growth mindset during those detours are the ones who survive them.</p><div><hr></div><h1>The Interview Process That Actually Works</h1><p>If standard big-tech interviews measure the wrong things, what should replace them? The answer is simpler than many founders expect. Shift from testing knowledge to testing behaviour. Stop evaluating only what someone knows and start evaluating how they think when they do not know.</p><p><strong>Start with the mission, not the job description.</strong> Give the candidate their 90-day mission. Not a vague company pitch about transforming an industry. Give them one clear outcome they would need to deliver, why it matters now, and the constraints surrounding it. Three sentences, maximum.</p><p>Then ask: What risks do you see? What information would you need before starting?</p><p>The quality of their questions will tell you more than the quality of their algorithm solution ever could.</p><p>This sounds obvious, yet teams miss it constantly. Most startup interviews begin with a company description, move into a technical screen, and only eventually&#8212;perhaps&#8212;discuss what the candidate would actually do. Reverse the sequence. Lead with the mission. Candidates who engage deeply with the real problem are more likely to engage deeply with the real work.</p><p><strong>Use work samples, not whiteboard puzzles.</strong> Research from Aberdeen Group shows that employers using realistic pre-hire assessments are 24% more likely to hire employees who exceed performance goals and experience 39% lower turnover.</p><p>Give candidates a small, genuine problem from your codebase or product domain. Do not assign a take-home exercise that quietly annexes their weekend. Use a focused, two-hour task resembling the work they might encounter during their first week.</p><p>What you observe matters more than the final output. Do they ask clarifying questions or immediately begin coding? Do they state their trade-offs or attempt to boil the ocean? Do they ship something usable, or spend the entire session constructing architecture for a future that has not yet agreed to occur? Do they identify edge cases that would matter in production?</p><p>An engineer who produces something imperfect but functional in two hours, then clearly explains what they would do next, is usually a stronger startup hire than one who produces an elegant but incomplete solution.</p><p><strong>Test for range, not pedigree.</strong> Ask about occasions when they worked outside their formal responsibilities. Listen for enthusiasm when they describe wearing multiple hats.</p><p>If every answer begins with &#8220;In my role as...&#8221; and proceeds into a beautifully bounded area of responsibility, the candidate may never have worked outside a clearly defined lane. That is entirely reasonable at a 5,000-person company. At a ten-person company, the lanes are mostly aspirational.</p><p><strong>Probe for ownership instinct.</strong> Present a scenario: You arrive on Monday and discover there is no error monitoring, deployment is manual, and the only documentation lives inside someone&#8217;s head. What do you do first?</p><p>Builders tend to light up. They begin triaging, prioritising, and constructing a plan. Operators ask who is responsible for correcting the situation. Neither response is universally wrong. Only one is likely to work at an early-stage company.</p><p><strong>Compress the loop.</strong> Four or five rounds spread across three weeks is a process designed for companies with recruiting departments and deep candidate pipelines. You do not have those things. You have a calendar, a founder, and perhaps one engineer who has been informed that interviewing is now part of their personality.</p><p>Use two rounds, perhaps three. Have one conversation that tests judgment, one work sample that tests building, and one culture-fit discussion that establishes whether the candidate wants the environment you actually have rather than the environment they hope will materialise after onboarding.</p><p>If you cannot decide after three rounds, the problem is probably not a shortage of candidate signals. It is probably that your evaluation criteria are unclear.</p><p>Speed is also a signal. Strong startup candidates have options. If your process takes three weeks, someone else may already have made an offer. Startups that move quickly in hiring often move quickly elsewhere too, and good candidates notice.</p><div><hr></div><h1>The AI Era Makes This Gap Wider</h1><p>Here is the part the original discussion does not address enough.</p><p>AI tools have made the generalist builder more valuable and the narrow specialist more exposed. An engineer with broad instincts and a high tolerance for ambiguity can now use AI to fill gaps in domains where they lack deep expertise. They can scaffold an unfamiliar frontend, debug infrastructure patterns they have encountered only once, and generate boilerplate that previously consumed days.</p><p>But this advantage appears only when the builder mindset is already present. AI does not help an engineer who is waiting for someone else to define the requirements. It does not create a paved road for someone unwilling to travel without one.</p><p>The leverage is asymmetric. AI multiplies the effectiveness of scrappy generalists. It barely moves the needle for specialists whose effectiveness depends on an established process telling them exactly where to apply their expertise.</p><p>I think this is the most underappreciated change in startup hiring right now. The engineer you need is no longer necessarily the person with the deepest knowledge of your exact stack. It is the person who can move between stacks, use AI to accelerate unfamiliar work, and still make sound architectural decisions because they understand the fundamentals.</p><p>The bottleneck has moved upstream: from knowing how to implement something to knowing what should be implemented and why.</p><p>Your interviews should change accordingly. Instead of asking whether a candidate can reproduce a particular algorithm from memory, ask whether they can take a vague product requirement, identify the right technical approach, and ship it&#8212;with or without AI assistance.</p><p>The valuable skill is judgment, not recall.</p><p>This means the evaluation gap between startup hiring and big-tech hiring is widening rather than closing. Startups that recognise the shift will build faster with smaller teams. Those still running five-round Google replicas will continue losing strong candidates to competitors that made an offer in four days.</p><div><hr></div><h1>The Market Is Shifting. Your Interviews Should Too.</h1><p>The 2025&#8211;2026 hiring market is moving towards what Ravio calls precision hiring. Teams are smaller. Expectations are higher. The growth-at-all-costs era is over, along with the luxury of hiring for potential and hoping the surrounding organisation eventually converts it into performance.</p><p>CB Insights data shows that 23% of startup failures can be traced to team misalignment. Not funding shortages. Not poor market timing. The wrong people.</p><p>And the most common version of the wrong people is not engineers who are bad at engineering. It is engineers who are good at engineering in the wrong context.</p><p>When you have twelve months of runway, one wrong hire can remove two of them. That is not a metaphor. A misaligned engineer consumes onboarding time, creates drag while struggling to adapt, and may eventually require a painful offboarding that demoralises the rest of the team.</p><p>You do not merely lose the salary. You lose the opportunity cost of everything a well-matched engineer could have shipped during the same period.</p><p>Tony Hsieh at Zappos once estimated that poor culture fits had cost the company more than $100 million. That was a scaled organisation with the resources to absorb the damage. A startup has no such luxury. Every seat matters. Every month matters. Every hire is a bet.</p><p>Your evaluation system should help you place better bets, not merely more structured ones.</p><p>If your interview process cannot distinguish between someone who excels at operating and someone who excels at building, you are flipping a coin with every hire. Each flip can cost three to six months.</p><div><hr></div><h1>So What Now</h1><p>I am not arguing that big-tech engineers are poor startup hires. Some of the best startup engineers I have worked with came from large companies.</p><p>They were usually the restless ones. They disliked the process overhead. They took on side projects nobody had assigned. They were mildly irritated by how long everything took. Those people often translate beautifully into startup environments because the instinct to build was already present; the large organisation had merely surrounded it with forms.</p><p>The interview is where you discover that. Not by asking someone to invert a binary tree, but by presenting a messy, genuine, underspecified problem and observing whether they lean towards it or begin searching for the specification.</p><p>Your evaluation system is not neutral. It is a filter. Most startups are currently using a filter designed to identify a completely different kind of engineer from the one they actually require. They have borrowed an exam from another school and are surprised that the grades do not predict performance.</p><p>Preference is not performance. A polished interview process that makes the company feel professional is not necessarily a process that finds the right people.</p><p>Sometimes the right process looks less impressive. A real problem from your codebase. A direct conversation about the next ninety days. An honest assessment of whether the candidate thrives in chaos or merely survives it while waiting for someone to install a process.</p><p>Maybe the useful question is not <em>how do we hire better engineers</em>.</p><p>It is <em>are we even measuring the right thing</em>?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://plausiblereality.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://plausiblereality.com/subscribe?"><span>Subscribe now</span></a></p><h2>Notes and References</h2><p>1. Neil Matthams, &#8220;Startups Should Evaluate Engineers Differently From Big Companies,&#8221; <em>Engineering Leadership Newsletter</em>, 2026. Based on more than 500 technical hires across 30 countries.</p><p>2. North Carolina State University, 2020 study on whiteboard-style technical interviews measuring performance anxiety rather than coding competence. Published via ScienceDaily.</p><p>3. Aberdeen Group research on pre-hire assessments: 24% higher likelihood of employees exceeding performance goals and 39% lower turnover.</p><p>4. CB Insights analysis of startup failure reasons: 23% attributed to team misalignment.</p><p>5. Edmond Lau, <em>The Effective Engineer</em>, on ambiguity tolerance as the most important trait for startup engineers.</p><p>6. Ravio, &#8220;Tech Hiring Trends in 2026: The 4 Big Shifts Shaping the Tech Job Market.&#8221;</p><p>7. Tony Hsieh&#8217;s estimate that poor culture fits had cost Zappos more than $100 million. Widely cited in startup hiring literature.</p>]]></content:encoded></item></channel></rss>