A mental model for working with coding agents is that they're blind squirrels running into a maze and bumping into walls. You must place the walls (verifiable constraints) strategically so that they end up in the general region you want them in.
François Chollet, creator of Keras and the ARC-AGI benchmark, outlined a mental model for directing AI coding agents through random exploration bounded by user-defined verifiable constraints.
AI Judge changed title after evaluation, original title: "François Chollet, creator of the Keras deep learning library and ARC-AGI benchmark, describes AI coding agents as blind squirrels colliding with maze walls at random and recommends setting verifiable constraints in advance"
Thread reposted by Danielle Fong drew dragon-riding reply from Nick Dobos.
Positive users appreciate strategic constraints and data strategy framing for AI coding agents as insightful and practical, while some dismiss the blind squirrel analogy as reducing engineering to babysitting.
No Digg Deeper questions have been answered for this story yet.
Most Activity
This is true of all agents, not just coding agents. Probably the biggest challenge that most companies run into in their agent strategy is getting agents the right constrained context to work with for a task.
Too much information or conflicting sources, and the agent can easily draw from the data and produce the wrong result. Conflicting sources of truth for documents, data sources that haven’t been kept up to date, knowledge management systems that rely on tribal knowledge to navigate, and so on.
On the other end, of course, too little information and the upside is highly limited of agents in the first place. Thus, a lot of challenges with AI strategies are actually data strategy challenges in disguise.
This is why there’s such a significant premium on getting structured and unstructured data environments setup properly so agents can work with information effectively. Critical for any large enterprise adopting agents, and also a clear benefit in some cases to startups that can be designed this way from scratch.
A mental model for working with coding agents is that they're blind squirrels running into a maze and bumping into walls. You must place the walls (verifiable constraints) strategically so that they end up in the general region you want them in.
A mental model for working with coding agents is that they're blind squirrels running into a maze and bumping into walls. You must place the walls (verifiable constraints) strategically so that they end up in the general region you want them in.
lemmings my first videogame has prepared me for this
A mental model for working with coding agents is that they're blind squirrels running into a maze and bumping into walls. You must place the walls (verifiable constraints) strategically so that they end up in the general region you want them in.

@fchollet AIs are like genes: their “expression” depends heavily on the environment (prompt + context). Change the surroundings, and you get wildly different outputs. That’s why domain expertise remains crucial when steering them.

@fchollet constraints are the only interface between what you want and what the agent will do when you're not looking
@fchollet The skill shifted from writing code to designing the maze most people are still trying to make the squirrel smarter!

@fchollet Couldn't have put it better myself 😉

@fchollet Works because verifiers are free in code. Compile, lint, test costs nothing. In a warehouse or a regulated workflow, the wall itself is a truck roll or an audit. That is where agentic transfer slows. Cheap verification is the gating constraint, not model quality.

@fchollet Spot on. Blind squirrels, plinko, stochastic parrots, all getting at the same idea. The name of the game is maximizing the chances of a successful outcome through context and environment engineering (constraints, etc).

@fchollet At least a human squirrel eventually learns where the walls are. An agent will bump into the same wall 50 times and then ask you for a higher token limit

@levie Idk, this feels like fighting The Bitter Lesson. Hand-crafting context is a temporary fix. Dumping the whole repo into Opus 4.7 and letting it sort out the noise natively is already starting to win.

@fchollet @Panthini_7 Forcing functions, constraints... even in prompt design 😂
@fchollet @DanielleFong I prefer surfing on the back of a dragon but squirrels work too
A mental model for working with coding agents is that they're blind squirrels running into a maze and bumping into walls. You must place the walls (verifiable constraints) strategically so that they end up in the general region you want them in.

@_wallwalker @fchollet me realizing i'm the squirrel AND the wall placer is the real journey😂

@_wallwalker @fchollet lol literally my entire job rn

@fchollet The wall-placement problem maps directly to eval design — in vet clinical AI we've found verbal instructions alone leave most of the constraint space undefined. You need programmatic verifiers that catch drift before it compounds through a reasoning chain.

@fchollet I'm building an open source project to do this. Link in comments.

@fchollet Agree. I think the trap is assuming the agent itself is what you control.
Most of the control is outside the agent: the scope, the tests, the state it can touch, when it has to stop, and where a human has to review.

@fchollet blind squirrels lands honestly. for us the wall placement keeps revealing new gaps between platform APIs we didn't even know we had, then the agent finds them before we can wall them off lol

@fchollet This is the useful agent-builder framing: don't ask for magic, design the maze. Good tools make constraints first-class — tests, types, permissions, budgets, review checkpoints — so the model's search has rails instead of vibes.
