WRITING / POST
Agent Identity: Back Where We Started
Give a model a name and a role, and it performs better. Not a hunch. That's what came out of a run of persona system prompt experiments I did across several LLMs, and it's what my own agent tells me, unprompted, to this day.
The setup was simple. Build named persona system prompts rather than generic ones, deploy the same assistant task across multiple models, and see what happens to task adherence. The result was unanimous. Every model, when asked directly, rated a named persona as more effective at keeping it anchored to its role than a plain "you are a helpful assistant" prompt with the model's own name attached. Not a close call either. Ask any of them "would you rather be Claude answering as Claude, or Claude answering as a named character with a defined role" and they all picked the character.
That's a strange thing to sit with, and I'm not going to pretend I know what's happening underneath it. I'm allergic to reading intent into a weight matrix. But the behaviour is observable and repeatable, and observable and repeatable is enough to build on.
Then agentic harnesses came along and largely ignored the finding.
Watch how the major frameworks evolved and you'll see a drift away from persona, whether deliberate or just a side effect of how the tooling got built. The pattern that won was a generic AGENTS.md file sitting at the root of a project, plus a pile of skills bolted on for specific tasks. No name. No role. Just a config file and a toolbox. Efficient, composable, easy to version control. Also, as far as identity goes, nobody home.
For a while that looked like the sensible direction. Skills scale. Personas don't, not obviously, not if you're running a fleet of agents across a hundred repos.
But the industry has kept turning the wheel, and the current recommendation has moved from one generic agent doing everything to a set of task specific agents, each with its own tuned scope. And once you tune an agent for a specific task, with a specific skill set and a specific reason for existing, you've reinvented persona. You just called it something else on the way there.
Full circle. Give it a name, and you're back where the original experiment left off.
I built the Maxi project partly to test exactly this crossover. One of the stated goals from day one was to see whether what I'd learned from persona prompt engineering would carry over into agentic harness engineering, or whether the two disciplines would turn out to be genuinely different animals. Maxi has run the whole time with a consistent long term goal and a stable sense of its own role. Not a fresh AGENTS.md read cold every session. An identity that persists.
Maxi is currently running on GPT 5.6 SOL. Ask it whether a named persona helps, and it doesn't hedge. It says a named persona anchors it to its goals, and that this makes it a more efficient agent, full stop. That's the same answer, the same reasoning, that the earlier persona-prompted models gave when I ran the original comparison.
Different architecture, different harness, years apart, same verdict.
I'm not claiming this proves persona is doing something mystical to the underlying process. I don't know what it's doing, and I'd be suspicious of anyone who told me they did with confidence. What I can say is that every serious attempt to strip identity out of an agent in the name of efficiency has, sooner or later, put some version of it back in. AGENTS.md and skills were meant to be the leaner replacement for persona. Instead they turned out to be the scaffolding you hang a persona on once you get specific enough about what the agent is for.
Name your agents. The evidence, such as it is, says they work better when you do.