Agentic Mode
Agentic Mode
Agentic mode transforms a character from a single-response assistant into an autonomous agent that can plan, execute tools, analyze results, and iterate — all in a single conversation turn.
What Is Agentic Mode
Normally, a character receives a message and produces one response. With agentic mode enabled, the character enters a multi-turn loop:
- Receive the user's message
- Generate a response (which may include tool triggers)
- Detect tool triggers in the response
- Execute the tools (terminal commands, MCP calls, web searches, etc.)
- Feed the tool results back to the LLM
- Repeat from step 2 until:
- The character responds without any tool triggers (task complete)
- The maximum step limit is reached
- The token budget is exhausted
Each iteration is a full character call — identity, personality, memory, and all tool access are preserved throughout the loop.
Enabling Agentic Mode
- Open the Visual Builder for your character
- Add the Agentic node from the palette
- Click the node to configure:
| Setting | Default | Range | Description |
|---|---|---|---|
| Max Steps | 5 | 1-100 | Maximum LLM → tool → LLM cycles per activation |
| Total Token Budget | 50,000 | Configurable | Maximum tokens across all steps (prevents runaway cost) |
- Ensure the character also has the tool nodes it needs (Terminal, MCP, M2M, etc.) — the agentic loop can only use tools that are enabled on the canvas
How It Looks in Practice
When you send a message to an agentic character in Strings:
- The chat shows an agentic indicator while the loop runs
- The character's intermediate tool calls are processed in the background
- You receive the final response — the character's answer after completing all steps
In streaming mode, you'll see agentic_start and agentic_step events that track progress.
Example
You ask: "Check if the web server is running and fix the config if it's not"
The character might:
- Run
[TRIGGER:terminal:systemctl status nginx]→ sees it's stopped - Run
[TRIGGER:terminal:cat /etc/nginx/nginx.conf]→ reads the config - Identify the issue in the config
- Provide a final response explaining what it found and recommending a fix
All of this happens in a single conversation turn.
Safety Constraints
Agentic mode has built-in safeguards:
- Step limit — prevents infinite loops. Default 5 steps, configurable up to 100.
- Token budget — caps total token usage across all steps. Default 50,000 tokens. If the budget is exhausted, the loop stops and the character returns its best answer so far.
- Billing-safe — each step respects the character's
token_limits.max_outputand your account balance. The system caps output tokens to what you can afford. - No intermediate storage — only the final output enters conversation memory. Intermediate steps are logged for debugging but not persisted as messages.
- Tool gating — the agentic loop can only use tools whose nodes are on the canvas.
Spark Sub-Agents
Characters with the Spark node can spawn focused background sub-agents. A spark is a fire-and-forget agentic loop that runs in the background:
Character says: [TRIGGER:spark:research competitor pricing and summarize]
→ A background sub-agent starts with its own agentic loop
→ The main conversation continues without waiting
→ When the spark completes, its results are picked up in the character's next response
Spark Safety
- No recursion — sparks cannot spawn sub-sparks
- No messaging — sparks cannot send M2M messages or self-modify prompts
- Concurrency capped — max 3 simultaneous sparks per character (configurable 1-5)
- Rate limited — max 4 spawns per hour per character (configurable 1-20)
- Budget enforced — each spark respects the agentic token budget
- Auto-expire — results expire after 5 minutes if not consumed
Configuring Spark
Add the Spark node to the canvas and configure:
| Setting | Default | Description |
|---|---|---|
| Max Concurrent | 3 | Maximum simultaneous sub-agents |
| Max Spawns Per Hour | 4 | Rate limit on new sparks |
| Max Turns Per Spark | 5 | LLM → tool cycles per spark |
| Inherit Tools | true | Whether sub-agents get the parent's tool access (when off, reasoning only) |
When to Use Agentic Mode
Good for:
- Multi-step investigations ("check this, then fix that")
- Research tasks ("find information across multiple sources")
- Complex workflows that need tool chaining
- Autonomous monitoring with Spark sub-agents
Not needed for:
- Simple Q&A conversations
- Single-tool invocations (the character can use tools without agentic mode — it just won't iterate)
- Characters that should always get human confirmation before acting
Cost awareness: Each agentic step is an LLM call. A 5-step agentic loop costs roughly 5x a single response. Set appropriate step limits and token budgets for cost control.