2026-07-28: agent harnesses, machine search, program equilibria, renormalization

2026-07-28 — 2026-07-28

Thirty-two days, eleven new posts, thirteen updates — and true to form, Dan’s spent most of it building himself a shed full of tools rather than using any of them properly yet. He’s pulled apart what actually makes an AI agent tick — the model, the loop, the front end — and written it up like a bloke labelling drawers in a workshop. Then there’s a good chunk on what “search” means when nobody’s clicking a link anymore, some fairly hairy stuff about whether you can trust an AI that’s bargaining with you, and a grab-bag of maths oddities that finishes, for no reason at all, with a history of Czechia.

digest

1 Dan builds himself a toolshed

1.1 Agent harness design

Turns out an AI “agent” isn’t one thing — it’s a model plus a harness, and the harness is the bit nobody talks about. Dan’s worked out there’s basically four decisions that decide how any of these setups behave: how the steps connect, what gets to check the work, what each step can see, and who does each job. He reckons the harness matters more than the model half the time, which is a bit like saying the tradesman matters more than the tools — fair point, but try telling that to the bloke who just bought a $10,000 laser level.

1.2 Running LLMs locally on a Mac

More fiddling with running these things on his own machine instead of paying someone else for the privilege. There’s now a proper server (vllm-mlx) that can juggle several different AI models in memory at once, swap between them, and even claw disk space back when one goes idle. Naturally he found a bug where a model drops its “vision” — the bit that reads pictures — with zero warning. Nothing blows up, it just gets dumber and nobody tells you. Sounds like half the equipment on this farm.

1.3 Agent frontends

The window you actually chat through, as opposed to the engine doing the work underneath. Dan’s worked out most of these chat windows can’t even let you turn a dial called “temperature” — how random the AI’s answers are — which sounds trivial until you realise some of his tricks depend entirely on it. One program called Open WebUI turns out to do everything properly, despite being, in his words, a pile of Node packages with peculiar version requirements. Sounds like most software, honestly.

1.4 Fine-tuning danbot

Here’s a beauty. Dan’s training a little AI model to rewrite AI slop so it sounds like him. He’s fed it hundreds of his own edits plus thousands of made-up ones, where he gets an AI to write badly and then swaps the before and after. The result, by his own numbers, is about halfway good — it makes AI text sound less like AI, but not yet like Dan. Which he finds odd, because he thought making something sound like a specific bloke would be the easier job than just making it sound less robotic. I could’ve told him: sounding like yourself is the hardest trick in the book, and I’ve had forty years of trying and failing.

1.5 AI agents, applied

This one’s the shopping list — which of these agent tools are actually worth installing versus which will eat your afternoon. He’s tidied it up so it reads less like a diary and more like actual advice: pick smolagents if you want Python doing the heavy lifting, Qwen-Agent if you’re all-in on one family of models, and steer clear of the heavier orchestration frameworks unless you genuinely need a state machine bossing your robots around.

1.6 Building a maths agent

Dan’s building himself a robot maths tutor, because apparently doing sums yourself is now old-fashioned. He’s found a proper study that measured which upgrades actually help — turns out giving the thing a scratchpad to remember its failed attempts helps more than almost anything else. Makes sense. I don’t do sums twice either, once I’ve cocked them up the first time.

1.7 Code agents and assistants

The coding-robot version of the above, tidied up with the jargon now defined properly instead of scattered everywhere. Mostly bookkeeping this round, but there’s a nice new bit on driving these agents straight from your text editor via something called ACP, so the robot’s edits show up as normal changes rather than you copy-pasting from a chat window like it’s 2023.

1.8 AI usage policy

New page where Dan lays out exactly where he does and doesn’t use AI on this site — copy-editing, summarising, literature reviews, the lot, all labelled. Fair enough. If you’re going to let the robots near your writing, best to say so out loud rather than let Barb guess.

3 Games, trust, and getting played

3.1 Agency wat

Dan gave a talk at some summer school trying to pin down what “agency” even means — is it about having a body, making choices, being able to be blamed for something? He reckons the word’s been doing about six different jobs at once and everyone’s been assuming they agree on which one. Big one for the nerds; skip unless you fancy an argument about whether a rock has a self, which, apparently, some researchers have seriously proposed.

3.2 Agency under bounded compute and information

Dan’s on about how most theories of “smart decision-making” secretly assume you’ve got infinite brainpower and perfect knowledge of the world, which nobody, obviously, ever has. He’s calling the mistake the “Cantor trap” — thinking of every real decision-maker as just a dud copy of some perfect, all-knowing one. Naming rights again, that lad. But the actual point stands: real agents, human or robot, get by on scraps of information and limited grunt, and any theory that ignores that is describing something that doesn’t exist.

3.3 Optionality as an end in itself

Is “keeping your options open” a good in itself, or just a means to something else? Dan reckons it depends how you add things up across a group — turns out two people’s combined ability to shape the future isn’t just their individual abilities stacked together. Sometimes together you can do things neither could alone (that’s a bonus), sometimes you’re just doubling up on the same trick (no bonus at all). No neat formula for it, which is annoying if you were hoping for one.

3.4 Game theory with open-source agents and simulation

Ripper little idea, this: normally in game theory you can’t trust the other bloke’s promise, because you can’t see inside his head. But what if the players could hand over their actual source code, so you could run it yourself and check what it’ll actually do before you commit to anything? Turns out that changes the whole game — you can get cooperation locked in without needing repeated rounds or threats of punishment. Handy, if you can ever get real AIs to show their working, which — good luck with that.

3.5 Bayesian elicitation

This is about paying people (or AIs) in a way that makes honesty the best strategy, even when you can’t check the answer afterwards. There are proper mathematical recipes for it — pay someone based on how their guess lines up with everyone else’s guesses, and lying about it stops paying off. Dan’s main interest is using this for peer review, where nobody ever finds out if a reviewer was actually right. Bit like paying the shearers by the honesty of their tally instead of the weight of the bale — good luck getting that one past the union.

3.6 Welcome to cybersec hell

Short, blunt one: AI agents are now doing cybercrime better than the humans who used to do it, and someone’s worked out you can fund the whole operation through prediction markets — bet on a company’s stock tanking, then hack the company. Dan doesn’t dress it up. It’s ugly, and it’s here.

4 The maths odds and sods drawer

4.1 Reasoning and proof models

Big tidy-up of how “maths robots” actually get checked. Some just spit out a boxed number nobody can verify except by asking someone else, some write proofs in plain English that only a human can judge, and some write in a formal language called Lean that a computer either accepts or rejects, no argument. Guess which one Dan reckons is actually trustworthy.

4.2 Renormalization for ML

Dan’s found that a hunk of fancy physics jargon — the stuff physicists use to zoom out from atoms to bulk materials — maps almost one-to-one onto ordinary Bayesian statistics, just with different names for the same tricks. “Coarse-graining” is just averaging out detail you don’t need; a “fixed point” is basically a pattern that looks the same no matter how far you zoom out. He reckons depth in a neural network is basically doing the same zooming-out trick, layer by layer. Whether that buys anything practical, he’s not sure yet — but he does like a good excuse to relabel someone else’s maths.

4.3 Sufficient statistics

A “sufficient statistic” is just the smallest summary of your data that tells you everything useful about it — no need to keep the whole pile once you’ve got it. Dan’s cottoned on that this same object turns up under about ten different names across different fields — “belief state” here, “filter” there, “causal state” somewhere else — and nobody in any of those fields seems to know the others are talking about the same thing. Reinventing the wheel, but in Latin, French, and German simultaneously.

4.4 Unreasonable effectiveness of empirical risk minimization

Dan’s having a whinge about how machine learning boils everything down to one number you’re trying to minimise, and how unreasonably well that works for nearly everything — right up until you try to apply it to an actual human life, which doesn’t come from any tidy distribution and can’t be “optimised” in any sense that means anything. Nice bit of philosophy dressed up as a maths complaint. Or maybe the other way round.

4.5 Platonic and convergent representations in neural nets

Ever wondered if two totally different AI models, trained separately by different mobs, secretly end up understanding the world in the same shape? Turns out — yeah, kind of. You can map one model’s internal representation onto another’s without ever showing them the same examples side by side. Dan doesn’t fully know what to make of it either, and neither do I.

4.6 Semantics

Dan’s decided he’s “solved” semantics, which is the sort of sentence that should worry you when it comes from a bloke who still can’t work out why his own website keeps breaking. His actual point: what a word means is just which experiences most people agree to slap that label on, learned the same way a machine-learning classifier learns categories. Simple enough, until you get to whether cheetahs are “really” cats, at which point he shrugs and calls it an underspecified question. Handy trick, that. Wish I could use it on the tax office.

4.7 Czechia

And to round off the maths drawer — Czechia, apparently, is basically an ethnostate, because three million ethnic Germans got kicked out after the war and nobody much moved in to replace them. Also there’s a Czech tradition of “experiential learning” that seems to mostly involve tying blindfolded people up and making them swim across lakes, which they talk about the way we’d mention a barbecue. No idea how this fits the AI theme. It doesn’t. Dan needed a smoko from the maths, evidently.


Aunty Val is Dan’s fictitious aunt from Mukinbudin.