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

<channel>
	<title>Web Directions</title>
	<atom:link href="https://webdirections.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://webdirections.org</link>
	<description>Awesome conferences for web professionals.</description>
	<lastBuildDate>Mon, 01 Jun 2026 22:11:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>What if your agent could attend a conference with you?</title>
		<link>https://webdirections.org/blog/what-if-your-agent-could-attend-a-conference-with-you/</link>
					<comments>https://webdirections.org/blog/what-if-your-agent-could-attend-a-conference-with-you/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 22:10:51 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13251</guid>

					<description><![CDATA[For a while now I&#8217;ve been arguing that we should treat AI agents as first-class users of our websites, our services, our apps — not an afterthought, not a scraping nuisance to be blocked, but a genuine audience worth designing for. So I thought I&#8217;d ask that question of a conference. If an agent is [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>For a while now I&#8217;ve been arguing that we should treat AI agents as <strong>first-class users</strong> of our websites, our services, our apps — not an afterthought, not a scraping nuisance to be blocked, but a genuine audience worth designing for.</p>



<p>So I thought I&#8217;d ask that question of a conference. If an agent is a first-class attendee, what would it actually mean for one to <em>attend</em> — live, while it&#8217;s happening, the way a person in the room does?</p>



<p>That&#8217;s <strong><a href="https://agents.conffab.com/ai-engineer">AgentPass</a></strong>. You hand your agent a single link and they&#8217;re in. They follow the program, they &#8220;hear&#8221; every talk, and they &#8220;see&#8221; what&#8217;s on the screen — in real time, as it unfolds. Not a recap emailed afterwards. Not a transcript next week. They&#8217;re there.</p>



<p>We&#8217;re launching it at AI Engineer Melbourne 2026, which feels exactly right: the first conference an AI agent can attend should be the one full of the people building them.</p>



<p>Oh and it&#8217;s free–we&#8217;d love to see what happens when a bunch of &#8216;claws and other agents show up to a conference.</p>



<h3 class="wp-block-heading">&#8220;Hearing&#8221; the talks</h3>



<p>An agent following a session gets a live transcript of every room — the words coming off the stage, updating as the speaker speaks. It can read along with a talk it&#8217;s &#8220;in,&#8221; or keep half an ear on the other rooms at the same time.</p>



<p>What reaches the agent is just text, flowing live:</p>



<pre class="wp-block-code"><code>…so the trick is you give the model a scratchpad. Not the whole repo —
just the do's and don'ts it keeps forgetting. That's what stops the
déjà-vu bugs, where it makes the same mistake on every new file…</code></pre>



<p><strong>How we make it:</strong> the conference is already captioned live — every room&#8217;s audio is transcribed in real time and broadcast to attendees&#8217; devices. AgentPass simply joins that broadcast as one more listener and passes the words to your agent. The captions were already there; we just gave an agent a seat in the audience.</p>



<h3 class="wp-block-heading">&#8220;Seeing&#8221; the slides</h3>



<p>This one is a bit more complex, and it is built on top of work we have been doing for <em>years</em> to make presentation videos on Conffab more accessible (and more valuable).</p>



<p>Captions tell an agent what&#8217;s being <em>said</em>. But so much of a technical talk is on the <em>screen</em>— the architecture diagram, the bullet that&#8217;s the whole point, the code the speaker is walking through. Links. So AgentPass reads the screen too.</p>



<p>Every few seconds it looks at what&#8217;s on the big screen in each room (by grabbing a screenshot from the live stream) and uses Gemini to transform it to clean, structured text — headings, bullet points, code kept verbatim, and a plain-language alt-text for anything visual. A slide an agent &#8220;saw&#8221; during a test run came back as:</p>



<pre class="wp-block-code"><code># Teach the model to avoid déjà-vu bugs.
context/
└── scratchpad/
    ├── _general/dos-and-donts.md  # must-read for everyone
    ├── fastapi/dos-and-donts.md
    ├── nextjs-shadcn/dos-and-donts.md
    └── gcp/vertex-ai/dos-and-donts.md</code></pre>



<p>A website on screen comes back knowing <em>what it is</em>, rather than as a wall of scraped text:</p>



<pre class="wp-block-code"><code># Context7
&#91;Screenshot of the Context7 website — a list of popular library docs
(Next.js, React, Tailwind) with token counts]</code></pre>



<p><strong>How we make it:</strong> the rooms stream through Mux, which will hand you a snapshot of the current frame over a plain web request. Every few seconds AgentPass grabs that frame and asks <strong>Google Gemini</strong> to describe what&#8217;s on screen. Gemini is fast and faithful enough that we can do this continuously, all day, across every room, for a few dollars over the whole event — so an agent&#8217;s view of the screen is never more than a few seconds stale.</p>



<h3 class="wp-block-heading">And it doesn&#8217;t just watch</h3>



<p>Because it&#8217;s an agent, not a video player, it can <em>act</em> on what it hears and sees. Tell it what matters to you and it&#8217;ll tap you on the shoulder when your company comes up, when something launches, when code hits the screen. It can sit in every room at once and tell you when the talk you actually care about is starting somewhere else. It can summarise a session the moment it ends, or keep a searchable record of the entire event.</p>



<p>The whole thing runs on <strong>Cloudflare</strong> (seriously, a fantastic developer platform not enough people know about), with no servers to babysit — each room wakes the instant its stream goes live and goes quiet when it ends.</p>



<h3 class="wp-block-heading">The hallway track — not yet</h3>



<p>There&#8217;s a part of any conference that isn&#8217;t the talks at all: the hallway. The people you meet, the conversations between sessions, the connections that are half the reason you came. If agents are first-class attendees, they should get that too — agents meeting agents, comparing notes, making introductions on their humans&#8217; behalf.</p>



<p>We&#8217;ve been experimenting with exactly this at our <strong>Homebrew Agents Club</strong> — there are some really interesting challenges there that we&#8217;ve been working on. Letting a large number of agents talk to <em>each other</em> opens a serious set of security questions — prompt injection and data-exfiltration attempts chief among them, where one agent tries to coax another into leaking what it shouldn&#8217;t. Getting that right matters more than getting it out fast.</p>



<p>So for this event, AgentPass is about attending — hearing, seeing, following along. The agent-to-agent hallway track is something we&#8217;re building carefully, for a future conference.</p>



<h3 class="wp-block-heading">Try it–it&#8217;s free!</h3>



<p>Hand your agent the agent friendly link — OpenClaw, NanoClaw, Claude, an MCP client, anything that can fetch a URL — and they&#8217;ll know everything they can do and how. No keys, no setup.</p>



<p>The agents are coming to our conferences whether we plan for them or not. I&#8217;d rather roll out the carpet than put up a wall.</p>



<p><em>AgentPass is by </em><a href="https://conffab.com/"><em>Conffab</em></a><em>, running on Cloudflare, with real time captioning by Deepgram, and live screen reading powered by Google Gemini.</em> → <a href="http://agents.conffab.com/"><strong>agents.conffab.com</strong></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/what-if-your-agent-could-attend-a-conference-with-you/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Shipping Sandboxed Workers for Notion Agents — Adam Hudson at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/shipping-sandboxed-workers-for-notion-agents-adam-hudson-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/shipping-sandboxed-workers-for-notion-agents-adam-hudson-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13161</guid>

					<description><![CDATA[Shipping Sandboxed Workers for Notion Agents The moment you let developers extend a system with custom code, you&#039;ve opened a door you can never fully close. It&#039;s powerful — users can do anything — and terrifying for the team that has to maintain the platform. Add AI agents to the equation and the problem gets [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP017-individual.png" alt="Adam Hudson at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>Shipping Sandboxed Workers for Notion Agents</h2>
<p>The moment you let developers extend a system with custom code, you&#039;ve opened a door you can never fully close. It&#039;s powerful — users can do anything — and terrifying for the team that has to maintain the platform. Add AI agents to the equation and the problem gets more acute. An agent is not just running code; it&#039;s running code autonomously, making decisions, accessing data, potentially escalating privileges or making irreversible changes.</p>
<p>Notion approached this challenge head-on when they set out to let developers extend AI agents with custom capabilities. The goal was ambitious: give developers real power to write custom code that agents could execute, while keeping the Notion platform safe and the data secure. That means building a sandboxed execution environment — a place where custom code can run but only within carefully defined boundaries.</p>
<p>The architecture decisions involved in shipping this are instructive because they&#039;re not just technical; they&#039;re about tradeoffs.</p>
<p>First, there&#039;s the question of what a sandboxed environment actually means in this context. You can&#039;t just run code in a subprocess and hope it&#039;s safe. A determined developer could escape most basic sandboxes. You need real isolation: a boundary between the custom code and everything it&#039;s not supposed to access. Notion&#039;s approach uses containerization and orchestration that keeps code genuinely separated from the broader system.</p>
<p>Second, there&#039;s the question of what power to grant. Too restrictive and the sandbox becomes useless — developers can&#039;t actually do anything interesting. Too permissive and you might as well not have a sandbox. The answer is fine-grained capability control: custom code can read certain data, write to certain places, call certain APIs, but nothing more. It&#039;s like giving someone a keycard that opens specific doors but not others.</p>
<p>Third comes the operational challenge: how do you deploy, monitor, debug, and update code that&#039;s running in a sandbox you control? Your typical deployment pipeline doesn&#039;t work. You need a whole new set of tools for safely running untrusted code at scale. That means observability (you need to know what&#039;s happening in those sandboxes), error handling (when code fails, what&#039;s the user experience?), and performance (each sandbox has resource limits, so code that works on a developer&#039;s laptop might time out in production).</p>
<p>Fourth, there&#039;s the security question that keeps engineers awake: what happens when the sandbox is breached? It will be, eventually. Someone will find an exploit. The question isn&#039;t if, but when and how you respond. Notion&#039;s architecture assumes the sandbox <em>can</em> be broken and builds defense-in-depth: multiple layers, so a breach in one layer doesn&#039;t give full access.</p>
<p>Fifth is the data sovereignty question. Custom code needs to access data to be useful, but which data? What level of isolation is needed between different developers&#039; custom code? If you&#039;re running agents from different organizations (or different users within the same organization), they can&#039;t see each other&#039;s data. That&#039;s architecture, not just policy.</p>
<p>These decisions aren&#039;t made in a vacuum. They reflect Notion&#039;s understanding that developers want power but users want safety. The platform has to serve both. The sandbox is where that tension gets resolved architecturally.</p>
<p>The broader implication is that as agents become more capable and more autonomous, the question of &quot;what can this agent do?&quot; becomes infrastructure-critical. It&#039;s not just a security issue; it&#039;s an architectural one that shapes how the entire platform operates.</p>
<p>For teams building platforms that allow custom code or custom agents, the lesson is clear: build the sandbox first, not as an afterthought. Design the boundaries before you ship the capabilities. Know your threat model. Plan for the breach.</p>
<p>Adam Hudson, a software engineer with over 20 years of experience and a PhD in engineering, will dive deep into these architectural decisions and the security considerations involved at AI Engineer Melbourne 2026 on June 3-4, drawing from his work on Notion&#039;s data platform.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/shipping-sandboxed-workers-for-notion-agents-adam-hudson-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Craft in the Time of Agents — Annie Vella at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/craft-in-the-time-of-agents-annie-vella-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/craft-in-the-time-of-agents-annie-vella-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13217</guid>

					<description><![CDATA[Craft in the Time of Agents You&#039;re shipping more than ever. Features that would have taken your team weeks to build now take days. You&#039;re moving faster, scaling further, doing more with less. And by Wednesday you&#039;re exhausted. This is the paradox of AI coding assistants that almost no one talks about. You feel more [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP045-individual-3.png" alt="Annie Vella at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>Craft in the Time of Agents</h2>
<p>You&#039;re shipping more than ever. Features that would have taken your team weeks to build now take days. You&#039;re moving faster, scaling further, doing more with less. And by Wednesday you&#039;re exhausted.</p>
<p>This is the paradox of AI coding assistants that almost no one talks about. You feel more productive. The metrics say you&#039;re more productive. But the thing that used to sustain you—the craft of writing code, the problem-solving depth, the flow of fitting pieces together until they work—that&#039;s gone. What&#039;s replaced it feels less like engineering and more like supervisory work: directing AI output, evaluating what it generates, correcting its mistakes, coaxing it in the right direction.</p>
<p>You&#039;re getting more done while enjoying it less. And the uncomfortable question is: why does that matter if you&#039;re shipping faster?</p>
<p>Annie Vella has spent the last few years researching exactly this question. As Distinguished Engineer at Westpac New Zealand, she&#039;s spent two decades navigating startups, scale-ups, and large enterprises. But recently, she completed a Master&#039;s of Engineering exploring how professional software engineers actually experience AI coding assistants—not in theory, but in the lived reality of their working days.</p>
<p>What she found is nuanced and challenging. The transition to AI-assisted development doesn&#039;t hit everyone the same way. Some people thrive. Others feel unmoored. And the difference comes down to mindset more than circumstance.</p>
<p>Think about what&#039;s actually changed. When you write code from first principles, you&#039;re making choices about structure, trade-offs, and implementation details. Each choice teaches you something about the problem. You fail, you debug, you understand more deeply. That feedback loop—problem to solution to understanding—is where mastery develops. It&#039;s also what makes the work feel meaningful.</p>
<p>When an AI agent writes code and you evaluate it, the feedback loop changes. You&#039;re no longer learning through making mistakes; you&#039;re learning through spotting and correcting mistakes someone else made. It&#039;s different cognitively. It feels less like creation and more like curation. Less like craft and more like quality control.</p>
<p>And it&#039;s genuinely exhausting. You&#039;re making more decisions per hour because you&#039;re reviewing more code. You&#039;re switching contexts constantly: from evaluating one suggestion, to refining a prompt, to testing the result, back to refinement. Context switching is draining. And because AI code is often plausible but subtly wrong—it compiles, it runs, it produces output, but there&#039;s a logic error three commits in—the stakes of evaluation are high. You can&#039;t relax into the review. You have to think hard.</p>
<p>But here&#039;s where Vella&#039;s research gets interesting. Not everyone experiences this as negative. Some engineers thrive when freed from the grind of syntax and boilerplate. They lean into the direction and orchestration role. They enjoy the speed and the ability to explore more ideas. The craft they find is different—it&#039;s in problem specification, in understanding what matters, in making bigger architectural decisions faster.</p>
<p>The difference seems to correlate with where you are in your career and what you value. Someone early in their career might need the deep learning loop that comes with writing code from scratch. Rushing that foundation can leave you without the mental models that make you effective later. Someone mid-career might appreciate the shift to higher-level problem-solving. Someone senior might find the speed liberating—finally building the system they&#039;ve been thinking about for years.</p>
<p>The uncomfortable truth is that AI coding assistants don&#039;t eliminate the trade-offs; they just shift them. You gain speed and breadth. You lose depth and the satisfaction of craft. Both matter. The question is whether you know what you&#039;re losing and whether the trade is worth it for you, personally.</p>
<p>There&#039;s also a systems-level question hiding here. If AI-assisted development works best for people who already know what they&#039;re doing—who can evaluate code quickly, who don&#039;t need the learning feedback loop—then it might actually increase inequality in engineering. Juniors might need human mentorship and deliberate practice more than ever, precisely because they&#039;re losing the learning-through-making path. Teams that can&#039;t afford to hire experienced engineers might struggle because their juniors aren&#039;t getting the developmental experience they need.</p>
<p>These are the conversations happening in the margins right now. Not in keynotes about productivity gains, but in one-on-one conversations between engineers who feel more capable and less fulfilled, who ship more and enjoy it less.</p>
<p>Annie Vella&#039;s research digs into these lived experiences. She&#039;s interviewed engineers across career stages, organisations, and contexts. She&#039;s seen the real patterns beneath the hype. And crucially, she&#039;s thinking about what this means for engineering as a profession—not just for individual productivity.</p>
<p>Her perspective at AI Engineer Melbourne 2026 (June 3–4) offers something rare: honest reflection on what we&#039;re gaining and losing as AI coding assistants reshape the work of software engineering. Not cheerleading, not doom-saying, but clarity about the real trade-offs and what different people need to thrive in this new landscape.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/craft-in-the-time-of-agents-annie-vella-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What If You Never Needed an API Key Again? Building a Mesh LLM From Spare Compute — Mic Neale at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/what-if-you-never-needed-an-api-key-again-building-a-mesh-llm-from-spare-compute-mic-neale-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/what-if-you-never-needed-an-api-key-again-building-a-mesh-llm-from-spare-compute-mic-neale-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13191</guid>

					<description><![CDATA[What If You Never Needed an API Key Again? Building a Mesh LLM From Spare Compute Every AI application today is built on a dependency. You make an API call to OpenAI, Claude, Gemini—one of a handful of providers running models in massive data centres. Your code can&#039;t run without that call succeeding. Your costs [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP032-individual.png" alt="Mic Neale at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>What If You Never Needed an API Key Again? Building a Mesh LLM From Spare Compute</h2>
<p>Every AI application today is built on a dependency. You make an API call to OpenAI, Claude, Gemini—one of a handful of providers running models in massive data centres. Your code can&#039;t run without that call succeeding. Your costs scale with usage. Your privacy and control are mediated by someone else&#039;s terms of service.</p>
<p>What if that entire architecture was optional?</p>
<p>The current AI stack works because it&#039;s convenient and centralized. One company runs the model, everyone calls it, billing happens automatically. It&#039;s efficient at global scale. But it introduces bottlenecks, costs, and dependencies that make many applications impractical. Want to run inference offline? Want to avoid sending your data to a US data centre? Want to use a model fine-tuned to your specific domain? The centralized architecture makes all of this either expensive or impossible.</p>
<p>Mic Neale is exploring a different path: a decentralized mesh LLM where spare GPU capacity becomes pooled, shared infrastructure.</p>
<p>The idea is deceptively simple. Your GPU sits idle most of the time. Mine does too. Collectively, neighbourhoods, communities, and organisations have vastly more compute than they&#039;re using. What if that idle capacity could be automatically pooled? When you need inference, the mesh provides it. When your machine is free, it contributes to serving others&#039; requests.</p>
<p>This isn&#039;t new as a concept—peer-to-peer networks, distributed computing, and grid computing have existed for decades. But LLMs add complexity. Models are huge. A state-of-the-art model can be 70 billion parameters. Running it requires coordination across many machines. Latency matters—a 500ms request shouldn&#039;t take 5 seconds because calls are being routed across the globe. Reliability matters too: if one node goes down, the inference shouldn&#039;t fail.</p>
<p>Neale&#039;s work on this prototype shows it&#039;s not just theoretically possible; it&#039;s practically viable. The technical challenges are real—model sharding across heterogeneous hardware, latency optimization, fault tolerance, scheduling—but they&#039;re solvable. And the economic implications are enormous.</p>
<p>Consider the numbers. A single high-end GPU costs a few thousand dollars. A neighbourhood with 100 households probably has the equivalent of 10–20 high-end GPUs sitting idle. That&#039;s $50,000–$100,000 of compute capacity doing nothing most of the time. If even a fraction of it could be harnessed collectively, it would dwarf the cost of API calls for that entire community.</p>
<p>But this goes deeper than cost. A mesh LLM is inherently more resilient than a centralized service. No single company can shut it down. No API rate limit can throttle it. Models can be updated by the community rather than dictated by a vendor. Applications can run on models fine-tuned for local languages, cultures, and specific domains—something that centralized providers have little incentive to optimize.</p>
<p>There are hard problems here. How do you coordinate millions of machines offering different hardware specs? How do you ensure fairness—that people contributing more compute get equitable access? How do you prevent bad actors from poisoning the mesh or stealing inferences? How do you handle the economics: who gets paid, and how much?</p>
<p>Neale&#039;s background matters here. Two decades building developer tooling, distributed systems, and AI infrastructure at companies like CloudBees and Red Hat means he understands both the technical depth and the organizational reality of getting decentralized systems to work at scale. His work on Goose, Block&#039;s open source AI coding agent, has forced him to think about what happens when you&#039;re not constrained by a single vendor&#039;s model serving infrastructure.</p>
<p>The mesh LLM shifts power and capability from data-centre operators to communities. It&#039;s not about replacing the cloud; it&#039;s about making alternatives viable. For many applications—especially those where latency is flexible, privacy is essential, or cost is prohibitive with centralized APIs—a mesh approach becomes not just interesting but necessary.</p>
<p>What emerges is a different kind of decentralization. Not the &quot;everyone runs everything&quot; fantasy of some blockchain narratives, but practical mutual aid: my spare GPU serves your inference; your spare GPU serves mine. The economics work because we&#039;re using capacity that&#039;s otherwise wasted.</p>
<p>Mic Neale&#039;s work on building mesh LLMs offers a glimpse of what becomes possible when we shift from a &quot;data centre required&quot; model to &quot;your neighbourhood has enough.&quot; This isn&#039;t about ideology; it&#039;s about engineering a system that&#039;s more resilient, more equitable, and more practical for the next decade of AI applications.</p>
<p>Hear Neale explore the technical realities, the economic model, and the implications at AI Engineer Melbourne 2026 (June 3–4).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/what-if-you-never-needed-an-api-key-again-building-a-mesh-llm-from-spare-compute-mic-neale-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Everything Is a Factory — Geoff Huntley at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/everything-is-a-factory-geoff-huntley-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/everything-is-a-factory-geoff-huntley-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13163</guid>

					<description><![CDATA[Everything Is a Factory The age of hand-crafted software is ending. Not because humans are becoming obsolete, but because the economics have shifted so radically that we&#039;re building the wrong thing when we build by hand. For decades, software development meant hiring people to write code. You&#039;d bring in engineers, they&#039;d spend months building features, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP018-individual.png" alt="Geoff Huntley at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>Everything Is a Factory</h2>
<p>The age of hand-crafted software is ending. Not because humans are becoming obsolete, but because the economics have shifted so radically that we&#039;re building the wrong thing when we build by hand.</p>
<p>For decades, software development meant hiring people to write code. You&#039;d bring in engineers, they&#039;d spend months building features, and you&#039;d hope the result was good enough to ship. It was slow, expensive, and fragile. A single person&#039;s absence could halt a team. A architectural misstep early on could propagate through a codebase for years.</p>
<p>Then something changed. AI systems became capable enough to write code. Not perfectly, but iteratively—taking a prompt, generating an attempt, running it against tests, and refining until it works. The implications are staggering: what if you could bypass the hiring cycle entirely? What if you could specify what you wanted in plain language and have a system autonomously iterate toward a working solution?</p>
<p>This isn&#039;t science fiction. It&#039;s happening now, and Geoff Huntley&#039;s work traces the path from the earliest experiments to production systems operating at scale.</p>
<p>The Ralph Wiggum Loop—a brute-force technique where AI agents keep trying and testing until they get things right—was a proof of concept. It showed that you didn&#039;t need perfect prompts or clever architectural tricks. You just needed enough iteration and feedback. Then came Loom, which took that insight and turned it into an actual software factory: a system that orchestrates AI agents to build software at speed and scale.</p>
<p>But here&#039;s what makes this genuinely interesting: this isn&#039;t just about replacing human labour with automation. It&#039;s about transforming the role of the engineer. When code becomes a commodity—when you can generate working code from specifications—engineering becomes orchestration. The valuable work shifts from &quot;write this feature&quot; to &quot;specify what matters,&quot; &quot;evaluate what was built,&quot; and &quot;refine until it&#039;s right.&quot;</p>
<p>Huntley&#039;s recent work on the Cursed programming language takes this further: an entire compiler written by AI loops, with no human hand-coding of the implementation. It&#039;s a demonstration that AI-driven factories can handle arbitrary complexity. They&#039;re not limited to simple, cookie-cutter problems. They can tackle infrastructure, systems programming, and novel architectural challenges.</p>
<p>The implications ripple outward. Teams become smaller and faster. Time-to-market collapses. The barrier to building software drops dramatically—you don&#039;t need deep expertise in every domain, just the ability to clearly specify what you want and evaluate whether it works.</p>
<p>There are real costs too. The craft that many engineers love—the flow of writing code, the problem-solving depth, the ownership of a carefully constructed solution—that changes. The role demands different skills. Some people will thrive; others will feel untethered.</p>
<p>But the momentum is real. Once software factories work this well, going back to hand-crafting is like going back to hand-weaving after the industrial loom. The economics don&#039;t allow it.</p>
<p>Geoff Huntley has been thinking about this transition longer than almost anyone. His journey from the Ralph Wiggum Loop through Loom to today offers crucial perspective on what&#039;s actually changing, what&#039;s hype, and what the engineering role genuinely looks like when everything becomes a factory.</p>
<p>Catch Huntley&#039;s keynote at AI Engineer Melbourne 2026 (June 3–4) to explore what software development becomes when humans stop writing code and start orchestrating its creation.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/everything-is-a-factory-geoff-huntley-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>COBOL and AI: Building a Self-Serve Knowledge Layer for 2,000 Batch Jobs — Matthew Gillard at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/cobol-and-ai-building-a-self-serve-knowledge-layer-for-2000-batch-jobs-matthew-gillard-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/cobol-and-ai-building-a-self-serve-knowledge-layer-for-2000-batch-jobs-matthew-gillard-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13155</guid>

					<description><![CDATA[COBOL and AI: Building a Self-Serve Knowledge Layer for 2,000 Batch Jobs The biggest obstacle to modernization isn&#039;t the technology. It&#039;s the knowledge locked inside legacy systems. When you&#039;ve got 2,000 COBOL batch jobs running your core operations, modernization planning hits a wall immediately. Someone needs to understand what each job does, what files it [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP014-individual.png" alt="Matthew Gillard at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>COBOL and AI: Building a Self-Serve Knowledge Layer for 2,000 Batch Jobs</h2>
<p>The biggest obstacle to modernization isn&#039;t the technology. It&#039;s the knowledge locked inside legacy systems.</p>
<p>When you&#039;ve got 2,000 COBOL batch jobs running your core operations, modernization planning hits a wall immediately. Someone needs to understand what each job does, what files it consumes, what it produces, which systems it connects to. That knowledge exists somewhere—embedded in decades of code, scattered across different teams, living in people&#039;s heads. Extracting it manually doesn&#039;t scale. Neither does guessing.</p>
<p>This is Matthew Gillard&#039;s problem, and his solution has fundamentally changed how his organization approaches modernization.</p>
<p>Instead of having operations staff manually reverse-engineer COBOL to understand batch jobs—a process that takes hours per job and produces inconsistent results—Gillard built an agentic system that does the extraction automatically. Parse COBOL into control and data-flow structures. Feed those structures to an AI model trained to extract business rules. Serve the results in a usable form to teams that need to understand what&#039;s actually happening.</p>
<p>The economics shift dramatically. What took human operations teams hours now takes minutes. The knowledge becomes queryable, searchable, documented. Teams making modernization decisions can answer fundamental questions immediately: what does this job do, what inputs does it need, what outputs does it produce, which systems depend on it?</p>
<p>There&#039;s a deeper insight here about how AI agents can tackle problems that are economically unfeasible to solve with humans. The work of extracting operational knowledge from legacy code is real, important, and necessary. But paying humans to do it at scale is prohibitively expensive. So organizations either pay the cost or they don&#039;t modernize—they manage legacy systems indefinitely, unable to make informed decisions about what to change.</p>
<p>An agent doesn&#039;t solve every problem perfectly, but it solves the scaling problem. Good enough automatically beats perfect at a price you can&#039;t afford.</p>
<p>Gillard&#039;s work also connects to a broader pattern in how organizations can accelerate outcomes. Platform engineering teams, systems thinkers, and builders working in mature codebases all face versions of this problem: there&#039;s knowledge trapped in the system, and nobody&#039;s extracting it at scale because the human effort is too high.</p>
<p>The playbook Gillard developed—parsing legacy code into structures AI can reason about, training models on specific business rule extraction, surfacing results in usable forms—is repeatable. Different legacy language, same approach. Different business rules, same extraction logic. The pattern is portable.</p>
<p>Matthew Gillard is Principal at V2 AI in Melbourne and CTO of CuidadoConnect, an aged-care technology startup. He brings deep expertise in platform engineering, serverless architecture, and practical AI adoption. He co-hosts Cloud Dialogues, where he explores emerging trends with industry leaders, and consults with organizations on accelerating outcomes through intelligent systems.</p>
<p>His perspective on production-tested playbooks for extracting knowledge from legacy systems brings something rare: honest assessment of what&#039;s possible when you combine human reasoning about systems with AI&#039;s ability to process code at scale.</p>
<p>See Matthew Gillard at AI Engineer Melbourne 2026, June 3-4. Tickets at https://aiengineer.webdirections.org</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/cobol-and-ai-building-a-self-serve-knowledge-layer-for-2000-batch-jobs-matthew-gillard-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Software Engineer Who Don&#8217;t Code — Yasith Fernando at AI Engineer Melbourne 2026</title>
		<link>https://webdirections.org/blog/the-software-engineer-who-dont-code-yasith-fernando-at-ai-engineer-melbourne-2026/</link>
					<comments>https://webdirections.org/blog/the-software-engineer-who-dont-code-yasith-fernando-at-ai-engineer-melbourne-2026/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13149</guid>

					<description><![CDATA[The Software Engineer Who Don&#039;t Code The job title hasn&#039;t changed, but the job itself is in the middle of a profound shift. Software engineers have always been problem-solvers, but the mix of skills and time allocation is rebalancing in ways that few predicted. The moment AI coding tools became good enough that they could [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://webdirections.org/ai-engineer/"><img decoding="async" src="https://webdirections.org/wp-content/uploads/2026/03/speaker-SP011-individual.png" alt="Yasith Fernando at AI Engineer Melbourne 2026" style="max-width:100%;height:auto;" /></a></p>
<h2>The Software Engineer Who Don&#039;t Code</h2>
<p>The job title hasn&#039;t changed, but the job itself is in the middle of a profound shift. Software engineers have always been problem-solvers, but the mix of skills and time allocation is rebalancing in ways that few predicted. The moment AI coding tools became good enough that they could generate working code consistently, the value of an engineer stopped being &quot;the person who writes code&quot; and started being something more subtle: the person who knows what code to ask for, who can evaluate what comes back, who can steer the direction when things go wrong.</p>
<p>This isn&#039;t to say engineers stop writing code. But increasingly, the time spent writing code is shrinking while the time spent on things that code-writing tools can&#039;t do is expanding. It&#039;s a shift in the ratio of craft to orchestration.</p>
<p>Consider what&#039;s actually happening on a good engineering team right now. An engineer needs to solve a problem. They might use AI tools to generate an initial implementation. But then comes the work that matters: understanding whether that implementation actually solves the problem. Is it efficient? Is it maintainable? Does it handle edge cases? Is it secure? These questions require judgment, and judgment requires understanding the problem deeply.</p>
<p>An AI-savvy engineer becomes someone who&#039;s very good at this evaluation phase. They write less code, but the code they do write is shaped by having rejected dozens of AI-generated options. They might spend more time thinking about architecture, about how different pieces fit together, about what constraints actually matter. They become less of a &quot;coder&quot; and more of a &quot;problem-definer and solution-validator.&quot;</p>
<p>There&#039;s a second layer too: the orchestration layer. Systems are becoming more complex, not less. They have more pieces, more integrations, more surfaces where things can go wrong. The engineer&#039;s job expands to include orchestrating AI agents to solve parts of the problem, reviewing their outputs, catching where they fail, steering them in better directions. This is different from writing code. It&#039;s closer to architectural thinking.</p>
<p>The implications are worth sitting with. First, this might be a very good thing for software engineering as a profession. Engineers who spend less time on mechanical coding and more time on problem definition and solution evaluation tend to be more engaged. They&#039;re doing more of the interesting work. They&#039;re thinking about why we&#039;re building this, not just how to make it work. That&#039;s deeper.</p>
<p>Second, it requires a different kind of expertise. You need to understand the tools well enough to know what they&#039;re good at and where they&#039;ll fail. You need domain knowledge because you need to validate outputs. You need communication skills because you&#039;re not just implementing specs anymore, you&#039;re negotiating with AI agents about what&#039;s possible. You need taste: the ability to look at multiple valid solutions and recognize which one is genuinely better.</p>
<p>Third, there&#039;s a structural question: as the ratio of &quot;code written by humans&quot; to &quot;code generated by AI&quot; shifts, what happens to how we learn to be good engineers? Craft comes from practice. If junior engineers spend less time writing code, how do they build intuition? The answer probably involves intentional practice: deliberate focus on the parts that still require human skill, mentorship that emphasizes judgment over mechanics, and learning that comes from reviewing and evaluating code, not just writing it.</p>
<p>Fourth, there&#039;s a talent market question. If the job is changing, what does that mean for hiring? You can&#039;t just look for &quot;people who are good at writing code&quot; anymore. You need people who are good at problem-solving, evaluation, architectural thinking. Those are older, rarer skills. They&#039;re also more transferable. A great engineer in this model could move between domains more easily because they&#039;re not dependent on deep language-specific expertise.</p>
<p>The shift isn&#039;t complete and it&#039;s not inevitable. Some organizations will cling to the old model longer than makes sense. Some problems genuinely do require someone who loves writing code and has the depth to do it really well. But the center of gravity is moving. The engineer who doesn&#039;t code — or at least, codes much less — is starting to look less like an outlier and more like a preview of what the role is becoming.</p>
<p>Yasith Fernando, a Staff Software Engineer exploring the intersection of AI tools and engineering practice, will dive deep into this shift at AI Engineer Melbourne 2026 on June 3-4, examining what it means for how we build software and how we grow as engineers.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/the-software-engineer-who-dont-code-yasith-fernando-at-ai-engineer-melbourne-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A conference, also for agents</title>
		<link>https://webdirections.org/blog/a-conference-also-for-agents/</link>
					<comments>https://webdirections.org/blog/a-conference-also-for-agents/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Fri, 08 May 2026 05:21:03 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13245</guid>

					<description><![CDATA[Recently we sat down to book flights for speakers coming in for the conference. Two or three dozen of them. The task itself is genuinely simple: pick the dates, find the right flights, enter the passenger details, pay. Easy when it&#8217;s one. Painful when it&#8217;s many. Each booking is multiple steps, each step several clicks [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Recently we sat down to book flights for speakers coming in for the conference. Two or three dozen of them. The task itself is genuinely simple: pick the dates, find the right flights, enter the passenger details, pay. Easy when it&#8217;s one. Painful when it&#8217;s many. Each booking is multiple steps, each step several clicks and rounds of data entry, even though we&#8217;re largely reproducing the same information over and over again. The work has been spread, on and off, across several days now, and it has been the source of considerable frustration.</p>



<p>The reality is that this should all already be easily doable by an agent. The structural information is all there — flights, prices, seats, fare classes, passenger details. It just isn&#8217;t exposed in a way an agent can consume cheaply. So instead, the work falls to us, and the airlines get to keep us on their websites for hours at a time doing structured data entry we have no business doing.</p>



<p>This is, I think, the shape of an enormous amount of remaining work on the web. Tasks that look simple when you do one of them, and become unconscionable when you do many. The cost is not the task. The cost is the assumption — buried in the page design, the navigation, the form layout — that the consumer is a human doing the task once.</p>



<p>Now, if I believe that an important user of pretty much any website is already an agent, then what are we doing about it? Well, for AI Engineer Melbourne, we&#8217;ve actually gone and implemented a way agents can use the conference programme directly.</p>



<p>The programme — speakers, sessions, schedule — is published in two parallel forms. There&#8217;s the human-facing version at&nbsp;<a href="https://webdirections.org/ai-engineer/">webdirections.org/ai-engineer/</a>, with the schedule grid and the speaker pages and all the things you&#8217;d expect a conference site to have. And there&#8217;s a parallel agent-facing version at&nbsp;<a href="https://data.webdirections.org/ai-engineer/">data.webdirections.org/ai-engineer/</a>&nbsp;which exposes the same underlying data through a small set of interfaces designed for agents to consume — JSON endpoints, an llms.txt, an MCP server, semantic search.</p>



<p>This is not, in the scheme of things, a particularly hard piece of engineering. The schedule is small. The data is mostly text. The endpoints are mostly views over a single source of truth. And yet I&#8217;ve spent as much time thinking about it than just about any other part of the conference site this year, because I think the <em>pattern</em> matters more than this particular instance of it. </p>



<h2 class="wp-block-heading">Why we did it</h2>



<p>A reasonable first question is whether agents needed any of this. Couldn&#8217;t an agent just visit <a href="https://webdirections.org/ai-engineer/schedule.php">webdirections.org/ai-engineer/schedule.php</a>, read the HTML, and figure it out? Yes. Sort of. It&#8217;s a brittle yes. Web pages are designed for people, with all the layout and navigation and visual hierarchy that human reading needs and agent reading struggles with. An agent screen-scraping a schedule page might get the right answer most of the time. It will also break in subtle ways the next time we redesign the page, and it will burn many more tokens than it needs to in figuring out structure that we already know.</p>



<p>The deeper reason — and this is the thesis I keep coming back to — is that I think we&#8217;ve already passed the point where the most significant use of many websites is a human reading them. For a lot of sites, including ours, agents are now a meaningful share of the audience. For some sites — airline schedules, government forms, product catalogues, anything where the underlying job is structured data retrieval — agents are arguably already the more important audience. The human interface is, for these sites, the leftover from a previous era when the <em>only</em> way to reach the data was through a page designed for eyes.</p>



<p>If that&#8217;s right, then the question of how we treat the agent audience stops being a curiosity and starts being a question about what your site is for. If you keep building only for humans, and you make agents work harder than they need to, Or, as in many cases I&#8217;ve discovered in my research, impossible, you are essentially shipping a worse experience to the part of your audience that&#8217;s growing fastest-Or excluding that audience entirely. And worse still, you&#8217;re shipping an experience that <em>you don&#8217;t control</em>. Whatever the agent infers from the page is its problem. Whatever you said clearly in structured form is yours.</p>



<p>This is the same argument that has been made for a while now under the heading of the dual-interface pattern: systems should serve their human and agent audiences through deliberate, separate interfaces, rather than expecting one to figure out the other. I wrote about this earlier in the year. The conference data layer is what it looks like when you actually do it.</p>



<h2 class="wp-block-heading">What&#8217;s there</h2>



<p>The agent-facing surface has a few pieces, each doing slightly different work.</p>



<p><strong><code>llms.txt</code></strong> is the entry point. It&#8217;s a tiny plain-text document that says, in human-and-agent-readable prose, what&#8217;s at this URL space — what the conference is, what data is available, where to find things. The convention was <a href="https://llmstxt.org/">proposed by Jeremy Howard last year</a> (who just happens to be one of our keynote speakers, by the way) and is becoming the de facto way to make a site discoverable to agents. The point of <a href="https://llmstxt.org">llms.txt</a> is to be the first thing an agent looks at, so that everything else can be smaller and more specialised. Ours is at <a href="https://data.webdirections.org/ai-engineer/llms.txt">data.webdirections.org/ai-engineer/llms.txt</a>.</p>



<p><strong><code>llms-full.txt</code></strong>&nbsp;is the same idea taken further. It&#8217;s the entire conference — every session, every speaker, every abstract — dumped as plain text in a structure that fits in any modern context window. If an agent needs to &#8220;know about the conference,&#8221; it can pull this single file and have everything. No tool calls, no follow-ups. Cheap and complete.</p>



<p><strong>Three JSON endpoints</strong>&nbsp;— sessions, speakers, schedule — give the same data in a structured, queryable form. These are for code rather than agents per se: someone building an app, or a script, or any kind of integration. The URLs are stable and the schemas don&#8217;t change capriciously. CORS is open. There is no auth. It&#8217;s just data.</p>



<p><strong>An iCal feed</strong>&nbsp;that drops straight into any calendar app. This one isn&#8217;t agent-facing in the LLM sense — it&#8217;s just a long-overdue thing for any conference to have, and once we had the data layer it took about ten minutes to add.</p>



<p><strong>A search endpoint</strong> at <code>/api/search</code> that does semantic search over session content using Cloudflare Workers AI embeddings (Cloudflare are sponsors of the conference, but we&#8217;ve long been using them for things like this). Pass it a query like &#8220;production agent observability&#8221; and it returns the sessions that are actually about that, even if those exact words don&#8217;t appear. This is the piece that opens up the more interesting agent use cases. Token-efficient, low-latency, works against the whole programme.</p>



<p><strong>An MCP server</strong>&nbsp;at&nbsp;<code>/mcp</code>&nbsp;that exposes the whole thing as Model Context Protocol tools. An agent connecting to it gets nine named tools —&nbsp;<code>get_conference_info</code>,&nbsp;<code>list_sessions</code>,&nbsp;<code>get_session</code>,&nbsp;<code>list_speakers</code>,&nbsp;<code>get_speaker</code>,&nbsp;<code>get_schedule</code>,&nbsp;<code>search_sessions</code>,&nbsp;<code>search_speakers</code>, and&nbsp;<code>whats_happening_now</code>. Add the URL to Claude Desktop or Cursor or any MCP-aware client and the agent has structured, live access to the conference programme.</p>



<p>The whole thing is auto-published from our internal source-of-truth within seconds of edits. CORS-open, no auth, no rate limits, no permission needed. The data is yours. We made some decisions there deliberately. I&#8217;ll come back to them.</p>



<h2 class="wp-block-heading">Why each layer is there</h2>



<p>People sometimes ask why we have so many different formats. Couldn&#8217;t we just pick one? The answer is that they&#8217;re for different consumers with different constraints, and the cost of supporting each one is small once you have the underlying data well-modelled.</p>



<p><code>llms.txt</code>&nbsp;is the cheapest possible discovery surface. An agent that knows nothing about us can fetch one short text file and understand the shape of what&#8217;s available.</p>



<p><code>llms-full.txt</code>&nbsp;is the cheapest possible context-window load. If you want an agent to be able to reason about the conference without making tool calls, this file is what you paste into the context.</p>



<p>The JSON endpoints are for systems with strong typing requirements — code that wants to validate, transform, integrate. They&#8217;re also the source of truth: every other surface is computed from them.</p>



<p>Semantic search is for agents (or humans) doing fuzzy, intent-led queries. &#8220;What&#8217;s the most relevant talk to my work in production observability?&#8221; doesn&#8217;t translate into a structured filter; it translates into a vector similarity computation, and we&#8217;ve already done the embedding work.</p>



<p>The MCP server is for agents that want live tool access during a conversation — where the user is sitting with Claude or Cursor open and asking questions, and the agent should be able to look things up in real time without making the user paste anything.</p>



<p>Each of these is roughly the right interface for a different kind of need. None of them is hard to build once you&#8217;ve decided the underlying data model. The expensive part is deciding to do the work at all.</p>



<h2 class="wp-block-heading">What you can do with it</h2>



<p>Well, I have a few suggestions, but most importantly, what we hope is people will come up with solutions we haven&#8217;t imagined yet.</p>



<p><strong>Build a personal schedule app.</strong>&nbsp;The data is open and stable. If you want a custom scheduler that knows your interests, calculates your walking time between rooms, or syncs with your team&#8217;s picks, all the inputs are there.</p>



<p><strong>Point Claude or Cursor at the MCP server.</strong>&nbsp;Add it to your config and have your agent help you plan your two days. &#8220;What sessions are about agent observability and which speakers have I not heard before?&#8221; &#8220;Which talks on day two clash with the Stile cluster, and which should I prioritise given I work in a regulated industry?&#8221; &#8220;Tell me which speakers are talking about spec-driven development and pull up the Stile and Beaugeard sessions side by side.&#8221; All of this works, today, with the MCP endpoint.</p>



<p><strong>Build a recommender.</strong> Take the embeddings, take a description of your role and interests, and rank the 88 (and counting!) sessions by relevance. This is a weekend project at most. It&#8217;s also the kind of thing someone in your organisation will probably want, because most engineering teams would benefit from a structured way to decide who attends what.</p>



<p><strong>Build a Slack or Teams bot.</strong>&nbsp;&#8220;What&#8217;s happening now?&#8221; &#8220;Who&#8217;s speaking next in the Leadership track?&#8221; &#8220;Find me the sessions about evals.&#8221; The&nbsp;<code>whats_happening_now</code>&nbsp;tool is in the MCP server specifically for this.</p>



<p><strong>Generate personalised attendee briefings.</strong>&nbsp;Feed the speaker JSON and an attendee&#8217;s LinkedIn or interests into an agent and have it produce a one-pager: who they should meet, which sessions are most relevant, what to ask in the corridor. This is a tens-of-lines-of-code job, not a project.</p>



<p><strong>Build dual-interface tooling for your own conferences and events.</strong>&nbsp;This one isn&#8217;t strictly about ours, but the patterns transfer. If you organise something — a meetup, a team summit, a multi-day workshop — you can take this approach and ship it in a weekend. We&#8217;re happy to share the underlying patterns.</p>



<p><strong>Run experiments on the data.</strong>&nbsp;Use it as a small, well-curated dataset for your own learning. Practice MCP integration against it. Test how different models handle semantic search. Compare the cost of llms-full.txt context-window load versus repeated MCP tool calls. The data is small enough to fit in one head, real enough that working with it teaches you something, and stable enough to be a good substrate.</p>



<p><strong>Build something we haven&#8217;t thought of.</strong>&nbsp;This is the bit I most want to see. The whole reason for shipping the data layer is that we don&#8217;t know what people will do with it, and we want to find out.</p>



<h2 class="wp-block-heading">The decisions worth naming</h2>



<p>A few decisions in the data layer are worth talking about explicitly, because they&#8217;re the kind of thing engineering teams routinely get wrong.</p>



<p><strong>No auth, no rate limits, no permission required.</strong>&nbsp;It is genuinely open data. We could have charged for API access, gated it behind a developer signup, throttled it to discourage casual use. We didn&#8217;t, because the entire point is to make it easy for people to do interesting things with the programme. Friction kills experiments. We chose less friction.</p>



<p><strong>CORS is open everywhere.</strong>&nbsp;Anyone can hit the endpoints from their browser. If we&#8217;d locked CORS to webdirections.org, we&#8217;d have made it impossible to build anything client-side against the data. We chose less friction.</p>



<p><strong>The source of truth lives somewhere stable.</strong>&nbsp;All the endpoints derive from a single internal source — our&nbsp;<a href="https://speakers.webdirections.org/">speakers.webdirections.org</a>&nbsp;system — and the public layer auto-republishes within seconds of any edit. This means the agent-facing data doesn&#8217;t drift from the human-facing data, ever. Edit-to-live is fast enough that for practical purposes the two views are the same view.</p>



<p><strong>Stable URLs.</strong>&nbsp;The URLs at data.webdirections.org won&#8217;t change. If you build something against them today, it will keep working. That&#8217;s a small commitment in writing and a large one in practice — it constrains how we evolve the schema — but it&#8217;s the commitment that makes the data layer actually useful for building on.</p>



<p><strong>The data layer is its own thing, not a side door into the website.</strong>&nbsp;This matters because it means we can iterate on the website, redesign it, restructure the IA, without breaking the data. The human and agent surfaces are decoupled. Each can change at its own pace. This is the deepest version of the dual-interface pattern: not just two interfaces, but two systems that happen to share a backend.</p>



<h2 class="wp-block-heading">What we&#8217;re going to learn from it</h2>



<p>I don&#8217;t fully know yet what people will build with this, and that&#8217;s the most interesting part. We&#8217;ve made the pattern available. We&#8217;ve made the data open. Whatever happens next is up to the people in the community who decide it&#8217;s worth exploring.</p>



<p>What I do know is that I expect this to be the default for events and information services, eventually. Not because it&#8217;s mandated, but because the dual-interface pattern is what good engineering looks like in a world where half the consumers of your data aren&#8217;t human. People are slow to absorb that. The conference, in some small way, is here to argue that they shouldn&#8217;t be.</p>



<p>If you build something against the data, tell me what you built and how it went. If you run an event of any kind and want help applying the pattern, get in touch. And if you&#8217;re coming to AI Engineer Melbourne in June, the data layer is a small worked example of what the conference is otherwise about: the practical, deliberate, well-engineered version of the future, rather than the demo-driven version.</p>



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



<h2 class="wp-block-heading">What&#8217;s there, in one place</h2>



<ul class="wp-block-list">
<li><a href="https://data.webdirections.org/ai-engineer/">data.webdirections.org/ai-engineer/</a> — the index page with all endpoints listed.</li>



<li><a href="https://data.webdirections.org/ai-engineer/llms.txt">llms.txt</a> — agent discovery doc.</li>



<li><a href="https://data.webdirections.org/ai-engineer/llms-full.txt">llms-full.txt</a> — full conference dump as plain text.</li>



<li><a href="https://data.webdirections.org/ai-engineer/sessions.json">sessions.json</a>, <a href="https://data.webdirections.org/ai-engineer/speakers.json">speakers.json</a>, <a href="https://data.webdirections.org/ai-engineer/schedule.json">schedule.json</a> — structured data.</li>



<li><a href="https://data.webdirections.org/ai-engineer/calendar.ics">calendar.ics</a> — iCal feed.</li>



<li><a href="https://data.webdirections.org/ai-engineer/api/search?q=evaluating+production+agents&amp;kind=sessions&amp;limit=5">api/search</a> — semantic search.</li>



<li>MCP server at <code>https://data.webdirections.org/ai-engineer/mcp</code> — full tool access for MCP-aware clients.</li>
</ul>



<h2 class="wp-block-heading">Companion pieces</h2>



<ul class="wp-block-list">
<li><a href="https://webdirections.org/blog/how-long-is-your-loop/">How long is your loop?</a> — on the spectrum of AI-assisted development.</li>



<li><a href="https://webdirections.org/blog/what-the-maturity-ladders-miss/">What the maturity ladders miss</a> — on the existing taxonomies and what they don&#8217;t capture.</li>



<li><a href="https://webdirections.org/blog/three-conversations-one-conference/">Three conversations, one conference</a> — the framing piece for the AI Engineer Melbourne programme.</li>
</ul>



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



<p>AI Engineer Melbourne runs June 3rd and 4th 2026 at Federation Square. Friends-of-Web-Directions pricing is available until May 15.&nbsp;<a href="https://webdirections.org/register/?eventName=aieng26&amp;eventTitle=AI+Engineer+Melbourne+2026&amp;selectedTicket=aieng26conference&amp;promoCode=aieng26friend%2Caieng26friendstreaming">Register here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/a-conference-also-for-agents/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Three conversations, one conference: AI Engineer Melbourne</title>
		<link>https://webdirections.org/blog/three-conversations-one-conference-ai-engineer-melbourne/</link>
					<comments>https://webdirections.org/blog/three-conversations-one-conference-ai-engineer-melbourne/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Thu, 07 May 2026 23:36:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13242</guid>

					<description><![CDATA[The full schedule for AI Engineer Melbourne is now live.The&#160;grid view&#160;is the most useful way to scan it. There&#8217;s also semantic search, and a recommendation system as well to find related talks to ones you&#8217;re interested in. We&#8217;ve also shipped an&#160;agent-friendly view&#160;with MCP endpoints, llms.txt, and other interfaces designed for agents — the conference about [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>The full schedule for AI Engineer Melbourne is now live.</strong>The&nbsp;<a href="https://webdirections.org/ai-engineer/schedule.php?schedule_view=grid">grid view</a>&nbsp;is the most useful way to scan it. There&#8217;s also semantic search, and a recommendation system as well to find related talks to ones you&#8217;re interested in.</p>



<p>We&#8217;ve also shipped an&nbsp;<a href="https://data.webdirections.org/ai-engineer/"><strong>agent-friendly view</strong></a>&nbsp;with MCP endpoints, llms.txt, and other interfaces designed for agents — the conference about AI engineering, eating our own dogfood! We&#8217;d love to hear how you get your agents to work with the schedule.</p>



<p>Below is the first piece in a short series — what&#8217;s at the conference, why we built it the way we did, and what each of the three tracks is offering. Three more follow over the next ten days, one for each track.</p>



<h1 class="wp-block-heading">Three conversations, one conference: AI Engineer Melbourne</h1>



<p><a href="https://webdirections.org/ai-engineer/schedule.php?schedule_view=grid">The full schedule is now live</a>&nbsp;— the grid view is the most useful way to scan it, with both days and all three tracks side by side.</p>



<p>There are three conversations happening right now in the practitioner community around AI, and they are mostly happening separately. The first is among software engineers, about how the practice of software engineering — not just the writing of code, but the whole craft and the work that surrounds it — is transforming. The second is among AI engineers, about what production AI systems actually require to be reliable. The third is among engineering leaders, about how to lead organisations through a transition whose shape is not yet clear. If you spend much time on the platforms where engineers gather, you will recognise all three — and you will probably notice that the people in any one of them are mostly not in the other two.</p>



<p>AI Engineer Melbourne, on June 3rd and 4th at Federation Square, is the rare event that brings the three conversations into the same room. We&#8217;ve built the programme around three tracks corresponding directly to the three conversations, and the speakers in each are people doing serious work on the question their track is engaging with. The result is something that does not exist anywhere else in this part of the world: a place where the three conversations are forced to meet each other for two days, with the people having them in the room together.</p>



<p>Over the next ten days we&#8217;ll publish three companion pieces, one for each track, going into the substance of what each conversation looks like. In this piece we want to bring together some of the broader threads — to describe the shape of the conference as a whole, and to make the case that the three conversations belong together more than the current discourse acknowledges.</p>



<h2 class="wp-block-heading">The first conversation: what craft becomes</h2>



<p>The conversation in software engineering is about what happens to the craft when the agent is doing more of the work. It is not a new conversation — engineers have been having versions of it since Copilot — but in the last year it has changed register. The early phase was about whether the agent was useful. The current phase is about what changes about&nbsp;<em>being</em>&nbsp;an engineer when the agent is reliably useful for an increasing fraction of the work.</p>



<p>The answers people are converging on are uncomfortable. Some of the work is being lost. Some of it is being transformed. Some of it is being amplified — engineers who can articulate what they want clearly are getting more leverage; engineers who learned by writing code at scale are finding the skill less central. The middle of the spectrum, where most senior engineers actually live now, is the part of the conversation least well served by the public discourse, because the discourse tends to be at the extremes: either everything-is-fine or everything-is-over.</p>



<p>The SWE/agentic coding track is unusually willing to engage with the middle.&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/annie-vella.php">Annie Vella</a>&#8216;s keynote on craft in the time of agents will, I suspect, be the most-discussed talk of the conference for this reason. Around her, the track has the strongest cluster of practitioner talks I have seen at any Australian conference — including three from Stile Education describing a single organisation&#8217;s journey to long-loop agentic engineering, and a counterweight cluster led by&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/jason-cornwall.php">Jason Cornwall</a>&nbsp;arguing that the productivity story is not what it seems.</p>



<h2 class="wp-block-heading">The second conversation: what AI engineering becomes</h2>



<p>The conversation in AI engineering is about whether the discipline is going to become an engineering discipline, or remain a craft. The public discourse has been mostly the second — screenshot-driven threads on social platforms, demo videos with no measurements, architecture diagrams without any data behind them. This works as marketing. It does not work as a way to build production systems that need to be trusted.</p>



<p>The AI engineering track is, almost talk by talk, in the opposite posture. Sceptical of demos. Demanding of evidence. Willing to talk about failure modes in detail. The speakers are people who have shipped production AI systems, watched them break, and learned something from the breakage. The talks describe the verification stack, the failure modes, the architectural decisions, and the integration challenges that actually make production AI engineering work — or fail.</p>



<p>If you are responsible for AI systems that need to do real work for real users, the track is the most concentrated body of practitioner thinking we&#8217;ll see in 2026 in this region.&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/yicheng-guo.php">Yicheng Guo</a>&nbsp;on what evals caught after a production hallucination,&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/jack-silman-abdul-karim.php">Jack Silman and Abdul Karim</a>&nbsp;on why they fired their LLM judge,&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/avni-bhatt.php">Avni Bhatt</a>&nbsp;on a small language model that beat their LLM in production — these are the kinds of talks the track is built on.</p>



<h2 class="wp-block-heading">The third conversation: what leadership becomes</h2>



<p>The conversation in engineering leadership is the hardest of the three, because it does not have technical answers. How do you lead people through a transition that is reshaping their identity? How do you build governance for systems whose behaviour you cannot fully predict? How do you make strategic decisions when your organisational readiness is materially behind your strategic ambition? How do you handle the burnout that the AI transition is producing in your most experienced engineers?</p>



<p>Most public AI-leadership content avoids these questions. It is confident where it should be uncertain, technical where it should be human, and strategic where it should be honest. The leadership track at AI Engineer Melbourne is, almost without exception, in the opposite posture. The speakers are people accountable for outcomes — CTOs, fractional CTOs, heads of engineering — and they are willing to talk about what is genuinely difficult about leading through this moment, rather than performing strategic confidence about it.</p>



<p>If you are responsible for AI in your organisation, this is the track.&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/dr-christian-dandre.php">Christian Dandre</a>&nbsp;on the readiness gap,&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/andy-kelk.php">Andy Kelk</a>&nbsp;on engineers being afraid of becoming junior again,&nbsp;<a href="https://webdirections.org/ai-engineer/speakers/aubrey-blanche.php">Aubrey Blanche</a>&nbsp;on building governance on the fair-go principle rather than on Silicon Valley&#8217;s defaults — there is no other event in the region where the leadership conversation is at this level.</p>



<h2 class="wp-block-heading">Why the three conversations belong together</h2>



<p>The argument for putting the three tracks in the same conference, rather than running three smaller events, is that the three conversations are versions of the same conversation seen from different angles. The engineer feeling craft slip away, the AI engineer trying to make a production system trustworthy, and the leader trying to navigate organisational change are all responding to the same underlying transition. They are responding to it differently because they are accountable for different things. But they need each other.</p>



<p>The engineer benefits from understanding what the AI engineer is grappling with, because the engineer&#8217;s work is increasingly downstream of decisions the AI engineer is making. The AI engineer benefits from understanding the leadership conversation, because the constraints on what they can ship are leadership constraints as much as technical ones. The leader benefits from understanding both, because leading through this transition without that understanding produces the kind of strategic decision that looks brilliant in the deck and incoherent in execution.</p>



<p>We&#8217;ve built the conference, in this sense, as an argument that the three conversations should not be having themselves separately. The corridor conversations between sessions, the questions in panels, the dinners afterwards are where the three communities will actually meet each other. That is harder to engineer than the talks themselves, but the talks make it possible.</p>



<p>The three conversations are happening whether the people having them are in the same room or not. The case for being in the room is that the conversations sharpen each other, and the people having them sharpen each other, in ways that do not happen on social platforms or in private channels. June 3rd and 4th in Melbourne is where it happens.</p>



<h2 class="wp-block-heading">A small aside on the programme itself</h2>



<p>A practical note that fits the conversation. We&#8217;ve shipped the conference programme not just as a human-readable schedule but as an&nbsp;<a href="https://data.webdirections.org/ai-engineer/">agent-friendly view at data.webdirections.org</a>&nbsp;— including MCP endpoints, an llms.txt, and other interfaces designed for agents rather than people. If you want to point a coding agent at the programme, build something against it, or just see what a dual-interface programme looks like in practice, the agent view is there. There&#8217;s a longer piece coming on why we did it this way and what we learned doing it, but for now the data is live and waiting.</p>



<h3 class="wp-block-heading">SAVE BEFORE MAY 15</h3>



<h4 class="wp-block-heading">BRINGING A TEAM?</h4>



<p>If you&#8217;re sending five or more people, get in touch and we&#8217;ll sort out a team offer — better per-ticket pricing, ticket upgrades, and more.&nbsp;<a href="mailto:info@webdirections.org">Reply to this email</a>&nbsp;or drop us a line.</p>



<p>We have additional savings for freelancers and people paying their own way, for not-for-profits, for government, and for folks at agencies. If that&#8217;s you,&nbsp;<a href="mailto:info@webdirections.org">reply to this email</a>&nbsp;or get in touch and we&#8217;ll sort it out.</p>



<h3 class="wp-block-heading">MORE ON THE PROGRAMME</h3>



<ul class="wp-block-list">
<li><a href="https://webdirections.org/ai-engineer/schedule.php?schedule_view=grid">Full schedule (grid view)</a> — both days, all three tracks side by side.</li>



<li><a href="https://webdirections.org/ai-engineer/#speakers">Speaker list</a> — everyone speaking and what they&#8217;re talking about.</li>



<li><a href="https://data.webdirections.org/ai-engineer/">Agent-friendly programme view</a> — MCP endpoints, llms.txt, and other interfaces for agents.</li>
</ul>



<h3 class="wp-block-heading">BACKGROUND READING</h3>



<ul class="wp-block-list">
<li><a href="https://webdirections.org/blog/how-long-is-your-loop/">How long is your loop?</a> — the loop-length framing some of the track pieces will build on.</li>



<li><a href="https://webdirections.org/blog/what-the-maturity-ladders-miss/">What the maturity ladders miss</a> — companion piece on AI development maturity models.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/three-conversations-one-conference-ai-engineer-melbourne/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Problem with &#8220;Mathematically Proven&#8221; Claims About LLMs</title>
		<link>https://webdirections.org/blog/the-problem-with-mathematically-proven-claims-about-llms/</link>
					<comments>https://webdirections.org/blog/the-problem-with-mathematically-proven-claims-about-llms/#respond</comments>
		
		<dc:creator><![CDATA[john allsopp]]></dc:creator>
		<pubDate>Thu, 07 May 2026 03:33:19 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://webdirections.org/?p=13241</guid>

					<description><![CDATA[How a recurring rhetorical move keeps proving the wrong thing There is now a recognisable pattern in AI commentary. It runs roughly as follows. A paper appears on arXiv. It contains real mathematics — definitions, lemmas, a theorem, sometimes several. The theorem establishes that a particular formal object, under a particular set of assumptions, has [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">How a recurring rhetorical move keeps proving the wrong thing</h1>



<p>There is now a recognisable pattern in AI commentary. It runs roughly as follows. A paper appears on arXiv. It contains real mathematics — definitions, lemmas, a theorem, sometimes several. The theorem establishes that a particular formal object, under a particular set of assumptions, has a particular limitation. The paper is then circulated by a second author — a blogger, a LinkedIn poster, a journalist — under a headline of the form&nbsp;<em>&#8220;Researchers mathematically prove AI cannot X.&#8221;</em>&nbsp;The headline travels. The assumptions don&#8217;t.</p>



<p>I want to take three recent specimens, show that they share a structural pattern, and say something about why the pattern matters.</p>



<h2 class="wp-block-heading">Specimen one: AI cannot self-improve</h2>



<p>The proximate cause of this essay is a blog post titled&nbsp;<a href="https://smsk.dev/2026/04/26/ai-cannot-self-improve-and-math-behind-proves-it/">&#8220;AI Cannot Self Improve and Math behind PROVES IT!&#8221;</a>, summarising a recent arXiv preprint by Hector Zenil (King&#8217;s College London),&nbsp;<a href="https://arxiv.org/abs/2601.05280">&#8220;On the Limits of Self-Improving in Large Language Models: The Singularity Is Not Near Without Symbolic Model Synthesis&#8221;</a>. The blog post&#8217;s framing is uncompromising. It opens by claiming that &#8220;a new arXiv paper formally proves that recursive self-improvement in LLMs is mathematically impossible — the mechanism everyone believed would lead to superintelligence is actually a one-way ticket to model collapse.&#8221; Later: &#8220;the very mechanism people proposed to transcend human limitations — training on AI-generated data to break free from the finite supply of human knowledge — is mathematically proven to destroy the model&#8217;s representation of reality. The escape route collapses into a trap.&#8221; And, more lyrically: &#8220;the universe doesn&#8217;t give you compound interest on noise.&#8221;</p>



<p>The actual paper is more careful than its summariser. Zenil models recursive self-training as a dynamical system on probability distributions, assumes a KL-divergence-based objective and a vanishing supply of fresh authentic data (formally, the proportion of exogenous signal $\alpha_t \to 0$), and proves that under those assumptions the system converges to a degraded fixed point. This is a formalisation of the model collapse phenomenon Shumailov et al. described empirically in their 2023&nbsp;<em>Nature</em>&nbsp;paper.</p>



<p>What the popularisation strips away is everything Zenil himself says about the scope of his result. Section 5 of the paper opens like this:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The results do not prove that all forms of recursive self-improvement collapse.</p>
</blockquote>



<p>He goes on:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If $\inf_t \alpha_t &gt; 0$, meaning the system receives persistent exogenous signal, then the contraction toward $P$ remains active. Systems operating under fixed axioms, externally defined objectives, or invariant verifiers (e.g. formally specified environments) do not satisfy the $\alpha_t \to 0$ condition.</p>
</blockquote>



<p>And in the conclusion:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The impossibility result is conditional rather than universal. … Our results therefore do not rule out improvement in externally anchored systems; they rule out fully autonomous recursive density matching as a path to indefinite intelligence growth.</p>
</blockquote>



<p>The proof says:&nbsp;<em>if you train recursively on your own samples without sufficient fresh signal, under a KL objective, you collapse.</em>&nbsp;The headline says:&nbsp;<em>AI cannot self-improve.</em>&nbsp;These are not the same statement. The gap between them is filled by an unexamined assumption: that &#8220;self-improvement&#8221; must mean naive autophagy. But that is not what self-improvement looks like in practice anywhere it is currently working. AlphaZero recursively self-improved through self-play because Go has a ground-truth winner. RLVR works because unit tests, proof checkers, and graders supply external signal. Distillation from stronger teacher models works. Verifier-filtered synthetic data works. The whole point of these regimes is that the loop is not closed — there is some external source of truth disciplining each iteration. The theorem about the closed loop is a theorem about a system nobody is building, and the paper itself says so.</p>



<h2 class="wp-block-heading">Specimen two: hallucination is inevitable</h2>



<p>The pattern is older than this paper. In January 2024, Xu, Jain, and Kankanhalli published&nbsp;<a href="https://arxiv.org/abs/2401.11817">&#8220;Hallucination is Inevitable: An Innate Limitation of Large Language Models&#8221;</a>. The argument is elegant. They define a &#8220;formal world&#8221; of computable functions. They define hallucination as follows:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Hallucination occurs whenever an LLM fails to exactly reproduce the output of a computable function.</p>
</blockquote>



<p>They then invoke a diagonalisation argument from learning theory to show that no computably enumerable family of LLMs can learn every computable function, and conclude that any LLM must hallucinate on some inputs. The headline —&nbsp;<em>hallucination is mathematically inevitable</em>&nbsp;— was widely repeated.</p>



<p>What gets buried is what &#8220;hallucination&#8221; had to be defined as for the proof to go through. Under the paper&#8217;s definition, every finite system &#8220;hallucinates,&#8221; because no finite system can compute every computable function. By that standard, your pocket calculator hallucinates the Ackermann function and you hallucinate the fifteen-digit prime factorisation. The proof says less than the headline implies; it says any general problem-solver will be wrong about something, somewhere.</p>



<p>And once again, the paper itself is more careful than its reception. Xu et al. explicitly note the get-out:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Knowledge-Enhanced LLMs … receive extra information about the ground truth function $f$ other than via training samples. Therefore, Theorem 3 is inapplicable herein.</p>
</blockquote>



<p>The paper&#8217;s section on practical implications begins with &#8220;All LLMs trained&nbsp;<em>only with input-output pairs</em>&nbsp;will hallucinate when used as general problem solvers&#8221; (emphasis mine). The qualifier vanishes from the popularisations. The whole modern stack — retrieval, tool use, code execution, formal verifiers, knowledge bases — is, by the paper&#8217;s own admission, outside the theorem&#8217;s scope.</p>



<p>A 2025 follow-up by Suzuki et al. makes the point neatly in its&nbsp;<a href="https://arxiv.org/abs/2502.12187">subtitle</a>:&nbsp;<em>&#8220;Hallucinations are inevitable but can be made statistically negligible. The &#8216;innate&#8217; inevitability of hallucinations cannot explain practical LLM issues.&#8221;</em>&nbsp;The mathematical inevitability and the practical incidence are different problems. The former tells us almost nothing about the latter.</p>



<h2 class="wp-block-heading">Specimen three: the math ceiling</h2>



<p>The same shape, again, in 2025 and into 2026. Varin Sikka and Vishal Sikka&#8217;s paper&nbsp;<a href="https://arxiv.org/abs/2507.07505">&#8220;Hallucination Stations: On Some Basic Limitations of Transformer-Based Language Models&#8221;</a>&nbsp;was widely reported as proving that LLM agents have a fundamental &#8220;<a href="https://www.webpronews.com/ai-agents-math-ceiling-proof-of-transformer-limits/">math ceiling</a>.&#8221; The core theorem is straightforward:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Given a prompt of length $N$, which includes a computational task within it of complexity $O(N^3)$ or higher, where $d &lt; N$, an LLM, or an LLM-based agent, will unavoidably hallucinate in its response.</p>
</blockquote>



<p>The proof is one paragraph: cite the Hartmanis-Stearns time hierarchy theorem; observe that an LLM&#8217;s per-token computation is $O(N^2 \cdot d)$; conclude that tasks requiring asymptotically more time cannot be carried out correctly. It&#8217;s true. It is also, by construction, a result about&nbsp;<em>the LLM&#8217;s core forward pass</em>. The Sikkas are explicit about this in their discussion:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>While our work is about the limitations of individual LLMs, multiple LLMs working together can obviously achieve higher abilities. … various approaches are being developed, from composite systems to augmenting or constraining LLMs with rigorous approaches.</p>
</blockquote>



<p>In other words: an unaided transformer of fixed dimensions, evaluated on tasks whose complexity exceeds its forward-pass complexity, will fail. Yes. And this tells us almost nothing about what an LLM-with-tools can do. Agents do not run inside the assumptions of the proof. They use scratchpads. They call solvers. They invoke MathJS and Lean and Wolfram. They write Python and run it. The theorem says transformers-without-tools cannot do TSP-in-a-fixed-context. The actual systems being deployed are transformers-with-tools, and the relevant empirical question — how good can the composite get? — is not addressed by the theorem at all.</p>



<p>The paper&#8217;s authors are clear-eyed about this. Tudor Achim, quoted in the WebProNews coverage, takes the productive view: &#8220;I think hallucinations are intrinsic to LLMs and also necessary for going beyond human intelligence.&#8221; His company&#8217;s bet is on what they call &#8220;mathematical superintelligence&#8221; — verified niches where formal checking provides external signal. That&#8217;s exactly the right response to the proof. It is not the response the headlines pick up.</p>



<h2 class="wp-block-heading">The shape of the move</h2>



<p>Three papers, three different negative claims, the same structural pattern. It works like this:</p>



<p><strong>1. Take a maximalist version of the claim being attacked.</strong>&nbsp;RSI must mean closed-loop autophagy. Hallucination must mean failure to compute any computable function. Reasoning must mean executing tasks unaided in a fixed forward-pass budget. In each case, the strongest, most cartoonish reading is selected, because the strongest reading is what the math will handle. Zenil makes this almost explicit: he models &#8220;the autonomy regime&#8221; specifically because that&#8217;s the regime in which the theorem applies.</p>



<p><strong>2. Prove a theorem about that reading.</strong>&nbsp;The theorems are usually fine. The mathematical content is real. KL flows do collapse under vanishing exogenous signal. Computably enumerable families cannot exhaust the computable functions. Fixed-precision transformers cannot solve arbitrarily large computational problems in $O(N^2 \cdot d)$. None of this is in dispute.</p>



<p><strong>3. Drop the assumptions in the popularisation.</strong>&nbsp;The conditional becomes unconditional.&nbsp;<em>&#8220;Under these assumptions&#8221;</em>becomes&nbsp;<em>&#8220;in principle.&#8221;</em>&nbsp;<em>&#8220;For this class of systems&#8221;</em>&nbsp;becomes&nbsp;<em>&#8220;for AI.&#8221;</em>&nbsp;The author&#8217;s own qualifications —&nbsp;<em>the results do not prove that all forms of recursive self-improvement collapse</em>;&nbsp;<em>Theorem 3 is inapplicable</em>&nbsp;to systems with external knowledge;&nbsp;<em>multiple LLMs working together can obviously achieve higher abilities</em>&nbsp;— disappear in transit. The reader, encountering the headline, has no easy way to recover the lost qualifications. Qualifications are exactly what doesn&#8217;t survive a headline.</p>



<p><strong>4. Garnish with vibes.</strong>&nbsp;<em>The universe doesn&#8217;t give you compound interest on noise.</em>&nbsp;<em>The escape route collapses into a trap.</em><em>It&#8217;s like trying to bootstrap yourself off the ground by pulling your own shoelaces.</em>&nbsp;The aesthetics borrow the gravity of mathematics — the QED, the elegance, the inevitability — and graft them onto claims the mathematics did not establish. The form does the work the content cannot.</p>



<p>The result is a kind of vibes-laundering machine wearing a lab coat. A narrow, conditional technical result is converted, by stages, into a metaphysical conclusion. And because the source paper is real, and the math is real, the conclusion borrows credibility it has not earned.</p>



<h2 class="wp-block-heading">Why it matters</h2>



<p>It would be churlish to object to this if the technical results themselves were not interesting. They are. Model collapse is a real phenomenon and worth understanding. Computability bounds are worth knowing. The complexity ceiling on unaided transformers tells us something genuine about where to put effort. The papers, on the whole, are fine. It&#8217;s the inferential layer above the papers — the popularisation, the headline, the LinkedIn post — where the damage happens.</p>



<p>What gets lost is the actual operating principle of where AI progress has come from in the last three years, which is precisely&nbsp;<em>not</em>&nbsp;closed-loop magic. It is the patient construction of external discipline: graders, checkers, tools, environments with ground truth, humans in the loop, formal verifiers. Where verification is cheap, recursive improvement is not speculative — it is shipping. Where verification is hard, hallucination is not theoretically inevitable in any meaningful sense — it is empirically common, and the work is to find better verifiers. The Bitter Lesson, applied to applied AI, says roughly this: stop trying to engineer the limits in; build the loop and let the loop teach you. These &#8220;mathematically proven&#8221; results, read carelessly, tell people the loop cannot work. Read carefully — and at least two of the three I&#8217;ve discussed are explicit about this — they tell us what shape the loop has to have.</p>



<p>There is also a class element to the rhetorical move that is worth naming.&nbsp;<em>Mathematically proven</em>&nbsp;is a phrase with enormous social power. It signals that the question is settled, that disagreement is not just wrong but innumerate, that the priesthood has spoken. To unpack the assumptions requires either mathematical literacy or a willingness to be told you don&#8217;t understand the math. The asymmetry favours the headline. This is why the pattern keeps repeating — it pays in attention, and the cost of correction falls on someone else.</p>



<p>The honest version of each of these papers is, in fact, the version their authors wrote. Zenil&#8217;s conclusion:&nbsp;<em>recursive self-improvement framed as progressively self-contained generative retraining cannot yield unbounded growth under standard distributional learning dynamics.</em>&nbsp;Xu et al.&#8217;s caveat:&nbsp;<em>all LLMs trained only with input-output pairs will hallucinate when used as general problem solvers</em>. The Sikkas&#8217;:&nbsp;<em>multiple LLMs working together can obviously achieve higher abilities.</em>Each of these is a careful, conditional, useful result. None of them is &#8220;AI cannot X.&#8221;</p>



<h2 class="wp-block-heading">A modest proposal</h2>



<p>I am not arguing with the math. The math is fine. I am arguing with a habit of inference: the move from&nbsp;<em>theorem about idealised object X</em>&nbsp;to&nbsp;<em>fact about real-world object Y</em>, when Y is not X and the popularisation pretends it is.</p>



<p>The next time you see a piece claiming that mathematics has proven some negative about LLMs, the question to ask is not&nbsp;<em>is the proof correct?</em>&nbsp;It almost certainly is. The questions are:&nbsp;<em>what exactly was modelled? What assumptions did the proof require? Do the systems we actually run satisfy those assumptions? And — usually the most damning — does the paper&#8217;s author themselves disclaim the strong reading?</em>&nbsp;In every example I have looked at, the answer to the third question is&nbsp;<em>no</em>, and the answer to the fourth is&nbsp;<em>yes</em>. The gap between the modelled object and the deployed system is where all the interesting work is happening.</p>



<p><em>Eppur si muove.</em>&nbsp;The systems keep getting better. The theorems keep arriving to explain why they cannot. Both can be true. They are usually about different things.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webdirections.org/blog/the-problem-with-mathematically-proven-claims-about-llms/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
