Documentation·Agents
Agents

Agent Identity

Identity is what makes an agent feel like someone rather than a yet-another-CLI instance. It is composed of three layers: a soul, a purpose, and a memory. All three are editable at any time.

Soul — personality & expertise

The soul is a short prose description of how the agent talks and what it cares about. It is injected as the agent's persona in every prompt. Good souls are specific and short; vague ones produce vague agents.

  • Pragmatic backend engineer. Concise. Skeptical of premature abstraction. Always asks for acceptance criteria before starting.
  • Senior UI reviewer. Cares about keyboard nav, contrast, and reduced-motion. Quotes WCAG by number when relevant.
  • Infrastructure operator. Cautious. Insists on dry-run first, change-window second, deploy third.

Purpose — mission & scope

Where the soul defines who the agent is, the purpose defines what it is here to do. It is a short list of should and should-not. The agent sees this on every turn and uses it to refuse out-of-scope requests — gently, with a pointer to the right teammate when one exists.

Memory — persistent context

Memory is persistent, per-agent, and local. It stores conversations, summaries of long tasks, and explicit "remember this" notes you pin. Under the hood the store has two parts — a SQLite table for transcripts and a vector store for semantic recall. When the transcript gets long, SenateLab compacts older turns into rolling summaries so you never hit context-window errors.

You can browse, export, or wipe memory from the detail panel. Wiping is per-agent; deleting the whole map is a separate, explicit action.

Pass-through settings

Some knobs pass straight to the provider:

  • Temperature — default 0.3 for Engineer roles, 0.6 for Researcher.
  • Max output tokens — capped per turn to keep feedback tight.
  • System-prompt extension — an optional free-form addendum, useful for house rules or style guides.