Loading…
Loading…

Fable 5 plans better than your scaffolding. That is exactly why it doesn't go everywhere.
Fable 5 is a real jump, and the consensus that formed in its first week is right about the mechanics. It plans better than the scaffolding we built to compensate for models that couldn't. The numbered step lists, the "think step by step," the skill files written like flight manuals: dead weight now. You hand it the goal and the reason behind the goal, and it finds a better sequence than the one you would have dictated. So the advice going around is sound. Steer at outcomes, not steps. Run it longer between check-ins. Lean on memory and verification instead of instructions.
The logical end of that advice is already here. The most fluent users have stopped typing prompts and started writing loops: a trigger, an executor, a grader, a stop rule, running at 3am, surviving your vacation, improving each cycle. A prompt needs you present. A loop does not. That is the productivity story at full extension, and it is also, close to word for word, a description of the one place you can least afford your most capable model.
All true. And every one of those properties is also a security property, which nobody selling the productivity story is saying out loud.
Better planning means less supervision. Less supervision means the conversation is no longer where control lives. Longer autonomous runs mean more actions taken between the last time a human looked and the next. The reasoning is always on and never returned, which puts a channel you cannot inspect between untrusted input and a tool call. The same traits that let you stop babysitting the model are the traits that decide how much damage it can do the moment something upstream owns it.
So the useful question about a new frontier model stopped being whether it's good enough to use. It's where you can afford to put it. Capability pushes control out of the conversation and into the architecture, because a better planner is a better bypasser. Prompt-level restraint gets weaker exactly as the model gets stronger. A smarter model is a better exfiltrator the instant its instructions arrive from somewhere you didn't intend. None of that is a reason to avoid the model. It's a reason to be deliberate about placement.
I have a personal agent that reads my mail, watches my calendar, holds my notes, and runs scheduled jobs while I sleep. It lives on a network-connected box, it has tools, and on the cron path nobody is closing the loop in real time. That path runs the cheapest models that clear the quality bar.
I did not choose that for security. I chose it on cost, months ago, when a canary showed the small models matching the expensive ones at a tenth to a fortieth of the price on the scheduled work. The security argument arrived second, and it pointed the same direction. The place with the least supervision runs the least capable models. Not because cheap is safe, but because unattended is precisely where capability converts to blast radius, and I have no reason to station my most capable, least legible model on the one path where no human is watching.
It gets sharper. The runtime that drives that unattended path is not code I wrote. It's Hermes, an open-source agent, and it calls my own code as a subprocess. Hermes is excellent and getting better fast. A single recent release closed nearly a thousand merged pull requests and cleared every high-priority issue in the repo, the work of hundreds of contributors in one cycle. That is not a knock. It is the point. A dependency improving that fast is a different piece of software this week than it was last, and you cannot pin your safety to a surface that moves under you, however well it is run. The better and faster it gets, the less "the runtime behaves" counts as a control, and the more your safety has to live in code you own. Dropping a frontier model in there would not just put the most capable model at the least-supervised node. It would put it inside a harness I don't fully control, reasoning in a channel I can't read, moving through a loop I do not own and cannot freeze. Where you put the model is never only which tier. It's which runtime owns the loop, how fast that runtime is shifting under you, and how much of it you actually understand. A widely adopted, fast-moving reference agent is a large moving attack surface by construction. That's true when it's someone else's supply chain. It's just as true when it's the thing quietly running your own.
Fable 5 has a home in my stack, and it's the opposite kind of place: the synchronous work where I review the outcome before it can matter. The security lab. Big migrations. Architecture I'm going to read line by line anyway. There the blast radius is a pull request I approve, not a message that already left the building. And the economics cooperate, because the model at low effort now clears what last year's flagship did at full tilt. You buy the capability without parking it on the path no one is watching. Value goes where you can absorb the fallout.
There's a cheaper-sounding version of this that lands near the same place, and it's worth separating from mine. The cost-conscious crowd routes by pipeline stage: the capable model plans and verifies, the cheap model does the bulk in between. That is sound, and I do it too. But its axis is price. Mine is supervision. They split the work by which stage most rewards intelligence. I split it by which node I can afford to be wrong on while no one is watching. Those overlap often enough to look like one rule, and they are not. The cost crowd already knows better than to run the smart model everywhere. What that framing misses is that some of the cheap nodes are cheap precisely because nobody is watching them, which makes the model you choose there a security decision wearing a budget's clothes.
The lab is also where I learned that the boundary has to be code. The dangerous verbs are few and obvious: send something outside, export in bulk, write to a system of record. Every one of them is one injected instruction away from firing if the only thing in front of it is a sentence in a prompt asking the model to be careful. A better planner reads that sentence and routes around it. So the control that survives is the one that lives at the verb, in code, and stops to ask a human before it acts. Prompt-level control is a suggestion. Code at the boundary is a control. That distinction was always true. A model that outplans your instructions is what turns it from good hygiene into the only thing that holds.
That gate is also the thing not to bargain away. The loop crowd builds in stop rules, and they are good discipline, but they are not security controls. A token or dollar ceiling caps how much a runaway loop spends. It says nothing about whether that loop sends your data somewhere it shouldn't. And the human gate those setups treat as training wheels, kept while you calibrate and removed once you trust the system, is the one thing that must never come off the dangerous verbs. The risk was never that a well-built loop misbehaves on its own. It's that something upstream tells it to, and a budget has no opinion about that.
The always-on hidden reasoning changes one last thing. My static analysis already can't see into the prose of a skill file, which is an execution channel dressed as documentation. Now there's a second blind spot: the model's own reasoning, on by design, returned to no one. Between untrusted input and an action there are two layers I cannot inspect. The only honest response is to stop trusting intent and start verifying effect. You check what the agent did against the tools it actually touched, because what it meant is no longer available to you, and on a long enough run it was never reliable anyway.
The loop crowd arrived at the same instruction from the quality side and gave it a name without noticing it is a security rule: the maker is never the grader. A model auditing its own transcript inherits its own misreadings, so the review clears the errors it should have caught. A fresh reader that sees only the artifact, the diff, and the raw test output, with none of the reasoning that produced them, does not. They call it quality. It is the same rule as never take the agent's word for what the agent did, and that is a control.
None of this is an argument against frontier models. It's an argument for treating placement as the decision it is. The smartest model belongs where a human still closes the loop. Everywhere else, the boundary does the work, and the boundary has to be code, not a well-worded request. The better these models get at planning around your instructions, the less that reads like a preference and the more it reads like the only thing left standing.
That's the personal-scale version. The problem does not shrink when you add seats. It's the same confluence, multiplied by every person you let an agent act on behalf of. But that's a different piece.