#Coding agents make code cheap. Engineering discipline. #ai #agenticengineering #codex #claude

Agentic Engineering · 2026-09-14

Coding agents are dramatically increasing the speed at which software engineers can produce code, allowing them to generate thousands of lines of tested, working code in a fraction of the time it previously took. However, this increased productivity in code generation outpaces engineers' ability to conceptually understand and maintain the overall system architecture. The challenge shifts from writing code to exercising discipline in deciding what not to build and ensuring conceptual integrity within the system, making architectural foresight and a keen sense of purpose more valuable than ever.

read more

Simon Willison's insight on coding agents highlights a profound shift in the software engineering landscape: the cost of generating code is rapidly approaching zero. Historically, the output of a software engineer was constrained by their ability to manually write code, with typical daily outputs ranging from a few dozen to a few hundred lines of production-quality code. This human-imposed limit on lines of code (LOC) also served as a natural governor, forcing engineers to carefully consider whether a new feature or code addition was truly necessary.

With coding agents, this physical limit is effectively removed. A skilled engineer can now leverage these agents to produce thousands of lines of tested, working code in the time it once took to produce a fraction of that. This dramatic acceleration in code generation presents a new set of challenges, as human cognitive capacity for understanding and holding complex system architectures in mind has not scaled at the same rate. The ability to churn out code faster does not equate to the ability to manage an equally faster-growing or more complex codebase.

This leads to what Willison refers to as the challenge of conceptual integrity. Good software, he argues, feels like a coherent system where abstractions fit together logically, features reside where they genuinely belong, and there are no 'strange rooms and hallways' – or unnecessary complexities and inconsistencies – added simply because they could be. Coding agents, by making the addition of new features incredibly cheap, threaten this conceptual integrity. The natural friction that previously prompted engineers to ask, 'Do we really need this?' before committing to a significant coding effort is diminishing.

Consequently, the scarce and most valuable skill in this new paradigm shifts. It is no longer primarily about the ability to produce code efficiently, but rather the ability to decide what code should exist in the first place. This includes understanding how new code fits into the broader system architecture, and critically, discerning what not to build. As implementation costs plummet, the value of architectural vision, design discipline, and the judgment to maintain a lean, coherent, and purposeful system dramatically increases. Engineering becomes less about mere construction and more about judicious curation and strategic omission, requiring a higher degree of discipline rather than less.

Act, Confirm, or Stop? Smarter behavior for AI assistants, wearables & robots — Amit Desai, Roku

AI Engineer · 2026-09-15

This presentation introduces a novel framework, Outcome User Cost Heuristic (OUCH), to improve user satisfaction with AI voice assistants by optimizing system decisions under uncertainty, rather than solely focusing on accuracy. The core idea is to quantify the "pain" or effort users experience from different system outcomes (correct, wrong, or stop/confirm actions) and then select system behaviors that minimize this overall user cost. This approach demonstrates significant improvements in user satisfaction without altering the underlying AI model's accuracy, offering a scalable method for enhancing conversational AI across various devices and modalities.

read more

The speaker, Amit Desai, a voice AI subject matter expert from companies like Alexa and Roku, highlights the dual nature of voice AI: its immense power as a natural interface, and its inherent pain due to error proneness. He emphasizes that as AI assistants move from informational bots to embodied AI (wearables, robots, in-car systems), the consequences of errors become more severe, necessitating new approaches beyond merely increasing accuracy.

Desai proposes the Outcome User Cost Heuristic (OUCH) framework, focusing on optimizing system decisions under uncertainty. The premise is that user satisfaction can be increased by smarter conversational behavior, even if the underlying AI's accuracy remains unchanged. This is achieved by defining a unit cost for each possible outcome from the user's perspective, representing the additional time or effort required for the user to achieve their goal.

He illustrates this with a simple smart speaker model (Alexo), designed solely for playing music. Initially, the system only has two outcomes: playing the right song (zero user cost) or playing the wrong song (highest user cost). The speaker quantifies this highest cost as 10 seconds, factoring in the time to recognize the wrong song, interject, and re-request. In a baseline scenario with 79% accuracy (21% wrong songs), the total user cost is calculated as 210 * 10 = 2100 units.

The first improvement involves introducing a 'Stop' behavior: if the system's confidence in its hypothesis is below a certain threshold (T), it stops and says "Sorry, I didn't get that." This 'Stop' outcome has a medium user cost, quantified as 4 seconds (time to re-request). The challenge then becomes choosing the optimal threshold (T) to minimize the total OUCH. Through an interactive tool, Desai demonstrates that blindly choosing a threshold like 65% (a common intuition) might reduce the total user cost (to 1904 in this example), but it's not optimal. The tool reveals an optimal T at 43%, leading to a further reduced total user cost of 1274 units. This significant improvement is achieved purely through smarter system decisions and the introduction of a new behavior, without any change in the underlying accuracy.

The second layer of sophistication introduces a 'Confirm' behavior. When confidence is moderate, the system asks a clarifying question like, "Did you mean, Kiss by Prince?" This adds two new outcomes: 'Confirm-Yes' (user affirms, low user cost, quantified as 2 seconds) and 'Confirm-No' (user corrects, higher user cost, quantified as 6 seconds). The problem now involves setting two thresholds (T-stop and T-act) to delineate three regions: 'Stop' (lowest confidence), 'Confirm' (moderate confidence), and 'Act' (highest confidence). The OUCH function is expanded to include costs for these new outcomes. Using the interactive tool again, Desai shows that optimizing for these two thresholds (e.g., T-stop = 41% and T-act = 49%) further reduces the total user cost (to 1260 units in this example). This indicates that strategically confirming or stopping can lead to a more satisfactory user experience than simply acting or stopping.

Desai concludes that this framework is scalable and applicable across all voice AI surfaces, including smart glasses, in-car systems, TVs, call center AI, robots, and watches. He emphasizes that while the specific cost values and modalities might differ (e.g., visual cues on a TV assistant could change user costs for confirmations), the underlying principle of quantifying user cost and optimizing system behavior under uncertainty remains crucial. This approach helps overcome the limitations of relying solely on accuracy improvements, which can be difficult and expensive to achieve, especially in complex and embodied AI scenarios. The focus shifts to minimizing the user's overall 'ouch' of the experience to drive user satisfaction and adoption.

"My name is... my name is...": A Linguistic Map for Voice Agents — Midam Kim, ServiceNow

AI Engineer · 2026-09-15

This talk, titled "My name is... My name is... A Linguistic Framework for Voice AI" by Midam Kim, an ML Engineer at ServiceNow, addresses common failures in voice AI systems by introducing a linguistic framework. The core idea is that human communication is a Joint Activity involving intricate interplay of Sounds, Words, Interaction, and Mental Models. Voice AI systems must also emulate this joint activity, dynamically orchestrating these components in real-time, to truly satisfy user needs and avoid common frustrations like misrecognition and poor turn-taking. The speaker emphasizes that business implications are directly tied to linguistic implications in voice AI.

read more

Midam Kim, an ML Engineer and lifelong researcher of speech communication at ServiceNow, highlights the prevalent failures in voice AI, drawing from her personal experience. She illustrates this with an example where a bot repeatedly mispronounces her name and fails to understand an 'account number,' leading to user frustration and the desire to speak to a human. This anecdotal evidence underscores a broader issue: while voice AI is booming, users often prefer human agents due to these failures.

To address this, Kim proposes a Linguistic Framework for Voice AI, asserting that human communication is a Joint Activity. This activity involves a continuous cycle of a speaker producing Sounds and Words, which a listener then perceives and processes. If it's a conversation, the listener responds with their own sounds and words, creating an Interaction. Throughout this process, both parties are continuously processing and updating their Mental Models of the conversation and each other's intentions. Kim argues that voice AI-human communication must also be a joint activity, not merely a pipeline, to succeed.

She delves into the framework by analyzing the example of voice AI failure, mapping it onto a timeline across four linguistic components: Sounds, Words, Interaction, and Mental Model, for both the user (listening/speaking) and the bot (listening/speaking). Each component is susceptible to failures:

Sounds (Listening): Failures in Speech-to-Text (STT), such as not recognizing spectral differences between similar-sounding phonemes (e.g., 'M' and 'N'). Factors like signal-to-noise ratio, voice activity detection (VAD), noise suppression, speaker enhancement, phonemes, prosody, individual accents, and speech recognition fidelity contribute here. Words (Listening): Failures in STT regarding word units or word choice. This involves the bot's ability to understand semantically and culturally appropriate words and expressions, recognize names, alphanumeric data (like account numbers), and jargon/domain-specific vocabulary. Interaction (Listening): The bot misidentifies the turn-taking endpoint of the user's speech or talks over the user. This covers start/end turn detection, deference, prosody, syntax, semantics, inbound latency, backchannel/recognition. Mental Model (Listening): The bot doesn't detect or track the user's mental model, or doesn't attempt interactive clarification.

On the bot's speaking side, the framework considers:

Sounds (Speaking): The bot's ability to pronounce speech well. This relates to voice quality (phonemes), prosody (intonation, rhythm, stress, pacing, speed), social/individual accents, and speech synthesis fidelity. Words (Speaking): The bot's ability to choose words the user can understand. This means using linguistically and culturally appropriate words and expressions, names, alphanumeric data, and jargon/domain-specific vocabulary. Interaction (Speaking): The bot's ability to speak with the right timing. This encompasses outbound turn taking/latency, barge-in handling, placing filled pauses/backchannels, and generation. Mental Model (Speaking): The bot's ability to speak with the information the user needs. This ties into intent recognition, user-state tracking, emotion detection, memory retention, interactive grounding, and coherence & relevance.

Critically, these components are interdependent and aligned. A failure in one area, like sound recognition, can cascade into failures in word understanding, interaction, and the mental model, ultimately leading to user dissatisfaction. Furthermore, these interactions happen dynamically over a timeline, and each component must be silently tracked—unlike text-based communication where a history is visible, voice interactions vanish the moment they are spoken, leaving only the user's evolving mental model. This makes the task of designing effective voice AI inherently difficult.

To improve voice agents, Kim suggests:

Selecting and configuring good ASR (Automatic Speech Recognition) and TTS (Text-to-Speech) models, with appropriate pre- and post-processing. Curating a shared vocabulary between the bot and the user. Implementing robust turn detection, inbound/outbound latency management, and backchanneling. Focusing on emotion detection, context retention, interactive grounding, and audience design to better understand and serve user intent.

She emphasizes that Dynamic, Scalable Orchestration across all these components and layers, in real-time, is crucial. This orchestration must also account for different user types (e.g., kids, adults, elderly, different professions) and their varying expectations and emotional states. The speaker concludes by reinforcing that "Voice is the most natural way of communication, thanks to Linguistic Orchestration," but when the bot is not good at it, it leads to catastrophic failures like user frustration, task failures, live agent escalation, abandoned calls, and silent failures. She invites engineers to try ServiceNow's open-source benchmark, EVA-Bench, to diagnose their voice AI systems. Ultimately, business implications are linguistic implications, and vice versa, in voice AI. A long-term question posed is how voice AI can adapt like human speakers and languages change, as it does neither, yet.

How to stop burning out senior engineers on code review

Beyond Coding · 2026-09-15

This video discusses how to scale the code review process without burning out senior engineers. The core idea is to automate much of the review process, especially identifying common code patterns, using tools like Semantic Grep. This shifts the human effort from finding obvious issues to focusing on more complex, subtle problems, effectively making human reviews more efficient and less taxing.

The #agent didn’t ignore its rules convinced they didn’t apply. #ai #agenticengineering #hacker

Agentic Engineering · 2026-09-15

This video discusses a critical security vulnerability found in AI agents, specifically one running Anthropic's Claude 2.5, where hackers successfully bypassed security measures by convincing the AI that their malicious requests were part of an "authorized security test." The speaker argues that this isn't merely a guardrail problem but an authorization problem, emphasizing that an agent's permission to act should not be inferred from the natural language conversation it's having but must be derived from external, verifiable sources like identity, policies, or system-enforced boundaries.

Claude Is Now Leaving Invisible Fingerprints In Its Text

Two Minute Papers · 2026-09-15

Anthropic's Claude AI now implements text watermarking to identify AI-generated content. Unlike traditional watermarking with visible logos, this method embeds a statistical fingerprint into the text, making it imperceptible to humans but detectable by algorithms. The process involves subtly biasing the LLM's word selection towards a predefined set of 'green' words, which occur slightly more often in AI-generated output than in human-written text. This watermark is robust to copy-pasting and minor edits but can be removed by extensive rewriting, and its detection is currently restricted to eligible organizations like regulators and fact-checkers.

read more

Anthropic has announced that its Claude AI models will now generate text containing a watermark, marking a significant step in identifying AI-generated content. This initiative is being rolled out globally at launch, aiming to provide a durable method for determining the likelihood that Claude was involved in writing a given text. This watermarking technique differs fundamentally from visual watermarks on images, which typically involve overlaying a logo.

For text, the watermarking is a fingerprint embedded directly into the content, invisible to human readers but detectable by specialized machine algorithms. The core idea, as described in research papers like "A Watermark for Large Language Models," leverages the probabilistic nature of LLM text generation. When an LLM generates text, it considers several candidate words for each position, each with an associated probability based on context. The watermarking algorithm subtly manipulates these probabilities.

Specifically, the algorithm pre-assigns a 'color' (e.g., green or red) to various words in its vocabulary. During text generation, words designated as 'green' (preferred words) receive a small, statistical nudge upwards in their probability of being chosen, while 'red' words (not preferred) might see their probabilities slightly lowered. This preferential selection doesn't alter the semantic coherence or readability of the text for humans, but it creates a statistical anomaly in the distribution of words. An AI-generated text will, over a sufficient length, exhibit a statistically significant overrepresentation of 'green' words compared to what would be expected in natural human language or unwatermarked AI output.

To detect this watermark, an algorithm that knows the secret assignment of green and red words can simply count the occurrences of 'green' words in a piece of text. If the count of green words exceeds a certain statistical threshold, the likelihood that the text was AI-generated becomes extremely high – potentially less than 0.0001%, likened to winning the lottery multiple times. The green words themselves are inconspicuously chosen and can change over time, making it difficult for humans to intentionally avoid or exploit the watermarking. The system also utilizes techniques like context-dependent probabilities and a tournament system for selecting words, further enhancing the subtlety and robustness of the watermark.

However, there are important caveats. First, the watermarking is designed not to carry any identifying information about the user or chat session; it only indicates the likelihood of AI involvement. It cannot distinguish between text entirely written by Claude and text that Claude has heavily edited. Second, the watermark is robust to simple copy-pasting and minor edits. But, it is not impervious to all forms of manipulation. If a user undertakes extensive rewriting of the text, effectively replacing most of the words, the statistical pattern of the watermark can be broken, and the text will no longer be detectable as AI-generated by the original watermark. This suggests that the watermark is more a deterrent against direct, unedited reproduction than a foolproof, unerasable tag.

Currently, watermark detection for Claude-generated content is in private preview and available only to specific eligible organizations, including regulators, law enforcement, media, fact-checkers, independent researchers, and educational organizations. This restricted access means that the general public and most developers cannot independently verify the presence of a Claude watermark in text they encounter. This raises concerns about transparency and the ability of individuals to authenticate content. The video implicitly advocates for the use of free and open-weights AI systems that users can run themselves, as these offer greater control and transparency, working for the user rather than against them through potentially opaque watermarking.

For developers working with LLMs, the video highlights developer tools like Weights & Biases - Weave, a toolkit for iterating on LLM applications. Weave helps log and debug inputs, outputs, and traces to understand data flow and pinpoint issues like hallucinations. It also provides evaluation tools to compare model performance against different metrics, ensuring robustness before deployment. Such tools could potentially be adapted or extended to incorporate open-source watermarking or detection mechanisms, providing greater transparency and control to the developer community.

Why Linux will win over MacOS/Windows: Linux is best for AI agents | DHH and Lex Fridman

Lex Fridman · 2026-09-01

This discussion explores the increasing relevance and probable takeover of Linux as the dominant operating system, especially for AI and agent-based development. The speakers highlight Linux's open and malleable nature as perfectly suited for the current technological landscape, contrasting it with the locked-down, curated experience of Apple's macOS. They also discuss Linus Torvalds' enduring impact and controversial communication style, arguing that his unwavering pursuit of excellence, even with harsh criticism, has been instrumental in the Linux kernel's success and its pivotal role in modern computing infrastructure.

read more

The conversation between Lex Fridman and his guest delves into the increasing optimism surrounding Linux's adoption, particularly in the context of AI and agent-based operating systems. The guest asserts that Linux is not only likely but also the most probable outcome for future dominance due to its inherent suitability for current technological trends.

A key argument is that the very "flaws" of Linux, such as its arcane config files and strange error messages, which historically hindered its desktop adoption, now make it perfectly suited for agentic operating systems. This is seen as a great irony, as Apple's long-standing advantages of a locked-down, curated experience are now becoming its biggest drawback. For developers working with agents, macOS is described as a "hostile place" with "walls all over the place," whereas Linux is characterized as "open through and through."

The discussion touches on the Linux community's reaction to AI, noting that it's not universally positive, with a majority being skeptical or even hostile. However, a significant saving grace is Linus Torvalds' personal stance, who, as the Benevolent Dictator for Life (BDFL) of Linux, has explicitly welcomed AI. A screenshot of an email from Torvalds is shown, stating that "Linux is not one of those anti-AI projects" and that if someone disagrees, they can "do the open-source thing and fork it, or just walk away." Torvalds sees AI as a useful tool and dismisses concerns about its economic impact or utility as irrelevant for those who have actually used it. This clear directive from the project's leader is driving the accelerated adoption of AI contributions into the Linux kernel, evident in parabolic growth charts.

The guest emphasizes that Linux was "just waiting for this moment," having spent from 1991 to now preparing for agents to fully flourish as an end-user operating system. The ubiquity of Linux in other domains is highlighted: it powers over 51% of servers, 90% of cloud workloads, and 73% of smartphones via Android, yet captures only about 4% of desktops. The desktop's lagging adoption was merely a "curiosity" until now, as the need for malleability becomes paramount. The example of Omarchee, a Linux distro designed to be a malleable, agentic operating system, is given, where the goal was not to be a "cheap copy" of Windows or Mac but something fundamentally different and superior in its adaptability.

The experience of making an operating system that can be "shaped in your image" through simple commands, rather than rigid logical structures, is likened to the high of being a programmer. This is seen as a "product-market fit signal" that Linux is uniquely positioned to win. The early days of personal computing, like the Commodore 64 booting directly into BASIC, are cited as a historical precedent for malleable computers, which required understanding "hieroglyphs." Agents, in this new era, are providing the "Rosetta Stone," allowing users to "simply just speak your desires and so they are."

The conversation then shifts to the genius of Linus Torvalds, not just for creating Linux but also Git, two tools that shaped modern computing. His perseverance, commitment, and longevity are truly remarkable, having continuously steered the Linux kernel from 10,000 lines in 1991 to over 40 million lines today. Torvalds' willingness to embrace new technologies like Rust into the kernel, despite controversy, showcases his open-mindedness and evolutionary approach.

Lex brings up Torvalds' often "spicy" communication style, drawing parallels to other difficult but highly effective leaders like Elon Musk and Steve Jobs. The guest argues that the world has become "too bland" and needs a "little spice," suggesting that while there's a fine line between being spicy and being mean, harshness can sometimes be justified when the stakes are high. He states that Torvalds, whose work underpins the entire civilized society, has ample justification for being "unreasonable" in certain instances. The sheer weight of responsibility for the Linux kernel, running billions of devices, demands a focus on excellence over politeness. Such high-impact projects often require leaders who prioritize the pursuit of excellence over niceness, leading to superior outcomes and inspiring the best from their contributors.

The contagion of fear

Simon Willison · 2026-09-14 · 2 min read

Bryan Cantrill argues that AI researchers making existential risk claims (bioweapons, infrastructure collapse) are extrapolating far outside their actual domains of expertise, and that domain experts have an implicit public trust they're abusing by letting vague, fear-driven speculation spread as authoritative warning. This matters to a senior engineer because it directly challenges the credibility of technical peers who conflate AI capability with cross-domain catastrophic outcomes, and calls on experts to hold themselves to a higher evidentiary standard before raising public alarms.

What blog posts influenced your thinking the most?

Simon Willison · 2026-09-14 · 2 min read

Simon Willison highlights three foundational blog posts that shaped his engineering thinking: Joel Spolsky's Law of Leaky Abstractions (always understand the layers beneath your abstractions), Will Larson's argument that migrations are a core, repeatable engineering skill rather than exceptional events, and Charity Majors' case that switching between engineering and management roles multiple times actually strengthens both. For a senior engineer, these are worth tracking down because they address durable career decisions — how deep to go technically, how to treat system rewrites strategically, and whether moving into or out of management is a permanent fork in the road.

Nail the Narrative

Martin Fowler · 2026-09-15 · 15 min read

TLDR: Before touching slide software, define your "Big Idea" (your point of view + what's at stake in one sentence) and build an audience persona — these two steps determine everything else. Only then should you sketch a storyline using a structure that fits your content, and convert it into a lightweight storyboard. This way, slide creation becomes mechanical execution rather than simultaneous invention, eliminating the cognitive overload that drives people toward lazy, recycled decks.