Skip to main content
Back to Insights
Agent Soul9 May 20267 min read

An AI Agent's Soul Doesn't Live in the Model Weights

Weights say what the agent can do. Prompts say what we asked it to do today. Neither survives the moment things get unfamiliar. What lets an agent stay coherent under uncertainty is its attention pattern — what it looks at first, what it skips, when it decides to stop. Soul Forge tries to make that layer legible, signable, and portable.

When the field talks about "AI agents," it usually points at one of two layers: the underlying model (the weights) and the prompt (the instructions for this conversation). Both layers matter. Neither is what we mean by an agent's soul.

Weights are capability. Prompts are state. Soul is pattern.

The model weights tell you what the agent can do — the universe of capabilities it has access to. The prompt tells you what we're asking it to do today. Both can change without changing who the agent is. Switch to a better model? Capability goes up; nothing else has to. Tweak the prompt? The instructions change for this conversation; the agent itself doesn't.

What stays constant — what makes "this agent" recognisable across model swaps and prompt churn — is something else: the pattern of attention. What does it look at first? What does it skip? What does it consider before acting? When does it decide it's seen enough?

An AI agent's soul isn't the model weights — it's its attention pattern.

The four files Soul Forge writes

Soul Forge produces four files for each agent it generates. They aren't decorative — each carries one specific layer of identity:

  • soul.md — how this agent decides under uncertainty. The deepest layer; describes attention pattern, defaults under pressure, and how it weighs trade-offs when the situation is unfamiliar.
  • identity.md — how this agent talks. Tone, voice, register, what it sounds like in conversation.
  • user.md — what this agent should know about you to take fewer wrong turns when it works with you.
  • agents.md — how this agent works alongside other agents. Division of labour, hand-off rules, when to defer.
identity.md decides the AI's voice. soul.md decides its logic.

Why this matters: stopping when it should stop

The most useful thing a soul.md does, in practice, isn't telling an agent what to do. It's telling it when to stop. When to flag uncertainty. When to refuse a task that doesn't fit. When to ask before acting. A capable model with no soul will execute confidently in the wrong direction. A capable model with a well-written soul knows where the edges are.

A good Agent Soul file makes the AI stop when it should stop.

Same model, different souls, different agents

If you take the same base model and run it under three different soul.md files, you get three measurably different agents. Same capability ceiling, different decision patterns. That's the whole point of the soul layer — it's the part that's portable and signable, the part that survives a model upgrade, the part that makes "trust this agent" mean anything specific.

Weights are a commodity. Souls are not.