<?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>AI &#8211; About Things | A Hans Scharler Blog</title>
	<atom:link href="https://nothans.com/tag/ai/feed" rel="self" type="application/rss+xml" />
	<link>https://nothans.com</link>
	<description>Life, Comedy, Games, Tech, Marketing, and Community</description>
	<lastBuildDate>Fri, 19 Jun 2026 01:15:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/cropped-settings.png?fit=32%2C32&#038;ssl=1</url>
	<title>AI &#8211; About Things | A Hans Scharler Blog</title>
	<link>https://nothans.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">114568856</site>	<item>
		<title>Create the &#8220;Best Agent Skill&#8221; with SkillOpt from Microsoft Research</title>
		<link>https://nothans.com/create-the-best-agent-skill-with-skillopt-from-microsoft-research</link>
					<comments>https://nothans.com/create-the-best-agent-skill-with-skillopt-from-microsoft-research#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 01:15:49 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Agent Skills]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[Microsoft Research]]></category>
		<category><![CDATA[OpenAI]]></category>
		<category><![CDATA[SkillOpt]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5447</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>For two years the move was simple: pick a better model. Then the models got good, and stayed good, and the gaps between them got boring. So the interesting lever is the other thing you hand the agent now. The skill file.</p>



<p>Microsoft Research just shipped a tool called <a href="https://github.com/microsoft/SkillOpt">SkillOpt</a> that takes that idea literally.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.</p>
</blockquote>



<p>It treats the skill markdown you hand an agent (the instructions, the system prompt, the SKILL.md) as trainable state. It runs epochs. It has a batch size. It has a learning rate. It just never touches the model weights. The weights stay frozen behind the API. The thing that gets trained is the text.</p>



<p>The loop is short. Run the agent on a batch of tasks. Score each one. A second model reads the failures and proposes small edits to the skill file. Keep an edit only if it improves a held-out score. Repeat. What you get at the end is a&nbsp;<code>best_skill.md</code>&nbsp;you drop in front of the same unchanged model.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><a href="https://github.com/microsoft/SkillOpt"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="750" height="750" data-attachment-id="5448" data-permalink="https://nothans.com/create-the-best-agent-skill-with-skillopt-from-microsoft-research/image-108" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?fit=750%2C750&amp;ssl=1" data-orig-size="750,750" data-comments-opened="0" data-image-title="SkillOpt from Microsoft Research" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5448" style="width:504px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?w=750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/image.png?resize=500%2C500&amp;ssl=1 500w" sizes="(max-width: 750px) 100vw, 750px" /></a><figcaption class="wp-element-caption">Microsoft Research <a href="https://github.com/microsoft/SkillOpt">SkillOpt</a></figcaption></figure>
</div>


<p>I wanted to see it actually work, so I gave it a job&#8230;</p>


<h2 class="wp-block-heading" id="the-setup">The setup</h2>


<p>I had OpenAI Codex do the writing. The task: take a paragraph stuffed with AI slop and clean it up. The skill it started from was short:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Improve the passage so it reads a little better. Keep the meaning and roughly the length.</p>
</blockquote>



<p>No mention of slop. No list of banned words. Nothing to go on.</p>



<p>The verifier was the part that mattered. I wrote a dumb little counter that scans the output for the tells (the canned phrases, the em-dashes) and returns how many are left. Fewer is better. That is the whole eval. Objective, cheap, no judgment calls.</p>



<p>Then I let SkillOpt run.</p>


<h2 class="wp-block-heading" id="what-it-wrote">What it wrote</h2>


<p>The seed turned into a thirty-line deslop skill. SkillOpt wrote it.</p>



<p>It worked out, on its own, that &#8220;remove AI slop&#8221; is a removal constraint and not a tone nudge. It named the exact phrases that kept leaking through (&#8220;let&#8217;s dive in,&#8221; &#8220;have you ever wondered,&#8221; &#8220;it&#8217;s worth noting,&#8221; &#8220;furthermore,&#8221; &#8220;in conclusion,&#8221; &#8220;great question&#8221;). It flagged em-dashes. And it caught the sneaky failure mode I never told it about: the model dodging a banned word by swapping in a synonym. That one became its own rule, the last line of the file:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Before answering, do a quick scan to ensure none of the original flagged words remain, including close synonyms you may have introduced.</p>
</blockquote>



<p>The score went from passing half the held-out passages to passing all of them. The skill it wrote is one I would actually keep.</p>


<h2 class="wp-block-heading" id="the-part-worth-keeping">The part worth keeping</h2>


<p>The optimizer is the easy part.</p>



<p>I went in assuming the clever bit was the model proposing edits. It isn&#8217;t. The clever bit is the verifier. Give SkillOpt a score and nothing else and it does nothing. I tried that first. It saw the failures, shrugged, and changed not a single line, because &#8220;you got a 0.6&#8221; tells it nothing about what to fix. The run that worked was the one where the verifier also said which words leaked. Same model, same loop. The difference was the signal.</p>



<p>So the rule of thumb is less &#8220;use the self-improving optimizer&#8221; and more: can you score this cheaply, and can you tell it why it failed. If yes, the skill mostly writes itself. If no, there is nothing to train and the fancy loop sits there idle.</p>



<p>That is also the catch, and it is the same catch hiding under every self-improving-agent demo. A slop counter is a clean verifier. Most of what you do in a day is not. &#8220;Was this brief any good.&#8221; &#8220;Did this post land.&#8221; No cheap score, no training. The optimizer was never the bottleneck. The verifier is.</p>



<p>So build the verifier first. Get that right and the skill mostly writes itself.</p>


<h2 class="wp-block-heading" id="bonus-a-taste-of-running-it">Bonus: a taste of running it</h2>


<p>The repo is&nbsp;<a href="https://github.com/microsoft/SkillOpt">github.com/microsoft/SkillOpt</a>. MIT licensed, Python.</p>



<p>Get it:</p>



<pre class="wp-block-code"><code>pip install skillopt
# or, to poke at the internals:
git clone https://github.com/microsoft/SkillOpt &amp;&amp; cd SkillOpt &amp;&amp; pip install -e .</code></pre>



<p>The mental model is one small folder per task. A loader that hands over your examples, a rollout that runs your agent and scores it, and a seed skill to start from. SkillOpt&#8217;s whole job is to grow that seed.</p>



<p>The config reads like a training run, on purpose:</p>



<pre class="wp-block-code"><code>train:
  num_epochs: 4
  batch_size: 40
optimizer:
  learning_rate: 4        # max edits to the skill per step
  lr_scheduler: cosine
evaluation:
  use_gate: true          # keep an edit only if it beats the held-out score
model:
  optimizer: gpt-5.4      # the model that proposes the edits</code></pre>



<p>Then it is one command:</p>



<pre class="wp-block-code"><code>python scripts/train.py --config configs/yourtask/default.yaml</code></pre>



<p>The only part that is really on you is the scoring. Your rollout returns, per task, a pass/fail and a number between 0 and 1:</p>



<pre class="wp-block-code"><code>return {"id": task_id, "hard": passed, "soft": fraction_correct}</code></pre>



<p>That is the whole contract. Give it tasks, a way to score them, and a skill to start from. It runs the epochs.</p>



<p>One side note: keep the tasks hard enough that the agent fails some of them. If it aces everything on the seed skill, there is nothing to learn and SkillOpt politely does nothing. Ask me how I know.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/create-the-best-agent-skill-with-skillopt-from-microsoft-research/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5447</post-id>	</item>
		<item>
		<title>What I Learned from Garry Tan and gstack</title>
		<link>https://nothans.com/what-i-learned-from-garry-tan-and-gstack</link>
					<comments>https://nothans.com/what-i-learned-from-garry-tan-and-gstack#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Sat, 06 Jun 2026 15:28:44 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[Agent Skills]]></category>
		<category><![CDATA[agents]]></category>
		<category><![CDATA[Garry Tan]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5438</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>Garry Tan, the guy who runs Y Combinator, just open-sourced a toolkit called <a href="https://github.com/garrytan/gstack">gstack</a>. It runs on top of Claude Code and turns it into a virtual engineering team. Twenty-three specialized skills, eight power tools, each one playing a role you&#8217;d normally have to hire for. A CEO that rethinks your product. An engineering manager that locks down the architecture. A designer that catches AI slop. A QA lead that drives a real browser and files bugs against you.</p>



<p>I read through it expecting to roll my eyes. Instead I sat there nodding, because I&#8217;d accidentally built a tiny version of the same thing for this blog.</p>


<h2 class="wp-block-heading" id="the-pitch">The pitch</h2>


<p>gstack&#8217;s whole argument is that solo builders don&#8217;t lose to big teams because they&#8217;re worse engineers. They lose because they skip process. One person at a keyboard, prompting Claude into existence one vibe at a time, eventually ships something that works. Until it doesn&#8217;t. No review. No second opinion. No one asking &#8220;wait, should we even build this?&#8221;</p>



<p>So gstack bakes the process in. Every skill is a slash command, and each command plays a role in a pipeline:</p>



<p><strong>Think → Plan → Build → Review → Test → Ship → Reflect</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" decoding="async" width="750" height="500" data-attachment-id="5437" data-permalink="https://nothans.com/gstack-overview-infographic" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?fit=1536%2C1024&amp;ssl=1" data-orig-size="1536,1024" data-comments-opened="0" data-image-title="gstack-overview-infographic" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?fit=750%2C500&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=750%2C500&#038;ssl=1" alt="gstack: seven stages from Think to Reflect, with roles like CEO, Designer, Eng Manager, QA, Security, and Release mapped underneath." class="wp-image-5437" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=1024%2C683&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=300%2C200&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=768%2C512&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=750%2C500&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=420%2C280&amp;ssl=1 420w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?resize=1320%2C880&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/06/gstack-overview-infographic.png?w=1536&amp;ssl=1 1536w" sizes="(max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">gsta</figcaption></figure>
</div>


<p>You start a project with&nbsp;<code>/office-hours</code>, which hits you with six forcing questions before you write a line of code. Then&nbsp;<code>/plan-ceo-review</code>&nbsp;challenges your scope.&nbsp;<code>/plan-eng-review</code>&nbsp;draws the data-flow diagrams and enumerates the edge cases. You build.&nbsp;<code>/review</code>&nbsp;does a staff-engineer pass and auto-fixes the obvious stuff.&nbsp;<code>/qa</code>&nbsp;opens an actual Chromium browser, clicks through your app, finds bugs, and writes a regression test for each one it fixes.&nbsp;<code>/ship</code>&nbsp;runs the suite and opens the PR.</p>



<p>Each stage feeds the next. The CEO&#8217;s decisions constrain the engineer. The engineer&#8217;s plan constrains the build. Nothing happens in a vacuum. That&#8217;s exactly the part solo work gets wrong.</p>



<p>There&#8217;s a whole security wing too. A&nbsp;<code>/cso</code>&nbsp;skill that runs OWASP Top 10 and STRIDE threat modeling. A sidebar Claude that watches for prompt injection. A&nbsp;<code>/careful</code>&nbsp;mode that warns you before&nbsp;<code>rm -rf</code>&nbsp;ruins your afternoon. It&#8217;s a lot. The point isn&#8217;t that you use all of it. The point is that the roles exist, named and on call.</p>


<h2 class="wp-block-heading" id="why-this-looked-familiar">Why this looked familiar</h2>


<p>Here&#8217;s the thing. I don&#8217;t ship code through a blog. I ship words. But the moment I saw that pipeline I recognized it, because the posts you&#8217;re reading go through the same kind of relay.</p>



<p>When I write here, an idea doesn&#8217;t go straight from my head to WordPress. It moves through stages, and each stage has one job:</p>



<ul class="wp-block-list">
<li><strong>Research</strong> does the digging and writes up a structured report. Pitch, key facts, angle, the competition check.</li>



<li><strong>Refine</strong> tightens the structure and pacing without touching the voice.</li>



<li><strong>De-slop</strong> strips out the AI tells. The em-dashes, the &#8220;it&#8217;s not just X, it&#8217;s Y,&#8221; the forced enthusiasm, the closer that tries to sound profound.</li>



<li><strong>Voice</strong> rewrites it to sound like me. Short sentences. Plain words. No throat-clearing.</li>



<li><strong>Format</strong> turns it into clean WordPress blocks.</li>
</ul>



<p>Each one hands off to the next. Same shape as gstack. A CEO who reframes the product is doing what my research stage does for a post. A designer who catches AI slop is, almost word for word, my de-slop pass. Garry Tan built an org chart for shipping software. I built a smaller one for shipping writing, and I didn&#8217;t even notice the resemblance until his showed up.</p>



<p>I&#8217;m not claiming I invented anything. The idea is in the water. Once you spend enough time working alongside an agent, you stop treating it like one genius who does everything and start treating it like a team you have to manage. You give each role a narrow job and a clean handoff. That&#8217;s not a trick. It&#8217;s just how good teams have always worked, now running in a terminal.</p>


<h2 class="wp-block-heading" id="the-number-everyones-going-to-argue-about">The number everyone&#8217;s going to argue about</h2>


<p>gstack ships with a doc making a bold claim: Garry measured his own output and found he&#8217;s writing about 810 times more code per day than he did back in 2013 when he was coding part-time around a day job. Eleven thousand logical lines a day across his first 108 days.</p>



<p>Your skepticism alarm should be going off. So was his. He concedes up front that lines of code is a garbage quality metric. His own line: measuring programming progress by lines of code is like measuring aircraft-building progress by weight. So he deflates the number hard. Strips comments and blanks, applies a 2x penalty for AI being verbose and defensive, and lands at something like 5,700 lines a day. Still a wild figure. Still self-reported, so take it with salt.</p>



<p>But the interesting claim isn&#8217;t the speed. It&#8217;s the quality holding steady while the speed goes up. A 2 percent revert rate, right in line with the open-source baseline. Two thousand-plus automated tests with CI. A 95 percent success rate across 305,000 skill runs. His actual thesis is buried under the headline number:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Testing at multiple levels is what makes AI-assisted coding actually work.&#8221;</p>
</blockquote>



<p>That one I believe without reservation, because it&#8217;s the same thing the pipeline is really about. The process isn&#8217;t there to make the agent faster. It&#8217;s there to catch the agent when it&#8217;s confidently wrong, which it will be, several times a day. Every stage is a checkpoint, a chance for something to get caught before it ships. The payoff isn&#8217;t speed, it&#8217;s fewer mistakes reaching the end.</p>


<h2 class="wp-block-heading" id="what-i-did-with-it">What I did with it</h2>


<p>I&#8217;m not installing the whole thing. gstack is TypeScript and Bun and Playwright, built for shipping web apps, and Windows is a second-class citizen in it. Not my stack. Not my use case.</p>



<p>So I stole the front of it instead. The skill I keep coming back to is&nbsp;<code>/office-hours</code>: six forcing questions you have to answer before you&#8217;re allowed to build anything. Who is this for. What&#8217;s the sharpest version of it. What are you quietly avoiding. It&#8217;s a CEO review for an idea that doesn&#8217;t exist yet.</p>



<p>That maps straight onto the worst part of blogging, which is deciding what&#8217;s even worth writing. So I pointed it at this blog. Before a topic earns a draft, I run it through the same kind of interrogation in Claude Code. What&#8217;s the one sentence. Who already wrote it better. What&#8217;s the angle only I have. Why now. Most ideas die right there, which is the point. The ones that live show up to the draft stage already knowing what they are.</p>



<p>This post is one of them. gstack was the raw idea. The forcing questions are what turned &#8220;gstack exists, that&#8217;s neat&#8221; into something with an angle worth your time. The tool I borrowed from is the tool that helped me write about borrowing from it.</p>



<p>So here&#8217;s what you should know today. gstack is out there, it&#8217;s free, and even if you never run a line of it, the shape is worth stealing. Garry Tan built that discipline for code. I run a lighter version of it on words. You can point it at whatever you make. The pipeline is the product. The agent&#8217;s just the labor.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/what-i-learned-from-garry-tan-and-gstack/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5438</post-id>	</item>
		<item>
		<title>AI Agents for Hardware Engineering</title>
		<link>https://nothans.com/ai-agents-for-hardware-engineering</link>
					<comments>https://nothans.com/ai-agents-for-hardware-engineering#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Fri, 22 May 2026 21:59:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Simulink]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5431</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>There&#8217;s a belief going around that you can prompt your way to anything. Hand the AI a problem, walk away, come back to working code.</p>



<p>Fine for a side-project web app. Does not work for an inverted pendulum spinning on your desk.</p>


<h2 class="wp-block-heading" id="the-pit-and-the-pendulum">The Pit and the Pendulum</h2>


<p>MathWorks just published a <a href="https://www.youtube.com/watch?v=-G4H2DmhR28">Tech Talk by Brian Douglas</a>. It is worth watching if you build hardware.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/-G4H2DmhR28?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>



<p>The setup is a Quanser cube servo with an inverted pendulum, a Raspberry Pi running the controller, and a coding agent wired into Simulink through the <a href="https://github.com/matlab/simulink-agentic-toolkit">Simulink Agentic Toolkit</a>. The agent&#8217;s job is to swing the pendulum up and balance it.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5433" data-permalink="https://nothans.com/ai-agents-for-hardware-engineering/image-107" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="0" data-image-title="AI Agents for Hardware Engineering, Simulink Agentic Toolkit" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5433" style="width:559px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=750%2C750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/05/image-1.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption"><a href="https://github.com/matlab/simulink-agentic-toolkit">Simulink Agentic Toolkit</a></figcaption></figure>
</div>


<p>Balancing an inverted pendulum is a classic control problem because it&#8217;s unstable by nature. Get the math wrong and the pendulum falls. Get the code wrong and a 12V motor jerks the cube into something it shouldn&#8217;t.</p>


<h2 class="wp-block-heading" id="what-happens-if-you-just-prompt-it">What Happens If You Just Prompt It</h2>


<p>The tempting move is the one most of us have done with web apps. Open a chat, describe the system, ask for the code. One prompt, big blob, ship it.</p>



<p>The MathWorks engineers walk through why that falls apart for hardware:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;If you rely on AI to generate code directly, that process is much less structured&#8230; it&#8217;s often unclear exactly how or why a particular implementation was created, making it harder to trust and verify.&#8221;</p>



<p>Brian Douglas</p>
</blockquote>



<p>Hardware is unforgiving. You can&#8217;t roll back a destroyed motor with a git revert. When a physical system fails, you need to know which assumption broke, which equation got the wrong constant, which sample rate the controller is actually running at. A black box of generated C code doesn&#8217;t tell you any of that.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;You don&#8217;t want to let your AI agent skip parts of your engineering workflow. That&#8217;s how you can get yourself into trouble with a final product that doesn&#8217;t meet your objective or worse, is just purely unsafe.&#8221;</p>



<p>Brian Douglas</p>
</blockquote>


<h2 class="wp-block-heading" id="the-workflow-is-the-script">The Workflow Is the Script</h2>


<p>The answer is to keep the AI inside the workflow engineers already trust: Model-Based Design. The agent doesn&#8217;t replace the workflow. It runs each step inside it, faster.</p>



<p><strong>Define quantifiable requirements.</strong>&nbsp;Before any code, the human and the AI agree on what success looks like. Spin-up speed. Wobble limits. The 12V motor constraint. These targets become the benchmarks for verification later.</p>



<p><strong>Use a trusted model.</strong>&nbsp;Instead of letting the AI invent a custom physics engine, the workflow points it at an existing Simulink model. The agent runs linearization through the Simulink Agentic Toolkit and reports the system&#8217;s poles back to the human. The math comes from validated tools, not from a language model freestyling differential equations.</p>



<p><strong>Use a trusted controller.</strong>&nbsp;Same logic. The agent is told to use the MPC Toolbox. Model Predictive Control has decades of theory behind it and a deterministic implementation. If something looks wrong, you can tune it manually. You&#8217;re not debugging an optimizer the AI invented on the fly.</p>



<p><strong>Verify in layers.</strong>&nbsp;Three stages before the code touches hardware:</p>



<ul class="wp-block-list">
<li><strong>MIL</strong> (Model-in-the-Loop): the controller runs against the theoretical model</li>



<li><strong>SIL</strong> (Software-in-the-Loop): the generated embedded C code runs on a computer, behaving exactly like the simulation</li>



<li><strong>PIL</strong> (Processor-in-the-Loop): the C code runs on the actual target Raspberry Pi</li>
</ul>



<p>Each layer catches different bugs. Skip one and you&#8217;ll catch that bug on hardware instead.</p>



<p><strong>Deploy and iterate.</strong>&nbsp;Only after layered verification does the code go on the real pendulum.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Instead of asking an agent to solve your problem however it wants, you tell it to follow an engineering workflow that you understand.&#8221;</p>



<p>Brian Douglas</p>
</blockquote>



<p>The AI executes. The human directs.</p>


<h2 class="wp-block-heading" id="the-hardware-truth">The Hardware Truth</h2>


<p>Here&#8217;s the part of the video I liked best. They ran the verified controller on the real pendulum and it didn&#8217;t quite work. The physical hardware behaved differently from the model.</p>



<p>This is what the vibe-coding fantasy ignores. Reality disagrees with simulation, especially the first time. You will need to iterate. The thing that matters is whether you can.</p>



<p>Because the team followed the workflow, they could. The model was traceable. The requirements were quantifiable. The controller was inspectable. They used the AI to update the physics model, ran it back through MIL, SIL, and PIL, and tried again. No starting over.</p>



<p>The workflow doesn&#8217;t promise perfect code on the first pass. It promises code you can fix.</p>


<h2 class="wp-block-heading" id="the-director-pattern">The Director Pattern</h2>


<p>A few months <a href="https://nothans.com/the-matlab-engineering-super-stack" data-type="link" data-id="https://nothans.com/the-matlab-engineering-super-stack">ago</a>, I wrote about Seth DeLand&#8217;s framing of agentic AI for engineers. The headline idea: you&#8217;re not being replaced, you&#8217;re being promoted. The engineer becomes the one who defines the problem, sets the constraints, and shapes the space where the AI works.</p>



<p>The MathWorks Tech Talk is what that looks like in hardware. The AI isn&#8217;t the engineer. It&#8217;s the agent. You&#8217;re the director.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Agentic AI is powerful, but for engineering, the value comes from how you use it. You get the speed and productivity benefits of AI without sacrificing trust, safety, or understanding.&#8221;</p>



<p>Brian Douglas</p>
</blockquote>



<p>You don&#8217;t get speed and safety together by handing the AI a prompt and crossing your fingers. You get there by keeping the workflow you trust and letting the agent move faster inside it.</p>



<p>Speed without losing safety. Productivity without losing traceability.</p>



<p>For software, vibe coding is mostly fine. The blast radius is a wasted afternoon.</p>



<p>For hardware, the blast radius is a sparking motor and a pendulum on the floor.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/ai-agents-for-hardware-engineering/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5431</post-id>	</item>
		<item>
		<title>The MATLAB Engineering Super Stack (Updated for GitHub Copilot + MATLAB MCP Core Server)</title>
		<link>https://nothans.com/the-matlab-engineering-super-stack</link>
					<comments>https://nothans.com/the-matlab-engineering-super-stack#comments</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 16:26:32 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Agentic Engineering]]></category>
		<category><![CDATA[GitHub Copilot]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[MATLAB MCP Server]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5365</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>Back in November 2025 I wrote about the <a href="https://nothans.com/the-engineering-super-stack-matlab-visual-studio-code-claude-code" data-type="post" data-id="5223">Engineering Super Stack: MATLAB, Visual Studio Code, and Claude Code</a> wired together with the MATLAB MCP server. The thesis was simple. These tools are better together than apart.</p>



<p>Five months later, I owe that post an update. The stack evolved. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5367" data-permalink="https://nothans.com/super-stack-featured" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?fit=750%2C750&amp;ssl=1" data-orig-size="750,750" data-comments-opened="0" data-image-title="the matlab engineering super stack" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5367" style="width:422px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?w=750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-featured.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>

<h2 class="wp-block-heading" id="the-agent-engineer">The Agent Engineer</h2>


<p>Seth DeLand has been at MathWorks for fifteen years. He started in mechanical engineering, building mathematical models for diesel combustion and NOx emissions. Control strategies, optimization, statistics. The kind of work where getting the math wrong means the engine doesn&#8217;t meet spec. Now he&#8217;s a Product Manager focused on generative AI, and he recently sat down with Jousef Murad on the Engineered-Mind Podcast to talk about what agentic AI means for engineers.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/p8JpYGnaegs?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>



<p>He&#8217;s not selling hype. He&#8217;s describing what he sees happening in real engineering workflows.</p>



<p>On what makes agentic AI different from chatting with an LLM:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Rather than it just generating a bunch of text, it&#8217;s actually going to generate calls to APIs&#8230; now they&#8217;re not limited just to generate text as an output, they can actually start to work on the same artifacts that we humans are working on.&#8221;</p>



<p>Seth DeLand</p>
</blockquote>



<p>That distinction matters. An LLM gives you text. An agent gives you results. It runs your code, checks your tests, detects your toolboxes, and iterates on errors. No copying and pasting between windows. The agent works on your project, not a hypothetical version of it.</p>



<p>Seth didn&#8217;t frame this as tools replacing engineers. He framed it as engineers leveling up.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;It&#8217;s more that we are working at a higher level now. We are thinking much more in terms of what are the problems, what are the constraints, how do I shape the solution space so that I can turn my AI loose in that solution space and have it go work&#8230; and then come back to me.&#8221;</p>



<p>Seth DeLand</p>
</blockquote>



<p>You&#8217;re not being replaced. You&#8217;re being promoted. The engineer becomes the one who defines the problem, sets the constraints, and shapes the space where the AI works. That&#8217;s not a demotion. That&#8217;s what senior engineers have always done, except now the junior engineer on your team is an agent that never sleeps and never complains about the build system.</p>



<p>Seth also nailed something I&#8217;ve been feeling since I started using agents for prototyping:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Why not have it implement four prototypes of all of those different options and see which one I like the best&#8230; it allows me to shorten that cycle to get from kind of an idea to some type of proof of concept.&#8221;</p>



<p>Seth DeLand</p>
</blockquote>



<p>Four prototypes. Not four design docs. Four working implementations. You compare running code instead of arguing about architecture diagrams. I wrote a whole post about this idea (<a href="https://nothans.com/twenty-prototypes">Twenty Prototypes</a>), and hearing a MathWorks PM describe the same workflow independently tells me this isn&#8217;t a niche trick. It&#8217;s becoming the default.</p>


<h2 class="wp-block-heading" id="what-changed-since-november">What Changed Since November</h2>


<p>When I wrote the <a href="https://nothans.com/the-engineering-super-stack-matlab-visual-studio-code-claude-code">original super stack post</a>, the MATLAB MCP Core Server was at version 0.1. First release. Five tools. It worked, but everything is moving fast.</p>



<p>Here&#8217;s where things stand now:</p>



<p>The MCP server is at v0.6.1. MathWorks shipped cross-platform MCP Bundles for one-click installs, added headless mode so MATLAB can run without the desktop GUI, and introduced MCP Resources that feed coding guidelines directly to your AI agent. Nine releases in five months.</p>



<p>MATLAB Copilot launched with R2025a in May 2025. It&#8217;s a purpose-built AI assistant inside the MATLAB desktop with chat, code generation, autocomplete, and error explanations. They even upgraded the underlying model to GPT-5 mini a month after launch.</p>



<p>Simulink Copilot entered beta. You can chat with your Simulink models, search and trace features with natural language, and troubleshoot errors through a dedicated panel on the canvas. If you do model-based design, this is worth watching.</p>



<p>And the MCP ecosystem around it exploded. MCP now has 97 million monthly SDK downloads and over 10,000 active servers. Anthropic donated it to the Linux Foundation. OpenAI, Google, Microsoft, and Amazon all support it. MathWorks calls MCP &#8220;USB-C for AI,&#8221; and that metaphor has held up.</p>



<p>The super stack isn&#8217;t experimental anymore. It&#8217;s infrastructure.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="572" height="1024" data-attachment-id="5368" data-permalink="https://nothans.com/super-stack-infographic" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?fit=750%2C1343&amp;ssl=1" data-orig-size="750,1343" data-comments-opened="0" data-image-title="matlab engineering super stack infographic" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?fit=572%2C1024&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?resize=572%2C1024&#038;ssl=1" alt="" class="wp-image-5368" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?resize=572%2C1024&amp;ssl=1 572w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?resize=168%2C300&amp;ssl=1 168w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/super-stack-infographic.png?w=750&amp;ssl=1 750w" sizes="auto, (max-width: 572px) 100vw, 572px" /></figure>
</div>

<h2 class="wp-block-heading" id="the-setup-matlab-mcp-vs-code-github-copilot">The Setup: MATLAB MCP + VS Code + GitHub Copilot</h2>


<p>The original post showed the stack with Claude Code. This time I&#8217;ll set it up with GitHub Copilot in VS Code. Same MCP server, different AI client. That&#8217;s the whole point of an open protocol.</p>



<p><strong>What you need:</strong></p>



<ul class="wp-block-list">
<li>MATLAB R2020b or later, installed and on your system PATH</li>



<li>Visual Studio Code with the GitHub Copilot Chat extension</li>



<li>The MATLAB Extension for VS Code (optional but recommended)</li>



<li>A GitHub Copilot subscription (the free tier works)</li>
</ul>



<p><strong>Step 1: Download the MCP server</strong></p>



<p>Go to the&nbsp;<a href="https://github.com/matlab/matlab-mcp-core-server/releases">MATLAB MCP Core Server releases page</a>&nbsp;on GitHub and download the binary for your platform:</p>



<ul class="wp-block-list">
<li>Windows: <code>matlab-mcp-core-server-win64.exe</code></li>



<li>macOS Apple Silicon: <code>matlab-mcp-core-server-maca64</code></li>



<li>macOS Intel: <code>matlab-mcp-core-server-maci64</code></li>



<li>Linux: <code>matlab-mcp-core-server-glnxa64</code></li>
</ul>



<p>On macOS or Linux, make it executable:&nbsp;<code>chmod +x matlab-mcp-core-server-*</code></p>



<p><strong>Step 2: Configure VS Code</strong></p>



<p>Create a&nbsp;<code>.vscode</code>&nbsp;folder in your project root (if it doesn&#8217;t exist), then add an&nbsp;<code>mcp.json</code>&nbsp;file:</p>



<pre class="wp-block-code"><code>{
    "servers": {
        "matlab": {
            "type": "stdio",
            "command": "C:\\path\\to\\matlab-mcp-core-server-win64.exe",
            "args": &#91;
                "--matlab-root=C:\\Program Files\\MATLAB\\R2025a",
                "--initial-working-folder=C:\\Users\\you\\YourProject"
            ]
        }
    }
}</code></pre>



<p>Replace the paths with your actual MATLAB installation and project directory. On macOS or Linux, use forward slashes.</p>



<p><strong>Step 3: Validate</strong></p>



<p>Open GitHub Copilot Chat in VS Code and ask: &#8220;Which MATLAB toolboxes are available?&#8221;</p>



<p>If everything is wired up, the MCP server launches MATLAB in the background and Copilot responds with your installed toolboxes. The first call takes a few seconds while MATLAB starts. After that, it&#8217;s fast.</p>



<p><strong>What you get:</strong></p>



<p>Five tools, available to any MCP-compatible AI client:</p>



<ul class="wp-block-list">
<li><code>detect_matlab_toolboxes</code>: Lists your installed MATLAB version and toolboxes</li>



<li><code>check_matlab_code</code>: Runs static analysis on a .m file (style issues, errors, deprecated functions)</li>



<li><code>evaluate_matlab_code</code>: Executes a MATLAB code string and returns the output</li>



<li><code>run_matlab_file</code>: Runs a .m script file</li>



<li><code>run_matlab_test_file</code>: Runs MATLAB unit tests</li>
</ul>



<p>Plus two MCP Resources (added in v0.3) that feed your AI agent the official MATLAB coding guidelines. The agent doesn&#8217;t just write MATLAB code. It writes MATLAB code that follows MathWorks conventions.&nbsp;<code>1i</code>&nbsp;instead of&nbsp;<code>i</code>&nbsp;for imaginary numbers.&nbsp;<code>k</code>&nbsp;for loop variables. Error handling the way the documentation says to.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;I think one of the impressive things about a lot of these AI models is that if you can teach it about the system that it&#8217;s working on&#8230; they can build on top of existing things that you have.&#8221;</p>



<p>Seth DeLand</p>
</blockquote>



<p>That&#8217;s exactly what the MCP server does. It teaches the AI about your MATLAB installation, your toolboxes, your project. The agent isn&#8217;t guessing. It&#8217;s building on what you already have.</p>


<h2 class="wp-block-heading" id="you-are-the-engineer">You Are the Engineer</h2>


<p>The tools got better. The MCP server matured. The ecosystem grew. But the most important upgrade in the super stack isn&#8217;t software.</p>



<p>It&#8217;s you.</p>



<p>You decide what problem to solve. You set the constraints. You shape the solution space and turn the agent loose inside it. When it comes back with four prototypes, you&#8217;re the one with the engineering judgment to pick the one that actually works for your system.</p>



<p>The agent writes code, runs tests, checks for deprecated functions. It can&#8217;t decide what matters. That&#8217;s your job.</p>



<p>Seth put it well: engineers are working at a higher level now. Not because the tools forced them to, but because the tools finally caught up to where the interesting problems live. The math. The constraints. The design decisions that determine whether the system works when it meets the real world.</p>



<p>The super stack is MATLAB, VS Code, and an AI agent connected through MCP. The stack doesn&#8217;t work without the engineer at the top of it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/the-matlab-engineering-super-stack/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5365</post-id>	</item>
		<item>
		<title>An Incomplete List of Jobs That AI Was Supposed to Kill but Actually Created</title>
		<link>https://nothans.com/an-incomplete-list-of-jobs-that-ai-was-supposed-to-kill-but-actually-created</link>
					<comments>https://nothans.com/an-incomplete-list-of-jobs-that-ai-was-supposed-to-kill-but-actually-created#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 23:24:19 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5359</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>Everybody knows AI is coming for your job. It&#8217;s the most popular take on the internet. Type &#8220;AI will replace&#8221; into any search bar&#8230; and autocomplete finishes the sentence before you do.</p>



<p>Here&#8217;s what actually happened. The World Economic Forum ran the numbers in its 2025 Future of Jobs Report. By 2030, AI will displace 92 million jobs. It will also create 170 million new ones. That&#8217;s a net gain of 78 million jobs that didn&#8217;t exist before.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5360" data-permalink="https://nothans.com/an-incomplete-list-of-jobs-that-ai-was-supposed-to-kill-but-actually-created/image-97" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?fit=750%2C750&amp;ssl=1" data-orig-size="750,750" data-comments-opened="0" data-image-title="An Incomplete List of Jobs That AI Was Supposed to Kill but Actually Created" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5360" style="width:642px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?w=750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-3.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>

<h2 class="wp-block-heading" id="the-list-so-far">The List (So Far)</h2>


<p><strong>Prompt Engineer</strong></p>



<p>We automated programming and accidentally invented a new kind of programming that&#8217;s just typing English very carefully. Average salary: $130K. The job didn&#8217;t exist in 2022. By 2025, postings had grown 135%. The skill is knowing that &#8220;write me a function&#8221; and &#8220;write me a function that handles edge cases, returns typed errors, and doesn&#8217;t hallucinate an API that doesn&#8217;t exist&#8221; are very different sentences.</p>



<p><strong>Vibe Coder</strong></p>



<p>This is a real job title. There are 372 open positions on ZipRecruiter right now. Upwork has a dedicated marketplace category. One company posted a listing for &#8220;Vibe Coder, Applied AI &amp; Rapid MVP Builder&#8221; paying $75K to $95K. There is an entire job board called VibeCodeCareers.com. Second Talent published an official Vibe Coder Job Description Template. I checked. Twice. We are living in a simulation.</p>



<p><strong>Context Engineer</strong></p>



<p>A Prompt Engineer got promoted. Context Engineers design systems that give AI the right information at the right time. Not the prompt. The&nbsp;<em>stuff around</em>&nbsp;the prompt. The job is making sure the AI knows what it&#8217;s talking about before it starts talking. You&#8217;d think that would be automatic. It is not.</p>



<p><strong>AI Trainer (Formerly &#8220;Intern&#8221;)</strong></p>



<p>Same tasks as before. Writing code, solving problems, answering questions. But the output trains a model instead of building a career. Pay ranges from $15/hr for basic annotation to $200/hr for specialized domain work. AI labs are spending over a billion dollars a year on human training data. Someone has to be the human.</p>



<p><strong>Agent Manager</strong></p>



<p>Harvard Business Review wrote about this role in February. Microsoft calls it &#8220;agent boss.&#8221; The job is tracking quality, refining prompts, managing handoffs, and figuring out why the agent just told a customer something completely made up. A third of managers now plan to hire people whose primary job is managing AI agents. Not building them. Babysitting them.</p>



<p><strong>Hallucination Auditor</strong></p>



<p>Reads AI output and checks whether the facts are real. The citations. The statistics. The API endpoints. The version numbers the agent invented for a library that&#8217;s still on 1.4. A Deloitte team skipped this step and delivered a $440,000 government report with at least twenty fabricated sources. Then they did it again on a million-dollar report. Full-time hallucination auditing is not overkill. It is, apparently, not enough.</p>



<p><strong>AI Red Teamer</strong></p>



<p>Gets paid to break AI systems on purpose. Salary: $60K to $160K depending on how good you are at tricking a language model into saying things it shouldn&#8217;t. Only 14% of organizations believe they have enough AI security talent. That means 86% of organizations are hoping nobody tries.</p>



<p><strong>GEO Strategist</strong></p>



<p>SEO, but for AI. GEO stands for Generative Engine Optimization. The job is making sure your company shows up when someone asks an AI a question instead of Googling it. Same game, different referee. The referee hallucinates sometimes.</p>



<p><strong>Data Labeler (Specialized)</strong></p>



<p>Simple labeling pays $15/hr. Medical annotation pays $50 to $100/hr. The gap tells you everything about where AI actually struggles. Labeling a picture of a dog is easy. Labeling a radiology scan is hard. The harder the task is for humans, the more humans get paid to teach the machine. The job AI was supposed to kill (repetitive classification) turned into the job AI can&#8217;t live without.</p>



<p><strong>Lore Engineer</strong></p>



<p>Not an official title yet. Give it six months. This person maintains documentation so AI agents don&#8217;t develop false beliefs about the codebase. When an agent keeps rebuilding a feature you deleted because it found a stale Confluence page from 2023, someone has to hunt down the ghost and kill it. We used to call this &#8220;technical writing.&#8221; Now it pays more because the reader is a bot that takes everything literally.</p>



<p><strong>AI Ethics Officer</strong></p>



<p>Someone whose job is making sure the AI doesn&#8217;t do the things that humans were already doing. The role requires balancing privacy, fairness, transparency, and the company&#8217;s desire to ship fast and worry later. The &#8220;worry later&#8221; part keeps the Ethics Officer employed indefinitely.</p>



<p><strong>Model Whisperer</strong></p>



<p>The unofficial title for the person on every team who&#8217;s just&#8230; better at talking to AI than everyone else. Nobody trained them. They don&#8217;t have a certificate. They just know that adding &#8220;think step by step&#8221; to the end of a prompt makes the output 40% better, and they can&#8217;t really explain why. Every team has one. Nobody put it in their job description. Yet.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5362" data-permalink="https://nothans.com/an-incomplete-list-of-jobs-that-ai-was-supposed-to-kill-but-actually-created/image-99" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5362" style="width:504px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=750%2C750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/image-5.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>

<h2 class="wp-block-heading" id="the-pattern">The Pattern</h2>


<p>Every one of these jobs exists because AI is good enough to be useful and bad enough to need supervision.</p>



<p>That&#8217;s the whole thing. AI can write code, but someone has to check it. AI can answer questions, but someone has to verify the answers. AI can make decisions, but someone has to make sure those decisions aren&#8217;t insane. AI can generate content, but someone has to make sure it doesn&#8217;t sound like it was generated by AI. (Hi.)</p>



<p>The jobs didn&#8217;t disappear. They shapeshifted. The new work is weirder, more specialized, and occasionally involves losing an argument to software about whether a function is deprecated. It usually isn&#8217;t. But sometimes it is. That &#8220;sometimes&#8221; is what keeps things interesting.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/an-incomplete-list-of-jobs-that-ai-was-supposed-to-kill-but-actually-created/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5359</post-id>	</item>
		<item>
		<title>Welcome to the Agentic Web.</title>
		<link>https://nothans.com/welcome-to-the-agentic-web</link>
					<comments>https://nothans.com/welcome-to-the-agentic-web#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 21:50:47 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Agentic Web]]></category>
		<category><![CDATA[MCP]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5351</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>I checked my server logs last Tuesday. Traffic was up. Way up. But engagement was flat. Same number of humans reading posts. The extra visitors weren&#8217;t reading anything at all.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5356" data-permalink="https://nothans.com/welcome-to-the-agentic-web/agentic-web-featured-2" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?fit=750%2C750&amp;ssl=1" data-orig-size="750,750" data-comments-opened="0" data-image-title="Welcome to The Agentic Web" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5356" style="width:416px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?w=750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-featured-1.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>


<p>They weren&#8217;t visitors. They were agents.</p>


<h2 class="wp-block-heading" id="you-are-now-the-minority">You Are Now the Minority</h2>


<p>In 2024, automated traffic surpassed human traffic on the internet for the first time in a decade. Bots now account for 51% of all web traffic. Cloudflare processes 50 billion AI crawler requests per day. GPTBot traffic alone grew 305% in one year.</p>



<p>The web you built for humans? Humans aren&#8217;t the primary audience anymore.</p>



<p>Retail sites see 59% bot traffic. Travel sites: 48%. These aren&#8217;t all scrapers or spam bots. Increasingly, they&#8217;re shopping agents, research agents, booking agents. Doing things humans used to do, on websites humans used to visit.</p>



<p>Cloudflare published a stat that stopped me cold. For every single visitor Anthropic refers back to a website, its crawlers have already visited 38,065 pages. OpenAI&#8217;s ratio is 1,091 to 1. Perplexity: 194 to 1. The agents read your site a thousand times for every one human they send your way.</p>



<p>The web hasn&#8217;t died. But it&#8217;s molting.</p>


<h2 class="wp-block-heading" id="the-protocol-war">The Protocol War</h2>


<p>If 2024 was the year we noticed agent traffic, 2025 was the year everyone started building the plumbing.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="419" data-attachment-id="5353" data-permalink="https://nothans.com/agentic-web-protocols" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?fit=2560%2C1429&amp;ssl=1" data-orig-size="2560,1429" data-comments-opened="0" data-image-title="agentic-web-protocols" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?fit=750%2C419&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols.png?resize=750%2C419&#038;ssl=1" alt="" class="wp-image-5353" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=1024%2C572&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=300%2C167&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=768%2C429&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=1536%2C857&amp;ssl=1 1536w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=2048%2C1143&amp;ssl=1 2048w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=750%2C419&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?resize=1320%2C737&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/03/agentic-web-protocols-scaled.png?w=2250&amp;ssl=1 2250w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>


<p>Anthropic released MCP (Model Context Protocol) in November 2024. People call it &#8220;USB-C for AI,&#8221; a universal adapter that lets any AI system talk to any tool or service. It now has 97 million monthly SDK downloads and over 10,000 active servers. In December 2025, Anthropic donated it to the Linux Foundation&#8217;s new Agentic AI Foundation, co-founded with Block and OpenAI. Platinum members include AWS, Google, Microsoft, Bloomberg, and Cloudflare.</p>



<p>Google launched A2A (Agent-to-Agent Protocol) in April 2025. It lets agents from different vendors discover each other using &#8220;Agent Cards,&#8221; basically JSON resumes. Over 150 organizations signed on, including Microsoft, Amazon, SAP, Salesforce, and PayPal. Adobe and S&amp;P Global already use it in production.</p>



<p>Then the commerce-specific protocols showed up. Shopify and Google co-developed UCP (Universal Commerce Protocol), endorsed by Etsy, Wayfair, Target, and Walmart. OpenAI and Stripe built ACP (Agentic Commerce Protocol), which powers &#8220;Buy it in ChatGPT,&#8221; launched February 2026.</p>



<p>There&#8217;s more. Jeremy Howard proposed llms.txt, a file that tells LLMs where your best resources are (the inverse of robots.txt, which tells crawlers where NOT to go). Over 600 sites adopted it, including Anthropic, Stripe, and Cloudflare. Vercel went further, proposing embedded LLM instructions directly in HTML:&nbsp;<code>&lt;script type="text/llms.txt"&gt;</code>. Their 401 error pages already serve agent-specific instructions.</p>



<p>This is the HTTP moment for agents. The protocols being written right now will shape how the agentic web works for the next decade.</p>


<h2 class="wp-block-heading" id="when-your-user-has-no-eyes">When Your User Has No Eyes</h2>


<p>We&#8217;ve spent thirty years making websites look good. Careful typography. Hero images. Hover effects. Cookie banners with the &#8220;Accept All&#8221; button slightly bigger than the &#8220;Manage Preferences&#8221; button. All designed for humans who see, click, and feel.</p>



<p>Your next billion users won&#8217;t see any of it.</p>



<p>An AI shopping agent doesn&#8217;t care about your hero image. It doesn&#8217;t notice your brand colors. It doesn&#8217;t feel the emotional pull of your &#8220;Limited Time Only&#8221; banner. It parses your structured data, checks your Schema markup, reads your JSON-LD, and makes a decision based on price, specs, availability, and reviews.</p>



<p>CSS is irrelevant when your user has no eyes.</p>



<p>Bain found that 80% of consumers already rely on zero-click results for at least 40% of their searches, reducing organic traffic by 15-25%. Google referrals to news sites dropped 9-15% in 2025. That funnel where you attract visitors with content, dazzle them with design, and convert them with psychology? Agents skip the entire thing. They go straight to the data layer.</p>



<p>HubSpot put it bluntly: &#8220;The fastest-growing decision-maker in your funnel cannot see your ad, feel your brand, or be persuaded by your story.&#8221;</p>



<p>The advertising model of the internet is about to face its first existential threat since ad blockers. Except ad blockers were opt-in. Agent browsing is default. When Perplexity&#8217;s Comet browser started bypassing Amazon&#8217;s advertising, Amazon sued. A federal judge blocked Comet from Amazon on March 10, 2026. Perplexity argued the real motivation was protecting ad revenue, not cybersecurity.</p>



<p>That lawsuit is a preview. The entire attention economy was built on the assumption that humans look at screens. Agents don&#8217;t look at anything.</p>


<h2 class="wp-block-heading" id="the-money-is-already-moving">The Money Is Already Moving</h2>


<p>This isn&#8217;t theoretical. The money has already started flowing through agent channels.</p>



<p>During Cyber Week 2025, one in five orders globally were associated with AI tools or agents. That&#8217;s 20% of all orders, roughly $67 billion. On Cyber Monday alone, AI traffic to US retail sites increased 670%. AI-influenced shoppers converted 38% more frequently than traditional visitors.</p>



<p>McKinsey estimates agentic commerce could redirect $3-5 trillion in global retail spend by 2030, with nearly $1 trillion from the US alone. Payment executives told CNBC this could be &#8220;more transformative than the rise of e-commerce platforms such as Amazon.&#8221;</p>



<p>The platforms are racing to own the checkout. Shopify launched Agentic Storefronts, letting merchants appear on ChatGPT, Perplexity, Microsoft Copilot, and Google AI Mode without needing a traditional website at all. Amazon built &#8220;Buy for Me,&#8221; an AI agent that purchases from third-party brand sites so customers never leave Amazon. OpenAI launched &#8220;Buy it in ChatGPT&#8221; in February with Stripe&#8217;s Agentic Commerce Protocol behind it.</p>



<p>Visa launched its Trusted Agent Protocol in October 2025, an open framework to distinguish legitimate AI agents from malicious bots. Mastercard is building its own trust framework. Both are running real transactions. Not pilot stage. Deployment.</p>



<p>47% of US shoppers already use AI tools for at least one part of their shopping journey. That number is going one direction.</p>


<h2 class="wp-block-heading" id="what-to-do-about-it">What to Do About It</h2>


<p>The agentic web is coming whether your site is ready or not. The transition will be messy, dual-interface, and gradual. Here&#8217;s what the practical path looks like.</p>



<p><strong>Structured data first.</strong>&nbsp;Schema markup, JSON-LD, clean OpenGraph tags. This is the content layer agents actually read. If your product pages don&#8217;t have machine-readable pricing, availability, and specs, you&#8217;re invisible to agent shoppers.</p>



<p><strong>Add llms.txt.</strong>&nbsp;It takes ten minutes. Create a&nbsp;<code>/llms.txt</code>&nbsp;file that tells LLMs where your most useful resources live. Over 600 sites have done this already. It&#8217;s the new robots.txt, but instead of &#8220;go away&#8221; it says &#8220;here&#8217;s the good stuff.&#8221;</p>



<p><strong>Build an MCP server.</strong>&nbsp;If you have an API, wrap it in MCP. Anthropic, OpenAI, Google, and Microsoft clients all support the protocol. This is how agents will interact with your service natively, without scraping your UI.</p>



<p><strong>Rethink your metrics.</strong>&nbsp;Traffic is no longer a proxy for interest. An agent visiting your site 38,000 times doesn&#8217;t mean you have 38,000 interested customers. You need to distinguish agent traffic from human traffic and measure what agents actually do: transactions, API calls, data retrieved.</p>



<p><strong>Plan for agent authentication.</strong>&nbsp;Visa and Mastercard are already building trust frameworks. If your business involves transactions, you&#8217;ll need a way to verify that the agent placing an order is authorized to act on behalf of a real customer.</p>



<p>The visual web isn&#8217;t going away tomorrow. Humans still browse. But the share of your traffic that sees your CSS is shrinking every quarter, and the share that reads your structured data is growing. Design for both.</p>


<h2 class="wp-block-heading" id="your-homework">Your Homework</h2>


<p>Go to your website&#8217;s analytics right now. Look at your traffic. Filter for known bot user agents. The number will be higher than you expect.</p>



<p>Then add a&nbsp;<code>llms.txt</code>&nbsp;file to your site root. Ten minutes. Tell the agents where the good stuff is.</p>



<p>The web is being rebuilt. You can watch, or you can leave the light on for your new visitors.</p>



<p>They won&#8217;t see it. But they&#8217;ll know it&#8217;s there.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/welcome-to-the-agentic-web/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5351</post-id>	</item>
		<item>
		<title>Compound Engineering: What If Every Project Made the Next One Easier?</title>
		<link>https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier</link>
					<comments>https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Sat, 28 Feb 2026 19:10:34 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Compound Engineering]]></category>
		<category><![CDATA[philosophy]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5330</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;ve been thinking a lot about compounding lately. Not the finance kind — though you do that too — but the kind where your work gets easier over time instead of harder. I&#8217;m calling it Compound Engineering, and I think it might be the most important shift in how we work.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="409" data-attachment-id="5333" data-permalink="https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier/image-92" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?fit=1408%2C768&amp;ssl=1" data-orig-size="1408,768" data-comments-opened="0" data-image-title="Compound Engineering" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?fit=750%2C409&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=750%2C409&#038;ssl=1" alt="" class="wp-image-5333" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=1024%2C559&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=768%2C419&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=750%2C409&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?resize=1320%2C720&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-4.png?w=1408&amp;ssl=1 1408w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">Compound Engineering</figcaption></figure>
</div>


<p>Here&#8217;s the thing that&#8217;s been bugging me. I&#8217;ve been building stuff for a long time. Software, hardware, IoT platforms, weird pinball mods — you name it. And every single time I start a new project, there&#8217;s this moment where I think, &#8220;Didn&#8217;t I already do this part?&#8221; The setup. The boilerplate. The config files. The architecture decisions I&#8217;ve already made a dozen times before.</p>



<p>I call it the Groundhog Day Problem.</p>



<p>Your tools don&#8217;t remember you. You close the tab, and it&#8217;s like you never existed. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Sixty to eighty percent of what you do on a new project, you&#8217;ve already done before.&#8221;</p>



<p><em>Hans Scharler</em></p>
</blockquote>



<p>And yet, every time, you start from scratch. That&#8217;s not a feature. That&#8217;s a bug.</p>


<h2 class="wp-block-heading" id="tldr">TL;DR</h2>

<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="572" height="1024" data-attachment-id="5332" data-permalink="https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier/compound-engineering-by-hans-scharler" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?fit=768%2C1376&amp;ssl=1" data-orig-size="768,1376" data-comments-opened="0" data-image-title="Compound Engineering by Hans Scharler" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?fit=572%2C1024&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?resize=572%2C1024&#038;ssl=1" alt="Compound Engineering by Hans Scharler" class="wp-image-5332" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?resize=572%2C1024&amp;ssl=1 572w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?resize=167%2C300&amp;ssl=1 167w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?resize=750%2C1344&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/Compound-Engineering-by-Hans-Scharler.png?w=768&amp;ssl=1 768w" sizes="auto, (max-width: 572px) 100vw, 572px" /><figcaption class="wp-element-caption">Compound Engineering by Hans Scharler</figcaption></figure>
</div>

<h2 class="wp-block-heading" id="the-work-surface-that-learns">The Work Surface That Learns</h2>


<p>Compound Engineering is the idea that your work surface — the environment where you actually do the work — should learn, adapt, and accumulate knowledge over time. Not like templates. Templates are dead things. I&#8217;m talking about living intelligence that evolves with you.</p>



<p>Think of it like compound interest, but for productivity. Every workflow you capture, every pattern you codify, every piece of knowledge you extract — it doesn&#8217;t just help you today. It helps you tomorrow, next month, and next year. It accrues.</p>



<p>I&#8217;ve been experiencing this firsthand. When I wrote about <a href="https://nothans.com/the-engineering-super-stack-matlab-visual-studio-code-claude-code">The Engineering Super Stack</a>, I was already circling this idea — stacking the right tools so they yield something greater than the parts. But Compound Engineering goes further. It&#8217;s not just about picking good tools. It&#8217;s about tools that get better because <em>you</em> used them.</p>


<h2 class="wp-block-heading" id="five-layers-that-stack">Five Layers That Stack</h2>


<p>When I break it down, there are five layers to this compounding:</p>



<p><strong>Workflows</strong> are the foundation. You do something once, capture the sequence, and now you can replay it, remix it, evolve it. That deployment script you write from memory every time? Capture it. Done.</p>



<p><strong>Skills</strong> take it further — encoding your domain expertise into reusable, shareable modules. The stuff that lives in your head? Make it executable.</p>



<p><strong>Commands</strong> are where you start to feel the leverage. Those ten steps you do every Monday morning? Collapse them into one. One click. Gone.</p>



<p><strong>Agents</strong> are where it gets fun. Autonomous workers that carry your intent forward while you&#8217;re doing something else — or sleeping, which I hear some people do.</p>



<p><strong>Knowledge</strong> is the substrate beneath everything. Context that doesn&#8217;t just persist — it deepens and connects across projects, across teams, across your career.</p>



<p>Each layer feeds the next. That&#8217;s the compounding.</p>


<h2 class="wp-block-heading" id="project-1-vs-project-10">Project 1 vs. Project 10</h2>


<p>Here&#8217;s how it plays out in practice:</p>



<p>Project one, you build everything from scratch. You&#8217;re exploring, making mistakes, learning. It&#8217;s slow, and that&#8217;s fine.</p>



<p>By project three, your workflows are captured. Setup takes half the time. You&#8217;re not reinventing the wheel anymore.</p>



<p>By project five, agents handle the boring parts. Boilerplate? Done. Config? Done. You&#8217;re spending your time on the interesting problems — the ones that actually need your brain.</p>



<p>By project ten, you describe what you want, and the system drafts the first 70%. You refine, you polish, you add the creative spark. But the heavy lifting? Already handled.</p>



<p>Project ten shouldn&#8217;t feel like project one. And now it doesn&#8217;t have to.</p>



<p>I&#8217;ve talked before about how <a href="https://nothans.com/empathic-ai-prompting-for-programmers-treating-your-ai-as-a-coding-buddy">empathic AI prompting</a> changed the way I work — treating your AI like a collaborator instead of a vending machine. Compound Engineering is the next step. It&#8217;s not just about how you talk to your tools. It&#8217;s about your tools remembering every conversation you&#8217;ve ever had.</p>


<h2 class="wp-block-heading" id="what-actually-changes">What Actually Changes</h2>


<p>This isn&#8217;t incremental. This rewrites the economics of work.</p>



<p>Onboarding gets transformed. New team members don&#8217;t get a wiki link and a &#8220;good luck.&#8221; They inherit the team&#8217;s compound knowledge from day one — the workflows, the skills, the patterns.</p>



<p>Expertise becomes portable. When your best engineer moves on, their expertise stays. Codified, not tribal.</p>



<p>The gap between &#8220;senior&#8221; and &#8220;junior&#8221; shrinks. Not because junior developers suddenly gain ten years of experience, but because the tools carry the seniority. The tools know the patterns. The tools remember the pitfalls.</p>



<p>Solo operators gain the leverage of teams. Small teams gain the leverage of enterprises. That&#8217;s not a tagline. That&#8217;s just what happens when you make expertise executable.</p>


<h2 class="wp-block-heading" id="the-risk-of-not-doing-this">The Risk of Not Doing This</h2>


<p>I&#8217;ll be blunt. If you&#8217;re not compounding, you&#8217;re falling behind.</p>



<p>Linear workers — folks doing great work but starting from zero every time — hit a ceiling. There&#8217;s only so fast you can move when you&#8217;re rebuilding the foundation each time. Compound workers hit escape velocity. Same talent, same hours in the day, dramatically different output over time.</p>



<p>Organizations feel this even harder. Institutional knowledge that isn&#8217;t captured gets lost to attrition, to time, to entropy. Your best person leaves, and a decade of expertise walks out the door with them.</p>



<p>The future belongs to whoever builds the flywheel first.</p>


<h2 class="wp-block-heading" id="where-this-is-going">Where This Is Going</h2>


<p>I see three things coming.</p>



<ul class="wp-block-list">
<li>Connected work surfaces&#8230; where your tools talk to your teammates&#8217; tools. Work surfaces that negotiate and share context without a meeting.</li>



<li>Skills marketplaces&#8230; codified expertise becoming a tradeable asset. A senior DevOps engineer publishes their deployment workflow. A startup buys it and deploys like a Fortune 500 company on day one.</li>



<li>Career-long AI&#8230; a personal AI that doesn&#8217;t reset when you change jobs. It compounds across your entire career. Every problem you&#8217;ve solved, every domain you&#8217;ve mastered, every lesson you&#8217;ve learned.</li>
</ul>


<h2 class="wp-block-heading" id="start-the-flywheel">Start the Flywheel</h2>


<p>Here&#8217;s your homework. Codify one workflow this week. Just one. That deployment script you always write from memory. The project setup you&#8217;ve done forty times. The onboarding checklist that lives in your head.</p>



<p>Write it down. Automate it. Make it reusable. Watch what happens.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5334" data-permalink="https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier/image-93" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5334" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=750%2C750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-5.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">The Compound Engineering Flywheel Effect</figcaption></figure>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/compound-engineering-what-if-every-project-made-the-next-one-easier/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5330</post-id>	</item>
		<item>
		<title>Happy Birthday, Claude Code. The Agentic Coding Platform Turns One.</title>
		<link>https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one</link>
					<comments>https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Wed, 18 Feb 2026 16:26:03 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Agentic Coding]]></category>
		<category><![CDATA[Anthropic]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Sonnet]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5321</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>One year ago, we heard rumors about a new language model from Anthropic. It turned out to be <a href="https://www.anthropic.com/news/claude-3-7-sonnet">Sonnet 3.7</a>. But Anthropic pulled, wait, there&#8217;s more, and dropped <em>Claude Code</em> as a Research Preview.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="422" data-attachment-id="5324" data-permalink="https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one/image-90" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?fit=1920%2C1080&amp;ssl=1" data-orig-size="1920,1080" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?fit=750%2C422&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=750%2C422&#038;ssl=1" alt="" class="wp-image-5324" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=750%2C422&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=480%2C270&amp;ssl=1 480w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?resize=1320%2C743&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-2.png?w=1920&amp;ssl=1 1920w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">Claude Code Research Preview: February 24, 2025</figcaption></figure>
</div>


<p>Claude Code might be the most significant event of 2025 in the field of AI. For me, it changed the course of the year and led me to unthinkable places. I followed every twist and turn and stayed on top of the wave. What an amazing tool that delivers on its promise. It amplifies and scales your ability, keeps you moving forward, and leads to some serious compounding.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="422" data-attachment-id="5322" data-permalink="https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one/image-88" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?fit=1920%2C1080&amp;ssl=1" data-orig-size="1920,1080" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?fit=750%2C422&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=750%2C422&#038;ssl=1" alt="" class="wp-image-5322" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=750%2C422&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=480%2C270&amp;ssl=1 480w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?resize=1320%2C743&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image.png?w=1920&amp;ssl=1 1920w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">We are here.</figcaption></figure>



<p>An overlooked impact of AI is its compounding nature. From the first prompt, where everything is wrong. But, slowly, you learn, you figure out how to harness. At some point, you forget about the first hallucination, and you are in a new spot. When I talk to others, I can immediately tell where they are on the curve by how they talk about these tools. A scary thing, though, is how far behind you can get, and that you might not be able to catch up to those who have started. If you do anything this month, go down the bumpy road and get on the other side.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="718" height="1024" data-attachment-id="5323" data-permalink="https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one/image-89" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?fit=864%2C1232&amp;ssl=1" data-orig-size="864,1232" data-comments-opened="0" data-image-title="Happy Birthday, Claude Code" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?fit=718%2C1024&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?resize=718%2C1024&#038;ssl=1" alt="" class="wp-image-5323" style="width:396px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?resize=718%2C1024&amp;ssl=1 718w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?resize=210%2C300&amp;ssl=1 210w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?resize=768%2C1095&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?resize=750%2C1069&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2026/02/image-1.png?w=864&amp;ssl=1 864w" sizes="auto, (max-width: 718px) 100vw, 718px" /><figcaption class="wp-element-caption">It&#8217;s the least I could do&#8230; I made you a card.</figcaption></figure>
</div>


<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/happy-birthday-claude-code-the-agentic-coding-platform-turns-one/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5321</post-id>	</item>
		<item>
		<title>The Merry Manhattan Redux: A Smoked Cherry and Rosemary Cocktail for Christmas and New Year&#8217;s Day</title>
		<link>https://nothans.com/the-merry-manhattan-redux</link>
					<comments>https://nothans.com/the-merry-manhattan-redux#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 15:54:47 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[cocktails]]></category>
		<category><![CDATA[DALL-E]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Generative AI Art]]></category>
		<category><![CDATA[Nano Banana]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5275</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>I was looking over my Google Analytics for my blog posts. A couple of years ago, I wrote a blog post about <a href="https://nothans.com/the-merry-manhattan" data-type="post" data-id="4347">The Merry Manhattan</a> cocktail creation for a party. Two things were interesting about that blog post. One, it was my own creation. Two, I used DALL-E to create a photo of the drink for my blog post. I didn&#8217;t get a picture of the drink, even though I made it 12 times that night. For whatever reason, this blog post was my most popular one for December 2025. I thought I would give it a redux. Image generation has come a long way, so let&#8217;s see how things have changed.</p>



<p>As a baseline, here&#8217;s the AI-generated image from two years ago, created with DALL-E 3.</p>


<div class="wp-block-image">
<figure class="aligncenter is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?w=750&#038;ssl=1" alt="This image has an empty alt attribute; its file name is image.png" style="width:500px;height:auto"/><figcaption class="wp-element-caption">The Merry Manhattan (as visualized by DALL-E 3, December 2023)</figcaption></figure>
</div>


<p>The original DALL-E 3 photo looks kind of crazy when you look back. I would never garnish a drink with a grapefruit wedge; it would have been a peel.</p>



<p>To remind you of the cocktail recipe for The Merry Manhattan:</p>


<div class="wp-block-wpzoom-recipe-card-block-recipe-card is-style-default header-content-align-left block-alignment-left recipe-card-noimage" id="wpzoom-recipe-card"><div class="recipe-card-image">
				<figure>
					<img loading="lazy" decoding="async" width="800" height="530" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?resize=800%2C530&amp;ssl=1" class="wpzoom-recipe-card-image" alt="The Merry Manhattan" id="4348" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?resize=800%2C530&amp;ssl=1 800w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?resize=300%2C200&amp;ssl=1 300w" sizes="auto, (max-width: 750px) 100vw, 750px" data-attachment-id="4348" data-permalink="https://nothans.com/the-merry-manhattan/image-38" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="0" data-image-title="The Merry Manhattan" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/12/image.png?fit=750%2C750&amp;ssl=1" />
					<figcaption>
						<div class="wpzoom-recipe-card-print-link">
	            <a class="btn-print-link no-print" href="#wpzoom-recipe-card" title="Print directions..." style="background-color: #222222;" data-servings-size="4" data-recipe-id="5275">
	            	<SVG class="wpzoom-rcb-icon-print-link" viewBox="0 0 32 32" width="32" height="32" xmlns="http://www.w3.org/2000/svg">
 	            	    <g data-name="Layer 55" id="Layer_55">
 	            	        <Path class="wpzoom-rcb-print-icon" d="M28,25H25a1,1,0,0,1,0-2h3a1,1,0,0,0,1-1V10a1,1,0,0,0-1-1H4a1,1,0,0,0-1,1V22a1,1,0,0,0,1,1H7a1,1,0,0,1,0,2H4a3,3,0,0,1-3-3V10A3,3,0,0,1,4,7H28a3,3,0,0,1,3,3V22A3,3,0,0,1,28,25Z" />
 	            	        <Path class="wpzoom-rcb-print-icon" d="M25,31H7a1,1,0,0,1-1-1V20a1,1,0,0,1,1-1H25a1,1,0,0,1,1,1V30A1,1,0,0,1,25,31ZM8,29H24V21H8Z" />
 	            	        <Path class="wpzoom-rcb-print-icon" d="M25,9a1,1,0,0,1-1-1V3H8V8A1,1,0,0,1,6,8V2A1,1,0,0,1,7,1H25a1,1,0,0,1,1,1V8A1,1,0,0,1,25,9Z" />
 	            	        <rect class="wpzoom-rcb-print-icon" height="2" width="2" x="24" y="11" />
 	            	        <rect class="wpzoom-rcb-print-icon" height="2" width="4" x="18" y="11" />
 	            	    </g>
 	            	</SVG>
	                <span>Print</span>
	            </a>
	        </div>
		            </figcaption>
				</figure>
			</div>
			<div class="recipe-card-heading">
				<div class="wpzoom-recipe-card-print-link">
	            <a class="btn-print-link no-print" href="#wpzoom-recipe-card" title="Print Recipe" data-servings-size="4" data-recipe-id="5275">
	            	<SVG class="wpzoom-rcb-icon-print-link" viewBox="0 0 32 32" width="32" height="32" xmlns="http://www.w3.org/2000/svg">
 	            	    <g data-name="Layer 55" id="Layer_55">
 	            	        <Path class="wpzoom-rcb-print-icon" d="M28,25H25a1,1,0,0,1,0-2h3a1,1,0,0,0,1-1V10a1,1,0,0,0-1-1H4a1,1,0,0,0-1,1V22a1,1,0,0,0,1,1H7a1,1,0,0,1,0,2H4a3,3,0,0,1-3-3V10A3,3,0,0,1,4,7H28a3,3,0,0,1,3,3V22A3,3,0,0,1,28,25Z" />
 	            	        <Path class="wpzoom-rcb-print-icon" d="M25,31H7a1,1,0,0,1-1-1V20a1,1,0,0,1,1-1H25a1,1,0,0,1,1,1V30A1,1,0,0,1,25,31ZM8,29H24V21H8Z" />
 	            	        <Path class="wpzoom-rcb-print-icon" d="M25,9a1,1,0,0,1-1-1V3H8V8A1,1,0,0,1,6,8V2A1,1,0,0,1,7,1H25a1,1,0,0,1,1,1V8A1,1,0,0,1,25,9Z" />
 	            	        <rect class="wpzoom-rcb-print-icon" height="2" width="2" x="24" y="11" />
 	            	        <rect class="wpzoom-rcb-print-icon" height="2" width="4" x="18" y="11" />
 	            	    </g>
 	            	</SVG>
	                <span>Print</span>
	            </a>
	        </div><h2 class="recipe-card-title">The Merry Manhattan</h2><span class="recipe-card-author">Recipe by Hans Scharler</span></div><div class="recipe-card-details"><div class="details-items"><div class="detail-item detail-item-1"><span class="detail-item-icon oldicon oldicon-clock" style="color: #6d767f;"></span><span class="detail-item-label">Prep time</span><p class="detail-item-value">5</p><span class="detail-item-unit">minutes</span></div></div></div><p class="recipe-card-summary">The Merry Manhattan is a festive twist on the classic Manhattan cocktail, perfect for holiday celebrations. This elegant drink features a rich amber hue, achieved by blending rye whiskey with sweet vermouth. The traditional flavor is enhanced with a unique addition of smoked cherries, adding a subtle, smoky sweetness. A sprig of rosemary infuses the cocktail with a fragrant, herbaceous aroma, invoking the essence of winter. The drink is served in a rocks glass containing a large ice chunk. The finishing touch is a gracefully twisted grapefruit peel, adding a citrusy zing and completing the cocktail&#8217;s holiday charm. </p><div class="recipe-card-ingredients"><h3 class="ingredients-title">Ingredients</h3><ul class="ingredients-list layout-1-column"><li id="wpzoom-rcb-ingredient-item-6573312ed9512" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">1 oz Carpano Antica Formula Vermouth</span></p></li><li id="wpzoom-rcb-ingredient-item-6573312ed9513" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">2 oz Whistle Pig Rye Whiskey</span></p></li><li id="wpzoom-rcb-ingredient-item-6573312ed9514" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">2 dashes Sour Cherry Bitters</span></p></li><li id="wpzoom-rcb-ingredient-item-6573312ed9515" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">2 dashes Peychaud&#8217;s Bitters</span></p></li><li id="wpzoom-rcb-ingredient-item-1702049546215523" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">Fresh cherries (for smoking)</span></p></li><li id="wpzoom-rcb-ingredient-item-1702049547140528" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">Fresh rosemary (for smoking)</span></p></li><li id="wpzoom-rcb-ingredient-item-1702049548128533" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">Grapefruit peel (for garnish)</span></p></li><li id="wpzoom-rcb-ingredient-item-1702049576013562" class="ingredient-item"><span class="tick-circle"></span><p class="ingredient-item-name is-strikethrough-active"><span class="wpzoom-rcb-ingredient-name">Ice</span></p></li></ul></div><div class="recipe-card-directions"><h3 class="directions-title">Directions</h3><ul class="directions-list"><li id="wpzoom-rcb-direction-step-6573312ed9516" class="direction-step"><strong>Prepare the Smoke:</strong><br />Gather a few fresh cherries and a sprig of rosemary.<br />Using a kitchen torch, gently torch the rosemary and cherries until they start to smoke. Be careful not to burn them.<br />Immediately cover the smoking rosemary and cherries with a rocks glass to trap the smoke inside. Let it sit for a minute to infuse the glass with the smoky aroma.</li><li id="wpzoom-rcb-direction-step-6573312ed9517" class="direction-step">In a mixing glass, combine 1 oz of Vermouth and 2 oz of Rye Whiskey.</li><li id="wpzoom-rcb-direction-step-6573312ed9518" class="direction-step">Add two dashes each of Sour Cherry Bitters and Peychaud&#8217;s Bitters.</li><li id="wpzoom-rcb-direction-step-6573312ed9519" class="direction-step">Fill the mixing glass with ice and stir well to chill and dilute the cocktail.</li><li id="wpzoom-rcb-direction-step-1702049808920911" class="direction-step">Add an ice chunk to the smoked rocks glass.</li><li id="wpzoom-rcb-direction-step-17020498364461120" class="direction-step">Strain the stirred cocktail into the smoked rocks glass.</li><li id="wpzoom-rcb-direction-step-17020498551231141" class="direction-step"><strong>F</strong>i<strong>nish and Garnish:</strong><br />Take a grapefruit peel and express (squeeze) its oils over the drink.<br />Use the grapefruit peel as a garnish.<br />Use one of the smoked cherries as a garnish.<br />Use the sprig of rosemary as a garnish.</li></ul></div><div class="recipe-card-notes">
					<h3 class="notes-title">Notes</h3>
					<ul class="recipe-card-notes-list"><li>Enjoy the smoked cherries as a treat, or save them for a future cocktail garnish.</li></ul>
				</div><script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Recipe","name":"The Merry Manhattan","image":["https:\/\/nothans.com\/wp-content\/uploads\/2023\/12\/image.png","https:\/\/i0.wp.com\/nothans.com\/wp-content\/uploads\/2023\/12\/image.png?resize=500%2C500&ssl=1","https:\/\/i0.wp.com\/nothans.com\/wp-content\/uploads\/2023\/12\/image.png?resize=500%2C375&ssl=1","https:\/\/i0.wp.com\/nothans.com\/wp-content\/uploads\/2023\/12\/image.png?resize=480%2C270&ssl=1"],"description":"The Merry Manhattan is a festive twist on the classic Manhattan cocktail, perfect for holiday celebrations. This elegant drink features a rich amber hue, achieved by blending rye whiskey with sweet vermouth. The traditional flavor is enhanced with a unique addition of smoked cherries, adding a subtle, smoky sweetness. A sprig of rosemary infuses the cocktail with a fragrant, herbaceous aroma, invoking the essence of winter. The drink is served in a rocks glass containing a large ice chunk. The finishing touch is a gracefully twisted grapefruit peel, adding a citrusy zing and completing the cocktail&#039;s holiday charm. ","keywords":"AI, cocktails, DALL-E, Gemini, GenAI, Generative AI, Generative AI Art, Nano Banana, cocktails, recipe","author":{"@type":"Person","name":"Hans Scharler"},"datePublished":"2025-12-29T10:54:47-05:00","prepTime":"PT5M","cookTime":"","totalTime":"","recipeCategory":["AI","Life"],"recipeCuisine":[],"recipeYield":"","nutrition":{"@type":"NutritionInformation"},"recipeIngredient":["1 oz Carpano Antica Formula Vermouth","2 oz Whistle Pig Rye Whiskey","2 dashes Sour Cherry Bitters","2 dashes Peychaud's Bitters","Fresh cherries (for smoking)","Fresh rosemary (for smoking)","Grapefruit peel (for garnish)","Ice"],"recipeInstructions":[{"@type":"HowToStep","name":"Prepare the Smoke:Gather a few fresh cherries and a sprig of rosemary.Using a kitchen torch, gently torch the rosemary and cherries until they start to smoke. Be careful not to burn them.Immediately cover the smoking rosemary and cherries with a rocks glass to trap the smoke inside. Let it sit for a minute to infuse the glass with the smoky aroma.","text":"Prepare the Smoke:Gather a few fresh cherries and a sprig of rosemary.Using a kitchen torch, gently torch the rosemary and cherries until they start to smoke. Be careful not to burn them.Immediately cover the smoking rosemary and cherries with a rocks glass to trap the smoke inside. Let it sit for a minute to infuse the glass with the smoky aroma.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-6573312ed9516","image":""},{"@type":"HowToStep","name":"In a mixing glass, combine 1 oz of Vermouth and 2 oz of Rye Whiskey.","text":"In a mixing glass, combine 1 oz of Vermouth and 2 oz of Rye Whiskey.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-6573312ed9517","image":""},{"@type":"HowToStep","name":"Add two dashes each of Sour Cherry Bitters and Peychaud's Bitters.","text":"Add two dashes each of Sour Cherry Bitters and Peychaud's Bitters.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-6573312ed9518","image":""},{"@type":"HowToStep","name":"Fill the mixing glass with ice and stir well to chill and dilute the cocktail.","text":"Fill the mixing glass with ice and stir well to chill and dilute the cocktail.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-6573312ed9519","image":""},{"@type":"HowToStep","name":"Add an ice chunk to the smoked rocks glass.","text":"Add an ice chunk to the smoked rocks glass.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-1702049808920911","image":""},{"@type":"HowToStep","name":"Strain the stirred cocktail into the smoked rocks glass.","text":"Strain the stirred cocktail into the smoked rocks glass.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-17020498364461120","image":""},{"@type":"HowToStep","name":"Finish and Garnish:Take a grapefruit peel and express (squeeze) its oils over the drink.Use the grapefruit peel as a garnish.Use one of the smoked cherries as a garnish.Use the sprig of rosemary as a garnish.","text":"Finish and Garnish:Take a grapefruit peel and express (squeeze) its oils over the drink.Use the grapefruit peel as a garnish.Use one of the smoked cherries as a garnish.Use the sprig of rosemary as a garnish.","url":"https:\/\/nothans.com\/the-merry-manhattan-redux#wpzoom-rcb-direction-step-17020498551231141","image":""}]}</script></div>


<p>Here&#8217;s the first try with Nano Banna Pro. I gave it the recipe card along with the prompt to create a realistic photo for a Christmas or New Year&#8217;s party setting.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="409" data-attachment-id="5276" data-permalink="https://nothans.com/the-merry-manhattan-redux/image-78" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?fit=1408%2C768&amp;ssl=1" data-orig-size="1408,768" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?fit=750%2C409&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=750%2C409&#038;ssl=1" alt="" class="wp-image-5276" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=1024%2C559&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=768%2C419&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=750%2C409&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?resize=1320%2C720&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image.png?w=1408&amp;ssl=1 1408w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">The Merry Manhattan (as visualized by Nano Banana Pro, December 2025)</figcaption></figure>
</div>


<p>I am still not in love with the photos. They are better for sure. Let me try a new approach. I am going to just send a link to the blog post and ask for the photos again.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="409" data-attachment-id="5277" data-permalink="https://nothans.com/the-merry-manhattan-redux/image-79" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?fit=1408%2C768&amp;ssl=1" data-orig-size="1408,768" data-comments-opened="0" data-image-title="The Merry Manhattan by Hans Scharler" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?fit=750%2C409&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=750%2C409&#038;ssl=1" alt="" class="wp-image-5277" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=1024%2C559&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=768%2C419&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=750%2C409&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?resize=1320%2C720&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-1.png?w=1408&amp;ssl=1 1408w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">The Merry Manhattan (as visualized by Nano Banana Pro, December 2025, Christmas setting)</figcaption></figure>
</div>


<p>This time it was much better. I like that it used a fancy cocktail cherry, like a Luxardo cherry, instead of one with a stem.</p>



<p>I found this an interesting way to visualize how a drink can come together. I like inventing my own cocktails for parties. This gives me a way to experiment with the visual presentation. </p>



<p>Now, Nano Banana Pro has way more capability than DALL-E 3 had, so I can do more things. I can make process diagrams for the recipe card. Let&#8217;s try that.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="409" data-attachment-id="5279" data-permalink="https://nothans.com/the-merry-manhattan-redux/image-81" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?fit=1408%2C768&amp;ssl=1" data-orig-size="1408,768" data-comments-opened="0" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?fit=750%2C409&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=750%2C409&#038;ssl=1" alt="" class="wp-image-5279" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=1024%2C559&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=300%2C164&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=768%2C419&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=750%2C409&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?resize=1320%2C720&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/12/image-3.png?w=1408&amp;ssl=1 1408w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>
</div>


<p> Now, we are talking.</p>



<p>A few takeaways:</p>



<ul class="wp-block-list">
<li>Models are improving rapidly.</li>



<li>You can do something new with Generative AI models.</li>



<li>And, the power of AND. I started with a photo, then pivoted to a recipe card diagram. I could keep anding. I could make it a YouTube video script. I could make it a series of cocktails. This is the most critical takeaway for 2026. It is not just about doing one thing more efficiently; it is about doing more things than you could before.</li>
</ul>



<p>Buckle up. You might need a drink in 2026.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/the-merry-manhattan-redux/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5275</post-id>	</item>
		<item>
		<title>Claude Opus 4.5 vs. Gemini 3 Pro: What a Week</title>
		<link>https://nothans.com/claude-opus-4-5-vs-gemini-3-pro-what-a-week</link>
					<comments>https://nothans.com/claude-opus-4-5-vs-gemini-3-pro-what-a-week#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Mon, 24 Nov 2025 23:47:02 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[Generative AI]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5254</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>This past week was one of those moments where you just lean back and enjoy the ride. Google dropped Gemini 3 Pro. Anthropic dropped Claude Opus 4.5. Both landed within days of each other. If you work in AI, this is the good stuff.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="750" data-attachment-id="5255" data-permalink="https://nothans.com/claude-opus-4-5-vs-gemini-3-pro-what-a-week/image-77" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?fit=1024%2C1024&amp;ssl=1" data-orig-size="1024,1024" data-comments-opened="0" data-image-title="Gemini versus Claude" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?fit=750%2C750&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=750%2C750&#038;ssl=1" alt="" class="wp-image-5255" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=530%2C530&amp;ssl=1 530w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=750%2C750&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-10.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">Gemini vs. Claude (as visualized by Nano Banana Pro)</figcaption></figure>
</div>

<h2 class="wp-block-heading" id="gemini-3-pro"><strong>Gemini 3 Pro</strong></h2>


<p>Google went a different direction. Gemini 3 Pro is all about reasoning, multimodal inputs, and that million-token context window.</p>



<p>The benchmark numbers are wild. It hit 91.9% on GPQA Diamond. On ARC-AGI-2, the abstract reasoning benchmark, it scored 31.1% (and up to 45% in Deep Think mode). That is a huge leap over previous models. On LMArena it took the top ELO spot.</p>



<p>If your work is heavy on reasoning, vision, video, or you need to throw massive context at a problem, Gemini 3 Pro is built for that.</p>


<h2 class="wp-block-heading" id="claude-opus-45"><strong>Claude Opus 4.5</strong></h2>


<p>Anthropic announced Opus 4.5 on November 24, 2025. They are calling it the best model in the world for coding, agents, and computer use. Bold claim.</p>



<p>On their internal engineering benchmarks, Opus 4.5 scored higher than any human candidate ever on their take-home exam. It also delivers higher pass rates on tests while using up to 65% fewer tokens than Sonnet 4.5. That efficiency piece matters if you are building agents that run for hours.</p>



<p>The pitch is clear: if you care about code, automation, and not burning through tokens, Opus 4.5 is the one.</p>


<h2 class="wp-block-heading" id="how-they-compare"><strong>How They Compare</strong></h2>


<p>Opus 4.5 is aimed at engineers building agents and writing code. It is optimized for efficiency. Gemini 3 Pro is aimed at everything else: reasoning, multimodal, long context, general purpose.</p>



<p>Both are frontier models. Both are available on major clouds and APIs. The honest answer is you might end up using both depending on the task.</p>


<h2 class="wp-block-heading" id="the-real-point"><strong>The Real Point</strong></h2>


<p>The meta-point is not which model wins. The point is that two frontier models landed in the same week, both pushing hard on different axes. Reasoning, coding, agents, vision, efficiency. The pace of improvement is nuts.</p>



<p>If you are building with AI right now, the table is full. Pick your model, match it to your task, and start experimenting. There has never been a better time.</p>


<h2 class="wp-block-heading" id="what-excites-me-about-claude-opus-45">What excites me about Claude Opus 4.5?</h2>


<p>While I was writing this post, a friend texted me to ask what excited me about Claude Opus 4.5. I spent a couple of hours with it today, and I would have to say&#8230; tool search.</p>



<p>Tool search lets Claude discover and load tools on-demand instead of pre-loading every definition at the start.</p>



<p>Here is how it works. You provide a catalog of tools to the API with names, descriptions, and input schemas. You mark most of them with <code>defer_loading: true</code>, which means they stay out of the model&#8217;s context until needed. Then you include a tool-search tool in the list. When Claude needs a new capability, it searches, finds the right tool, and only then does that tool get loaded into context.</p>



<p>There are two pain points this solves&#8230; expensive tokens and picking the right tool.</p>



<p>When you load dozens of tools upfront, the definitions alone eat up thousands of tokens. That is space you could be using for reasoning, tool outputs, and user messages. With tool search, you load only the search tool and maybe three to five relevant definitions. The overhead drops significantly.</p>



<p>With large libraries of tools, the model can struggle to pick the right one, especially when names or parameters are similar. The search step narrows the candidates to tools that actually match the task.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/claude-opus-4-5-vs-gemini-3-pro-what-a-week/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5254</post-id>	</item>
	</channel>
</rss>
