Core Concepts

Personas

Personas are structured identity memories that help your AI understand who you are, what you prefer, and how you work. Instead of repeating your background and preferences in every conversation, save them once and load them whenever you need personalized responses.


What is a Persona?

A persona is a collection of facts about a person — their role, preferences, communication style, constraints, and interests. Your AI uses these facts to tailor its responses without you having to re-explain yourself.

For example, a persona might include:

  • You're a software engineer at a fintech startup
  • You prefer concise responses without pleasantries
  • You value pragmatic solutions over theoretical perfection
  • You're currently focused on shipping a billing integration

Memory Types

Each fact in a persona has a type that describes what kind of information it is:

  • identity — role, background, job title ("software engineer at Acme Corp")
  • preference — likes and dislikes ("prefers concise responses")
  • philosophy — beliefs and values ("values shipping over perfection")
  • constraint — limitations and rules ("never deploy on Fridays")
  • context — current situation ("currently focused on billing integration")
  • interest — topics and hobbies ("interested in distributed systems and chess")

Creating Persona Facts

Single Fact

Add individual facts through conversation:

"remember that I prefer concise responses without pleasantries"

Or with explicit tool syntax:

persona(action="create",
  persona_name="Jordan",
  memory_type="preference",
  content="Prefers concise responses without pleasantries")

Batch Creation

Add multiple facts at once using the facts array:

persona(action="create",
  persona_name="Jordan",
  facts=[
    {subj: "Jordan", pred: "works_as", val: "software engineer"},
    {subj: "Jordan", pred: "prefers", val: "direct communication"},
    {subj: "Jordan", pred: "values", val: "pragmatic solutions over theoretical perfection"},
    {subj: "Jordan", pred: "focused_on", val: "billing integration"}
  ])

Batch creation is useful when setting up a persona for the first time — add everything your AI needs to know in one go.


Loading Personas

Load a persona at the start of a conversation to give your AI context about who it's working with:

"load my persona"
persona(action="load", names=["Jordan"])

Format Options

Control how the persona is presented to your AI:

  • prose — a natural language narrative ("Jordan is a software engineer who prefers...")
  • compact — structured key-value format
  • both — both formats together
persona(action="load", names=["Jordan"], format="prose")

You can load multiple personas at once:

persona(action="load", names=["Jordan", "TeamDefaults"])

Listing Personas

See all persona names you've created:

persona(action="list")

This returns the names of all personas, which you can then load individually.


Use Cases

Personalized Responses

With a loaded persona, your AI adapts its tone and style automatically. If your persona says you prefer concise responses, you won't get lengthy explanations unless you ask for them.

Consistent Tone Across Sessions

Without a persona, your AI starts fresh every conversation. With one, it picks up right where you left off — same communication style, same awareness of your role and preferences.

Context-Aware Suggestions

When your AI knows your current focus ("billing integration") and your constraints ("never deploy on Fridays"), its suggestions are more relevant and actionable.

Team Personas

Create a shared persona for team defaults — coding standards, review processes, deployment rules — and load it alongside your personal persona.


API Reference

For the full technical reference including all parameters and options, see persona Tool Reference.

Previous
Sessions
Next
Tasks