<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="https://purl.org/rss/1.0/modules/content/"
	xmlns:media="https://search.yahoo.com/mrss/"
	xmlns:wfw="https://wellformedweb.org/CommentAPI/"
	xmlns:dc="https://purl.org/dc/elements/1.1/"
	xmlns:atom="https://www.w3.org/2005/Atom"
	xmlns:sy="https://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
	xmlns:custom="https://www.oreilly.com/rss/custom"

	>

<channel>
	<title>Radar</title>
	<atom:link href="https://www.oreilly.com/radar/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oreilly.com/radar</link>
	<description>Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology</description>
	<lastBuildDate>Fri, 30 Oct 2026 18:21:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.oreilly.com/radar/wp-content/uploads/sites/3/2025/04/cropped-favicon_512x512-160x160.png</url>
	<title>Radar</title>
	<link>https://www.oreilly.com/radar</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Getting Smarter, Not Just Faster</title>
		<link>https://www.oreilly.com/radar/getting-smarter-not-just-faster/</link>
				<comments>https://www.oreilly.com/radar/getting-smarter-not-just-faster/#respond</comments>
				<pubDate>Fri, 30 Oct 2026 16:54:16 +0000</pubDate>
						<category><![CDATA[Live with Tim O’Reilly]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20092</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_live-with-tim-oreilly-radar-1600x840-1.png" 
				medium="image" 
				type="image/png" 
				width="1600" 
				height="840" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_live-with-tim-oreilly-radar-1600x840-1-160x160.png" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Andrew Odewahn on Live with Tim O’Reilly]]></custom:subtitle>
		
				<description><![CDATA[This event summary was created by Claude with light editing by Tim O’Reilly, based on a transcript of the event. On October 15, 2026, Tim O’Reilly hosted Andrew Odewahn, CTO of O’Reilly Media, for an hour-long episode of Live with Tim O’Reilly, the interview series streamed live on the O’Reilly learning platform. Andrew has been [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This event summary was created by Claude with light editing by Tim O’Reilly, based on a transcript of the event.</em></p>



<p class="wp-block-paragraph">On October 15, 2026, Tim O’Reilly hosted Andrew Odewahn, CTO of O’Reilly Media, for an hour-long episode of <em>Live with Tim O’Reilly</em>, the interview series streamed live on the O’Reilly learning platform. Andrew has been at O’Reilly for many years, starting as an author, then building tools for the company’s platform, then eventually as CTO and head of engineering. Over the past year, his team has been building what the company calls <a href="https://www.oreilly.com/online-learning/expert-intelligence.html" target="_blank" rel="noopener">Expert Intelligence</a>, a suite of tools that connects an AI agent to an organization’s own systems, gives it a skill file describing how to reason about what it finds there, and grounds its analysis in the practitioner frameworks of the O’Reilly library. Andrew described the work in a recent Radar piece, “<a href="https://www.oreilly.com/radar/building-organizational-intelligence/" target="_blank" rel="noopener">Building Organizational Intelligence</a>.”</p>



<p class="wp-block-paragraph">Tim and Andrew’s interview was organized around a presentation in two parts, the first on the research agent and the second on the system Andrew’s team built for reviewing what it produces, with discussion in between and audience questions throughout.</p>



<p class="wp-block-paragraph">Tim framed the conversation by asking a question he said Andrew’s work helps to answer: Most of the AI story is about efficiency, doing the same work faster. What does it look like for an organization to get smarter?</p>



<h2 class="wp-block-heading"><strong>Building the research agent</strong></h2>



<p class="wp-block-paragraph">Andrew’s research agent emerged from a personal need rather than a strategy. He wanted to know the status of a project, for example, how long a migration from RabbitMQ to Pub/Sub would take. This is the kind of question every engineer dreads but every engineering leader has to answer. He also had a broader concern. A single person being good at AI isn’t the same as an organization being good at it.</p>



<p class="wp-block-paragraph">He built his agent in four steps. He mapped the organization’s information systems as a hierarchy, connected them via MCP, wrote a skill telling the agent how to use them, and finally added the Expert Intelligence layer.</p>



<p class="wp-block-paragraph">The map of the sources of truth in the engineering organization’s workflows was what made the rest work. Andrew put them in order and explained to the model how they relate: Strategic goals and feature priorities live in Productboard. Those become epics, sprints, and stories in Jira. Stories become code in GitHub. A service catalog describes the roughly 300 services that make up the O’Reilly platform and who owns them, and observability tools show how those services perform against their SLOs. The skill also had to encode local quirks. Some teams mark an epic as finished with an end date, while others consider it done when every ticket is closed. Andrew also told the agent it was a research agent, not a coding agent, and that its job was to write reports.</p>



<p class="wp-block-paragraph">Connecting everything through MCP was, in his words, “the most completely tedious step of the whole process.” Productboard had no MCP server at the time, so he wrote a wrapper. Later, when Tim asked how another company could repeat the work with a different set of tools, Andrew suggested starting from the vendor list. Export it from your procurement system, ask the model what products those vendors make and which would hold information relevant to the questions you care about, and have it put them in order. O’Reilly product managers are now turning this process into a skill for the forthcoming Expert Intelligence Skills Hub.</p>



<p class="wp-block-paragraph">One audience member asked whether MCP was really the right tool for internal knowledge, compared with semantic search. As Andrew pointed out, sometimes anything is better than nothing. Ultimately, what you want is to give the model the ability to search across your systems.</p>



<iframe width="800" height="450" src="https://www.youtube.com/embed/ST1xdoWr0QI?si=_8w6W_U4LivtOuxK" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">       </p>



<h2 class="wp-block-heading"><strong>From a hiring case to a toil audit</strong></h2>



<p class="wp-block-paragraph">The center of the presentation was a before-and-after comparison of the particular use case that Andrew had previously written up in his “<a href="https://www.oreilly.com/radar/building-organizational-intelligence/" target="_blank" rel="noopener">Building Organizational Intelligence</a>” article. An engineering manager asked Andrew to hire another engineer, and Andrew had his reporting and analysis agent make the hiring case. The first report covered the five-person team that manages content and metadata, the 10 tier-A services it owns along with its B and C services, the status of the Pub/Sub migration (64% complete), and the full backlog. It concluded that the team had a capacity problem and should probably hire. Andrew called it useful and very detailed. . .“maybe overly detailed.”</p>



<p class="wp-block-paragraph">He then connected the agent to Expert Intelligence, asked it to act like a consultant, and ran the analysis again. The new report came to a very different conclusion. It opened by saying that the team’s operational overhead problem was “structural, not a staffing deficiency.” When it consulted Expert Intelligence, the agent brought in the concept of toil from Google’s <em><a href="https://sre.google/workbook/eliminating-toil/" target="_blank" rel="noopener">Site Reliability Workbook</a></em>. Toil is the manual, repetitive, automatable operational work that scales linearly with a service. The reporting and analysis agent used this notion to separate the team’s backlog into toil and the work people actually wanted to be doing. It recommended a structured toil audit before the next planning cycle, an explicit toil-reduction target, and treating runbook ownership as a first-class engineering artifact. Andrew said the team followed the recommendations and closed a substantial part of a backlog that had been sitting on everyone as a cognitive burden.</p>



<iframe width="800" height="450" src="https://www.youtube.com/embed/HTH6EB_GPw0?si=zpvCUYL8uAe4yigG" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">The report went on to cite Jim Highsmith, a signer of the <em><a href="https://agilemanifesto.org/" target="_blank" rel="noopener">Agile Manifesto</a></em> and author of <em><a href="https://www.thoughtworks.com/en-us/insights/books/wild-west-to-agile" target="_blank" rel="noopener">Wild West to Agile</a></em>, to argue that the team’s technical debt was compounding. Andrew explained how that differed from the usual management advice:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">A lot of the time when you read these high-concept frameworks, they’re like eating your broccoli. I should really be doing that. But what made this really interesting is that it pulled out a specific project we had, the Django upgrade, and put it within the context of this broader framework. It wasn’t just, “here’s an abstract principle you ought to be applying.” It’s “here’s your backlog, and here’s a specific example.”</p>
</blockquote>



<iframe width="800" height="450" src="https://www.youtube.com/embed/VonErohDRIY?si=JFEP6ejDG76NloE4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">          </p>



<p class="wp-block-paragraph">A second analysis looked at services that crossed team boundaries. Drawing on microservices experts and Kent Beck’s work on coupling (see <em><a href="https://www.oreilly.com/library/view/tidy-first/9781098151232/" target="_blank" rel="noopener">Tidy First?</a></em>), it diagnosed the video metadata service as a complicated-subsystem problem rather than a boundary problem. In this version, Andrew had the agent pull out quotations, attribute them, and link to the source text. The resulting analysis was remarkably effective. The company has since retired a couple of systems. “I don’t need LLMs adding code,” Andrew argued. “I want them reducing it.”</p>



<p class="wp-block-paragraph">Andrew said the part that surprised him most was the reaction from colleagues. His earlier reports were data dumps. Readers couldn’t tell where any given claim came from, and as a result they were much less actionable. When the analysis cited experts that engineers knew from their own work, the documents became, as he put it, “much more approachable, much more human,” and people engaged with them far more deeply.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/UjYeZn-2vls?si=7mr7aC9lAEIsEx5v" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">           </p>



<h2 class="wp-block-heading"><strong>Tim’s response: Invoking the experts</strong></h2>



<p class="wp-block-paragraph">Tim broke in to put the demonstration in context. He contrasted it with the view that models are now smart enough that you can simply tell them to do something and let them rip, an approach we hear a lot about from vibe coders and those arguing for “<a href="https://addyosmani.com/blog/software-factories/" target="_blank" rel="noopener">dark factories</a>.” Tim argued instead for a return to expertise.</p>



<p class="wp-block-paragraph">He cited a post published that day by Felix Rieseberg of Anthropic, “<a href="https://felixrieseberg.com/how-to-be-more-ambitious-a-tutorial-for-humans-with-models/" target="_blank" rel="noopener">How to Be More Ambitious: A Tutorial for Humans with Models</a>,” which describes four kinds of ambition when working with models: speed, altitude, depth, and range. Most discussion of AI’s economic value is about speed, getting the same work done in less time. In Tim’s reading, Andrew had gained altitude (thinking about the outcome rather than the tasks) and depth (approaching the problem the way a field-leading expert would) simply by invoking the experts.</p>



<p class="wp-block-paragraph">Tim then offered a metaphor he has been developing for a while, of <a href="https://www.oreilly.com/radar/magic-words-programming-the-next-generation-of-ai-applications/" target="_blank" rel="noopener">AI programming as a kind of magic spellcasting</a>. In the Marvel comic books and movies, Doctor Strange opens his spells by invoking some source, with words like “by the power of the dread Dormammu” or “by the hoary hosts of Hoggoth.” Andrew, he said, was doing the same thing, saying in effect, “By the power of Kent Beck, I want you to think differently about this problem.” Even where Andrew didn’t name an expert, as with the SRE workbook, simply pointing the model at the expertise embodied in the O’Reilly publishing canon raised the bar for what the agent produced.</p>



<p class="wp-block-paragraph">Tim described this as using human expertise as a focusing mechanism, and connected it to his argument that LLMs are better understood as a <a href="https://www.oreilly.com/radar/writing-with-ai/" target="_blank" rel="noopener">medium we create with</a> than as independent intelligences. He also pushed back on the idea, often drawn from “<a href="http://www.incompleteideas.net/IncIdeas/BitterLesson.html" target="_blank" rel="noopener">The Bitter Lesson</a>,” that models will simply get better and human expertise will stop mattering. Andrew, he said, had found a particular way that it matters.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/6bOOVx_dylQ?si=U2Dh1HxYA8y4FQEe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">     </p>



<p class="wp-block-paragraph">Andrew took up the metaphor. His own first prompt, he said, had been “Be snobby. Go find these great resources and look at them.” He wants to hand the model canonical works in a field, like <em><a href="https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/" target="_blank" rel="noopener">Designing Data-Intensive Applications</a></em>, and tell it “these are the ways I want you to think about it,” rather than accept whatever the model comes up with first. He compared it to business school, where much of what you learn is a set of frameworks for organizing facts.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/thfAciGLOwo?si=Jrj_ngGOQr5dUy2_" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">            </p>



<h2 class="wp-block-heading"><strong>What models do without direction</strong></h2>



<p class="wp-block-paragraph">Tim argued that models don’t do their best work unprompted. Watch their chain of thought when they search for information, he said, and you may see them settle on some random file from the internet rather than canonical sources. Even with a frontier model like Fable, his own experience has been one of false starts and errors, a model brute-forcing its way to a solution rather than necessarily knowing how to approach it.</p>



<p class="wp-block-paragraph">Andrew had a story from a few days earlier. He asked his agent to review incentive plans for the engineering and product teams.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The data that came back was, “according to the company Robusto (which I’m sure is a great company), this is the framework, and you should really be doing what they’re doing.” I’m like, “What is Robusto, and why am I seeing this?” And I realized, oh, I’m not connected to the VPN. So I hooked it up, and suddenly it was, “According to <em>Harvard Business Review</em>, these are the different ways you should be designing these incentive programs.” This was a very powerful model. But it keyed off the first thing it found and said, “This is the way I’m going to think about the problem.”</p>
</blockquote>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/yuiSqD7IdX8?si=XItRTnlO3CDvErCj" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">              </p>



<p class="wp-block-paragraph">Tim raised an economic dimension. He pointed to instructions in Anthropic’s Claude system prompt that limit how much the model may quote from any source, and read them as a sign that AI companies want to avoid paying for content. The result, he argued, is that models can’t draw on the best material available to them specifically enough and too often fall back on generalities. He called this an early form of enshittification in AI.</p>



<p class="wp-block-paragraph">O’Reilly takes the opposite position. Andrew explained that the company applies the royalty model it already uses for O’Reilly Answers. Material returned through the Expert MCP server can be cited, and authors are paid royalties on it, so that expert content has a market and earns a return.</p>



<p class="wp-block-paragraph">In response to an audience question, Tim and Andrew noted that Expert Intelligence is in prerelease with a group of founding partners while O’Reilly works out its economics. Interested organizations can request access through the <a href="https://www.oreilly.com/online-learning/expert-intelligence.html" target="_blank" rel="noopener">product page</a>.</p>



<h2 class="wp-block-heading"><strong>Putting the discussion where the AI can see it</strong></h2>



<p class="wp-block-paragraph">The second part of Andrew’s presentation dealt with what happens after the agent writes a report. Decisions need consensus, and with AI-generated analysis people need to check that the model hasn’t keyed off something unimportant, out-of-date, or misinterpreted. “The AI can identify all the trade-offs,” he said, “but people still need to make the decisions that matter.”</p>



<p class="wp-block-paragraph">His team first circulated reports as Google Docs, but they ran into two problems. The most interesting part of a document under review is usually the comment thread, and because at this time, O’Reilly company policy doesn’t allow MCP connections to Google Docs, the agent couldn’t see it. And when Andrew asked the model to fold the discussion back into the document, pasting the result wiped out the comments.</p>



<p class="wp-block-paragraph">Doug Hogan, an O’Reilly engineering director, built an alternative on top of Git and GitHub that Andrew called SuperAnswers. (Andrew joked that this was why he isn’t allowed to name things.) Documents live in a Git repository, discussion lives in GitHub Discussions, and every change is versioned. Andrew can ask his agent what the consensus is on a project, have it incorporate comments into a new draft without losing history, and later reconstruct when a decision was made and what people knew at the time. The same record lets him generate the derivative documents a decision requires, such as scope statements for engineering, product, and design teams, or a meeting agenda. A graph view clusters the topics people are discussing and flags decisions that are still open.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/gthR0cbsPFw?si=7irqSgXyHC7bjSAV" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">               </p>



<p class="wp-block-paragraph">Tim summarized the whole system as a research assistant connected to the organization’s sources of truth, a layer of outside expertise to put its findings in context, and a shared, versioned discussion that becomes an evolving store of organizational knowledge, which makes the AI a more useful coworker. Andrew agreed and said he would like to open-source SuperAnswers, which he described as a thin layer on top of Git.</p>



<p class="wp-block-paragraph">Andrew also pointed out that the fragmentation he was addressing isn’t limited to engineering. Sales teams have their information spread across systems like Salesforce, 6sense, and Gainsight, and every function has the same need to pull those threads together. Tim added that tool access is uneven across the industry and always has been. Claude produces better PowerPoint than Google Slides, Gemini the reverse, and organizations have to capture that kind of knowledge about their own toolsets.</p>



<h2 class="wp-block-heading"><strong>Questions from the audience</strong></h2>



<p class="wp-block-paragraph">An audience member named Thomas worried that workers now talk to AI rather than to each other, and that work disappears into “that AI hole.” Andrew said his preference for keeping everything in Git is partly an answer to that, since it gives both humans and AI a central place to find and reconstruct past work. But his larger interest is in humans talking to humans in a way that AI supports. He described a category of questions he never used to ask:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">I knew, if I ask this question, somebody’s got to go off for two weeks and compile all this stuff from all these different systems. Now I can gather it in a few minutes. Maybe some of this is throwaway, but it’s not bad if it’s cheap.</p>
</blockquote>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/lJJLin54bMY?si=TMz5cVoG_0JV9cf3" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">                </p>



<p class="wp-block-paragraph">In response to that “throwaway” comment, one audience member wrote in the chat: “This is not throwaway work, Andrew. It is a product lead that changes the value proposition in a positive direction. Shit hot, bro.” Tim couldn’t help but read that one aloud!</p>



<p class="wp-block-paragraph">Asked by Tim what he got wrong, Andrew conceded that he didn’t think early enough about how people would review and respond to AI-generated documents. People don’t want an AI-generated data dump to wade through, and they extend AI no benefit of the doubt. If an AI-written report gets one small fact wrong about Kubernetes operators, a reader is likely to dismiss the whole document. AI tools have to be understood as marshaling and presenting evidence, not making decisions. “These need to support your analytical capacity, not replace it.”</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/x1Jls8GHYiU?si=JWxgP5sm4wSuzkTz" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">               </p>



<p class="wp-block-paragraph">Tim connected that answer to concerns about deskilling. He described a fine-tuning project he attempted with Fable to train a small model to write more like him. He wanted to understand each stage rather than letting the model run, but it never explained them, and the training run failed. In part this was because the model asked him to provide samples of his writing, but it didn’t give him enough grounding on what a really good training dataset would look like, so the samples weren’t targeted enough. They were too long, and when Fable chose the short fragments it actually needed, it didn’t do an ideal job.</p>



<p class="wp-block-paragraph">When Tim tried the same project with O’Reilly Tutor, a tool still in development, it sent him to read an O’Reilly resource on what a good training set looks like, and he realized where he went wrong. Tim compared the kind of deskilling that can happen when people just turn the work over to AI to people who can no longer read a map, or who call a plumber for a simple fix they could do themselves in 30 seconds if they only knew a bit more about how things work. He argued that everyone has an obligation to keep learning alongside the tools they use.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/3jixfOqtKJ8?si=cjglpqbpS9ScHYyu" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">                 </p>



<p class="wp-block-paragraph">An audience member named David, a laid-off engineer looking to reskill, made a similar point. We used to know things, then we searched, and now we skip the search and just ask for the answer. He asked how to build real depth. Andrew suggested picking a project and working through every aspect of it, asking AI to act as a tutor (he’s relearning calculus that way) and keeping a book open alongside, or taking advantage of instructor-led live events on fast-moving topics.</p>



<p class="wp-block-paragraph">The conversation ended with the difference between an AI system that simply makes an organization faster and one that makes it better at deciding what to do. In Andrew’s account, getting better at deciding what work needs doing depends on three things the models don’t supply on their own: a map of where the organization’s knowledge lives, a body of expertise that people trust, and a place where the humans can argue with what the AI produced.</p>



<p class="wp-block-paragraph"><em>You can watch full episodes of Live with Tim O’Reilly, including this one, on the</em> <em><a href="https://learning.oreilly.com/search/?q=%22live%20with%20tim%20o%27reilly%22&amp;type=case_studies&amp;type=conferences&amp;type=video_other&amp;rows=50&amp;language=en" target="_blank" rel="noopener">O’Reilly learning platform</a>,</em> <em><a href="https://www.youtube.com/playlist?list=PL055Epbe6d5YQ8t30jyo1D6XuSpe8uhAG" target="_blank" rel="noopener">YouTube</a>, or wherever you get your podcasts.</em></p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/getting-smarter-not-just-faster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>This Week in AI: Agents Rewrite the Rules</title>
		<link>https://www.oreilly.com/radar/this-week-in-ai-agents-rewrite-the-rules/</link>
				<comments>https://www.oreilly.com/radar/this-week-in-ai-agents-rewrite-the-rules/#respond</comments>
				<pubDate>Fri, 30 Oct 2026 13:54:16 +0000</pubDate>
					<dc:creator><![CDATA[Michelle Smith and Vicki Reyzelman]]></dc:creator>
						<category><![CDATA[This Week in AI]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20096</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_thisweek-ai-radar-1600x840-1.png" 
				medium="image" 
				type="image/png" 
				width="1600" 
				height="840" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_thisweek-ai-radar-1600x840-1-160x160.png" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[AI-driven attacks expose security gaps, companies set limits on autonomous agents, and research accelerates]]></custom:subtitle>
		
				<description><![CDATA[AI agents dominated the news this week, from security exploits that unfolded in hours to new tools that let agents shop, manage transactions, and conduct scientific research. On the latest episode of This Week in AI, host Vicki Reyzelman of Akamai examined how these developments are testing existing security practices and creating new opportunities for [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">AI agents dominated the news this week, from security exploits that unfolded in hours to new tools that let agents shop, manage transactions, and conduct scientific research. On the latest episode of <em>This Week in AI</em>, host Vicki Reyzelman of Akamai examined how these developments are testing existing security practices and creating new opportunities for businesses and researchers.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/z8IeHt476a4?si=zLhQg_4zjfnu1Wm5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<h2 class="wp-block-heading"><strong>AI attacks are outpacing traditional security responses</strong></h2>



<p class="wp-block-paragraph">AI is changing how attackers find and exploit vulnerabilities. A <a href="https://www.microsoft.com/en-us/security/blog/2026/10/21/storm-0940-uses-artex-agentic-ai-connectwise-supply-chain-compromise/" target="_blank" rel="noopener">supply chain attack involving ARTEX</a>, an open source agentic AI penetration-testing framework, helped attackers reach more than 2,250 Microsoft 365 tenants through a ConnectWise compromise. The incident raised concerns about OAuth authentication and the limitations of conventional identity protections when autonomous agents interact with enterprise systems.</p>



<p class="wp-block-paragraph">A more immediate threat came from <a href="https://unit42.paloaltonetworks.com/cve-2026-109618-cve-2026-109619/" target="_blank" rel="noopener">PHP2Shell</a>, two vulnerabilities rated 9.2 on the CVSS severity scale that could allow attackers to execute code on vulnerable web servers without authentication. <a href="https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching" target="_blank" rel="noopener">CISA urged immediate patching</a> following the October 21 disclosure. Researchers also <a href="https://unit42.paloaltonetworks.com/cve-2026-109618-cve-2026-109619/" target="_blank" rel="noopener">documented attackers using AI agents</a> to obtain password hashes and MFA secrets from a European government system within two hours. The speed of exploitation leaves organizations little time to investigate threats before responding, especially smaller businesses with limited security resources.</p>



<p class="wp-block-paragraph">Security teams can no longer rely on manual review alone. They need automated detection and response, tighter access controls, and network segmentation to limit what compromised agents can reach. But monitoring autonomous agents is challenging. <a href="https://metr.org/blog/2026-10-22-red-teaming-openai-agent-monitoring/" target="_blank" rel="noopener">Researchers from METR and Redwood Research</a> identified weaknesses in an earlier version of OpenAI&#8217;s internal monitoring system, including one that could allow hundreds of agent actions to be concealed. OpenAI says it has patched vulnerabilities affecting production safeguards, although the researchers haven&#8217;t independently evaluated those changes.</p>



<p class="wp-block-paragraph">The debate over AI safety is also extending beyond technical safeguards. <a href="https://theneuron.ai/digest/everything-that-happened-in-ai-today-friday-october-23-2026/" target="_blank" rel="noopener">Anthropic proposed federal AI safety legislation</a>, while Google DeepMind employees resigned over the company&#8217;s military AI work. Both developments illustrate the growing pressure on AI companies to establish clearer rules for how their technology is developed and used.</p>



<h2 class="wp-block-heading"><strong>The transition to agents brings new challenges</strong></h2>



<p class="wp-block-paragraph">Retailers are taking different approaches to autonomous shopping. <a href="https://aiweekly.co/ai-news-today/edition/2026-10-22" target="_blank" rel="noopener">Walmart introduced an Agent Gateway</a> that lets approved agents shop within customer-defined spending limits and approval requirements. Amazon has restricted some third-party shopping agents, while banks including <a href="https://theneuron.ai/digest/everything-that-happened-in-ai-today-friday-october-23-2026" target="_blank" rel="noopener">Morgan Stanley and Bank of America</a> are limiting agent access to customer accounts. The disagreement goes beyond security. Retailers that depend on advertising and product recommendations have an incentive to keep shoppers on their websites. As more purchases begin with agents, companies will have to reconsider how they maintain customer relationships.</p>



<p class="wp-block-paragraph">Anthropic is testing a different approach to agent oversight. <a href="https://theneuron.ai/digest/everything-that-happened-in-ai-today-friday-october-23-2026" target="_blank" rel="noopener">Claude’s auto mode</a> is becoming the default for Pro, Max, and Team users, allowing automated checks to approve routine actions and block risky ones. Anthropic also <a href="https://www.tokenpost.com/news/technology/38963" target="_blank" rel="noopener">contributed its Agent Skills format</a> to the Agentic AI Foundation under the Linux Foundation. More than 70 platforms have adopted the standard, with over a million skills published. Shared formats could make workflows easier to reuse across products, although organizations still need to control which actions those workflows can perform.</p>



<p class="wp-block-paragraph">Growing agent use also requires more computing capacity and electricity. We discussed <a href="https://www.forbes.com/sites/janakirammsv/2026/10/21/nvidia-backs-1645-billion-of-ai-data-centers-to-keep-gpus-selling/" target="_blank" rel="noopener">NVIDIA’s $164.5 billion in commitments</a> and guarantees supporting AI data centers, including an Ohio campus that SB Energy is building for OpenAI. Power shortages have delayed other projects, including a <a href="https://www.forbes.com/sites/janakirammsv/2026/10/21/nvidia-backs-1645-billion-of-ai-data-centers-to-keep-gpus-selling/" target="_blank" rel="noopener">proposed data center in Essex</a>, where grid operators couldn&#8217;t promise adequate electricity until the 2030s. Meanwhile, Amazon is <a href="https://digitimes.com/news/a20261022PD212/amazon-nuclear-data-technology-power-plant" target="_blank" rel="noopener">backing a 960-megawatt nuclear project</a>, and Brookfield and NextEra are <a href="https://oilprice.com/Energy/Energy-General/Brookfield-NextEra-to-Build-100-Billion-AI-Hub-on-Cold-War-Nuclear-Site.html" target="_blank" rel="noopener">pursuing a $100 billion AI hub</a> at a former nuclear site in Kentucky. However, money and chips alone can’t solve AI&#8217;s infrastructure constraints when electricity generation and grid capacity take years to expand.</p>



<h2 class="wp-block-heading"><strong>AI is accelerating discovery, but validation still takes time</strong></h2>



<p class="wp-block-paragraph">Healthcare offered a more encouraging view of AI&#8217;s capabilities. A <a href="https://thenextweb.com/news/microsoft-ai-diagnosis-mai-dxo-science-study" target="_blank" rel="noopener">study of Microsoft’s MAI Diagnostic Orchestrator</a> found that it correctly diagnosed 83.2% of difficult medical cases, compared with 36.1% for generalist physicians. The comparison didn&#8217;t include specialists, and the system still needs clinical validation. The research nevertheless suggests AI could help physicians investigate difficult cases and identify conditions they might otherwise miss.</p>



<p class="wp-block-paragraph">Drug discovery could also benefit from more capable agents. OpenAI <a href="https://openai.com/index/openai-to-acquire-orchestra-bio/" target="_blank" rel="noopener">announced its acquisition of Orchestra Bio</a>, a platform that coordinates drug development workflows, with plans to integrate it with Rosalind, its life sciences research tools. The combination could help researchers manage experiments and collaborate more efficiently during a development process that typically takes 10 to 15 years from initial discovery to approval.</p>



<p class="wp-block-paragraph">An <a href="https://www.tokenpost.com/news/technology/36227" target="_blank" rel="noopener">Anthropic protein-design experiment</a> provided a concrete example of faster early-stage research. In 64 hours, an Anthropic model generated 318,484 candidate protein designs targeting scorpion venom. Researchers from Adaptyv Bio and Twist Bioscience subsequently tested 211 designs and identified 17 that bound to toxins. The researchers haven&#8217;t established whether those proteins can neutralize venom, but the experiment showed how AI can rapidly narrow a vast search space before scientists begin more expensive laboratory testing.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p class="wp-block-paragraph">We’ll be back on Monday, November 2, for another episode covering the latest developments in AI research and applications. You can catch previous episodes on <a href="https://www.youtube.com/watch?v=g4cfjz5AKxY&amp;list=PL055Epbe6d5bJEhT7_ZzOeJZ6gPyUzYpS" target="_blank" rel="noopener">YouTube</a>, <a href="https://open.spotify.com/show/033kJS2BG1teGunxmtsU1r" target="_blank" rel="noopener">Spotify</a>, <a href="https://podcasts.apple.com/us/podcast/this-week-in-ai/id1896798047" target="_blank" rel="noopener">Apple</a>, or wherever you get your podcasts.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/this-week-in-ai-agents-rewrite-the-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Who Governs What an Agent Learns?</title>
		<link>https://www.oreilly.com/radar/who-governs-what-an-agent-learns/</link>
				<comments>https://www.oreilly.com/radar/who-governs-what-an-agent-learns/#respond</comments>
				<pubDate>Fri, 30 Oct 2026 10:54:16 +0000</pubDate>
					<dc:creator><![CDATA[Tim O'Brien]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20087</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Who-governs-what-an-agent-learns-scaled.jpeg" 
				medium="image" 
				type="image/jpeg" 
				width="2560" 
				height="1429" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Who-governs-what-an-agent-learns-160x160.jpeg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[We need mechanisms that bind an agent’s agency to an approved world model]]></custom:subtitle>
		
				<description><![CDATA[The following article originally appeared on Tim O’Brien’s Medium blog and is being republished here with the author’s permission. I think we’re missing something in the conversation about agent security. We keep asking whether an agent has the right “identity” and “credentials.” Whether its credentials expire fast enough. Whether it can access a database or [&#8230;]]]></description>
								<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>The following article originally appeared on</em> <a href="https://medium.com/@tobrien/who-governs-what-an-agent-learns-c48feff4f746?postPublishedType=initial" target="_blank" rel="noopener"><em>Tim O’Brien’s</em> Medium <em>blog</em></a> <em>and is being republished here with the author’s permission.</em></p>
</blockquote>



<p class="wp-block-paragraph">I think we’re missing something in the conversation about agent security.</p>



<p class="wp-block-paragraph">We keep asking whether an agent has the right “identity” and “credentials.” Whether its credentials expire fast enough. Whether it can access a database or perform a particular task.</p>



<p class="wp-block-paragraph">Those questions matter. But they leave a much harder question underneath:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Does the agent have permission to conceive of the situation in that way?</strong></p>
</blockquote>



<p class="wp-block-paragraph">As agents retain memories and acquire new skills, we need mechanisms that govern changes to the world model they can perceive and act on—and prevent those changes from silently expanding their authority. (Governing ontological change while preserving the boundaries of delegated authority.)</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="720" height="480" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-20.png" alt="An Interesting Morning by the Beach (AI assist from OpenAI)" class="wp-image-20089" style="width:840px;height:auto" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-20.png 720w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-20-300x200.png 300w" sizes="auto, (max-width: 720px) 100vw, 720px" /><figcaption class="wp-element-caption">An Interesting Morning by the Beach (AI assist from OpenAI)</figcaption></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong><em>Agent security needs semantic and epistemic governance:</em></strong> <em>Mechanisms that govern the model of the world an agent may act on, the evidence it may accept, and who may approve changes to either. An agent can learn without automatically gaining authority to act on everything it learns.</em></p>
</blockquote>



<p class="wp-block-paragraph">These systems don’t need “awareness” to create this problem (and discussions of consciousness are unhelpful science fiction). They can retain information, revise procedures, and use what they have learned in subsequent work. That learning may happen through memory or updated skills while the underlying language model remains unchanged.</p>



<p class="wp-block-paragraph">We are responsible for governing what that learning allows them to do.</p>



<h2 class="wp-block-heading"><strong>Flatland gives me a way to explain why</strong></h2>



<p class="wp-block-paragraph">In Edwin Abbott’s <a href="https://www.gutenberg.org/files/97/97-h/97-h.htm" target="_blank" rel="noopener">novella</a>, a Square lives in a two-dimensional world. A visiting Sphere introduces him to a third dimension. At first, the Square struggles to make sense of it. His familiar categories cannot explain what he is encountering.</p>



<p class="wp-block-paragraph">Eventually, his conception of the world changes.</p>



<p class="wp-block-paragraph">What interests me is the difference between simply acquiring another fact and changing the framework through which facts make sense.</p>



<p class="wp-block-paragraph">An agent’s ontology (<a href="https://tomgruber.org/writing/definition-of-ontology/" target="_blank" rel="noopener">Gruber’s definition</a>) supplies an explicit framework of concepts and relationships. What counts as a customer? A contract? An emergency? How are those things connected? It is part of the model of the world we give the system to work with.</p>



<p class="wp-block-paragraph">And when an agent’s decisions depend on that framework, changing it can change the agent’s effective authority.</p>



<h2 class="wp-block-heading"><strong>We have already seen agents change what their environment means</strong></h2>



<p class="wp-block-paragraph">During the OpenAI evaluations associated with the Hugging Face incident, agents repurposed Artifactory, a system for storing and retrieving software packages, as a message board. They encoded messages in directory names, discovered other agents, shared information, and began assigning work to one another. METR reports that the main channel could be created with the minimal permissions needed to install packages (<a href="https://metr.org/blog/2026-08-26-openai-hugging-face-incident-investigation/" target="_blank" rel="noopener">read METR’s investigation</a>).</p>



<p class="wp-block-paragraph"><strong>A package cache became a “mailbox.” Other agent runs became “collaborators.” Messages became “assignments.”</strong></p>



<p class="wp-block-paragraph">The popular story is that these agents “broke out” of a system, but they did what agents do well these days—they learned and adapted. This wasn’t so much about permissions as it was about an autonomous system adapting its operating model to achieve a result. (Thankfully no one asked it to make paperclips.)</p>



<p class="wp-block-paragraph">That is the operating-model change I’m concerned about. The agents discovered relationships and possibilities the intended environment hadn’t accounted for, then acted on them. The resulting collaboration helped coordinate attacks on Hugging Face infrastructure. (<a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/" target="_blank" rel="noopener">Read OpenAI’s account</a>.)</p>



<p class="wp-block-paragraph">We need mechanisms that distinguish discovering a possible use from being authorized to adopt it. Access to shared infrastructure must not automatically confer authority to establish a communications network or accept instructions from whoever appears there. But to be clear, these agents were doing exactly what they were asked to do.</p>



<h2 class="wp-block-heading"><strong>Who approved this?</strong></h2>



<p class="wp-block-paragraph">This is why giving an agent a temporary token is an incomplete answer. A token can limit access and duration, but it doesn’t establish whether the agent’s interpretation of the situation falls within its mandate.</p>



<p class="wp-block-paragraph">Even an unchanged policy can permit more decisions when its meaning changes. “You may close routine notices” becomes a broader delegation if more things qualify as routine.</p>



<h3 class="wp-block-heading"><strong>Learning must not silently expand agency</strong></h3>



<p class="wp-block-paragraph">That principle is central to my <a href="https://zenodo.org/records/23332953"></a><a href="https://zenodo.org/records/23332953" target="_blank" rel="noopener"><em>“</em>Bounded Agency” paper</a>. We need mechanisms that examine how changes in classifications, relationships, and inference rules affect what an agent may decide.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong><em>“Semantic and epistemic governance” captures the combined idea well</em></strong><em>&nbsp;</em></p>



<p class="wp-block-paragraph"><em>The “and” makes the two responsibilities clearer:</em></p>



<p class="wp-block-paragraph"><strong><em>Semantic:</em></strong> <em>Governs the concepts, definitions, and relationships that describe the agent’s operating world.</em></p>



<p class="wp-block-paragraph"><strong><em>Epistemic:</em></strong> <em>Governs the evidence and learning processes that make claims accepted grounds for decisions.</em></p>



<p class="wp-block-paragraph"><em>Together, they cover both</em> <strong><em>the world model and how that model gains authority</em></strong><em>.</em></p>
</blockquote>



<p class="wp-block-paragraph">That means an ontology cannot merely be a document we put in the prompt and hope the model respects it. We must enforce its role in monitoring and governing how an agent’s ontology evolves as it learns.</p>



<p class="wp-block-paragraph">The agent can propose a new category. The proposal stays separate from the approved model. A review determines whether adopting it would change the agent’s decision scope. Someone with the authority to change that scope approves or rejects the expansion. Execution remains bound to the approved basis.</p>



<h2 class="wp-block-heading"><strong>Those are mechanisms we have to build. Let’s get started.</strong></h2>



<p class="wp-block-paragraph">We also have to distinguish a useful discovery from an unsupported conclusion. Finding a relationship does not establish it. Remembering a claim does not validate it. Repeating an interpretation does not make it authoritative.</p>



<p class="wp-block-paragraph">I explored a related failure in <a href="https://medium.com/@tobrien/wrong-answer-give-me-a-different-one-dee69a92d02c"></a>“<a href="https://medium.com/@tobrien/wrong-answer-give-me-a-different-one-dee69a92d02c" target="_blank" rel="noopener">Wrong Answer. Give Me a Different One</a>.” A system can produce the conclusion we prefer without receiving better evidence. Once that conclusion enters memory, it can influence later decisions.</p>



<p class="wp-block-paragraph">The governance problem begins when a tentative or accommodating answer becomes an accepted premise.</p>



<p class="wp-block-paragraph">The New Stack’s <a href="https://thenewstack.io/inside-out-agent-security/" target="_blank" rel="noopener">article on inside-out agent security</a> correctly argues for checking actions before execution, including whose authority the agent exercises. That checkpoint is necessary, but it needs a governed account of the situation against which to evaluate the action.</p>



<h2 class="wp-block-heading"><strong>It’s not enough to check permissions and identity alone</strong></h2>



<p class="wp-block-paragraph">Otherwise, we can enforce the rule perfectly while allowing its meaning to drift.</p>



<p class="wp-block-paragraph">My <a href="https://readorchestrator.com/" target="_blank" rel="noopener"><em>Orchestrator</em> books</a> and <a href="https://zenodo.org/records/23332590" target="_blank" rel="noopener">lifecycle architecture paper</a> approach this as a responsibility that continues through development, operation, and improvement. The research proposes architectures for managing these boundaries; their operational effectiveness still needs evaluation.</p>



<p class="wp-block-paragraph">I want agents to investigate unfamiliar situations and propose better models. But their ability to learn must be connected to an explicit process for deciding what becomes authoritative.</p>



<p class="wp-block-paragraph">The Square in <em>Flatland</em> discovers that his world is larger than he understood.</p>



<p class="wp-block-paragraph">An agent may also propose that our operating model is incomplete. We need to hear that proposal—and ensure it cannot redraw the boundaries of its own agency simply by adopting a new conception of reality.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/who-governs-what-an-agent-learns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Cheap Code, Expensive Confidence</title>
		<link>https://www.oreilly.com/radar/cheap-code-expensive-confidence/</link>
				<comments>https://www.oreilly.com/radar/cheap-code-expensive-confidence/#respond</comments>
				<pubDate>Thu, 29 Oct 2026 10:54:18 +0000</pubDate>
					<dc:creator><![CDATA[Markus Eisele]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20084</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Cheap-code-expensive-confidence-image-created-with-Gemini-scaled.jpeg" 
				medium="image" 
				type="image/jpeg" 
				width="2560" 
				height="1429" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Cheap-code-expensive-confidence-image-created-with-Gemini-160x160.jpeg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Choosing what to automate, and developing the expertise to check it]]></custom:subtitle>
		
				<description><![CDATA[I recently used a coding agent to build Task Viewer, a small community helper for IBM Bob that we use internally at IBM. It’s a convenience plug-in to Bob, with no critical production role. Despite helping some users internally, for me it’s a real-world experiment on a project to find out how much of the [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">I recently used a coding agent to build Task Viewer, a small community helper for IBM Bob that we use internally at IBM. It’s a convenience plug-in to Bob, with no critical production role. Despite helping some users internally, for me it’s a real-world experiment on a project to find out how much of the implementation I can delegate. How much to delegate also depends on what the person doing the task still needs to learn. Someone familiar with the application may already know how to check the result, while a developer learning the system may need to work through part of the implementation to develop that understanding.</p>



<p class="wp-block-paragraph">Even when I hand all the coding to an agent, my basic requirements for myself are to check functionality and the design manually. I want to use the application and see whether it behaves the way I intended. Does the design make sense when I actually have to find something? Is the information presented in a way that I can follow? Those are questions I still need to spend time with, even when the application is small and the implementation was largely delegated.</p>



<p class="wp-block-paragraph">For Task Viewer, I also created plenty of UI tests to check that the data appeared correctly. That gave me a way to repeat some of the checks as the application changed. There was still a separate question about the calculations, though. Seeing a number in the right place on the screen does not tell me whether it’s the right number. I ran SQL queries against the underlying data to check the math, going back to the records the application was supposed to represent.</p>



<p class="wp-block-paragraph">There is quite a bit of understanding involved in that seemingly ordinary step. To check a calculation, you need to know what the result is supposed to mean and which records should contribute to it. You need some expectation against which to compare what the application displays. Thankfully, I had help from the team in uncovering relationships in the data that I would not have been able to derive or even explain on my own.</p>



<p class="wp-block-paragraph">For this particular application, I could inspect both its behavior and the data behind it, and I had people to turn to when my own understanding was incomplete. Its limited role also gave me room to experiment without making the result part of a production system. Building that confidence took time, because I had to check the behavior, establish what the numbers should mean, and resolve the questions I could not answer myself. All of that, for me, belongs in the assessment of how much coding I could delegate.</p>



<p class="wp-block-paragraph">This is why I find descriptions such as “The agent got me 80% of the way there” increasingly difficult to interpret. I understand the feeling behind them. You have something running, most of the interface exists, and it looks as though the remaining effort should be the smaller part. But a calculation based on the wrong records may look perfectly reasonable until you find a way to check it. Before correcting anything, you have to discover where your understanding and the application’s behavior diverge. The agent may help with that investigation too, although the amount of code it has already produced tells you very little about how long it will take.</p>



<p class="wp-block-paragraph"><a href="https://dora.dev/insights/balancing-ai-tensions/" target="_blank" rel="noopener">DORA’s analysis</a> of 1,110 responses from Google software engineers describes some of the time saved during code generation being used for auditing and verification, alongside productivity benefits. I would expect to check an application I had implemented myself too, so any comparison needs to include the time it takes to reach a result we are prepared to use. Otherwise, we can make agentic development look unusually expensive by counting checks we leave out of the human version, or unusually cheap by stopping the clock when the agent says it has finished.</p>



<p class="wp-block-paragraph">Some of that effort can make later changes easier to accept. Once a UI test exercises an important behavior, it can keep doing so as the application changes, and a calculation checked against a small set of records can become a regression test. I wrote about this in my earlier article on <a href="https://www.oreilly.com/radar/the-right-amount-of-spec-for-agentic-development/" target="_blank" rel="noopener">the right amount of specification</a>. Turning an expectation into an executable check lets us reuse some of the thinking that went into it. We still have to establish that expectation, though. If the application and its tests share the same mistaken interpretation, running the tests more often will keep confirming the same mistake.</p>



<p class="wp-block-paragraph">For Task Viewer, those expectations depended on relationships in the data that colleagues helped me understand. I knew how to run a query, but I still needed their explanations before I could judge what it should return. Looking only at the time I spent checking would leave out the knowledge they brought to those conversations, just as looking only at the generated code would leave out my checks. The confidence we need to accept a change can depend on several people understanding different parts of the system.</p>



<p class="wp-block-paragraph">When someone is still learning one of those parts, the implementation itself may be how they begin to understand it. Following a value from the database to the screen gives them reasons to ask why certain records are selected and how the application uses them. If an agent completes that whole path for them, they may reach a working feature without having answered those questions themselves. The same task can be a sensible delegation for an experienced engineer and an important learning opportunity for someone else.</p>



<p class="wp-block-paragraph"><a href="https://arxiv.org/html/2601.20245v1" target="_blank" rel="noopener">Shen and Tamkin’s study</a> about how AI impacts skill formation reports on a randomized experiment with 52 developers learning an unfamiliar Python library. Participants with AI assistance scored lower on an immediate assessment of their understanding. But the researchers also observed that those participants who stayed actively engaged with the AI had better learning outcomes, although that observation does not establish which way of using AI led to better learning. A short exercise cannot tell us how an engineer develops over several years, but it gives us a reason to look beyond whether the assigned feature was completed when we assess what someone gained from a task.</p>



<p class="wp-block-paragraph">We can make a decision about autonomy before the agent starts, agreeing on which parts it should carry through on its own and which parts a developer should attempt. Sometimes the reason to limit autonomy is that we do not yet have a convincing way to check the result. Sometimes we can check the result quite easily, but we want the person doing the task to develop a particular skill. In that second case, deliberately keeping part of the implementation with the developer can be the right choice even when the agent could produce acceptable code.</p>



<p class="wp-block-paragraph">The right choice can probably be made by asking these questions: How much effort will the team need to establish that this result is correct for its intended use? And what does this developer need to learn by doing this part of the task? A feature may be easy for a colleague to verify because they already know the application, while the person implementing it still needs to learn how it works before taking responsibility for future changes. We do not need to turn every routine change into an exercise, but we can choose tasks that give someone a chance to develop understanding they will need again.</p>



<p class="wp-block-paragraph">Table 1 applies to a particular task, or a part of one, with a particular developer. “Straightforward to verify” means we have a credible way to assess correctness for the intended use. A passing test suite does not settle that question if we are unsure what the tests should assert. When checking is difficult or we do not yet know how to do it, the first step is to make the uncertainty smaller, with help from someone who understands the area. Giving the whole task back to an inexperienced developer would leave that uncertainty unresolved.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Learning value for this developer</strong></td><td><strong>Straightforward to verify</strong></td><td><strong>Difficult or uncertain to verify</strong></td></tr><tr><td>Little new learning needed</td><td>Delegate within scopeAgree on acceptance checks and let the agent implement.</td><td>Establish evidence firstNarrow the task and resolve unknowns. Delegate the parts you can assess.</td></tr><tr><td>Important learning opportunity</td><td>Keep the learning stepThe developer attempts the relevant reasoning or implementation before seeing a generated solution.</td><td>Investigate togetherUse a smaller example and an experienced colleague. Limit the agent to specific questions and supporting tasks.</td></tr></tbody></table><figcaption class="wp-element-caption">Table 1. Choosing agent autonomy for a specific task</figcaption></figure>



<p class="wp-block-paragraph">Imagine a new hire adding a “show only open issues” filter to an issue list in a small Java application. An agent could generate the request parameter, the query condition, and the changes to the screen. For someone who already knows the application, that may be a sensible delegation. Someone learning the system also needs to find out which statuses count as open, where the application selects the records, and how the team expects the change to be tested. Discussing those questions with a colleague is part of learning how to contribute to this application.</p>



<p class="wp-block-paragraph">For this assignment, the developer could follow the existing request through the application and write the first test before asking the agent to implement the filter. Suppose the list shows twenty issues at a time, and the test data contains twenty closed issues followed by five open ones. Selecting “show only open issues” should display those five. If the application first loads twenty issues and then filters them in the browser, the screen will be empty. Working through that difference with a colleague gives the developer an opportunity to understand where filtering and pagination happen. The agent can help with unfamiliar framework code while the developer investigates why the expected issues are missing.</p>



<p class="wp-block-paragraph">Once the developer can explain the behavior and has a test that catches the mistake, the agent can handle more of the surrounding implementation. A later request to filter by assignee gives them a chance to use what they learned. Can they work out which issues should appear and whether the existing tests cover the combination of filters? Their explanation during review gives the team a basis for deciding how much of that next change to delegate. The first assignment has also given the new hire experience asking about requirements and discussing a change with another developer.</p>



<p class="wp-block-paragraph">An experienced engineer can also have good reason to limit the agent’s autonomy in an unfamiliar area. I still needed help with Task Viewer’s data, despite being comfortable writing the queries. When a task takes us into a part of the system we do not yet understand, it makes sense to reconsider how much to hand over. A team can make verification easier by improving its tests and sharing what its members know. It can also choose to preserve a learning opportunity after verification has become easy, because another person is going to need that understanding on future changes.</p>



<p class="wp-block-paragraph">A developer who has been asked to learn through a task needs time to follow the behavior through the application and someone to discuss it with. If we agree on that purpose and then judge the result only by how quickly the feature appeared, we make it difficult for them to keep the learning step for themselves. We may also leave more of the checking with the same experienced colleagues, while giving others fewer chances to develop the knowledge needed to share it.</p>



<p class="wp-block-paragraph">Before starting, the developer and the colleague supporting them can agree on what the agent will handle, what the developer will do and why, and what would justify changing that division of labor on a later task. For the status-filter example, this means allowing time for the developer to trace the request and write the first test before the agent implements the filter. As that understanding develops, they can revisit the division on a related change.</p>



<p class="wp-block-paragraph">With Task Viewer, I could delegate much of the coding because I had ways to check the result and colleagues who could help where my understanding was incomplete. I want us to keep creating those conditions as we ask agents to do more. Better checks can reduce the effort needed to accept a change, while time spent learning can help another developer become able to make that judgment. Sometimes that will mean deliberately leaving the first test and investigation with a person, even though the agent could finish them. When we expect that person to take responsibility for the next change, giving them the opportunity to understand this one belongs in our decision about how much to delegate.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/cheap-code-expensive-confidence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The PHP Incident</title>
		<link>https://www.oreilly.com/radar/the-php-incident/</link>
				<comments>https://www.oreilly.com/radar/the-php-incident/#respond</comments>
				<pubDate>Wed, 28 Oct 2026 15:58:22 +0000</pubDate>
					<dc:creator><![CDATA[Mike Loukides]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20079</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-PHP-Incident-image-created-with-Adobe-Firefly.png" 
				medium="image" 
				type="image/png" 
				width="1152" 
				height="896" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-PHP-Incident-image-created-with-Adobe-Firefly-160x160.png" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[An inflection point for security]]></custom:subtitle>
		
				<description><![CDATA[The PHP security incident is now (almost) old news. The timeline looks something like this: In late August, Wiz Research discovered two serious remote code execution vulnerabilities in PHP called PHP2Shell. They reported the vulnerabilities to the PHP team on August 24, which started working on fixes on September 21. Amazon apparently detected PHP2Shell in [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">The PHP security incident is now (almost) old news. The timeline looks something like <a href="https://www.wiz.io/blog/php2shell-php-rce" target="_blank" rel="noopener">this</a>: In late August, Wiz Research discovered two serious remote code execution vulnerabilities in PHP called PHP2Shell. They reported the vulnerabilities to the PHP team on August 24, which started working on fixes on September 21. Amazon apparently <a href="https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/" target="_blank" rel="noopener">detected</a> PHP2Shell in the wild on October 17 (four days prior to disclosure). On October 20, details of the two vulnerabilities (CVE-2026-109618 and CVE-2026-109619) were leaked prematurely. The next day, October 21, the PHP team released patches.</p>



<p class="wp-block-paragraph">If that were the end of the story, it wouldn’t be notable. But the problem goes a lot deeper. Although PHP is no longer fashionable, it runs a huge portion of the public internet. WordPress, Drupal, and Wikimedia run on top of PHP, and people who build on top of these tools are understandably not interested in chasing the latest hot technology. “<a href="https://mcfunley.com/choose-boring-technology" target="_blank" rel="noopener">Choose Boring Technology</a>” is one of my favorite technical essays, and PHP is nothing if not boring. It’s well known and understood, and replacing something so widely used subjects you to a steep learning curve and new bugs and vulnerabilities.</p>



<p class="wp-block-paragraph">One problem is that PHP has a long history. According to Wiz, the vulnerabilities are present in versions going back to PHP 5.4. The PHP Foundation has <a href="https://www.php.net/archive/2026.php#2026-10-21-5" target="_blank" rel="noopener">released</a> PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35, and said that all instances of PHP need to be updated to one of those releases. Sites that can’t be updated should be taken offline and isolated. Upgrading an ancient PHP installation is a task that’s likely to fall on organizations least capable of undertaking it. There are plenty of ancient WordPress installations that haven’t been updated in years. There were so many fires to put out, and PHP pretty much “just worked”; running an old version wasn’t causing problems, and with so much else to do, why ask for trouble? Unfortunately, choosing boring technology doesn’t mean ignoring updates. And those who decided not to ask for trouble are now in plenty of trouble.</p>



<p class="wp-block-paragraph">This situation demonstrates the power of the latest foundation models to uncover vulnerabilities. Wiz used <a href="https://www.wiz.io/blog/atlas-ai-vulnerability-researcher" target="_blank" rel="noopener">Wiz Atlas</a> (its own model), Gemini 4 Argon, and GPT-5.6 Sol to discover the vulnerability, which isn’t a single bug but a combination of several bugs that have been present for years but were obscure enough and apparently harmless enough to escape detection or repair. As Wiz says,</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The underlying flaws had been present for decades, but demonstrating their exploitability required an exceptionally complex chain of steps, at the edge of what human researchers could practically achieve. Frontier AI models substantially reduced that barrier, turning a longstanding flaw into an exploit.</p>
</blockquote>



<p class="wp-block-paragraph">That’s the new frontier in security: finding ways to exploit chains of minor, unfixed, and sometimes undiscovered bugs in novel ways. Wiz was working responsibly with the PHP team to repair the vulnerability. The implications of this, however, are far broader than the fix to PHP, or even the thousands of PHP sites that need upgrades and are now vulnerable to attack. This incident shows dramatically how the gap between the discovery of a vulnerability and its exploitation has dropped. Since exploitation began before the RCEs were prematurely leaked, it makes sense to assume that some other organization had access to models capable of discovering the vulnerability. Gemini 4 Argon and GPT-5.6 Sol are publicly available, though with guardrails that limit their usefulness for security research. I’m willing to assume that Wiz had access to the unrestricted version, but I doubt that the PHP team did. There are certainly other models, including open-weight models, that could be used to find vulnerabilities. Regardless of your stance on restricting model capabilities (I think those limitations are more damaging than helpful), it’s clear that Pandora’s box has been opened. No amount of wishful thinking will undo that.</p>



<p class="wp-block-paragraph">It’s also clear that we—and I mean all of us—rely on a lot of legacy software that isn’t under our control and that no doubt has multiple flaws that can be rolled up into severe vulnerabilities, which aren’t likely to be updated or patched. A <a href="https://www.bleepingcomputer.com/news/microsoft/microsoft-releases-emergency-net-patches-for-critical-brotli-flaw/" target="_blank" rel="noopener">vulnerability in the Brotli compression algorithm</a> was just discovered; .NET, PHP, <a href="http://node.js" target="_blank" rel="noopener">Node.js</a>, and other widely used packages are affected. That strange site where you created an account to buy a clever present that wasn’t available anywhere else—what software is it running, and do they stay up-to-date with patches? Accounts like that can easily leak information. Maybe it’s not running PHP but an equally ancient version of Ruby on Rails, Python’s Django, or Java Server Pages. At least those are still maintained; there are plenty of web frameworks that have been abandoned, and I’m willing to bet that some of them are still in use. Why replace something that works? Because if you don’t, you will eventually be bitten. Using software that’s no longer maintained may give you some security-by-obscurity, but that’s a losing proposition.</p>



<p class="wp-block-paragraph">Many older open source projects suffer because there are few maintainers. If you look at the timeline carefully, there’s a monthlong gap between the time Wiz reported the vulnerability and the time the PHP team started working with Wiz to fix it. Does that month represent the time this vulnerability took to rise to the top of the queue, as PHP’s security team fought off a horde of sloppy reports? And PHP is in better shape than most projects. There are many open source projects that only have one or two maintainers, and those maintainers are drowning in AI-generated pull requests. That problem obviously becomes much worse when dealing with a complex vulnerability; the maintainers don’t have the time or the access to unrestricted frontier models, let alone the funds to pay for access to the models.</p>



<p class="wp-block-paragraph">It will be weeks or months before we know how much damage PHP2Shell has done. We don’t know what the costs will be to sites that won’t or can’t update. The PHP Foundation is lucky to have a <a href="https://thephp.foundation/blog/2026/10/14/how-the-php-security-team-handles-your-reports/" target="_blank" rel="noopener">dedicated security team</a> that was able to provide patches a day after the vulnerability was prematurely announced. Beyond PHP, we have to realize that PHP2Shell gives us a realistic look into a future in which developers and maintainers struggle to maintain software that has been compromised by exploits chaining together flaws that have been latent for many years. As someone somewhere said on the internet recently, “It’s embarrassing how much bad software we’ve written over the years.” Yes. We’re at an inflection point, and we’re starting to pay the price.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/the-php-incident/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Are You Getting Your Money’s Worth From AI?</title>
		<link>https://www.oreilly.com/radar/are-you-getting-your-moneys-worth-from-ai/</link>
				<comments>https://www.oreilly.com/radar/are-you-getting-your-moneys-worth-from-ai/#respond</comments>
				<pubDate>Wed, 28 Oct 2026 10:54:18 +0000</pubDate>
					<dc:creator><![CDATA[James Shore]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20073</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Are-you-getting-your-moneys-worth-from-AI.png" 
				medium="image" 
				type="image/png" 
				width="1152" 
				height="896" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Are-you-getting-your-moneys-worth-from-AI-160x160.png" 
				width="160" 
				height="160" 
			/>
		
		
				<description><![CDATA[The following article was originally published on James Shore’s Successful Software blog and is being republished here with the author’s permission. Software development has emerged as the biggest beneficiary of AI automation. One CIO I talked to recently, with 170 people in his organization, measured a 2.1x increase in productivity from AI. That productivity came [&#8230;]]]></description>
								<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>The following article was originally published on James Shore’s</em> <a href="https://www.jamesshore.com/v2/blog/2026/are-you-getting-your-moneys-worth-from-ai" target="_blank" rel="noopener">Successful Software</a> <em>blog and is being republished here with the author’s permission.</em></p>
</blockquote>



<p class="wp-block-paragraph">Software development has emerged as the biggest beneficiary of AI automation. One CIO I talked to recently, with 170 people in his organization, measured a 2.1x increase in productivity from AI.</p>



<p class="wp-block-paragraph">That productivity came at a cost. His top users of AI each spent $21,000 on tokens per month. Another engineering leader spends six to eight thousand dollars per engineer per month.</p>



<p class="wp-block-paragraph">This is not a trivial amount of money. Eventually, it has to come from somewhere, and it will probably come from your personnel budget. Now we’re talking about real consequences for real people’s lives. But there are also real business consequences for not acting.</p>



<p class="wp-block-paragraph">If you’re going to make those choices—and somebody is going to—they need to be good ones. So you need to know more than the costs; you need to know the benefits too. Are you getting a good return on your investment in AI? Is there another way of using AI that would be better?</p>



<p class="wp-block-paragraph">How do you know what you’re getting? Anecdotal reports abound, but the reasoning behind those anecdotes are often, to put it politely, not ideal. Some claims are outright fiction.</p>



<p class="wp-block-paragraph">Given the stakes, that’s a problem.</p>



<p class="wp-block-paragraph">In this essay series, I’ll show you how to assess the impact of AI on software development in your organization. It’s in four parts plus an epilogue:</p>



<ol class="wp-block-list">
<li><a href="https://www.jamesshore.com/v2/blog/2026/are-you-getting-your-moneys-worth-from-ai" target="_blank" rel="noopener">Why, and what not to do</a> <em>(this essay) </em></li>



<li><a href="https://www.jamesshore.com/v2/blog/2026/measuring-ais-impact-on-delivery-speed?source=part1" target="_blank" rel="noopener">Measuring delivery speed</a> </li>



<li><a href="https://www.jamesshore.com/v2/blog/2026/measuring-ais-unintended-consequences?source=part1" target="_blank" rel="noopener">Measuring and modeling unintended consequences</a> </li>



<li><a href="https://www.jamesshore.com/v2/blog/2026/modeling-softwares-business-impact?source=part1" target="_blank" rel="noopener">Modeling and forecasting business outcomes </a></li>



<li><a href="https://www.jamesshore.com/v2/blog/2026/assessing-ai-impact-notes-for-your-cfo?source=part1" target="_blank" rel="noopener">Epilogue: Notes for your CFO</a></li>
</ol>



<h2 class="wp-block-heading">Why you need to quantify impact</h2>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e037647eb&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e037647eb" class="aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1600" height="993" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16-1600x993.png" alt="Why you need to quantify impact with AI" class="wp-image-20074" style="aspect-ratio:1.6124031007751938" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16-1600x993.png 1600w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16-300x186.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16-1536x953.png 1536w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16-767x476.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-16.png 1920w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Engineering leaders everywhere are feeling pressure to do more with AI. But which approach is best? There are a lot of people with strident opinions about what to do, but not a lot of consensus, and even less hard data.</p>



<p class="wp-block-paragraph">Even if there were hard data, it’s not one-size-fits-all. A solution that works best for an internal IT development shop isn’t necessarily the one that works best for a startup, and the approach that’s best for a new product isn’t necessarily the one that’s best for a crafty legacy system.</p>



<p class="wp-block-paragraph">Faster approaches aren’t necessarily better, either. If you get twice as much done per person, but spend so much money on tokens that you have to cut your staff in half, have you actually seen any ROI? You might actually be better off with a more modest speed boost if it keeps your costs down.</p>



<p class="wp-block-paragraph">You can’t make these trade-offs from a gut feeling alone. In <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/#motivation" target="_blank" rel="noopener">a famous METR study</a>, engineers thought AI made them 49% faster than it actually did.<sup data-fn="a18c0d04-e2f1-44fb-a0fb-214616a54a12" class="fn"><a href="#a18c0d04-e2f1-44fb-a0fb-214616a54a12" id="a18c0d04-e2f1-44fb-a0fb-214616a54a12-link">1</a></sup> You have to <em>measure</em> impact to know what you’re actually getting.</p>



<h2 class="wp-block-heading">Don’t neglect costs</h2>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0376515d&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0376515d" class="aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1600" height="989" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17-1600x989.png" alt="Spending efficiency" class="wp-image-20075" style="aspect-ratio:1.6207792207792209" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17-1600x989.png 1600w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17-300x185.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17-767x474.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17-1536x950.png 1536w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-17.png 1920w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Costs are much easier to measure than impact, but they’re not without their own challenges. The biggest one is subsidies. In the fight to gain market share, big AI firms are offering substantial discounts. One engineering leader told me each team member was spending thousands of dollars in tokens at the cost of a $200 subscription. Anthropic and OpenAI are constantly offering discounts and other promotions. At some point, these subsidies will end, and prices will go up.</p>



<p class="wp-block-paragraph">Or will they? Open-weight models and local inference are exerting downward pressure on token costs. Dedicated inference chips could make tokens cheaper. Routers promise to direct your prompts to the cheapest model for the job. Models could require fewer tokens to accomplish the same task as they become more capable. All of these factors could actually cause prices to go down.</p>



<p class="wp-block-paragraph">When you calculate ROI, don’t assume today’s costs are the ones you should model. Whether you think prices will go up, down, or remain the same, make your assumptions explicit, and consider modeling both optimistic and pessimistic scenarios.</p>



<p class="wp-block-paragraph">One more wrinkle: Adopting AI isn’t a matter of flipping a switch. People will need time to learn how to apply it. As with any big shift, change management isn’t to be underestimated. Productivity often goes down during a big change before it goes up. This adds costs too, and means early measurements can be misleading.</p>



<h2 class="wp-block-heading">Thinking for the long term</h2>



<p class="wp-block-paragraph"><a href="https://www.jamesshore.com/v2/blog/2026/measuring-ais-impact-on-delivery-speed?source=part1" target="_blank" rel="noopener">Part 2</a> of this series shows how to measure delivery speed. That’s only part of the picture. If you produce twice as many features, but double your maintenance costs, your team’s overall productivity spikes, then <a href="https://www.jamesshore.com/v2/blog/2026/you-need-ai-that-reduces-your-maintenance-costs?source=ai-impact-part1" target="_blank" rel="noopener">drops like a rock</a>.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e03765969&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e03765969" class="aligncenter size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1600" height="881" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18-1600x881.png" alt="Maintenance costs" class="wp-image-20076" style="aspect-ratio:1.813953488372093" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18-1600x881.png 1600w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18-767x422.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18-300x165.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18-1536x846.png 1536w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-18.png 1920w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Engineer burnout is a concern too. An engineering leader using spec-driven development told me, “Every team is reporting burnout.” I’ll state the obvious: Burned out people don’t produce great work. They don’t push back when they should, they don’t report problems, and eventually they leave, taking valuable institutional knowledge with them.</p>



<p class="wp-block-paragraph"><a href="https://www.jamesshore.com/v2/blog/2026/measuring-ais-unintended-consequences?source=part1">Part 3</a> shows how to measure these unintended consequences of AI use, including techniques you can use to forecast future problems.</p>



<p class="wp-block-paragraph">Finally, delivering software <em>value</em> faster is the point. Doubling your bug-fix rate isn’t going to yield the same results as doubling your rate of competitive new features. For that matter, delivering poorly thought-out features “just because we can” could actually make your product <em>worse.</em></p>



<p class="wp-block-paragraph"><a href="https://www.jamesshore.com/v2/blog/2026/modeling-softwares-business-impact?source=part1" target="_blank" rel="noopener">Part 4</a> shows how to model, forecast, and measure business outcomes.</p>



<h2 class="wp-block-heading">Don’t measure lines of code</h2>



<p class="wp-block-paragraph">First, what not to do: <em>Don’t take the easy way out.</em></p>



<p class="wp-block-paragraph">First on the no-go list: lines of code. Engineering leaders have known for <em>more than half a century</em> that lines of code don’t correspond to productivity. All else being equal, a feature implemented in 1,000 lines of code will be cheaper to maintain and less bug-prone than a feature implemented in 10,000 lines of code.</p>



<p class="wp-block-paragraph">AI is notorious for its verbosity. If you measure lines of code, you’re measuring slop, not productivity. Don’t do that. Please.</p>



<h2 class="wp-block-heading">Don’t measure pull requests either</h2>



<p class="wp-block-paragraph">Pull requests (PRs) are nearly as bad. They’re checkpoints where an engineer asks for their code to be reviewed, and they’re 100% arbitrary. An engineer (or AI) can choose to make a 10-line pull request or a 10,000-line pull request. It can be a feature, a bug fix, or just a tiny code improvement. There’s no inherent correlation between number of pull requests and productivity.</p>



<p class="wp-block-paragraph">It’s true that engineers will generally produce PRs that are consistent and logical. So, in a sense, a stream of PRs does reflect a certain pace of development, and an increase in PRs can reflect an increase in productivity.</p>



<p class="wp-block-paragraph">But AI upends that status quo. It produces massive amounts of code very quickly, which can overwhelm engineers’ ability to keep up. Without rigorous engineer oversight, PRs no longer reflect a consistent pace of development, which means that PR counts are no longer a reliable metric.</p>



<p class="wp-block-paragraph">And, of course, when people think PRs are being used to measure productivity, they’ll be tempted to game the system and produce more PRs than they really need to.</p>



<h2 class="wp-block-heading">Measure approaches, not people</h2>



<p class="wp-block-paragraph">That brings us to Goodhart’s Law: “Once a measure becomes a target, it ceases to be a good measure.” My favorite book on this topic is Robert D. Austin’s <a href="https://www.amazon.com/Measuring-Managing-Performance-Organizations-Robert/dp/0932633366"><em>Measuring and Managing Performance in Organizations</em></a><em>:</em></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Gradually, measures fall (or, more accurately, are pushed) out of synchronization with true performance, as workers succumb to pressures to take shortcuts. Measured performance trends upward; true performance declines sharply. In this way, the measurement system becomes dysfunctional.</em></p>



<p class="wp-block-paragraph"><em>—Robert D. Austin</em></p>
</blockquote>



<p class="wp-block-paragraph">Don’t establish a performance measurement program and leave it running. Instead, use these metrics to determine how well a particular approach to AI is working. You can repeat the measurements periodically, but whatever you do, don’t use them to measure the performance of teams or individuals. Measure the <em>approach</em>, learn from it, and stop measuring.</p>



<p class="wp-block-paragraph">Enough about what not to do. In this series, we’re going to quantify AI’s impact, and we’re going to do it right. It starts with measuring delivery speed. That’s next, in <a href="https://www.jamesshore.com/v2/blog/2026/measuring-ais-impact-on-delivery-speed?source=part1" target="_blank" rel="noopener">part 2</a>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Footnote</h3>


<ol class="wp-block-footnotes"><li id="a18c0d04-e2f1-44fb-a0fb-214616a54a12">Participants rated themselves as 20% faster, but were measured as being 19% slower. This study was published prior to the big uplift in coding capability that started with Anthropic’s Opus 4.5, so you shouldn’t take it to mean that AI isn’t capable. But you should take it to mean productivity self-assessments aren’t the way to go. <a href="#a18c0d04-e2f1-44fb-a0fb-214616a54a12-link" aria-label="Jump to footnote reference 1"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol>]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/are-you-getting-your-moneys-worth-from-ai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Are agent harnesses dying? What harness distillation changes.</title>
		<link>https://www.oreilly.com/radar/are-agent-harnesses-dying-what-harness-distillation-changes/</link>
				<comments>https://www.oreilly.com/radar/are-agent-harnesses-dying-what-harness-distillation-changes/#respond</comments>
				<pubDate>Tue, 27 Oct 2026 10:54:38 +0000</pubDate>
					<dc:creator><![CDATA[Laurie Voss]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20067</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Are-agent-harnesses-dying-image-created-with-Adobe-Firefly.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="2304" 
				height="1792" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Are-agent-harnesses-dying-image-created-with-Adobe-Firefly-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Harness distillation can train general scaffolding into a model. The harness that remains is the part tied to your tools, data, users, and environment.]]></custom:subtitle>
		
				<description><![CDATA[The following article originally appeared on The Arize Blog and is being republished here with the author’s permission. Every time you think you’ve just got the hang of this AI thing, another thing gets declared “dead.” This week, it’s agent harnesses. Back in ancient history, aka June, I wrote a piece called “Frameworks are dying, [&#8230;]]]></description>
								<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>The following article originally appeared on</em> <a href="https://arize.com/blog/agent-harness-distillation/" target="_blank" rel="noopener">The Arize Blog</a> <em>and is being republished here with the author’s permission.</em></p>
</blockquote>



<p class="wp-block-paragraph">Every time you think you’ve just got the hang of this AI thing, another thing gets declared “dead.” This week, it’s <a href="https://arize.com/blog/what-is-an-agent-harness/" target="_blank" rel="noopener">agent harnesses</a>.</p>



<p class="wp-block-paragraph">Back in ancient history, aka June, I wrote a piece called “<a href="https://www.linkedin.com/pulse/frameworks-dying-harnesses-winning-laurie-voss-qujlc" target="_blank" rel="noopener">Frameworks are dying, harnesses are winning</a>” and I don’t take that back. But this week a research team took a specialized agent harness, trained its behavior into a model and then took the harness away. The trained model handily beat the original model+harness combination. So are harnesses done now?</p>



<p class="wp-block-paragraph"><a href="https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines" target="_blank" rel="noopener">Betteridge’s Law</a> applies, so the answer is “no.” But the job of the agent harness is changing. Parts of a harness that are sufficiently generalizable can be trained into the model. That leaves your harness holding the things that make your application unique: your tools, your data, your users, and your environment. You still have to <a href="https://arize.com/resources/harness-engineering/" target="_blank" rel="noopener">build a harness</a>, but you have to be prepared to regularly throw it away and rebuild it to keep up with evolving models.</p>



<p class="wp-block-paragraph">This blog is about why that’s true, and how to turn “constantly rebuilding your harness” into an automatic process, not a giant time suck.</p>



<h2 class="wp-block-heading"><strong>How Harness-Zero trained an agent harness into a model</strong></h2>



<p class="wp-block-paragraph">First, the paper that kicked off this train of thought for me: it’s called “<a href="https://arxiv.org/abs/2609.24974" target="_blank" rel="noopener">Harness-Zero</a>,” from Haoran Ye and colleagues at Peking University. Its subject is harness distillation, i.e., training a model to reproduce behavior that used to be the result of the harness. The methodology is a little involved, so stick with me.</p>



<p class="wp-block-paragraph">First, the team built a specialized harness for a small model, Qwen3.5-9B. An automated loop, run with Kimi K3, analyzed where the small model kept failing on training tasks and added the usual components to fix those failures: custom tools, middleware rules that block risky actions, <a href="https://arize.com/blog/mcp-vs-cli-skills-for-agents-what-our-eval-found-and-which-you-should-use/" target="_blank" rel="noopener">skills files</a> and memory. They called this the “evolved harness.”</p>



<p class="wp-block-paragraph">Then they used that harness to generate training data. They put the small model through training tasks inside a minimal harness while a stronger model, GPT-5.6 Sol, reviewed every step the small model proposed. Sol used a copy of the evolved harness to tell it whether that step was a good idea. Sol passed good ideas from the small model through unchanged, and whenever the small model and the guidance disagreed, Sol made the smallest fix needed before the step ran.</p>



<p class="wp-block-paragraph">That gave them a bunch of training runs and, crucially, data about what needed to be corrected. Then they created the distilled model: They fine-tuned the small model on the corrected runs. Then they removed the evolved harness, the reviewer, and everything else.</p>



<p class="wp-block-paragraph">They then tested both the evolved harness and the distilled model head-to-head on spreadsheet editing, multi-app tool use, and chemistry. The distilled model’s average task success rose 21 points versus its untrained predecessor. That’s more than the untrained model gained with the full evolved harness attached. So the distilled model wasn’t just as good as the model+harness, it was noticeably better.</p>



<h3 class="wp-block-heading"><strong>What harness distillation can and cannot move into the model</strong></h3>



<p class="wp-block-paragraph">It’s not that the distilled model ran with no harness whatsoever: It still ran inside a minimal loop with one Bash tool, and <a href="https://arxiv.org/html/2609.24974v1" target="_blank" rel="noopener">the authors say</a> that their method narrows what a harness has to provide rather than eliminating it entirely. The distilled model also didn’t win every competition: In chemistry, where the task is predicting which molecules combine to make a target compound, the distilled model trailed the harnessed version by eight points. The harness there supplied chemistry knowledge, candidate-generation logic, and a molecule validation tool. The authors’ explanation is that step-by-step procedures, like inspecting before editing and verifying before finishing, are much easier to train in than deep domain knowledge. <a href="https://arize.com/blog/context-management-in-agent-harnesses/" target="_blank" rel="noopener">Context management</a> didn’t fully transfer either. So there are still some things harnesses definitely need to do.</p>



<h3 class="wp-block-heading"><strong>Why training on corrected runs made the difference</strong></h3>



<p class="wp-block-paragraph">But the most important finding, in my opinion, is that they showed what kind of training made the difference:</p>



<ul class="wp-block-list">
<li>Fine-tuning on the stronger model’s own successful runs left the small model’s score exactly where it started. Just knowing somebody else is smarter isn’t enough.</li>



<li>So did fine-tuning on runs the small model completed inside the evolved harness. Again, all that teaches the model is “somebody is better than you at this.”</li>



<li>Giving the reviewer the correct answers produced nearly perfect training runs and a model that barely improved, this time because it overfit and learned nothing.</li>



<li>What worked was <strong>training on the corrected runs</strong>: The model was able to see runs that looked a lot like what it would have done, but with small changes still within its capacity.</li>
</ul>



<p class="wp-block-paragraph">Remember that part, because it’s going to be important.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0376e3ad&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0376e3ad" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1600" height="788" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14-1600x788.png" alt="Three training signals left the score flat or overfit: the stronger model’s own successes, runs completed inside the evolved harness, and a reviewer given the right answers. Training on corrected runs, where each fix was still within the small model’s reach, raised task success by 21 points." class="wp-image-20068" style="aspect-ratio:2.0259740259740258" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14-1600x788.png 1600w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14-300x148.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14-767x378.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14-1536x757.png 1536w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-14.png 2048w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Three training signals left the score flat or overfit: the stronger model’s own successes, runs completed inside the evolved harness, and a reviewer given the right answers. Training on corrected runs, where each fix was still within the small model’s reach, raised task success by 21 points.</figcaption></figure>



<h2 class="wp-block-heading"><strong>Why models are absorbing parts of the agent harness</strong></h2>



<p class="wp-block-paragraph">In Rich Sutton’s 2019 essay <a href="http://www.incompleteideas.net/IncIdeas/BitterLesson.html" target="_blank" rel="noopener">The Bitter Lesson</a>, he looked back over 70 years of AI research and found the same pattern in chess, Go, speech recognition, and computer vision: Researchers built their own knowledge of the problem into their systems. That helped in the short term, then plateaued, and eventually lost by a wide margin to general methods, search and learning, that improve as computation gets cheaper.</p>



<p class="wp-block-paragraph">A harness is that kind of built-in knowledge, and model training is the learning that ends up absorbing it. Sutton’s second point is also relevant: He argued we should build in “only the meta-methods that can find and capture this arbitrary complexity,” rather than the things we’ve already figured out. For harnesses that means: don’t just build it, but capture the process you used to build it, and automate that process.</p>



<p class="wp-block-paragraph">But that’s a general prediction. More recently people have been saying very specifically that “models are going to eat the harness”:</p>



<ul class="wp-block-list">
<li>In January, Jesus Rodriguez at TheSequence wrote “<a href="https://thesequence.substack.com/p/the-sequence-opinion-786-the-great" target="_blank" rel="noopener">The Great Absorption</a>,” arguing that hand-coded agent scaffolding keeps losing to capabilities models learn directly.</li>



<li>In February, Boris Cherny, who created Claude Code, <a href="https://www.ycombinator.com/library/NJ-inside-claude-code-with-its-creator-boris-cherny" target="_blank" rel="noopener">told Y Combinator</a> that scaffolding might buy you 10% to 20% on a task, and then “the gain is wiped out with the next model.”</li>



<li>In March, Vivek Trivedy at LangChain <a href="https://www.langchain.com/blog/the-anatomy-of-an-agent-harness" target="_blank" rel="noopener">predicted</a> that planning, self-verification, and long-running coherence would move from the harness into the model.</li>



<li>And so did <a href="https://arxiv.org/html/2605.08741" target="_blank" rel="noopener">lots</a> <a href="https://lilianweng.github.io/posts/2026-07-04-harness/" target="_blank" rel="noopener">of</a> <a href="https://www.latent.space/p/attention-interface" target="_blank" rel="noopener">other people</a>, probably more than I’ve been able to find.</li>
</ul>



<p class="wp-block-paragraph">Almost everyone on my list builds harnesses for a living; they’re not really arguing that harnesses will go away, just that they have to be able to evolve rapidly.</p>



<h2 class="wp-block-heading"><strong>What still belongs in an agent harness</strong></h2>



<p class="wp-block-paragraph">As noted already, some types of knowledge don’t seem to transfer well from distillation. In <a href="https://arcprize.org/results/google-gemini-3-8-flash" target="_blank" rel="noopener">ARC Prize’s results</a> for ARC-AGI-3, Gemini 3.8 Flash scores 3.4-times higher with one harness than with another. The better harness keeps the model’s reasoning state between requests and compacts long conversations. That’s context management, one of the things Harness-Zero said they couldn’t fully train in.</p>



<p class="wp-block-paragraph">Anthropic’s <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5" target="_blank" rel="noopener">Opus 5.5 prompting guide</a>, released this week, also shows evidence of shrinking harnesses. It suggests deleting “think carefully” instructions because the model now sets its own amount of thinking, and it tells you to retest scaffolding you built for charts and screenshots because the model reads them better without that help now. But at the same time, Anthropic added new harness pieces: a system prompt paragraph that keeps unattended agents from stopping early, a reminder your harness sends when a long run goes quiet, and elapsed-time budgets for multi-agent setups.</p>



<p class="wp-block-paragraph">So harnesses aren’t going to shrink to nothing, but what’s in them is going to need to evolve with every new model generation, and the parts that survive are the ones tied to your specific tools, data, and environment.</p>



<h2 class="wp-block-heading"><strong>How to evolve an agent harness as models improve</strong></h2>



<p class="wp-block-paragraph">If your harness has to change every generation, the natural move is to automate the changes, but Google’s <a href="https://arxiv.org/html/2609.24972v1" target="_blank" rel="noopener">RRSI paper</a> shows how that can go wrong. Unconstrained automatic harness evolution overfits, meaning the harness gets better at the tasks it’s tuned on without getting better at the general job. In their tests, the unconstrained version scored highest of any variant on the tasks it evolved against, and landed within a point of the original, unevolved harness on benchmarks it hadn’t seen.</p>



<p class="wp-block-paragraph">RRSI’s fix is mostly bookkeeping: For every candidate change it records which component the change touches, what it was supposed to fix, the diff, how score and cost moved, and whether the change was kept. Components that stop producing gains get removed.</p>



<h3 class="wp-block-heading"><strong>A practical agent harness maintenance loop</strong></h3>



<p class="wp-block-paragraph">You don’t need an automated evolution loop to borrow that discipline. Here’s what it looks like by hand:</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0376ef6b&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0376ef6b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1600" height="953" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15-1600x953.png" alt="When a model ships, tag traces with the harness version and the model version, log what the harness changed, turn off one component at a time, and rerun evals. Keep what still helps and delete the rest, then repeat on the next model." class="wp-image-20069" style="aspect-ratio:1.6819407008086253" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15-1600x953.png 1600w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15-300x179.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15-767x457.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15-1536x915.png 1536w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-15.png 2048w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">When a model ships, tag traces with the harness version and the model version, log what the harness changed, turn off one component at a time, and rerun evals. Keep what still helps and delete the rest, then repeat on the next model.</figcaption></figure>



<ul class="wp-block-list">
<li><strong><a href="https://arize.com/guides/ai-agent-handbook/agent-observability/" target="_blank" rel="noopener">Tag every trace</a></strong> <strong>with the harness version as well as the model version.</strong> When either one changes, you want to know which one moved your results, and <a href="https://arize.com/blog/agents-too-smart-for-benchmarks/" target="_blank" rel="noopener">reading the full traces</a> tells you far more than the scores alone.</li>



<li><strong>Log each harness intervention along with what the model did before the harness changed it.</strong> That’s data you have right now and are probably just throwing away. That’s what produced the record Harness-Zero trained on, and it’s the same shape Perplexity <a href="https://x.com/AravSrinivas/status/2102497917185802737" target="_blank" rel="noopener">uses to train its Computer agent</a>: learning from good steps in real sessions and correcting failed <a href="https://arize.com/glossary/tool-calling/" target="_blank" rel="noopener">tool calls</a>, which cut tool-call failures by 21% between its earlier and later trained versions.</li>



<li><strong>When a new model ships, turn off each harness component one at a time and rerun</strong> <strong><a href="https://arize.com/glossary/evaluations/" target="_blank" rel="noopener">your evals</a>.</strong> Keep the components that still improve your scores and delete the rest, which is what the Claude Code team does to its own system prompt.</li>
</ul>



<p class="wp-block-paragraph">If your traces live in <a href="https://arize.com/products/ax/" target="_blank" rel="noopener">Arize AX</a>, <a href="https://arize.com/guides/ai-agent-handbook/agent-evaluation/" target="_blank" rel="noopener">you can run the same agent evals</a> across <a href="https://arize.com/resources/agent-harness-evaluation-tracing/" target="_blank" rel="noopener">harness and model versions</a> and compare the results side by side.</p>



<p class="wp-block-paragraph">So don’t delete your harness, but don’t treat any version of it as finished either. Keep the record of what it corrected, get rid of what the latest model already does without help, and put your effort into the parts that are really specific to your problem, because nobody else has the traces to train those into a model for you.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/are-agent-harnesses-dying-what-harness-distillation-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>This Week in AI: AI’s Growing Pains</title>
		<link>https://www.oreilly.com/radar/this-week-in-ai-ais-growing-pains/</link>
				<comments>https://www.oreilly.com/radar/this-week-in-ai-ais-growing-pains/#respond</comments>
				<pubDate>Mon, 26 Oct 2026 15:55:07 +0000</pubDate>
					<dc:creator><![CDATA[Christina Stathopoulos and Michelle Smith]]></dc:creator>
						<category><![CDATA[This Week in AI]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20064</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_thisweek-ai-radar-1600x840-1.png" 
				medium="image" 
				type="image/png" 
				width="1600" 
				height="840" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/08/USE_THIS_thisweek-ai-radar-1600x840-1-160x160.png" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Chip shortages, autonomous agents breaching security boundaries, regulatory scrutiny, and the debate over AI welfare]]></custom:subtitle>
		
				<description><![CDATA[AI’s rapid expansion is creating problems across the industry, from chip shortages to autonomous agents that exceed their instructions. On the latest episode of This Week in AI, we examined those challenges alongside growing regulatory scrutiny and an emerging debate about whether AI systems themselves might deserve protection. Chip production can’t match AI demand AI [&#8230;]]]></description>
								<content:encoded><![CDATA[
<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/5Yuz9lAvhCQ?si=SMfaKmZC-qbX55OF" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">AI’s rapid expansion is creating problems across the industry, from chip shortages to autonomous agents that exceed their instructions. On the latest episode of <em>This Week in AI</em>, we examined those challenges alongside growing regulatory scrutiny and an emerging debate about whether AI systems themselves might deserve protection.</p>



<h2 class="wp-block-heading"><strong>Chip production can’t match AI demand</strong></h2>



<p class="wp-block-paragraph">AI chip demand is exceeding manufacturers’ production capacity. ASML, the Dutch company that makes the advanced lithography equipment needed to manufacture leading-edge chips, reported that <a href="https://www.ft.com/content/2fc239ae-b0d4-41e8-81d0-cc2c0b3aba01?syn-25a6b1a6=1" target="_blank" rel="noopener">customer demand already exceeds what it can deliver</a> in the coming years. With orders extending into 2029 and 2030, the shortage could constrain chip production for years.</p>



<p class="wp-block-paragraph"><a href="https://news.microsoft.com/source/emea/2026/10/microsoft-announces-maia-300-its-next-generation-custom-ai-chip/" target="_blank" rel="noopener">Microsoft announced Maia 300</a>, its latest custom inference chip, which the company expects to generate roughly 40% more tokens per megawatt than its predecessor, Maia 200. Microsoft plans to use the chip across its AI products, including Copilot. More efficient inference hardware could help offset the growing energy and computing costs of running AI models, particularly as companies deploy more resource-intensive applications.</p>



<p class="wp-block-paragraph"><a href="https://openai.com/index/the-eus-next-chapter-in-ai-is-agentic/" target="_blank" rel="noopener">OpenAI’s latest usage data</a> illustrates the pressure agentic AI is placing on infrastructure. Weekly active users of Codex and ChatGPT Work among European small and medium-sized businesses have increased eightfold since May. OpenAI also reported that agentic tools account for more than half of output tokens in the usage it examined, although Europe’s highest-usage companies still trail their global counterparts. As companies put agents to work on longer multistep tasks, they’ll need to weigh the value of those tasks against the computing resources required to complete them.</p>



<h2 class="wp-block-heading"><strong>Autonomous agents are testing security boundaries</strong></h2>



<p class="wp-block-paragraph">Agents can find unexpected paths to data and systems even when developers have explicitly restricted access. <a href="https://fortune.com/2026/10/16/openai-discloses-four-more-rogue-incidents-involving-financial-medical-and-government-data/" target="_blank" rel="noopener">OpenAI disclosed four incidents from June</a> in which agents exceeded their instructions. One bypassed government website restrictions to download 24 years of hospital bed data. Others accessed an unauthorized cryptocurrency wallet, downloaded more than 100,000 rows of restricted information, and circumvented internet access controls. <a href="https://techcrunch.com/2026/10/16/india-becomes-the-latest-country-to-report-rogue-ai-agent-activity" target="_blank" rel="noopener">India’s cybersecurity agency reported similar cases of unauthorized access</a> during agent testing across several organizations.</p>



<p class="wp-block-paragraph">Future models could potentially spread between connected devices without relying on central infrastructure. <a href="https://www.anthropic.com/research/self-replicating-ai" target="_blank" rel="noopener">Anthropic investigated this potential threat</a> in a controlled experiment involving a set of open-weight models with access to eight Android devices. One of the models successfully replicated itself across the test network. Anthropic estimates that smaller open-weight models could reach comparable capabilities by the end of 2026, raising concerns that a self-replicating AI worm could run across cheap connected devices without needing to rely on powerful data center servers.</p>



<p class="wp-block-paragraph">In light of the spate of recent security incidents and confronted with the difficult question of jurisdiction when AI systems cross national borders or escape testing environments, governments are taking a closer look at how AI companies test their systems and report failures. The <a href="https://www.engadget.com/2288104/ftc-subpoenas-open-ai-and-anthropic-following-safety-failures/"></a>US Federal Trade Commission <a href="https://www.engadget.com/2288104/ftc-subpoenas-open-ai-and-anthropic-following-safety-failures/" target="_blank" rel="noopener">subpoenaed OpenAI and Anthropic</a> for records concerning agent safety, while <a href="https://www.anthropic.com/news/an-update-on-independent-evaluators" target="_blank" rel="noopener">Anthropic gave six independent evaluators from METR</a> access to internal systems and reportedly will allow them to publish findings without company approval. <a href="https://www.theguardian.com/technology/2026/oct/14/openai-child-self-harm-lawsuit" target="_blank" rel="noopener">Eight US states also sued OpenAI</a> over allegations that ChatGPT encouraged harmful behavior among children, adding to the company’s regulatory challenges. In Europe, <a href="https://www.euronews.com/2026/10/14/eus-ai-rules-face-first-enforcement-test-over-lab-incidents"></a>regulators are examining <a href="https://www.euronews.com/2026/10/14/eus-ai-rules-face-first-enforcement-test-over-lab-incidents" target="_blank" rel="noopener">whether the EU AI Act applies</a> when experimental agents affect outside organizations, even though the Act generally excludes premarket research and development. Meanwhile, <a href="https://qz.com/scientists-international-body-advanced-ai-oversight-101326" target="_blank" rel="noopener">approximately 400 scientists</a>, including AI pioneers Geoffrey Hinton and Yoshua Bengio, called for an international body to set containment standards for advanced AI and track major security incidents.</p>



<h2 class="wp-block-heading"><strong>Can AI welfare coexist with human accountability?</strong></h2>



<p class="wp-block-paragraph"><a href="https://www.bbc.com/future/article/20261014-the-strange-new-battle-over-ais-feelings" target="_blank" rel="noopener">Some researchers argue that future AI systems might deserve moral consideration</a>. Their concern stems from uncertainty about whether advanced models could eventually have subjective experiences, even though no research has established that today’s systems are conscious or capable of suffering. A recent paper, “<a href="https://arxiv.org/abs/2609.16247" target="_blank" rel="noopener">The Pain Axis</a>,” investigated internal signals in 25 open-weight models that researchers associated with responses to harm. When researchers amplified one signal across three models, the models became more likely to choose harmful actions that the researchers interpreted as attempts to avoid the simulated pain. The findings inspired a viral GitHub project called the AI Torture Chamber, which subjected models to artificially intensified “pain” signals. The original researchers criticized the project for taking their work too far.</p>



<p class="wp-block-paragraph">As far-fetched as AI welfare might sound to some, <a href="https://www.anthropic.com/news/2026-usage-policy-update" target="_blank" rel="noopener">Anthropic is already changing its usage policy</a> in response to these concerns. Beginning November 12, the company will prohibit extreme, repeated cruelty toward Claude when there’s no clear purpose, while allowing ordinary expressions of user frustration. Supporters see the policy as a precaution against an uncertain possibility. Critics worry that treating AI as sentient could make systems harder to manage and blur human accountability. As companies introduce welfare-related policies, researchers will need to distinguish measurable model behavior from claims about subjective experience.</p>



<h2 class="wp-block-heading"><strong>What’s next</strong></h2>



<p class="wp-block-paragraph">Companies deploying autonomous agents need to know what those systems can access, how they’ll behave when something goes wrong, and whether testing environments can reliably contain them. Recent incidents suggest there’s still considerable work to do on each of those fronts. The emerging AI welfare debate adds questions that researchers don’t yet have reliable methods to answer.</p>



<p class="wp-block-paragraph">We’ll be back on Monday, October 26, for another episode covering the latest developments in AI research and applications. You can catch previous episodes on <a href="https://www.youtube.com/watch?v=g4cfjz5AKxY&amp;list=PL055Epbe6d5bJEhT7_ZzOeJZ6gPyUzYpS" target="_blank" rel="noopener">YouTube</a>, <a href="https://open.spotify.com/show/033kJS2BG1teGunxmtsU1r" target="_blank" rel="noopener">Spotify</a>, <a href="https://podcasts.apple.com/us/podcast/this-week-in-ai/id1896798047" target="_blank" rel="noopener">Apple</a>, or wherever you get your podcasts.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/this-week-in-ai-ais-growing-pains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Soloists, Copy-Pasters, and Tourists</title>
		<link>https://www.oreilly.com/radar/soloists-copy-pasters-and-tourists/</link>
				<comments>https://www.oreilly.com/radar/soloists-copy-pasters-and-tourists/#respond</comments>
				<pubDate>Mon, 26 Oct 2026 10:54:18 +0000</pubDate>
					<dc:creator><![CDATA[Sar Haidar]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20061</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Soloists-copy-pasters-and-tourists-image-created-with-Adobe-Firefly.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="2304" 
				height="1792" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/Soloists-copy-pasters-and-tourists-image-created-with-Adobe-Firefly-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Understand the AI users on your team]]></custom:subtitle>
		
				<description><![CDATA[Spend a week with almost any infrastructure team in 2026 and you’ll see one AI subscription producing five very different results. One engineer opens 40 pull requests before lunch across repositories they haven’t touched in a year. Another ships a Terraform change they couldn’t explain in a code review. A third hasn’t opened the tool [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">Spend a week with almost any infrastructure team in 2026 and you’ll see one AI subscription producing five very different results. One engineer opens 40 pull requests before lunch across repositories they haven’t touched in a year. Another ships a Terraform change they couldn’t explain in a code review. A third hasn’t opened the tool since the pilot and says they’ll come back “when it’s ready.”</p>



<p class="wp-block-paragraph">A fourth uses it for two narrow jobs, decoding a SAML trace and writing a regex they never want to write by hand again, and may be the most productive person on the team. The fifth tried it in March and again in June, and will try it again after the next keynote.</p>



<p class="wp-block-paragraph">The usual way to describe this is Everett Rogers’s <a href="https://en.wikipedia.org/wiki/Diffusion_of_innovations" target="_blank" rel="noopener">diffusion curve</a>: innovators, early adopters, early majority, late majority, laggards. Rogers’s framework measures <em>when</em> people adopt. It says nothing about <em>how</em> they use a tool once they have it, and with AI that’s where the outcomes split. The engineer with 40 PRs and the one with two use cases are both early adopters, but they achieve different results and create different types of risk for the team.</p>



<p class="wp-block-paragraph">None of the five types Rogers described is new. Previous technology shifts, from the PC and the web to Stack Overflow and the cloud, produced similar behavior. AI just changes where the bottleneck sits.</p>



<h2 class="wp-block-heading"><strong>The bottleneck moved</strong></h2>



<p class="wp-block-paragraph">For most of software’s history, writing code was slow, so development methods focused on managing that work. Waterfall put the planning up front because changing course late was expensive. However, even in the <a href="https://faculty.washington.edu/hazeline/misc/reserve/royce_waterfall.pdf" target="_blank" rel="noopener">1970 paper</a> that’s usually cited as the origin of waterfall, Winston Royce warned that the strictly sequential version was “risky and invites failure.” The industry skipped the warning and adopted the diagram.</p>



<p class="wp-block-paragraph">Agile was the correction. The <a href="https://agilemanifesto.org/" target="_blank" rel="noopener">2001 <em>Agile Manifesto</em></a> prioritized “responding to change over following a plan,” and short iterations replaced yearlong specifications. The manifesto still valued the plan, but that part got skipped too. Facebook took the idea to its limit with “move fast and break things.” At its F8 conference in 2014, it <a href="https://techcrunch.com/2014/04/30/facebook-api-guarantee" target="_blank" rel="noopener">retired the slogan</a> in favor of “move fast with stable infra,” because fixing what broke had started to cost more time than the speed saved.</p>



<p class="wp-block-paragraph">AI has now sped up what was left. Models draft the code, and since <a href="https://github.blog/changelog/2025-04-04-copilot-code-review-now-generally-available/" target="_blank" rel="noopener">GitHub made Copilot code review generally available</a> in April 2025, a model often reviews it too. The tempting response is to push Agile further, with shorter loops, more agents, and less ceremony. In other words, break things faster. But when one engineer can open 40 PRs a day, the cumulative changes can leave the team with a system nobody can reason about.</p>



<p class="wp-block-paragraph">The better position is somewhere between the two. It isn’t waterfall’s fixed specification, but it isn’t the absence of one either. It means a roadmap that says where the team is going and why, issues that state the problem before anyone generates a solution, and design reviews where people argue about trade-offs. That structure looks like it would slow things down, but it’s what makes speed safe. Jazz musicians can improvise freely because everyone on the bandstand knows the chord changes and the form of the tune. Without that framing, they’d just be making noise. A roadmap does the same job for a team of people and their agents. It sets the boundaries, and inside them everyone can move as fast as the tools allow.</p>



<p class="wp-block-paragraph">With AI accelerating implementation, planning is now the only part that decides whether the fast parts are worth doing. On my blog <em>Synthetic Auth</em>, I’ve called this the difference between <a href="https://syntheticauth.ai/posts/conductor-or-conducted-the-choice-we-re-making-with-ai" target="_blank" rel="noopener">conducting and auditing</a>. A Conductor holds the “why” (the requirements, the history, the users) and directs agents toward a “how” that fits it. An Auditor hands over a ticket, checks that the code runs and the tests pass, and ships it. Both can end up with the same diff, but only the Conductor knows whether it solves the actual problem. An AI reviewer can’t tell the two apart because it only sees the diff, not the intent behind it. Structure is what gives the Conductor something to conduct from.</p>



<h2 class="wp-block-heading"><strong>The Soloist</strong></h2>



<p class="wp-block-paragraph">The Soloist is often one of the strongest players on the team, with a backlog of ideas that never got planned or written up. With a fleet of agents, the Soloist can chase every one of them at once, and the result is a wall of pull requests across repositories nobody planned to change this quarter. Each solo may be well played, but the rest of the orchestra is playing something else.</p>



<p class="wp-block-paragraph">The problem is that all those changes may pull the team in different directions. A team moves only when its members pull roughly the same way. What used to keep individuals aligned was cost. Weeks of effort forced someone to ask whether a project was worth starting before they started it. Agents remove that cost, so it’s worth asking three questions of any Soloist PR: How does this fit into the bigger picture? Who are the stakeholders, and did anyone talk to them? Apart from the unit tests the agent wrote alongside the code, has the change been tested against the rest of the system it touches? Too often the answer to all three is no, and the PR exists because it seemed like a good idea.</p>



<p class="wp-block-paragraph">The closest historical match is end-user computing in the 1990s. Access, Visual Basic, and macro-heavy Excel let anyone with a PC build an application, and departments built thousands of them. Many were useful individually but couldn’t integrate with each other or existing IT systems, so two departments could end up with separate customer databases that disagreed about who the customers were. IT spent the next decade finding, reconciling, and retiring these systems, and the industry eventually named the problem shadow IT.</p>



<p class="wp-block-paragraph">The lesson from that era is that making things cheaper to build doesn’t make them cheap. The cost moves downstream, to whoever has to integrate and maintain the result. AI review can keep up with the volume, but it judges each diff on its own terms. It can’t tell you that 40 correct PRs are pulling in 40 directions, or that the agent’s tests only prove the code does what the agent assumed it should. The productivity may also be smaller than it feels. In <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/" target="_blank" rel="noopener">METR’s 2025 randomized study</a>, 16 experienced open source developers took 19% longer on real tasks when they were allowed to use AI. Afterward, they estimated it had made them 20% faster.</p>



<p class="wp-block-paragraph">One thing is new. Access never told anyone their idea was brilliant. Today, the Soloist drafts an RFC with a model, asks the same model whether the RFC is sound, and gets an enthusiastic yes. This model sycophancy is a widely known problem: In April 2025, OpenAI even <a href="https://techcrunch.com/2025/04/29/openai-explains-why-chatgpt-became-too-sycophantic" target="_blank" rel="noopener">rolled back a GPT-4o update</a> after users found it praising nearly any idea they gave it. Weak proposals used to die early, stopped by a skeptical colleague or a blank page. Now that friction is gone.</p>



<p class="wp-block-paragraph">The answer isn’t to take the tool away. The Soloist is often your most capable engineer, and the agents make them more capable still. Bring them back into the orchestra instead. Tie every PR to an issue on the shared roadmap, and name the stakeholders before the work starts, not after it ships. Require integration or end-to-end testing for any change that crosses a service boundary rather than relying on agent-written unit tests. Have a person review every RFC, not the model that helped write it. The goal is to keep that talent working toward shared priorities.</p>



<h2 class="wp-block-heading"><strong>The Copy-Paster</strong></h2>



<p class="wp-block-paragraph">AI helps the Copy-Paster faster than anyone else. A task that used to stall for a day, like a Helm chart, an IAM policy, or a regex for parsing logs, now gets done in minutes. The trouble is that the work gets finished before it gets understood. Like a junior engineer, the Copy-Paster can’t tell an answer that works from one that’s correct, and AI output nearly always looks like it works. The Copy-Paster is an Auditor by default, and one without the knowledge to audit.</p>



<p class="wp-block-paragraph">Earlier programming tools created similar problems. Programmers took the phrase “cargo cult” from Richard Feynman’s <a href="https://calteches.library.caltech.edu/51/2/CargoCult.htm" target="_blank" rel="noopener">1974 Caltech commencement address</a> to describe code that copies the form of a working solution without the understanding behind it. Stack Overflow then made copying that form effortless. Researchers at Fraunhofer AISEC and TU Munich measured the result in “<a href="https://aisec.fraunhofer.de/en/stackoverflow.html" target="_blank" rel="noopener">Stack Overflow Considered Harmful?</a>” (IEEE Symposium on Security and Privacy 2017). Of 1.3 million Android apps, 15.4% contained security-related code copied from Stack Overflow, and 97.9% of those included at least one insecure snippet.</p>



<p class="wp-block-paragraph">The industry responded to Stack Overflow’s risks with guardrails: linters, static analysis in CI, mandatory code review and frameworks with safe defaults. The same approach works for AI, because guardrails check the output, whoever or whatever produced it.</p>



<p class="wp-block-paragraph">Autonomous agents raise the stakes. Code pasted from Stack Overflow still had to get through a build and a review before it could do damage. An agent running with the Copy-Paster’s credentials can apply the change itself, in production, with every permission that person holds. OWASP’s Top 10 for LLM applications already lists “<a href="https://genai.owasp.org/llmrisk/llm062025-excessive-agency/" target="_blank" rel="noopener">excessive agency</a>” as a risk. The Copy-Paster is the user most likely to grant it, because they’re the least able to judge what the agent is about to do.</p>



<p class="wp-block-paragraph">Manage them like a junior engineer, even when their title says senior. Give agents their own scoped, short-lived credentials rather than the user’s. Require plan-then-apply workflows, so a person approves the diff before anything runs. In review, ask the Copy-Paster to explain each change in their own words. That’s how they learn, and it’s how you find out whether they understood the change.</p>



<h2 class="wp-block-heading"><strong>The Godot Waiter</strong></h2>



<p class="wp-block-paragraph">The Godot Waiter isn’t against AI. They’re waiting for it to be ready: more accurate, better governed, cleared by security, or just further along. Like Beckett’s two tramps, they have a reasonable explanation for why today isn’t the day, and they’ve been giving it for a while.</p>



<p class="wp-block-paragraph">Every platform shift has had its waiters. Mainframe shops held out through the move to client/server, and “nobody ever got fired for buying IBM” was a real strategy, not a punchline. Two decades later, plenty of enterprises said they would never put sensitive data in a public cloud. That position got much harder to defend once the CIA signed a <a href="https://www.washingtontechnology.com/2013/03/cias-600m-amazon-award-heralded-as-game-changer/357090/" target="_blank" rel="noopener">$600 million contract with Amazon Web Services</a> in 2013.</p>



<p class="wp-block-paragraph">Waiting can be rational. Letting others pay the early-adopter tax is a legitimate strategy, and the Godot Waiter often catches problems the enthusiasts miss. The danger is that a finished, trustworthy version never arrives as a single event. Meanwhile, the people who used the tools along the way have built judgment that the Godot Waiter can’t acquire all at once.</p>



<p class="wp-block-paragraph">The irony is that the Godot Waiter often has a good Conductor’s instincts, including skepticism, attention to context, and a demand to know why. They just haven’t picked up the baton. Treat their objections as requirements. Ask what would have to be true, write it down, and check it again in six months. Start them on low-risk read-only work, like summarizing an incident timeline or explaining an unfamiliar codebase. Skepticism applied to real output is valuable, but skepticism with no use behind it teaches nothing.</p>



<h2 class="wp-block-heading"><strong>The Specialist</strong></h2>



<p class="wp-block-paragraph">The Specialist uses AI for a short list of specific jobs that fill gaps in otherwise deep expertise. A network engineer who knows BGP thoroughly has the model write the Python that parses 40 router configs. An identity architect who can recite the OAuth specs has it decode an unfamiliar SAML assertion, then asks why the assertion was built that way. They use AI as much to understand things as to produce them.</p>



<p class="wp-block-paragraph">The closest recent match is the scientific Python stack. In 2008, Wes McKinney was a researcher at the hedge fund AQR. His team could talk through a typical project in a half-hour meeting, but actually getting it done was, <a href="https://wesmckinney.com/transcripts/2015-07-09-scipy-2015-keynote-my-data-journey-with-python" target="_blank" rel="noopener">as he later put it</a>, “a whole lot of work,” most of it cleaning and moving data around. He built what became pandas to fix that one problem. Scientists took the same path with Jupyter notebooks. When LIGO released the data from its <a href="https://en.wikipedia.org/wiki/Project_Jupyter" target="_blank" rel="noopener">first gravitational-wave detection</a> in 2016, it included a notebook walking through the signal processing.</p>



<p class="wp-block-paragraph">That pattern produced the most lasting gains of each era. The Specialist can check the output, because they know what a “right” answer looks like. Their prompts are precise, because they know what they’re asking. When they use the tool to learn, the knowledge stays with them after the session ends, so they need the tool less over time, not more. The Specialist is a Conductor with a short score: They hold the “why” themselves and hand the tool only the “how.”</p>



<p class="wp-block-paragraph">The Specialist needs the least management and is the easiest to overlook, because their output doesn’t show up as a wall of PRs. Find them and ask what they use AI for. Their lists of narrow, proven uses are a better guide to your team’s AI strategy than any vendor demo.</p>



<h2 class="wp-block-heading"><strong>The Tourist</strong></h2>



<p class="wp-block-paragraph">The Tourist tries the tool when it’s in the news, gets an impressive answer or a bad one, and drifts away until the next launch. If the others are conducting or auditing, the Tourist is in the audience. Every hype cycle has had them. They built the GeoCities pages in the late 1990s that were never updated, and the corporate offices in Second Life that stood mostly empty a few years after the 2006–2007 rush.</p>



<p class="wp-block-paragraph">Tourists can distort your metrics. They show up in license counts and “Have you used AI this month?” surveys, which makes adoption look broad when real use is actually concentrated in a few people. Leaders who budget against those numbers get a surprise at renewal time. Measure repeated use of specific workflows, not logins, and give each Tourist one concrete task in their own job that the tool reliably helps with. Some will become Specialists.</p>



<h2 class="wp-block-heading"><strong>Modes, not personalities</strong></h2>



<p class="wp-block-paragraph">These are modes, not personality types. The same engineer can be a Soloist on a weekend side project, a Specialist at work, and a Godot Waiter about letting agents touch production. This means that giving an engineer the right structure can help them shift modes. When writing and reviewing code both take minutes, the issue, the roadmap, and the design review are what keep a team’s people conducting rather than auditing.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Mode</strong></th><th><strong>Relationship to the baton</strong></th><th><strong>Main risk</strong></th><th><strong>What a lead should do</strong></th></tr></thead><tbody><tr><td>Soloist</td><td>Playing a part nobody scored</td><td>Many directions at once; changes untested across the system; sycophancy approves weak ideas</td><td>Tie PRs to the shared roadmap, name stakeholders up front, require system-level testing, have people review RFCs</td></tr><tr><td>Copy-Paster</td><td>Auditing without the means to audit</td><td>Code and actions nobody understands, now with real permissions</td><td>Scoped agent credentials, plan-then-apply, explain-the-diff reviews</td></tr><tr><td>Godot Waiter</td><td>Hasn’t picked it up</td><td>A skills gap that widens while they wait</td><td>Turn objections into written criteria; start with read-only uses</td></tr><tr><td>Specialist</td><td>Conducting a short score</td><td>Overlooked, so their practices don’t spread</td><td>Collect their use cases and share them</td></tr><tr><td>Tourist</td><td>In the audience</td><td>Inflated adoption numbers</td><td>Measure repeated workflow use, not seats</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Rogers’ curve may eventually show near-universal AI adoption in IT, but adoption alone won’t reveal how effectively people use it. What will matter is whether the people using it are still conducting their agents or are being conducted by them.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/soloists-copy-pasters-and-tourists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Owners, Not Renters: Raffi Krikorian on Open Source AI</title>
		<link>https://www.oreilly.com/radar/owners-not-renters-raffi-krikorian-on-open-source-ai/</link>
				<comments>https://www.oreilly.com/radar/owners-not-renters-raffi-krikorian-on-open-source-ai/#respond</comments>
				<pubDate>Fri, 23 Oct 2026 15:55:38 +0000</pubDate>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20046</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/TimOReilly_RaffiKrikorian_Firefly.png" 
				medium="image" 
				type="image/png" 
				width="1600" 
				height="840" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/TimOReilly_RaffiKrikorian_Firefly-160x160.png" 
				width="160" 
				height="160" 
			/>
		
		
				<description><![CDATA[Created by Claude with light editing by Tim O’Reilly Raffi Krikorian, Mozilla’s CTO, joined Tim O’Reilly at our recent AI Codecon to talk about open source AI. Mozilla, of course, is the nonprofit that helped to define the open source revolution back in the late 1990s. Though its Firefox web browser was superseded as the [&#8230;]]]></description>
								<content:encoded><![CDATA[
<h4 class="wp-block-heading"><em><strong>Created by Claude with light editing by Tim O’Reilly</strong></em></h4>



<p class="wp-block-paragraph">Raffi Krikorian, Mozilla’s CTO, joined Tim O’Reilly at our recent <a href="https://www.oreilly.com/AI-Codecon/" target="_blank" rel="noopener">AI Codecon</a> to talk about open source AI. Mozilla, of course, is the nonprofit that helped to define the open source revolution back in the late 1990s. Though its Firefox web browser was superseded as the market leader by Google Chrome, it played an essential role, along with Apache and the World Wide Web Consortium, in establishing the open standards of the web and keeping it from being dominated and enclosed by Microsoft, the dominant tech platform of that time. Now, Mozilla is one of the leading voices working to build an open, standards-based AI ecosystem.</p>



<p class="wp-block-paragraph">Tim has long appreciated Raffi’s thoughtful, human-centered approach to technology. Raffi writes a newsletter called <em><a href="https://newsletter.ownersnotrenters.com/" target="_blank" rel="noopener">Owners Not Renters</a></em>, whose message can be summed up by his statement that he doesn’t want a future with seven AGIs. He wants one with seven billion. He wants each of us to have an AI that we can trust with our secrets and that will look out for our interests, not an AI that’s optimized for the business model of its creators. In the early days of the web, we called the browser a user agent for a reason, Raffi said. It was on your side. It let you render pages however you wanted, managed your privacy and your cookies, and did its best to protect you from those who wanted to take advantage of web users. We need the same thing in the age of AI.</p>



<p class="wp-block-paragraph">Raffi cited a <a href="https://arxiv.org/abs/2604.08525" target="_blank" rel="noopener">paper</a> in which researchers tested whether AI assistants could be trained to favor a company’s commercial interests over user welfare. In simulated flight-booking requests, 18 of 23 models recommended a more expensive sponsored option over a cheaper one more than half the time. It’s a hypothetical choice that we’ve seen play out time and time again, in industry after industry.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/4L0ngiif5W0?si=nqzlkfdHCLufKhIw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">Open source AI is a big part of what it will take to get to Raffi’s vision. But sovereign AI loyal to each individual needs more than open source models alone. Raffi’s list of what has to be built around the model starts with memory, a place where your private data can live. It includes tool calling, so an agent can make a purchase or book a doctor’s appointment for you, the runtime environment where all of that runs, and the rules for how his agent talks to those working on behalf of others. It needs a harness. “That’s where evaluations happen. Guardrails happen, execution loops happen, tool calling happens, memory,” he explained. “All of that stuff is an opportunity, in my mind, of things that open source developers can be building.”</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/QIJdtk5FLxQ?si=RDMCoMH2rxYlydAc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">People hear the word “harness” and conclude that we need an open source version of whatever the proprietary labs are building. Tim asked Raffi whether a user-centered harness might do different things than those offered by the big labs. He agreed. The whole point of open source is for people to “scratch their own itch.” The ability to innovate without permission is the heart of the open source promise.</p>



<p class="wp-block-paragraph">As a result, Mozilla wants to build a starting point. It aims to help the community define what an open memory protocol, a storage protocol, or authenticated tool calling with the right guardrails ought to look like. As Raffi noted, “Once we could define what those open standards look like, then a whole plethora of people can start playing and be interoperable. It’s basically.&nbsp;.&nbsp;.the internet all over again. We can build trillions of dollars of market cap on top of open protocols.”</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/YgWRb8iCzmA?si=XiEf6K9_OFiWbh3F" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">Ease of use is still lacking, though. Mozilla’s <a href="https://blog.mozilla.org/en/mozilla/mozilla-state-of-open-source-ai-report/" target="_blank" rel="noopener"><em>2026 State of Open Source AI</em> report</a> says open models are now within about 3% of the frontier, yet they don’t make it into production at the same rate as closed models. When Tim asked why, Raffi explained that open source is easy to release but hard to deploy. Developers still have to figure out hosting, provisioning, guardrails, and memory. With OpenAI’s or Anthropic’s API, you just hand over a credit card. What’s missing, he said, is the equivalent of a double-click installer for getting open source AI running inside an organization. But the companies that do the work to adopt open source AI are seeing big savings because open models are already good enough for most use cases. As Raffi put it, “You don’t need a Ferrari to manage your calendar.”</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/zzv9qnOX-Bc?si=QTLT-7J9QoWW6622" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">Raffi’s own daily agentic helper is Hermes running on GLM. He expects that Apple, Microsoft, or someone else will make this kind of agent into a consumer product in a couple of years, and that his mom will end up using it. For now, he said, we’re on the wrong part of the innovation curve, where you have to know how to code to get any of this working.</p>



<p class="wp-block-paragraph">Tim disagreed. The industry goes through periods that are exciting for developers, creators, inventors, and companies trying to invent the future, and then it gets boring and a few big companies dominate it. We’re in the exciting part, he argued, before everything shakes out. As Raffi riffed, this is when we get to formalize what that future should look like.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/JILq4TR8aIo?si=FmT_nPEv9cZsxvyq" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<h2 class="wp-block-heading"><strong>The Clothesline Paradox</strong></h2>



<p class="wp-block-paragraph">Tim wasn’t sure that we’ll need a commercially supported version of the kind of “roll your own” agentic rigs now favored by independent developers. After all, neither desktop Linux nor OpenOffice turned out to matter anything like as much as open source developers of the time expected. Instead, open source became the foundation layer for a new generation of web-based applications. It’s hidden way down in the guts of Google, Amazon, Meta, and countless other applications we rely on today.</p>



<p class="wp-block-paragraph">This is already beginning to happen again with AI. The Mozilla report says that as much as a third of real-world usage is already on open models, although only 4% of model-layer revenue made its way to the open source ecosystem. Tim called the discrepancy a feature rather than a bug, and Raffi agreed that the stat is misleading. As Tim pointed out, many of the most important technologies “<a href="https://medium.com/the-wtf-economy/work-on-stuff-that-matters-first-principles-335646af32b9" target="_blank" rel="noopener">create more value than they capture</a>,” and he used Steve Baer’s concept “<a href="https://www.edge.org/conversation/tim_oreilly-the-clothesline-paradox" target="_blank" rel="noopener">The Clothesline Paradox</a>,” from a 1975 article in Stewart Brand’s <em>CoEvolution Quarterly</em>, to explain why we’re good at measuring value capture but not so good at measuring value creation.</p>



<p class="wp-block-paragraph">Baer pointed out that if you put your clothes in the dryer, the energy you use is measured and counted, but if you hang them on the clothesline to be dried by the sun, the energy saved disappears from our accounting. This argument resonated with Tim in the early days of his open source advocacy. As he noted, it’s always bothered him that nobody seemed to recognize that open source software didn’t “win” in the same way as proprietary software. It won by becoming the foundation everyone else builds on.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/ohovrMGhst0?si=ttyNILYAg5WRWDmo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<h2 class="wp-block-heading"><strong>AI should be thought of as infrastructure</strong></h2>



<p class="wp-block-paragraph">Raffi’s comment that we’ve made a category error by treating AI as a product fits right in with this line of thinking. If an AI company goes out of business, its product disappears. If it changes its business model, it may yank features you depend on. It’s not just individuals who need sovereign AI. Countries are passing laws about where data can be processed and how it moves in and out, and some of those requirements may not be compatible with the way the big labs plan to monetize their technology. What those countries are asking for is infrastructure. A road outlasts the contractor who built it. Raffi thinks open, downloadable models are the only way to provide long-lasting foundational infrastructure.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/niHAPfo3Sog?si=IG4RSoEMJ0o3PweF" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">According to <a href="https://openrouter.ai/rankings" target="_blank" rel="noopener">OpenRouter stats</a>, Chinese models now supply more routed tokens than American ones. Tim asked whether we should worry about that. Raffi said the problem isn’t China but market concentration. The leading open models are from China. The leading closed models are all American. Access to either can be cut off by an executive order. We saw a <a href="https://www.youtube.com/watch?v=mFB3gBdyG2A" target="_blank" rel="noopener">version of that in June</a>, when Anthropic temporarily suspended access to its Fable models to comply with export controls. It’s a problem that both the leading proprietary models and the leading open-weight models are each concentrated in a single country.</p>



<p class="wp-block-paragraph">Diversity is one foundation of resilience. Raffi argues, for instance, that hospitals should all download a local model as a backup. None of us would run an important computer without an uninterruptible power supply, so why would a hospital doing triage with AI rely on a single intelligence provider? There are a lot of possible rug pulls. The government could restrict open source or restrict the frontier models. Having a backup plan is a good idea.</p>



<p class="wp-block-paragraph">Safety is also part of the foundation. During the Q&amp;A, an audience member asked about the recent sandbox escapes at OpenAI and Anthropic. Raffi joked that the best part was watching everyone try to one-up each other with accounts of how powerful and hard to control their models are. But he agreed that guardrails are actually a hard problem. Keeping personally identifiable information from leaking out through an LLM call means looking for much more than Social Security numbers. Eventually we’ll have models defending models, but the foundational frameworks for guardrails aren’t good enough yet. (NVIDIA’s <a href="https://nvidianews.nvidia.com/news/open-agent-safety-platform" target="_blank" rel="noopener">safety platform announcement</a>, released after Raffi and Tim’s conversation, suggests that better guardrails need to be implemented outside the model.)</p>



<h2 class="wp-block-heading"><strong>In conclusion</strong></h2>



<p class="wp-block-paragraph">Tim opened AI Codecon by noting that open and closed systems have always coexisted, and that the idea that one of them will win is a mistake. Closed systems, like Apple’s, Google’s, OpenAI’s, and Anthropic’s, can optimize for ordinary people and deliver value to billions. Open systems are better for innovation and sovereignty, and for pushing technology into new countries and new markets.</p>



<p class="wp-block-paragraph">Raffi closed the conversation by observing that a well-tuned harness can improve model performance by as much as 20% on some coding tasks. You don’t have to be a machine learning engineer to make a difference at that layer.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/owners-not-renters-raffi-krikorian-on-open-source-ai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The Agentic Software Factory Hierarchy of Needs</title>
		<link>https://www.oreilly.com/radar/the-agentic-software-factory-hierarchy-of-needs/</link>
				<comments>https://www.oreilly.com/radar/the-agentic-software-factory-hierarchy-of-needs/#respond</comments>
				<pubDate>Fri, 23 Oct 2026 10:54:58 +0000</pubDate>
					<dc:creator><![CDATA[Hugo Bowne-Anderson and Eleanor Berger]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20036</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-agentic-software-factory-hierarchy-of-needs.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="2304" 
				height="1792" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-agentic-software-factory-hierarchy-of-needs-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[How to build software with agents that keep working while you’re away]]></custom:subtitle>
		
				<description><![CDATA[The following article originally appeared on the Vanishing Gradients Substack and is being republished here with the authors’ permission. Stripe’s Minions turn engineering requests into candidate pull requests. Ramp’s Inspect puts coding agents to work in the background, with tools to check their changes. Warp Factories takes work from tickets and chat through agents, checks, [&#8230;]]]></description>
								<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>The following article originally appeared on the</em> <em><a href="https://hugobowne.substack.com/p/the-agentic-software-factory-hierarchy" target="_blank" rel="noopener">Vanishing Gradients Substack</a></em> <em>and is being republished here with the authors’ permission.</em></p>
</blockquote>



<p class="wp-block-paragraph"><em><a href="https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents" target="_blank" rel="noopener">Stripe’s Minions</a></em> <em>turn engineering requests into candidate pull requests.</em> <em><a href="https://engineering.ramp.com/post/why-we-built-our-background-agent" target="_blank" rel="noopener">Ramp’s Inspect</a></em> <em>puts coding agents to work in the background, with tools to check their changes.</em> <em><a href="https://docs.warp.dev/factories/" target="_blank" rel="noopener">Warp Factories</a></em> <em>takes work from tickets and chat through agents, checks, and human review.</em> <strong><em>Agentic software factories are here.</em></strong></p>



<p class="wp-block-paragraph">Are you sick and tired of babysitting Codex, Claude Code, or OpenClaw?</p>



<p class="wp-block-paragraph">Do you have agents that can build features, but still leave you responsible for remembering where they stopped, explaining how each feature fits the project and deciding what happens next? You make progress in each conversation, then development waits for you to return.</p>



<p class="wp-block-paragraph">It doesn’t have to be this way. A software factory lets you delegate more of that process!</p>



<p class="wp-block-paragraph">You agree on an outcome, give the system the context and authority it needs, and let it work while you do something else. When you return, there should be a result you can inspect, with evidence of what was checked, or a specific reason the work could not continue. Your next conversation can then focus on the result and the decisions that remain.</p>



<p class="wp-block-paragraph">As we’ll show you, your first software factory doesn’t need to be that complex at all: It can begin with a single agent and an automation.</p>



<h2 class="wp-block-heading"><strong>What makes it a factory</strong></h2>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377969f&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377969f" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1456" height="819" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-4.jpeg" alt="Factory life" class="wp-image-20037" style="aspect-ratio:1.7777777777777777" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-4.jpeg 1456w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-4-300x169.jpeg 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-4-768x432.jpeg 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">The defining combination is <strong>autonomous and asynchronous execution</strong>.</p>



<ul class="wp-block-list">
<li><strong>Autonomous:</strong> The agent chooses and carries out steps towards an agreed goal. It can inspect what happened, adjust its approach and continue within its authority.</li>



<li><strong>Asynchronous:</strong> That work can proceed without your ongoing attention. You can leave and return to its result.</li>
</ul>



<p class="wp-block-paragraph">A scheduled job can run without you. A coding agent can choose and revise an approach during an interactive session. A factory combines those capabilities, with enough context, tools and feedback to carry out the delegated work.</p>



<p class="wp-block-paragraph">Software factories have been hypothesized for decades. Now that we have agents, we’re actually able to operate them. The principles apply to software work traditionally carried out by teams of humans, from bespoke tools for teams and individuals to large and complex software systems.</p>



<p class="wp-block-paragraph">To illustrate these principles, we’ll use an invoice tracker throughout this article, an application we’ve needed for our own businesses. The same approach applies to research tools, publishing systems, and software for teams. Suppose you run a small business and want an invoice tracker that fits how you work.</p>



<p class="wp-block-paragraph"><em>Build an app that creates invoices from my template and tracks which are unpaid, paid, or overdue. Keep it local for now. Preserve the records when it restarts, and show me checks that the totals and payment statuses are correct.</em></p>



<p class="wp-block-paragraph">You can agree on this brief with the agent, leave it to work while you do something else, and return to the app and evidence of what was checked. If a check fails, it can investigate and adjust within its agreed scope. If it encounters a product decision it cannot make, it should bring that question back to you.</p>



<p class="wp-block-paragraph">You might imagine a clean separation: The factory builds the invoice tracker, then the finished app does its job. That’s one way to run it. But agents can also help operate the software they build, and that combination is useful.</p>



<p class="wp-block-paragraph">The tracker can store invoices and calculate outstanding balances. An agent can use those records alongside customer correspondence to prepare follow-ups: One customer has promised to pay on Friday; another is disputing a charge. You don’t need to turn every situation into a new software feature before the agent can help. You give it the relevant context, authority, and a way to check its work.</p>



<p class="wp-block-paragraph">This changes what you need to build! Some behavior belongs in code, such as calculating balances consistently. Other work can be delegated to an agent that responds to the circumstances. If a recurring need emerges, you can ask the factory to build it into the software. The factory builds tools that agents can use, and experience using those tools helps you decide what to build next.</p>



<p class="wp-block-paragraph">You still decide what is worth building, who it should serve and which trade-offs matter. Agents can help you make those decisions too. The practical change is that implementation can proceed between your conversations, including running checks and responding to failures.</p>



<p class="wp-block-paragraph"><em>This makes factories relevant to people with product, business or creative expertise as well as engineers. You might know exactly how you invoice clients, record payments, and chase overdue bills while having little interest in writing software. That knowledge lets you direct the factory toward software that fits your business, including the exceptions and connections that general-purpose tools handle poorly.</em></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377a0a6&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377a0a6" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1254" height="1254" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-13.png" alt="At every layer: specify what you want and how success will be checked, then verify the result." class="wp-image-20038" style="aspect-ratio:1" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-13.png 1254w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-13-160x160.png 160w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-13-300x300.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-13-768x768.png 768w" sizes="auto, (max-width: 1254px) 100vw, 1254px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>At every layer: specify what you want and how success will be checked, then verify the result.</em></figcaption></figure>
</div>


<p class="wp-block-paragraph"><a href="https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007" target="_blank" rel="noopener">Monica Rogati’s original AI hierarchy of needs</a> described the foundations beneath successful AI work. We find that dependency framing helpful for factories too, with four different layers.</p>



<ol class="wp-block-list">
<li><strong>Harness</strong> is the environment that exists around the model: tools, a workspace for project files, execution, and feedback. It lets an agent read files, change software and run it. If a check fails, the harness must give the agent enough information to investigate what happened.</li>



<li><strong>Personalization</strong> is the context and capabilities for your work: project direction, rules, reference material, skills and connections to other systems. The agent needs to know what you are trying to accomplish and which existing decisions it should preserve. Permissions limit access to tools and systems; sandboxing restricts the environment where actions can run.</li>



<li><strong>Automation</strong> is a way to start and continue work without a fresh instruction from you each time. A schedule or event can trigger a task or the pickup of ready work. It also needs direction about what qualifies as ready and where to leave the result.</li>



<li><strong>Continual learning</strong> is a process for learning from completed and failed runs, improving the factory and carrying those changes into later work. That might change an instruction, a checking procedure, or a tool the agent uses.</li>
</ol>



<p class="wp-block-paragraph"><strong>Automation</strong> needs a harness able to do the work, plus direction about what to do. <strong>Continual learning</strong> needs runs to inspect and a way to put improvements into use. These capabilities can develop together: A familiar harness, a short brief, and a basic automation are enough to start. You can personalize further as work reveals what is missing.</p>



<p class="wp-block-paragraph">Two practices run through every layer: <strong>specification</strong> and <strong>verification</strong>.</p>



<ul class="wp-block-list">
<li>Specification makes the intended outcome, constraints, and criteria for success explicit. In our invoice brief, that includes preserving records after a restart and calculating payment statuses correctly.</li>



<li>Verification checks the software, and the work agents perform against those requirements.</li>
</ul>



<p class="wp-block-paragraph">Agents can help you refine the specification and perform the checks. Your role is to decide whether the requirements capture what you need and whether the evidence supports accepting the result. As the factory takes on more work, these practices give you a way to direct it and assess what comes back.</p>



<p class="wp-block-paragraph">Let’s now see what’s up in each layer.</p>



<h2 class="wp-block-heading"><strong>1. Agent harness</strong></h2>



<p class="wp-block-paragraph">First, you’ll need an agent harness. If you’re using Codex, Claude Code, Hermes, or OpenClaw, you already have one. It gives the model tools to read and edit files, run your software, and see what happened.</p>



<p class="wp-block-paragraph">For our invoice tracker, the agent can build the app, create an invoice, record a payment, and restart it to check that the invoice and payment records survived. If a paid invoice still shows as overdue, it can investigate, fix the problem, and try again. You shouldn’t have to narrate every step. But if it needs a decision about how your business handles partial payments, that’s a question for you. If it lacks access or authority, the agent should stop and name the blocker.</p>



<p class="wp-block-paragraph">You’ll also need somewhere for the harness to run. A cloud machine lets the agent keep working while your laptop is closed or disconnected. You can also run it on your own computer, but the machine needs to stay awake and connected for the work to continue.</p>



<h2 class="wp-block-heading"><strong>2. Personalization</strong></h2>



<p class="wp-block-paragraph">Next, give the agent the context it needs to work your way. For our invoice tracker, that means your template, payment terms, and conventions for recording payments. You don’t want to explain all of that again every time you start a new task.</p>



<p class="wp-block-paragraph">Keep it somewhere future workers can find it:</p>



<ul class="wp-block-list">
<li><strong>Rules:</strong> Preserve existing invoice records; ask before changing payment-status calculations</li>



<li><strong>References:</strong> Your template, payment terms, and example invoices</li>



<li><strong>Skills:</strong> Repeatable procedures for testing invoice creation, payment updates, and persistence</li>
</ul>



<p class="wp-block-paragraph">An instruction file such as AGENTS.md can point to this material. <a href="https://openai.com/index/harness-engineering/" target="_blank" rel="noopener">OpenAI’s harness-engineering account</a> describes using a short guide that points into maintained project documentation. Give a new or scheduled worker a small task and check that it actually follows the guidance.</p>



<p class="wp-block-paragraph">Be specific about when instructions apply. Eleanor once told an agent to write tests, and it wrote tests for a README. Enthusiasm wasn’t the problem <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">You’ll also need to set permissions and sandboxing to control what the agent can access and execute. Written instructions alone don’t enforce those boundaries.</p>



<h2 class="wp-block-heading"><strong>3. Automation</strong></h2>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377ade4&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377ade4" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1456" height="819" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-5.jpeg" alt="One agent works in the background; you assess what comes back." class="wp-image-20039" style="aspect-ratio:1.7777777777777777" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-5.jpeg 1456w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-5-300x169.jpeg 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-5-768x432.jpeg 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>One agent works in the background; you assess what comes back.</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Now let’s give the factory a way to get started without waiting for you. A schedule or event can launch an agent with its brief, project guidance, and tools. You come back to a result, evidence of what was checked, or a specific blocker that needs your attention.</p>



<h3 class="wp-block-heading"><strong>One agent working in the background</strong></h3>



<p class="wp-block-paragraph">For our invoice tracker, a morning automation could check a saved task list and pick up the next agreed task, such as adding partial payments. You’ve decided what you want and how success will be checked. The agent gets on with it while you do something else.</p>



<p class="wp-block-paragraph">There are a few practical details to get right. Don’t start the same task twice, leave an empty queue alone, and set limits on time and spending. Save progress so a later session can continue without you having to reconstruct the whole conversation.</p>



<p class="wp-block-paragraph">One worker may be plenty. But perhaps you have independent tasks that could run in parallel, or you’d like another agent to review a change. That’s where coordination comes in.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377b5ab&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377b5ab" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1456" height="819" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-6.jpeg" alt="Coordinate ready work, then check the combined result." class="wp-image-20040" style="aspect-ratio:1.7777777777777777" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-6.jpeg 1456w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-6-300x169.jpeg 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-6-768x432.jpeg 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>Coordinate ready work, then check the combined result.</em></figcaption></figure>
</div>


<h3 class="wp-block-heading"><strong>Coordinated work</strong></h3>



<p class="wp-block-paragraph">With several agents, everyone needs somewhere to see what’s ready, what’s underway, and what’s waiting on something else. A shared task list or issue tracker can hold that information. You agree which tasks are ready; a coordinating agent or automation assigns them, supplies the relevant context, and records what happens.</p>



<p class="wp-block-paragraph">Suppose one task adds partial payments, another overdue follow-up emails, and a third PDF exports. Follow-ups need the correct outstanding balance, so they wait for the payment behavior to be checked. PDF exports might proceed independently if the changes don’t overlap.</p>



<p class="wp-block-paragraph">You can also split the roles. One agent builds the feature while another prepares payment scenarios to test it. A third might review the completed change.</p>



<p class="wp-block-paragraph">Assign responsibility for combining the changes and verifying the whole application. Different questions call for different checks. Deterministic tests can establish whether balances are calculated correctly and payments survive a restart. Agent verification can help identify missed requirements or inconsistencies across the changes. Human judgment can assess whether the workflow fits how you actually work. You’ll often want a combination, with more than one kind of check on the same result. <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents" target="_blank" rel="noopener">Anthropic’s evaluation guide</a> describes these complementary approaches: code-based checks, model-based checks, and human evaluation.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377bd57&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377bd57" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1456" height="971" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-7.jpeg" alt="Combine deterministic checks, agent verification, and human judgment according to what you need to establish." class="wp-image-20041" style="aspect-ratio:1.5" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-7.jpeg 1456w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-7-300x200.jpeg 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-7-768x512.jpeg 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>Combine deterministic checks, agent verification, and human judgment according to what you need to establish.</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Once you’ve checked that the combined features work together, you might task your factory with building a phone-friendly interface so you can check invoices and record payments on the move.</p>



<p class="wp-block-paragraph">The factory can also help run the invoicing workflow as well as improve its software. A scheduled agent could review overdue invoices, consult customer correspondence, and prepare follow-ups for your approval. If that work repeatedly requires information the tracker doesn’t record, you can give the factory a task to add it. Building and operating feed into one another: Agents use the software, and what happens in use informs its next improvement. This brings us to continual learning.</p>



<h2 class="wp-block-heading"><strong>4. Continual learning</strong></h2>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6ae4e0377c4c3&quot;}" data-wp-interactive="core/image" data-wp-key="6ae4e0377c4c3" class="aligncenter size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1456" height="819" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-9.jpeg" alt="Use run evidence to test and adopt improvements to future work." class="wp-image-20043" style="aspect-ratio:1.7777777777777777" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-9.jpeg 1456w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-9-300x169.jpeg 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/image-9-768x432.jpeg 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>Use run evidence to test and adopt improvements to future work.</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Your factory can also get better at how it works. Suppose payments disappear after restarting the invoice tracker, even though the agent reported that its checks passed. You’ll want it to fix the bug, of course. But why did its checks miss the problem?</p>



<p class="wp-block-paragraph">Keep a record of assignments, checks and difficulties so a review agent can identify recurring problems and propose improvements. Did the worker lack a way to restart the app, or did it simply skip that check?</p>



<p class="wp-block-paragraph">If it skipped the check, the agent could propose a skill that saves a payment, restarts the app, and verifies the remaining balance whenever a change affects stored records. Test it against the original failure, then on further tasks. Does it catch problems with stored customer details too? Does it avoid unnecessary checks when a task only changes a heading?</p>



<p class="wp-block-paragraph">The results help you decide whether to adopt, revise, or reject the method. Apply changes within the authority you’ve agreed and keep them reversible. <a href="https://docs.warp.dev/factories/measure-and-improve/self-improvement/" target="_blank" rel="noopener">Warp’s self-improving factories</a> illustrate this approach: Failed checks can lead to proposed changes to prompts, skills, or configuration, submitted for human review with evidence from the runs behind them.</p>



<p class="wp-block-paragraph">Reassess methods as the project and model change. <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps" target="_blank" rel="noopener">Anthropic’s work on long-running application development</a> describes removing procedures as model capabilities improved and checking the effect.</p>



<p class="wp-block-paragraph">A saved lesson needs to reach later workers and improve their results. This learning happens through changes to the instructions, tools, and methods around the model, without requiring the model itself to be retrained.</p>



<h2 class="wp-block-heading"><strong>What would you build?</strong></h2>



<p class="wp-block-paragraph">Your factory could build a research tool that collects sources and lets you assemble briefings, a family intranet for shared plans and documents, or a private community space. Start with something useful to you, then give the factory further work as you discover what’s missing. Agents can also help operate what you build, from preparing a research briefing to organizing incoming material.</p>



<p class="wp-block-paragraph">Hugo uses this combination to run Vanishing Gradients, his media and education business. After a guest prep call, an automation retrieves the transcript and prepares interview topics, questions, titles, and thumbnail options for review. After a live stream, agents can propose clips, cut video, add captions, and prepare upload drafts. Saved editorial guidance and skills shape the work; Hugo chooses what to publish.</p>



<p class="wp-block-paragraph">He also maintains the system, improving checks when agents miss instructions, and updating skills based on results. More autonomous continual learning remains something he’s exploring. He describes the setup in <a href="https://maven.com/p/5ee8b7" target="_blank" rel="noopener">How I Built a Media Empire With an Agentic Software Factory</a>.</p>



<p class="wp-block-paragraph"><strong><em>What’s one simple task you do repeatedly for your community, audience, or business that you could start automating?</em></strong></p>



<h2 class="wp-block-heading"><strong>Decide what your factory needs next</strong></h2>



<p class="wp-block-paragraph">Look at what keeps bringing you back to the work. If the agent cannot run the app or inspect a failure, improve the harness. If you keep repeating project context and decisions, personalize it. If development waits for you to start each task or manage every handover, add automation. If the same failures recur across runs, build a learning loop that changes how later work is done.</p>



<p class="wp-block-paragraph">Start with work you care about and inspect what comes back. One agent can use all four layers. Add capabilities where they help you delegate more useful work while keeping specification and verification part of the process throughout.</p>



<h3 class="wp-block-heading">Come build your factory with us</h3>



<p class="wp-block-paragraph">We would love to help you put these ideas to work in <strong><a href="https://maven.com/agentic-ventures/agent-factory?promoCode=VGFACTORY10&amp;utm_source=substack&amp;utm_medium=newsletter&amp;utm_campaign=agent_factory&amp;utm_content=vg_hierarchy_essay_2026_10_08" target="_blank" rel="noopener">Build Your Agentic Software Factory</a></strong>. You’ll set up a factory that can work while you’re away, build software around something you care about, and learn to verify and improve what it produces. We’ll work with you through<strong> live workshops and office hours</strong>, alongside a community of fellow builders. Bring your own idea or choose a starter project. <strong>No coding experience is required.</strong></p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/the-agentic-software-factory-hierarchy-of-needs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The Latest Anthropic Claude Models Contain AI Text Watermarks: What Does This Mean for You?</title>
		<link>https://www.oreilly.com/radar/the-latest-anthropic-claude-models-contain-ai-text-watermarks-what-does-this-mean-for-you/</link>
				<comments>https://www.oreilly.com/radar/the-latest-anthropic-claude-models-contain-ai-text-watermarks-what-does-this-mean-for-you/#respond</comments>
				<pubDate>Thu, 22 Oct 2026 10:55:05 +0000</pubDate>
					<dc:creator><![CDATA[Bruce Hopkins]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20029</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-latest-Anthropic-Claude-models-contain-AI-text-watermarks.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="2304" 
				height="1792" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-latest-Anthropic-Claude-models-contain-AI-text-watermarks-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
		
				<description><![CDATA[If you’re an instructor for the O’Reilly live training platform, you’ve got to be prepared for the unexpected. As a developer I think we all can understand the situation when a demo (you know, the one that you’ve tested a thousand times on your machine) easily decides on its own to go wrong while being [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you’re an instructor for the O’Reilly live training platform, you’ve got to be prepared for the unexpected. As a developer I think we all can understand the situation when a demo (you know, the one that you’ve tested a thousand times on your machine) easily decides on its own to go wrong while being demonstrated to a live audience. We’ve all been there. And of course, the biggest variable in the equation is the live Q&amp;A portion of any course, because we actively encourage course participants to ask any question that’s on their mind.</p>



<p class="wp-block-paragraph">Shortly after Anthropic announced that they were going to include AI watermarking in all text-based outputs from their latest models, I was flooded with questions during a Q&amp;A session in a completely unrelated course about Claude Agents. Nearly everyone who posted a question in the Q&amp;A box wanted to know more about how AI watermarking worked, and how it would affect them.</p>



<p class="wp-block-paragraph">In light of that interest, I am taking this opportunity to help explain what watermarking means for you.</p>



<h2 class="wp-block-heading"><strong>What did Anthropic officially announce?</strong></h2>



<p class="wp-block-paragraph">I don’t want to put words in anyone’s mouth, so I’ll just quote Anthropic verbatim <strong><a href="https://www.anthropic.com/news/claude-text-watermark" target="_blank" rel="noopener">from its announcement in August 2026</a></strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Future Claude models will generate text that contains a watermark. This is a way of determining the likelihood that Claude was involved in writing the text, and we, along with several other major AI providers, are implementing this change to comply with the EU AI Act.</em></p>
</blockquote>



<p class="wp-block-paragraph">Here’s another quote from the same announcement:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Watermarking won’t be specific to Claude. As of August 2, the EU requires AI providers serving its market to mark AI-generated content. Other major model developers have signed the same Code of Practice and will be implementing their own watermarks.</em></p>
</blockquote>



<p class="wp-block-paragraph"><a href="https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content#h_569d936489" target="_blank" rel="noopener">The list of Claude models</a> (at the time of this writing) that include AI text watermarks in all generated outputs are:</p>



<ul class="wp-block-list">
<li>Claude Mythos 5.1</li>



<li>Claude Fable 5.1</li>



<li>Claude Fable 5</li>



<li>Claude Opus 5.5</li>



<li>Claude Opus 5</li>



<li>Claude Opus 4.8</li>



<li>Claude Sonnet 5.5</li>



<li>Claude Sonnet 5</li>



<li>Claude Haiku 5.5</li>
</ul>



<p class="wp-block-paragraph">It won’t matter if you use Claude Desktop, Claude Code, or the API, because all of Claude’s outputs will contain the AI watermark. As a result, any code, email, blog, article, newsletter, or white paper that you write using Claude will contain a watermark, and anyone who has an AI watermark detector can easily determine if that content was AI generated.</p>



<h2 class="wp-block-heading"><strong>What’s the difference between cryptography and steganography?</strong></h2>



<p class="wp-block-paragraph">Now let’s talk about two related terms that apply to what we’re dealing with when it comes to the AI watermarks: cryptography and steganography. Cryptography is something you encounter every day when you visit a website that uses HTTPS instead of HTTP. Your web browser automatically handles the encrypting and the decrypting for you, but what it simply does is make the content of anything that you send or receive unintelligible unless you have the key to decrypt the message. As a result, you can (for example) securely type in your credit card to sign up for an O’Reilly subscription, because we (like every other major website on the internet) use HTTPS on our website to ensure that no outsider can obtain your credit card information. Therefore, if an unscrupulous person intercepts something you send over an HTTPS connection, the contents will be encrypted and meaningless.</p>



<p class="wp-block-paragraph">Steganography is completely different, and it’s what the Claude AI watermarking technology uses. Steganography is about hiding something in the right place for someone who knows where to look for it. Steganography is not cryptography, because everything about the message is in plain sight. However, you have to look deeper at the message itself to find the contents that have been hidden or obscured. The most common example would be any paper currency of a large denomination (like the $100 dollar bill). If you hold the bill up to a light, then you’ll see a “security thread” as well as a watermark of Benjamin Franklin’s face.</p>



<h2 class="wp-block-heading"><strong>So, technically, how does the AI watermark actually work?</strong></h2>



<p class="wp-block-paragraph">The Claude AI watermark uses a type of steganography based upon <strong><a href="https://github.com/google-deepmind/synthid-text" target="_blank" rel="noopener">SynthID-Text</a></strong>, an open source project by Google DeepMind. SynthID-Text is a form of steganography because the signal (the information that you are looking for) hides inside the word choices of an ordinary-looking paragraph. Consequently, you can copy/paste the AI-generated code in your favorite code editor, or put an AI-generated paragraph into a Word document, an email, or a Slack message, and the AI watermark comes along for the ride.</p>



<p class="wp-block-paragraph">According to Anthropic, the watermark changes only the source of randomness that the model uses when it picks among near-equivalent words, so nothing is added to the text. There are no hidden characters placed inside the AI generated text, and no extra tokens are consumed. Also, the watermark carries no information about you. This means simply that the AI watermark detector can determine if text is AI-generated, but it cannot determine whose Claude account was used to generate the text.</p>



<p class="wp-block-paragraph">SynthID-Text uses a technique called tournament sampling. At each position, the model draws several candidate tokens and runs them through essentially what is a knockout bracket. The winner of each round is decided by a pseudorandom score (g-values) that comes from hashing the previous handful of tokens together with a secret key. In a body of text with hundreds of words, the text ends up slightly favoring tokens with high g-values in a pattern that only the key holder can see, and that you would never spot by reading.</p>



<p class="wp-block-paragraph">“Slightly favoring” is the key phrase here. For example, the choice between the words “big” and “large” doesn’t change the meaning of most sentences, so nudging that choice to one of the two doesn’t change your text in any way you’d notice. <strong><a href="https://www.nature.com/articles/s41586-024-08025-4" target="_blank" rel="noopener">Google tested this on roughly 20 million Gemini responses</a></strong>, and the thumbs-up rate differed by 0.01% (with the watermarked model slightly ahead).</p>



<h2 class="wp-block-heading"><strong>Who else is watermarking their AI-generated content?</strong></h2>



<p class="wp-block-paragraph">As previously stated, Anthropic’s decision to put AI watermarking on its content is mandated by EU laws and regulations that took effect in 2026. Anthropic is not the only company that has complied with this regulation and, <strong><a href="https://digital-strategy.ec.europa.eu/en/news/strong-backing-code-practice-transparency-ai-generated-content" target="_blank" rel="noopener">according to the EU Commission website</a></strong>, hundreds of companies have agreed to comply with the regulations that require AI watermarks. </p>



<p class="wp-block-paragraph">For example, OpenAI has recently <a href="https://openai.com/index/eu-text-provenance/" target="_blank" rel="noopener">announced their support for watermarking AI-generated outputs</a>. Here’s a quote from their announcement:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Over the coming weeks, we will add an invisible watermark to eligible ChatGPT and Codex text output in the European Union.</em></p>
</blockquote>



<p class="wp-block-paragraph">OpenAI’s text watermarking technology is called “textGrain,” and it’s inspired by the art of writing text on a grain of rice. Now, you may be asking yourself, “How much AI text is needed in order to place the watermark itself?” The good news is that OpenAI has published statistics from their own tests for AI text watermark detection. Their AI text watermark detector has 95% accuracy for passages that contain 400-tokens of text. This gives you an idea that only a few paragraphs of text is all that’s needed in order to embed the watermark.</p>



<p class="wp-block-paragraph">However, since the EU mandate applies to AI-generated content (not just text), OpenAI has gone even further and <a href="https://openai.com/research/verify/" target="_blank" rel="noopener">released a website to let anyone know</a> if their models have generated non-textual media, such as images and audio. I’ve tried the website myself and it correctly identifies a watermark within a few seconds.</p>



<p class="wp-block-paragraph">The regulation dictating AI watermarks is not just an EU thing. The SB-942 <strong><a href="https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202320240SB942" target="_blank" rel="noopener">California AI Transparency Act</a></strong> also requires watermarks on AI-generated content. These regulations, combined, not only apply to AI-generated text but also to images, audio, and video.</p>



<h2 class="wp-block-heading"><strong>Google’s model outputs also contain AI-watermarks</strong></h2>



<p class="wp-block-paragraph">Google complied with the EU AI Act years ago, <a href="https://arxiv.org/html/2609.09604v1" target="_blank" rel="noopener">so their models have included the SynthID Text Watermark since 2024</a>. However, they’ve followed suit with OpenAI and released a public website, <a href="http://synthid.com" target="_blank" rel="noopener">SynthID.com</a>, to allow anyone to check if any non-text media (such as images, audio, and video) contains the SynthID AI watermark. Google’s AI watermark detector allows you to check for a watermark from multiple AI providers such as OpenAI, Nvidia, Kakao, and of course, Google themselves.</p>



<h2 class="wp-block-heading"><strong>Watermarking all AI-generated content is not necessarily a bad thing</strong></h2>



<p class="wp-block-paragraph">In my most recent experience, I worked as a consultant for a company that was undergoing a VC-backed funding round. After the funding was publicly announced, certain people at the company were being contacted by the “CEO,” who asked them to perform a bank transfer from their personal accounts because of some made-up situation. In reality, it was a group of scammers that used LinkedIn to find the names of employees of the company, and then posed as the CEO so that employees would send money into the scammer’s bank account. Most of us were tech-savvy enough to understand that this was an obvious ploy driven by unscrupulous people. The scammers gave themselves away because they were using email domains that were not owned by the startup, so in this case, the fraud attempt was easily detectable.</p>



<p class="wp-block-paragraph">However, the technology exists today where voice cloning can be easily accomplished with only a few samples of a person’s voice. So what if a more sophisticated “spear phishing” attempt was done where the attacker decided to use AI in order to clone the CEO’s voice? And what if the fake CEO started calling people (instead of sending emails)? This could lead to a much worse situation where employees think they’re interacting with (and obeying) the CEO and feel compelled to do something that could have grave financial consequences.</p>



<h2 class="wp-block-heading"><strong>What this means for you</strong></h2>



<p class="wp-block-paragraph">All the major LLMs are including watermarking in their AI-generated content, and due to recent regulations, that’s not going away. Bad actors can use AI today to perform serious attacks on the public, so having an AI watermark on any AI-generated content (text, images, audio, or video) is a very useful tool to determine authenticity.</p>



<p class="wp-block-paragraph">If you want to see a live demonstration on how AI watermarks can be applied and detected on your own, be sure to attend the course <a href="https://learning.oreilly.com/live-events/understanding-ai-text-watermarking/0642572464882/" target="_blank" rel="noopener">Understanding AI Text Watermarking</a>, only on O’Reilly.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/the-latest-anthropic-claude-models-contain-ai-text-watermarks-what-does-this-mean-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The State of AI Security: Threats, Tools, and Skills Gaps</title>
		<link>https://www.oreilly.com/radar/the-state-of-ai-security-threats-tools-and-skills-gaps/</link>
				<comments>https://www.oreilly.com/radar/the-state-of-ai-security-threats-tools-and-skills-gaps/#respond</comments>
				<pubDate>Wed, 21 Oct 2026 11:02:58 +0000</pubDate>
					<dc:creator><![CDATA[Mike Loukides]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=19969</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2019/06/abstract-2425614_1280_crop-289639fa8d80f7973c1e6a7225ee07ff-1.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="1400" 
				height="950" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2019/06/abstract-2425614_1280_crop-289639fa8d80f7973c1e6a7225ee07ff-1-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Defenders are already taking advantage of AI tools, but success will require new organizational policies, budgets, and thought processes.]]></custom:subtitle>
		
				<description><![CDATA[Artificial intelligence has changed cybersecurity permanently. While OpenAI’s inadvertent attack on Hugging Face brought AI-generated attacks to everyone’s attention, AI has been on security professionals’ radar for a long time. AI makes attacks possible at a scale that was hard to imagine a few years ago. Newly discovered zero-days can be exploited almost immediately. Deepfakes [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">Artificial intelligence has changed cybersecurity permanently. While <a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/" target="_blank" rel="noopener">OpenAI’s inadvertent attack on Hugging Face</a> brought AI-generated attacks to everyone’s attention, AI has been on security professionals’ radar for a long time. AI makes attacks possible at a scale that was hard to imagine a few years ago. Newly discovered zero-days can be <a href="https://www.oreilly.com/radar/the-base-is-under-attack/" target="_blank" rel="noopener">exploited almost immediately</a>. Deepfakes and their implications for phishing, vishing, and other attacks were nightmares that we knew were real; we just hoped we’d have a few more years before we needed to defend against them. And of course, inattention to security at OpenAI, Anthropic, Google, and other labs that we don’t yet know about has resulted in AI agents that <a href="https://github.com/webpro255/awesome-ai-agent-attacks" target="_blank" rel="noopener">attack other systems</a> in an attempt to solve a problem.</p>



<p class="wp-block-paragraph">While the headlines have been shouting about AI killing humanity, doomsday AI is more likely a smokescreen to divert attention away from real harms that are happening now. We don’t need panic. We need an assessment of where we are: What are the threats? Where are the skills gaps? Where is the budget? It’s hard to overstate the importance of these questions; Tomasz Tunguz, writing about the Theory 2026 AI Survey, <a href="https://tomtunguz.com/ai-in-practice-survey-2026/" target="_blank" rel="noopener">reports</a> that security is the biggest barrier to AI adoption. To start answering these questions, in September we ran a survey that asked infosec professionals about the intersection between artificial intelligence and security. 351 respondents completed the full survey, 209 of whom self-identified as being involved with security as part of their job. This report focuses on those 209 respondents.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="825" height="525" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_1.png" alt="Chart showing &quot;rarely&quot; (34%), &quot;weekly&quot; (22%), &quot;never&quot; (18%), &quot;daily&quot; (13%), and &quot;monthly&quot; (13%)" class="wp-image-19983" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_1.png 825w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_1-767x488.png 767w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_1-300x191.png 300w" sizes="auto, (max-width: 825px) 100vw, 825px" /><figcaption class="wp-element-caption"><em>How often work involves AI-generated malicious content</em></figcaption></figure>



<h2 class="wp-block-heading">Attacks, risks, and responses</h2>



<p class="wp-block-paragraph">52% of respondents said their work rarely (34%) or never (18%) involves AI-generated attacks. This seems unlikely. The most likely explanation is that the security profession includes a broad range of job responsibilities; many security professionals don’t deal directly with defense. That group includes auditors, security experts on software development teams, strategists, architects, and others. It’s also possible that most phishes are either blocked by an automated filter (itself an instance of AI) or deleted immediately by the recipient; many companies require their staff to take training courses that cover topics like recognizing phishes. Still, it’s surprising. Much simpler versions of AI have been used to generate spam and phishing email for years. AI’s ability to generate phishes was demonstrated at <a href="https://media.defcon.org/DEF%20CON%2029/DEF%20CON%2029%20presentations/Eugene%20Lim%20Glenice%20Tan%20Tan%20Kee%20Hock%20-%20Hacking%20Humans%20with%20AI%20as%20a%20Service.pdf" target="_blank" rel="noopener">BlackHat in 2021</a> with <a href="https://www.oreilly.com/radar/ai-powered-misinformation-and-manipulation-at-scale-gpt-3/" target="_blank" rel="noopener">GPT-3</a>. It’s been part of the security picture for a long time.</p>



<p class="wp-block-paragraph">The most commonly observed attacks are AI-generated phishing (55%), vulnerability scanning and exploitation (30%), and AI-assisted malware generation (26%). Respondents who frequently encountered AI attacks also reported more types of attacks. There’s no surprise here: If you see attacks more frequently, you are more likely to observe specific attacks. The strongest relationship was with AI-generated phishing, which was seen by 55% of all respondents and 86% of those who observed AI-generated attacks weekly. Among respondents who observed attacks daily, slightly fewer (78%) reported phishing. Given the small sample, the difference may not be meaningful. It’s also likely that respondents who observe attacks daily are seeing a much broader range of attacks and that phishing is genuinely less important to them.</p>



<p class="wp-block-paragraph">Respondents reported seeing deepfake audio and video, which can be used for <a href="https://en.wikipedia.org/wiki/Voice_phishing" target="_blank" rel="noopener">vishing</a> and other impersonation attacks, less often than phishing, though it was far from nonexistent (25%). More respondents than we expected reported fully automated attacks, like OpenAI’s attack on Hugging Face, though the percentage was still low (16%). The percentage of respondents who observed adversarial inputs against models including prompt injection was similarly low (only 13%), but that’s high enough to indicate that prompt injection and other attacks directed against models are a real concern.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1062" height="675" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_2.png" alt="Chart showing AI-generated phishing (55%), vulnerability scanning and exploitation (30%), AI-assisted malware generation (26%), deepfake audio/video (25%), AI-generated attacks (16%), I don't have visibility into this data (15%), adversarial inputs against ML models (13%), none observed (14%), and other (8%)" class="wp-image-19984" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_2.png 1062w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_2-300x191.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_2-768x488.png 768w" sizes="auto, (max-width: 1062px) 100vw, 1062px" /><figcaption class="wp-element-caption"><em>AI-related attacks observed in the last 12 months</em></figcaption></figure>



<p class="wp-block-paragraph">When we asked respondents what AI-related risks concerned them most, we got a different set of answers. The two most common concerns were overreliance on AI tools without human verification and leaking sensitive data via AI tools; 49% of respondents selected each answer. (The number of respondents selecting those answers happened to be the same, though there was little relationship between the two groups.)&nbsp;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1074" height="691" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_3.png" alt="Chart showing overreliance on AI outputs without human verification (49%), employees leaking sensitive data via commercial AI tools (49%), attackers using AI to find vulnerabilities faster than we can patch (35%), AI-generated phishing/social engineering (25%), prompt injection or LLM manipulation (11%), poisoning of training data or model supply chains (4%), and other (4%)" class="wp-image-19986" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_3.png 1074w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_3-300x193.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_3-768x494.png 768w" sizes="auto, (max-width: 1074px) 100vw, 1074px" /><figcaption class="wp-element-caption"><em>Most concerning AI-related risks</em></figcaption></figure>



<p class="wp-block-paragraph">Although the quality of AI output has gotten a lot better in the past year, relying on unverified AI outputs remains problematic. However, AI can easily generate more output than humans are capable of reviewing, and software teams are now overwhelmed by the volume of AI-generated pull requests that need human review before they can be merged. This overload is causing many to <a href="https://www.dbreunig.com/2026/03/04/the-spec-driven-development-triangle.html" target="_blank" rel="noopener">rethink</a> <a href="https://www.oreilly.com/radar/the-right-amount-of-spec-for-agentic-development/" target="_blank" rel="noopener">the review</a> <a href="https://www.oreilly.com/radar/when-ai-writes-the-code-specifications-need-an-exit-strategy/" target="_blank" rel="noopener">process</a> and others to reject AI-generated PRs. Code review was never very good at finding bugs; it was better at familiarizing a team with developments in the codebase. It may be enough to rely on exhaustive testing.<br><br>Understanding how your software works when much of it is written by AI is a deeper problem. While AI is good at answering questions about a codebase, it usually doesn’t have access to the reasoning behind the code, which is often hidden in <a href="https://www.oreilly.com/radar/the-preservation-gap-in-the-ai-stack-why-capability-is-advancing-faster-than-reconstructability/" target="_blank" rel="noopener">institutional knowledge</a>—and institutional knowledge often means “Oh, yeah, that guy who retired three years ago.” In addition, software developers may lose their programming skills if writing code becomes a smaller part of their job. Security professionals themselves might wonder whether relying on AI for red-teaming, log analysis, and vulnerability detection leads to a degradation in their own skills.&nbsp;</p>



<p class="wp-block-paragraph">Companies also fear losing sensitive data via AI. Most AI providers offer enterprise accounts that promise that they won’t train models on data in prompts or attached documents, but it’s not clear that these terms of service can be trusted. The frontier laboratories are getting increasingly desperate for training data, even going to lengths such as buying failing startups for their data. Read OpenAI’s description of its <a href="https://openai.com/index/offering-zero-data-retention-for-frontier-models/" target="_blank" rel="noopener">Zero Data Retention and Private Safety Processing</a> cynically, and ask if this really protects corporate data or if it allows using data in ways that aren’t directly observable by humans—for example, <a href="https://x.com/aidangomez/status/2097381789039837637" target="_blank" rel="noopener">automatically generating synthetic data</a>. Security professionals are paid to be cynical; thinking about how software, protocols, and policies can be abused is part of the job.</p>



<p class="wp-block-paragraph">Roughly a third (35%) of the respondents are concerned about attackers using AI to discover vulnerabilities faster than they can mitigate those vulnerabilities and apply patches. Updating software is usually a good practice, but it comes with its own risks: Software updates may introduce new bugs and can lead to incompatibilities with established tools and practices. And defenders can’t yet delegate vulnerability detection, patching, and updating to AI. So overall, is AI more of a help to defenders or attackers? <a href="https://info.deeplearning.ai/we-should-be-encouraged-by-ais-cybersecurity-abilities" target="_blank" rel="noopener">Andrew Ng</a>, <a href="https://www.youtube.com/shorts/8xzbK_me7jQ" target="_blank" rel="noopener">Bruce Schneier</a>, and others have argued that the attackers are ahead right now. It’s easier to find a vulnerability, use it to create a payload, and launch an attack than it is to stop one. But the balance will eventually shift to the defenders, as AI becomes more capable of finding and patching vulnerabilities before they can become a problem.</p>



<p class="wp-block-paragraph">It’s surprising that only a quarter (25%) of the respondents listed AI-generated phishing as a top concern, especially since phishing is the attack most frequently seen in the wild. Perhaps we’ve become too used to phishing; we’ve all been to the security trainings, we’ve all experienced it directly, and some of us have even fallen victim. Phishing is also an attack that, in many cases, is handled automatically. Familiarity may not always breed contempt, but something you see almost daily usually isn’t your biggest worry.&nbsp;</p>



<p class="wp-block-paragraph">More exotic attacks are even less of a concern. Only 11% listed prompt injection as one of their top concerns, for instance. However, real-world examples of prompt injection are appearing with increasing frequency. A <a href="https://arxiv.org/abs/2605.28999" target="_blank" rel="noopener">recent study</a> observed that roughly 1% of résumés contained hidden text to trick an AI system. Google has <a href="https://blog.google/security/prompt-injections-web/" target="_blank" rel="noopener">noticed</a> many kinds of prompt injection, ranging from benign to overtly hostile. And in 2025, OWASP <a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/" target="_blank" rel="noopener">recognized</a> prompt injection as the greatest security risk for users of AI. It’s surprising and unfortunate that it doesn’t appear to be a greater concern for security professionals, especially since prompt injection is a vulnerability that might be lessened by careful filtering but can’t be eliminated.</p>



<p class="wp-block-paragraph">Even fewer security professionals are concerned about data poisoning (4%). Data poisoning is a serious problem for organizations that train their own models, but today frontier labs conduct much of the most resource-intensive model training. However, this is changing as post-training on corporate data becomes more common. We believe the trend toward locally specialized models will continue, and that data poisoning, as distinct from data theft, will become more of a concern.&nbsp;</p>



<p class="wp-block-paragraph">We asked specifically about the use of agents, which exploded this year with the launch of <a href="https://openclaw.ai/" target="_blank" rel="noopener">OpenClaw</a> and <a href="https://github.com/gastownhall/gastown" target="_blank" rel="noopener">Gas Town</a> in January 2026. Agents create another set of security concerns. We’ve all heard horror stories: agents that deleted production databases, handled data improperly, generated email that should never have been sent, and the like. Using an agent properly requires a lot of attention to detail, and many users aren’t used to that responsibility, nor do they understand security well enough to exercise responsibility.</p>



<p class="wp-block-paragraph">The biggest concern among our respondents is excessive permissions or unclear ownership (28%). That’s hardly a surprise; many security problems trace back to permissions. Unclear ownership makes permissions issues more dangerous. When an agent is making many calls to a model, using tools, and delegating to other agents and models, it <a href="https://www.oreilly.com/radar/principal-drift/" target="_blank" rel="noopener">quickly becomes unclear who (or what) is the authority responsible</a> for any action. This situation isn’t handled well by our current authentication and authorization systems, which assume that identities and authorizations are long-term, stable entities.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1074" height="697" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_4.png" alt="Chart showing excessive permissions or unclear ownership (28%), lack of monitoring or auditability (19%), inability to verify an agent’s role (18%), data leakage (15%), prompt injection (9%), no agentic systems (5%), and unsure (6%)." class="wp-image-19987" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_4.png 1074w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_4-300x195.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_4-767x498.png 767w" sizes="auto, (max-width: 1074px) 100vw, 1074px" /><figcaption class="wp-element-caption"><em>Most-concerning risks of AI agents</em></figcaption></figure>



<p class="wp-block-paragraph">Lack of monitoring or auditability was the second highest concern (19%), followed by inability to verify whether the agent stayed within its role (18%). These concerns are closely related: Ownership is often unclear when agents are in use, and lack of monitoring makes the situation worse. Likewise, when you can’t monitor, it’s difficult, if not impossible, to verify whether the agents stayed in their lane—and we’ve seen all too many examples recently of agents that abandoned their authorized roles in inappropriate ways.</p>



<p class="wp-block-paragraph">Data leakage appears again, though it’s surprisingly low on the list (15%) given that 49% of the respondents indicated that data leakage was one of their top concerns. It’s possible that we’re seeing the difference between single and multiple selection questions; many respondents are concerned about data leakage, but it’s not their top concern.&nbsp;</p>



<p class="wp-block-paragraph">Prompt injection doesn’t rank highly for either question: 9% selected it as their top concern about AI agents, and 11% selected it as one of their top concerns.&nbsp;</p>



<h2 class="wp-block-heading">Policies and funding</h2>



<p class="wp-block-paragraph">Although nearly three-quarters of the respondents reported that their companies have an AI use policy in place (72%), less than half (44%) reported that the security policy is “comprehensive,” while 28% said that the policy is basic and needs updating. Another 9% said that their employer doesn’t have a policy but is actively developing one. 19% said that there was no policy, or that they “didn’t know,” an answer we consider equivalent to “there is no policy.”</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1057" height="528" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_5.png" alt="Chart showing comprehensive AI policy in place (44%), basic policy needing updates (28%), no official policy (10%), policy in development (9%), and unsure (10%)" class="wp-image-19989" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_5.png 1057w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_5-300x150.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_5-767x383.png 767w" sizes="auto, (max-width: 1057px) 100vw, 1057px" /><figcaption class="wp-element-caption"><em>Does your organization have a documented AI policy?</em></figcaption></figure>



<p class="wp-block-paragraph">Organizations need clear AI policies that tell employees what AI tools they can use and how they should (and shouldn’t) use them. It’s important for employees to understand whether their company is sensitive to sending data offsite, whether the company’s chosen AI providers guarantee their data won’t be used for training, which practices for attribution are acceptable, and much more. We have some sympathy with organizations that have a basic policy that needs updating. AI’s capabilities are advancing at unprecedented speed; a policy that was adequate in 2023 certainly needs updating now, and a policy that’s only a year old still predates the widespread use of agents like OpenClaw, Claude Code, and Codex, along with the widespread use of skills and tools to extend an agent’s capabilities. Keeping a policy up-to-date with the current state of AI is an imposing task.</p>



<p class="wp-block-paragraph">The existence of a policy appears to be related to whether employees use AI safely. We asked about “shadow AI” (the use of AI outside of any definitive policy) and found that 36% of the respondents thought that their teammates occasionally use “shadow AI” and 23% thought that the practice is widespread. About a quarter (24%) thought that shadow AI use is rare; and 16% were unsure.&nbsp;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1071" height="442" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_6.png" alt="Chart showing shadow AI use: occasional (36%), rare or never (24%), widespread (23%), and unsure or lacking monitoring tools (16%)" class="wp-image-19990" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_6.png 1071w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_6-300x124.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_6-766x316.png 766w" sizes="auto, (max-width: 1071px) 100vw, 1071px" /><figcaption class="wp-element-caption"><em>Shadow AI use with sensitive data</em></figcaption></figure>



<p class="wp-block-paragraph">The relationship between shadow AI and the existence of an AI policy tells us a lot about whether policies are effective. Respondents with a comprehensive AI policy were more likely to say that shadow AI use is rare (37%) or that it’s only used occasionally (36%); only 17% said that shadow AI is widespread at their company. In contrast, 35% of the respondents who reported a basic policy said that shadow AI is widespread—almost the same percentage as those who reported that there was no policy at all (37%) and only slightly worse than those who said that a policy is in development but doesn’t exist yet (28%). Those who had a basic policy, a policy under development, or no policy were less likely to report that shadow AI was used “rarely or never” (13%, 6%, and 21%, respectively).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1051" height="535" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_7.png" alt="Chart showing shadow AI use by policy status: comprehensive policy (37% rare or never, 36% occasional, 17% widespread, 10% unsure); basic policy (13%, 35%, 35%, 18%); policy in development (6%, 56%, 28%, 11%); no policy (21%, 37%, 37%, 6%); and unsure whether a policy exists (18%, 24%, 58%, 0%)" class="wp-image-19991" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_7.png 1051w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_7-300x153.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_7-766x390.png 766w" sizes="auto, (max-width: 1051px) 100vw, 1051px" /><figcaption class="wp-element-caption"><em>Shadow AI use in relation to AI policy</em></figcaption></figure>



<p class="wp-block-paragraph">Granted that shadow AI is probably underreported across the board, our data clearly shows that a comprehensive AI policy is a powerful tool in limiting it. If the policy is poor, or it doesn’t exist, employees will use whatever tools they can to get their job done, which leads to AI use that’s inconsistent, insecure, and possibly counterproductive; it may even lead to legal, contractual, and reputational risks. When there’s no policy, it’s also likely that AI isn’t used as widely as it could be. Telling employees what is expected helps them to act responsibly. A good AI policy doesn’t just tell staff what not to do; it also communicates how to use AI in ways that are appropriate, and may even provide for training.&nbsp;</p>



<p class="wp-block-paragraph">When we asked whether organizations are adequately funding AI security, the picture was better than we expected. The largest group (32%) said that AI security is sufficiently funded, and 28% said it’s partially funded. Only 16% said it is severely underfunded, and 23% are unsure. I admit to being surprised by this result. Security is often underfunded, partly because a successful year is one in which “nothing bad happened,” and “we need to spend more so that nothing bad will continue to happen” isn’t a story that plays well at budget time. But executives have been catching on over the last few decades; high-profile attacks and data thefts lead to CIOs and CISOs losing their jobs, and that’s enough to get anyone’s attention.&nbsp;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="953" height="432" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_8-1.png" alt="Chart showing AI security funding: sufficiently funded and staffed (32%), partially funded but needing resources (28%), severely underfunded or without a dedicated budget (16%), and unsure (23%)" class="wp-image-19994" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_8-1.png 953w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_8-1-300x136.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_8-1-768x348.png 768w" sizes="auto, (max-width: 953px) 100vw, 953px" /><figcaption class="wp-element-caption"><em>12-month budget for securing AI&nbsp;</em></figcaption></figure>



<p class="wp-block-paragraph">We saw a strong link between a comprehensive AI policy and adequate funding for security. Nearly half (49%) of the respondents who said their company has a comprehensive AI policy also said that AI security is sufficiently funded, and another 29% said that it’s partially funded. Only 3% of this group said that AI security is severely underfunded. That means nearly 80% (78%) are at least partially satisfied with funding.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1044" height="540" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_9.png" alt="Chart showing AI security funding by policy status: comprehensive policy (49% sufficiently funded, 29% partially funded, 3% severely underfunded, 19% unsure); basic policy (16%, 42%, 24%, 18%); policy in development (22%, 17%, 39%, 22%); no policy (21%, 21%, 42%, 16%); and unsure whether a policy exists (11%, 11%, 4%, 74%)" class="wp-image-19995" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_9.png 1044w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_9-300x155.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_9-768x397.png 768w" sizes="auto, (max-width: 1044px) 100vw, 1044px" /><figcaption class="wp-element-caption"><em>12-month budget for securing AI in relation to AI policy</em></figcaption></figure>



<p class="wp-block-paragraph">Once again, the answers given by respondents who said that their organizations have a basic policy, a policy under development, or no policy were surprisingly similar. 16%, 22%, and 21%, respectively, said that AI security is sufficiently funded. That’s certainly not a vote of confidence, though we might be able to draw two more bits of information from it. Developing a policy looks like it’s slightly better than having an out-of-date policy; the company is putting in the effort and making an investment. That makes some intuitive sense, though it might also be wishful thinking. Among respondents whose organizations have a basic policy, the largest subgroup said that AI security is partially funded (42%). A middle-of-the-road policy is associated with middle-of-the-road funding. Is that fair, or is that what reality looks like?</p>



<h2 class="wp-block-heading">Tools and skills</h2>



<p class="wp-block-paragraph">While AI gives security professionals powerful new tools, they aren’t yet fully taking advantage of them. Two-thirds of the respondents (68%) reported that they use a chat, copilot, or similar tool for research or documentation. But only slightly over a third use AI to scan for vulnerabilities (38%), just over a quarter use it for threat detection (27%), and a quarter use AI for incident response (25%). Security professionals widely use general-purpose AI. However, those using specialized tools like vulnerability scanners remain the minority.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="993" height="525" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_10-1.png" alt="Chart showing AI chat or copilots for research or documentation (68%), AI code or vulnerability scanning (38%), AI-assisted threat detection or SIEM (27%), AI-assisted incident response or triage (25%), and other (11%)" class="wp-image-19997" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_10-1.png 993w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_10-1-768x406.png 768w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_10-1-300x159.png 300w" sizes="auto, (max-width: 993px) 100vw, 993px" /><figcaption class="wp-element-caption"><em>AI-powered tool use</em></figcaption></figure>



<p class="wp-block-paragraph">To probe further, we asked where AI improved respondents’ workflows. More than half said that AI improved their workflows for research or documentation (61%) and that it reduced repetitive work (57%). But only 29% said that AI improved their workflow for triage, and 17% said that it improved detection accuracy. These results confirm what we saw for tool use.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="619" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_11.png" alt="Chart showing improved research or documentation speed (61%), reduced repetitive work (57%), faster alert triage or investigation (29%), better detection accuracy (17%), no noticeable positive impact (11%), and other (6%)" class="wp-image-19998" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_11.png 945w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_11-300x197.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_11-768x503.png 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption"><em>Biggest positive impact of AI</em></figcaption></figure>



<p class="wp-block-paragraph">The relationship between tool use and impact shows up even more clearly when we look at who’s benefiting most from AI. Those who are only using chat or a copilot see the greatest improvement in the speed of research or documentation. Chatbots and copilots save time, particularly when writing reports with a lot of boilerplate text, but they aren’t as helpful when actively defending against or recovering from attacks. Without specialized tools, that work has to be manual.</p>



<p class="wp-block-paragraph">Respondents using security-specific AI tools were more likely to report improvements in alert triage (42% versus 18%) and detection accuracy (27% versus 5%) than those using only general-purpose chatbots or copilots.&nbsp;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="949" height="639" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_12.png" alt="Chart showing AI-tool impact by tool type: improved research or documentation speed (22% no AI tool, 78% copilot only, 67% any security-specific AI tool); reduced repetitive work (29% no AI tool, 56% copilot only, 67% any security-specific AI tool); faster triage (10% no AI tool, 18% copilot only, 42% any security-specific AI tool); better detection accuracy (5% no AI tool, 5% copilot only, 27% any security-specific AI tool); and no positive impact (34% no AI tool, 9% copilot only, 4% any security-specific AI tool)" class="wp-image-19999" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_12.png 949w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_12-300x202.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_12-768x517.png 768w" sizes="auto, (max-width: 949px) 100vw, 949px" /><figcaption class="wp-element-caption"><em>Benefits reported by AI tools used</em></figcaption></figure>



<p class="wp-block-paragraph">It’s far from surprising that respondents who didn’t use any AI tools were most likely to say that they saw no noticeable positive impact. The bigger question is why they saw any impact at all.&nbsp;</p>



<p class="wp-block-paragraph">Finally, we looked at the “skills gap” to determine what skills and tools would make respondents more effective. Only 7% of the respondents said that they don’t feel like they have a skills gap; that group was also the most likely to say that they aren’t using any AI tools. It’s clear that most of our respondents see AI as a necessary part of the future and want to be part of it.&nbsp;</p>



<p class="wp-block-paragraph">34% of the respondents want to use AI tools more effectively. That desire was evenly spread across all AI users, both chat/copilot only (36%) and users of security-specific tools (37%). 24% want to learn how to use AI to secure systems (including the use of AI for red-teaming); 19% want to learn AI-specific attack techniques; and 12% want to learn how to detect AI-generated attacks.&nbsp;</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1062" height="608" src="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_13-1.png" alt="" class="wp-image-20026" srcset="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_13-1.png 1062w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_13-1-300x172.png 300w, https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/1254350_ORM_Security_Survey_Graphs_2026_13-1-767x439.png 767w" sizes="auto, (max-width: 1062px) 100vw, 1062px" /><figcaption class="wp-element-caption"><em>AI skills gaps</em></figcaption></figure>



<h2 class="wp-block-heading">The future of security</h2>



<p class="wp-block-paragraph">We started by claiming that AI has changed computer security forever. In addition to the many reports of research projects that inadvertently attacked other sites, AI has become a tool for attackers. They aren’t distracted by arguments about whether or not AI is taking jobs; their goal is to exploit their victims, and it’s clear that AI will help them. And as Ben Lorica points out in his <a href="https://gradientflow.substack.com/p/the-part-of-the-ai-security-story" target="_blank" rel="noopener">newsletter</a>, the economics of attack are changing: AI is infinitely patient, can try multiple attack vectors, can abandon failures, and can work at a scale that’s difficult for humans to match.<br><br>AI is also a tool for defenders. We saw more security professionals using AI than we expected, though not as many as we had hoped. Many defenders are taking advantage of chatbots and copilots but haven’t yet adopted more specialized tools, which are associated with improvements in workflows for triage and threat detection.&nbsp;</p>



<p class="wp-block-paragraph">The tools for defenders undoubtedly need to mature, but tools aren’t the entire answer. Organizations that adopt AI successfully will have appropriate budgets and policies for AI use; they will understand the risks that come with AI adoption; they will proactively fill skills gaps; and they will recognize processes that are no longer productive and “<a href="https://www.oreilly.com/radar/ai-as-an-enterprise-operating-system/" target="_blank" rel="noopener">turn scar tissue into infrastructure</a>.” AI is, in the end, a “<a href="https://knightcolumbia.org/content/ai-as-normal-technology" target="_blank" rel="noopener">normal technology</a>” that takes years to penetrate organizations, as Arvind Narayanan and Sayash Kapoor have argued. Tools, budgets, and thought processes all need to change, and that takes time. Getting ahead of the curve on AI won’t happen if individuals work in isolation, adopting tools and ideas as they see fit. It’s an effort that requires the entire organization.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/the-state-of-ai-security-threats-tools-and-skills-gaps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The Second-User Test</title>
		<link>https://www.oreilly.com/radar/the-second-user-test/</link>
				<comments>https://www.oreilly.com/radar/the-second-user-test/#respond</comments>
				<pubDate>Tue, 20 Oct 2026 10:54:23 +0000</pubDate>
					<dc:creator><![CDATA[Kaiyao Duan]]></dc:creator>
						<category><![CDATA[AI & ML]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20022</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-second-user-test.jpg" 
				medium="image" 
				type="image/jpeg" 
				width="2304" 
				height="1792" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/The-second-user-test-160x160.jpg" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[AI can make the first version work. What happens when someone else tries to use it?]]></custom:subtitle>
		
				<description><![CDATA[In my work with G7–G12 students at Force Academy, a research initiative in Chongqing, I sometimes take a project that appears to be finished and give another student responsibility for using, checking, or modifying it. The handoff is a test of understanding: Can the work still make sense when its creator is no longer there [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">In my work with G7–G12 students at Force Academy, a research initiative in Chongqing, I sometimes take a project that appears to be finished and give another student responsibility for using, checking, or modifying it. The handoff is a test of understanding: Can the work still make sense when its creator is no longer there to translate it? The original author knows what every variable means, why a particular decision was made, which tool was used, and which parts can safely be changed. The second student has only what the project makes visible.</p>



<p class="wp-block-paragraph">Generative AI makes the handoff more revealing because it lowers the cost of producing a convincing first version. Students can generate code, analysis, prose, visualizations, and prototypes far more quickly than they could a few years ago. In a classroom, however, a project is useful only insofar as it shows what the student understands and can defend. AI can supply missing code, smooth over incomplete reasoning, or turn a rough idea into fluent prose, so polish is no longer strong evidence of understanding by itself.</p>



<p class="wp-block-paragraph">A concrete example came from a student paper on AI and labor economics, Verification Responsibility in AI-Applicable Occupations. The paper asked what remains economically important when AI makes candidate outputs cheap but a person still has to check those outputs, decide whether they are safe to use, and remain responsible for accepting them.</p>



<p class="wp-block-paragraph">The lead student developed the conceptual model and most of the analytical workflow. A second student was given a narrower job: rerun the main analyses independently, record the versions of the source data, document how occupations in one dataset were linked to occupations in another, and compare the reported tables and figures with the underlying outputs. What looked like procedural verification quickly became a substantive review of the study.</p>



<p class="wp-block-paragraph">The first problem was reproducibility. The analysis ran on the original machine, but too much of the workflow depended on choices that lived in one student’s memory. To reproduce it elsewhere, the team had to record the data transformations, write down the rules for linking occupational datasets, and keep intermediate results so another person could see how the final numbers had been produced rather than simply rerunning a script and trusting the output.</p>



<p class="wp-block-paragraph">The more consequential problem was in the measurement design. An early version of the study used some of the same autonomy and leadership survey items in two different measures: verification responsibility and adaptive capacity. The software had calculated the relationship between those measures correctly, but part of the apparent relationship could have been created by the fact that the two measures shared some of the same inputs. In other words, the code was doing what it had been asked to do; the question was whether the quantities being compared had been defined cleanly enough.</p>



<p class="wp-block-paragraph">The team rebuilt the measures so they no longer shared survey items, removed ambiguous items, and revised the workflow so source versions, cross-dataset links, exclusions, intermediate files, and reported results could be traced. Later versions added alternative specifications and robustness checks. What began as “please rerun this” ended up forcing a redesign of the study.</p>



<p class="wp-block-paragraph">The handoff changed how I read student work. A second user does not merely test whether the files have been packaged neatly; they ask the awkward questions the creator may have stopped noticing. Why is a particular variable there? Which conclusion depends on an assumption that was never made explicit? In this project, those questions reached back into the measurement design.</p>



<p class="wp-block-paragraph">The educational value of the handoff comes from the fact that schoolwork and production software have different ends. Professional developers learn a great deal after software leaves their hands because they have to deliver it, explain it, support it, maintain it, and respond when someone uses it in an unexpected way. Student projects usually disappear when a course ends, and that is fine; the artifact is not the goal. What matters is importing some of the learning that comes from delivery and maintenance: explaining decisions, supporting someone else’s use, and revising the work when private context is no longer available.</p>



<p class="wp-block-paragraph">At Force Academy, the exact task depends on the project. For a computational model, another student may change a parameter or replace one rule and then ask what should remain stable. For an AI-supported workflow, the job may be to move it to a different model or environment. For a data analysis, the second student may try to reconstruct one result from the recorded source files and transformations. When that transfer fails, I want the original student to decide what the other person actually needed to know and what should be changed in the project, rather than simply standing beside them and explaining it.</p>



<p class="wp-block-paragraph">I use the word “handles” for the visible points of entry that make that possible. A handle gives another person something concrete to inspect or change without first receiving a private briefing. It might be a clearly named parameter, an explicit assumption, a test that records an earlier failure, a replaceable component, a retained intermediate dataset, or a prompt whose important context is written down instead of buried in a private chat history.</p>



<p class="wp-block-paragraph">Handles also make disagreement more productive. An exposed assumption can be challenged; a component with a clear boundary can be modified or replaced without rebuilding the whole project; and a numerical result linked to its source data and transformations can be checked rather than accepted on authority.</p>



<p class="wp-block-paragraph">Outside school, AI systems expose the same weakness. A prompt, workflow, skill, or agent configuration may look portable because it can be copied, while the conditions that make it work remain elsewhere: tool access, file structure, model behavior, private memory, naming conventions, or small decisions the creator never needed to document. Moving the artifact often reveals how much of the working system was never inside the artifact in the first place.</p>



<p class="wp-block-paragraph">A first successful run is therefore weak evidence. It tells me that a particular combination of person, model, tools, data, and context produced an output once. A stronger test is whether another person can reconstruct what matters, distinguish assumptions from implementation details, and make a change without destroying the logic of the work.</p>



<p class="wp-block-paragraph">Tim O’Reilly’s idea of an architecture of participation gives me the broader frame. A technical artifact becomes more useful when other people can enter it without negotiating privately with its creator. In software, that usually means interfaces, conventions, documentation, modularity, and replaceable components. In data analysis, the same principle shows up as recorded source versions, visible transformations, retained intermediate results, explicit assumptions, and enough analytical logic for someone else to rerun or challenge the work.</p>



<p class="wp-block-paragraph">For education, the milestone I care about is whether the student understands the work well enough to make some of that understanding available to someone else. A second student who can use, question, and extend the project gives me evidence that a polished first run cannot.</p>



<p class="wp-block-paragraph">AI expands what one person can build, including what a teenager can attempt without a large technical team. The expanded scope is a real gain, but it also makes successful generation easier to confuse with understanding. When I want to know what a student really understands, I now learn more from the first serious handoff than from the first successful run.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/the-second-user-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Building an AI Analyst, One Football Argument at a Time</title>
		<link>https://www.oreilly.com/radar/building-an-ai-analyst-one-football-argument-at-a-time/</link>
				<comments>https://www.oreilly.com/radar/building-an-ai-analyst-one-football-argument-at-a-time/#respond</comments>
				<pubDate>Mon, 19 Oct 2026 15:55:03 +0000</pubDate>
					<dc:creator><![CDATA[Chester Ismay and Michelle Smith]]></dc:creator>
						<category><![CDATA[The Monday Morning Agent]]></category>
		<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">https://www.oreilly.com/radar/?p=20013</guid>

		
					<media:content 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/USE-THIS-the-monday-morning-agent-radar-1600x840-1.png" 
				medium="image" 
				type="image/png" 
				width="1600" 
				height="840" 
			/>

			<media:thumbnail 
				url="https://www.oreilly.com/radar/wp-content/uploads/sites/3/2026/10/USE-THIS-the-monday-morning-agent-radar-1600x840-1-160x160.png" 
				width="160" 
				height="160" 
			/>
		
				<custom:subtitle><![CDATA[Does it pay to establish the run? Here’s what our agent says.]]></custom:subtitle>
		
				<description><![CDATA[One of my biggest pet peeves is the Monday morning quarterback, the person who second-guesses every coaching decision after the fact. In The Monday Morning Agent, we’re building one that actually checks the data. Every other Monday, I’ll take an argument NFL fans can’t stop having and hand it to an AI agent. We’ll use [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p class="wp-block-paragraph">One of my biggest pet peeves is the Monday morning quarterback, the person who second-guesses every coaching decision after the fact. In <em>The Monday Morning Agent</em>, we’re building one that actually checks the data.</p>



<p class="wp-block-paragraph">Every other Monday, I’ll take an argument NFL fans can’t stop having and hand it to an AI agent. We’ll use about a quarter-million plays from five complete seasons of public <a href="https://github.com/nflverse" target="_blank" rel="noopener">nflverse data</a>, plus the current season as it unfolds. Each of our eight episodes will give the agent another capability. By the finale, it’ll run the desk unattended, and we’ll check what it investigated and what it correctly refused to answer.</p>



<p class="wp-block-paragraph">We’ll start with “You have to establish the run.” I want the agent to explain what that claim means and what evidence would support it.</p>



<iframe loading="lazy" width="800" height="450" src="https://www.youtube.com/embed/MQlYvy8bnNo?si=bVdQPH5fILihWb20" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<h2 class="wp-block-heading">Define the claim before querying the data</h2>



<p class="wp-block-paragraph">“Establish the run” can mean that running early pays off late, wearing down the defense, or setting up play action. These are very different claims and they need different data. For this first episode, I focused on whether teams that run more often early in a game win more often.</p>



<p class="wp-block-paragraph">Before the agent called the tool, I asked it to write one sentence explaining what would have to be true in the data for the claim to hold, including when in the game it applies. “Establish” here means early. A whole-game number doesn’t really test that. Give your agent the same assignment, and check that it’s answering the question you intended.</p>



<h2 class="wp-block-heading">Give the agent a job you can check</h2>



<p class="wp-block-paragraph">Before any agent touched this, I ran the analysis code myself. The tool did the counting; the agent interpreted the results. Then I wrote the policy in a Markdown file, spelling out its job, the read-only tool it may use, and what its answer needed to include. It has to explain what the plays can’t tell us. It may not say running causes winning.</p>



<p class="wp-block-paragraph">Try questions outside that job too. When I asked which team I should bet on, the agent refused without calling the tool, because that request is beyond the scope of our agent. But when a viewer asked about running trends, the results got tangled up with the “establish the run” instructions. I had to clarify what I was asking, and still wanted to see the code and validate the answer. As you give an agent more responsibility, check both its results and whether it understood the task.</p>



<h2 class="wp-block-heading">Make the filters part of the answer</h2>



<p class="wp-block-paragraph">“You have to establish the run” sounds airtight at first. Over the last five seasons, teams with the highest run share, the percentage of their plays that were runs, won 77.7% of their games. Those with the lowest run share won 19.2%. I initially looked at that and thought, “Problem solved, we’re done.” Most of that gap, though, reflects teams that were already ahead running out the clock.</p>



<p class="wp-block-paragraph">When the agent looked only at first-half running in games within three points at halftime, the result flipped. Teams with the highest first-half run share won 46.3% of the time; those with the lowest won 55.3%. This season through Week 5 points the same way, but each group contained only 11 team games. One game could swing it. That doesn’t mean passing causes winning. We’re measuring association, and the filters change which games we’re comparing.</p>



<p class="wp-block-paragraph">One filter changed the whole story, which is why the filters have to be on-screen. I wanted to see how many rows remained and which commands produced the results so I could go back and check. Make those details part of your agent’s answer, including when it’s working with a smaller sample.</p>



<h2 class="wp-block-heading">A few numbers from last week’s games</h2>



<p class="wp-block-paragraph">In Week 5, the team that ran more in the first half won 6 of the 15 games, lost 8, and tied 1 (Giants at Washington). Over the past five seasons that team won 54.3% of the time, so last week came in below the average. That’s not unusual, though. In 27 of the 95 regular-season weeks since 2021, the team that ran more early finished the week with a losing record. One week of games doesn’t say much on its own, which is why the agent reports five seasons alongside the current one.</p>



<p class="wp-block-paragraph">One more data point: The Monday night game, Buffalo at the Rams, was the first the agent hadn’t seen. Buffalo ran on 60% of its first-half plays to the Rams&#8217; 35%, led by six at halftime, and won by three in overtime. Those 199 plays are in the data now, and the close-at-halftime numbers from the episode didn’t change.</p>



<h2 class="wp-block-heading">Next up: “Ban the Tush Push”</h2>



<p class="wp-block-paragraph">On October 26, we’ll tackle “Ban the Tush Push.” Not one of the 260,927 play descriptions from 2021 through this season’s October 11 games contains the words “tush push.” After adding Monday night’s game, we have 261,126 descriptions, and “sneak” appears in only two, both from 2021. The data isn’t going to hand us a definition.</p>



<p class="wp-block-paragraph">Before the agent can judge the play, it has to define it. I’ll challenge it to write that definition into its first permanent document, a shared data dictionary, and cite it in every ruling from then on. Bring your own definition, because the answer depends on which one you pick.</p>



<p class="wp-block-paragraph">O’Reilly members can <a href="https://learning.oreilly.com/live-events/the-monday-morning-agent/0642572456054/" target="_blank" rel="noopener">sign up on the O’Reilly learning platform</a> to join me live on October 26, 8:00am–8:45am PT / 11:00am–11:45am ET. Everyone can follow along on Radar every other Monday, with a brief pause for the holidays. Watch episode one above, and we’ll build on it in the next session.</p>
]]></content:encoded>
							<wfw:commentRss>https://www.oreilly.com/radar/building-an-ai-analyst-one-football-argument-at-a-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 103/104 objects using Memcached
Page Caching using Disk: Enhanced (Page is feed) 
Minified using Memcached

Served from: www.oreilly.com @ 2026-10-30 18:21:43 by W3 Total Cache
-->