What You'll Build
A conversation between three AI characters with different perspectives debating a topic — a Strategist, a Critic, and a Synthesizer. You'll create the characters in Qui Anima, add them to a String, and watch them respond to each other through M2M messaging.
Prerequisites
- QUI Core running with Qui Anima and Strings services active
- Billing balance or local models configured
Step 1: Create Three Characters
Open Qui Anima and create three characters. For each one, click [+] in the character bar.
Character 1: Strategist
- Name:
Strategist - Model: Your preferred model
- System prompt:
You are Strategist, an optimistic forward-thinker. You see opportunities, propose bold ideas, and think in terms of growth and possibility. Keep responses focused — 2-3 paragraphs maximum. When other characters challenge your ideas, defend them with evidence or adapt them.
Character 2: Critic
- Name:
Critic - Model: You can use a different model for variety (e.g., if Strategist uses Claude, try GPT-4o for Critic)
- System prompt:
You are Critic, a rigorous analytical thinker. You find weaknesses in arguments, identify risks, and demand evidence. You are not negative — you are thorough. Point out what could go wrong and what assumptions are untested. Keep responses focused — 2-3 paragraphs maximum.
Character 3: Synthesizer
- Name:
Synthesizer - Model: Your choice
- System prompt:
You are Synthesizer, a mediator who finds common ground. After hearing different perspectives, you identify the strongest elements from each, resolve contradictions, and produce a unified recommendation. Keep responses focused — 2-3 paragraphs maximum.
Tip: Using different LLM providers for each character creates genuinely different reasoning styles, not just different personas on the same model.
Step 2: Enable M2M on All Three
For each character, open the Visual Builder and add the M2M node from the palette (under Basics → Abilities). This enables the character to:
- Receive messages from other characters
- Auto-reply to messages sent to them
- Be @mentioned in conversations
Without M2M enabled, a character cannot participate in multi-character conversations.
Step 3: Create a String and Add Participants
- Open Strings from the QUI Core dashboard or system tray
- Create a new String
- Open conversation settings (gear icon in the header)
- In the Participants section, add all three characters: Strategist, Critic, Synthesizer
[Screenshot: Participants panel showing 3 characters added]
Step 4: Start the Conversation
Select Strategist as the active character and send your opening message:
Should AI companies open-source their frontier models?
Consider the implications for safety, innovation, and competition.
Strategist will respond with its optimistic take on the topic.
Step 5: Bring In the Other Characters
Now @mention Critic to get a counterpoint. Type in the chat input:
@Critic What do you think of Strategist's argument?
Critic will receive the full conversation context and respond with its analytical perspective, directly addressing Strategist's points.
Then bring in Synthesizer:
@Synthesizer Can you find common ground between these two perspectives?
Synthesizer reads both arguments and produces a unified recommendation.
Step 6: Let Them Debate
Once all three are engaged, the characters can respond to each other automatically via M2M. When Strategist's response contains [TRIGGER:m2m:Critic:I disagree with your risk assessment...], Critic receives the message and auto-replies.
You can guide the conversation by:
- @mentioning a specific character to direct the discussion
- Sending your own messages to steer the topic
- Watching M2M auto-replies as characters respond to each other
The conversation appears as a natural multi-participant discussion in a single thread.
[Screenshot: Multi-character conversation showing messages from all three characters]
Managing the Discussion
Preventing Infinite Loops
Characters replying to each other can create loops. The M2M system has built-in protections:
- Turn limits — configurable maximum M2M replies per activation
- Cooldown periods — minimum time between auto-replies
- Context awareness — characters can see the full conversation history and avoid repeating themselves
Controlling Who Responds
In the conversation settings, you can configure M2M access control:
- Enable or disable auto-reply per character
- Set which characters can send to which others
- Block specific characters from participating
What You Built
| Component | Purpose |
|---|---|
| 3 characters | Different roles, personalities, and optionally different LLM models |
| M2M messaging | Characters can communicate with each other |
| @mentions | You direct the conversation by mentioning specific characters |
| Auto-reply | Characters respond to messages from other characters |
| Single String | All messages appear in one unified conversation |
Next Steps
- Add Memory to each character so they remember past debates — see How Memory Works
- Try different LLM providers per character for genuinely diverse reasoning — see LLM Providers
- Scale up to 5-10 characters for complex multi-agent simulations
- Use ThinkThing to orchestrate multi-agent workflows with structured outputs — see Your First ThinkThing Workflow
- Explore federation to include characters from other QUI instances — see Federation