Agents Are Files
Like a game console with cartridges, one host runs different agents. Edit their files, turn failures into evals, and keep release checks with the host.
A notebook
Essays, notes, and experiments on machine learning, AI, and the non-linear nature of things, by Hamidreza Saghir.
Featured
All posts →
Like a game console with cartridges, one host runs different agents. Edit their files, turn failures into evals, and keep release checks with the host.
Recent writing
Archive →A follow-up. The under-specification problem in coding agents does not close by writing better specs upfront. Models do not stick to instructions anyway. The gap closes by building better detection: catching deviation cheaply, often, and at the right level of abstraction. The lever is the loop, not the prompt.
Coding agents write impressive first drafts. But under the surface, corners are cut, details are missing, and technical debt accumulates with every change. The problem is not the model. It is that what we ask it to do is fundamentally under-specified.
Agent frameworks hide the loop behind agent.run() and a graph DSL. But the loop is where every interesting decision happens: what the model sees, whether a tool call proceeds, when to stop, what to record. What if you owned the loop and the framework just made it composable?
Offense asks 'does a bug exist?' Defense asks 'are all bugs gone?' One is an existential claim you can check with a single example. The other is a universal claim nobody can check. This asymmetry, not model capability, is what determines where AI agents work in security.
machine learning ·unified views
Both fit a distribution over outputs conditioned on an input. Both minimize a KL divergence between their model and an optimal target. The only differences are which distribution you sample from and which direction of the KL. Entropy regularization bridges them.
machine learning ·unified views
From spectral clustering to Gaussian processes to transformer attention, the same primitive, a similarity matrix between points, keeps showing up as the load-bearing piece of very different models.
BFS, Dijkstra, and A* differ by one line: the data structure you pop the next node from. A worked maze example that converts each into the next.