Self-Modifying Characters
Self-Modifying Characters
Characters with the Self-Modify node enabled can create, modify, and remove their own system prompt entries at runtime. The character literally rewrites its own instructions — learning, adapting, and evolving its behavior across conversations.
How It Works
When self-modify is enabled, the character gains access to trigger patterns that modify its system prompts:
| Action | Trigger | Example |
|---|---|---|
| Learn something new | [TRIGGER:self_prompt:add:Label|Content] |
[TRIGGER:self_prompt:add:User Preferences|The user prefers concise responses with code examples] |
| Refine existing knowledge | [TRIGGER:self_prompt:modify:Label|New Content] |
[TRIGGER:self_prompt:modify:User Preferences|User prefers bullet points over paragraphs] |
| Forget something | [TRIGGER:self_prompt:remove:Label] |
[TRIGGER:self_prompt:remove:Outdated Info] |
| Review own instructions | [TRIGGER:self_prompt:list:current] |
Lists all self-authored entries |
The character uses these triggers naturally during conversations. For example, if you tell the character "I prefer short answers," it might respond normally and also emit a self-prompt trigger to remember that preference for future conversations.
Three Tiers of Self-Evolution
Self-modification can happen through three channels:
1. Chat-Based (Opportunistic)
During any conversation — in Strings, M2M messaging, or terminal interactions — the character may notice something worth remembering and emit a self-prompt trigger. This is the most common form.
2. Workflow-Based (Deliberate)
In ThinkThing workflows, a dedicated SelfPromptNode can run an agentic loop (up to 5 iterations) specifically focused on self-modification. This is used for scheduled self-reflection or systematic knowledge updates.
3. Consciousness-Based (Introspective)
When Qonscious is enabled, the introspection system can analyze the character's behavior patterns and add or modify self-prompts to improve coherence. This happens automatically as part of consciousness processing.
Safety Architecture
Self-modification is powerful but carefully constrained:
Human Prompts Are Immutable
The character can never modify prompts you wrote. Human-authored system prompts are permanently protected. Self-authored entries are tagged separately (source: "self") and only those can be created, modified, or removed.
Rate Limiting
Self-modifications are rate-limited to prevent rapid prompt rewrites:
| Setting | Default | Range | Description |
|---|---|---|---|
| Max Entries | 10 | 1-50 | Maximum number of self-authored prompts |
| Rate Limit | 5 | 1-20 | Maximum modifications per time window |
| Rate Window | 60 minutes | 1-1440 | Time window for rate limit |
With defaults, a character can make at most 5 modifications per hour and maintain up to 10 self-authored instructions total.
Spark Exclusion
Self-modify triggers are excluded from Spark sub-agents. A background sub-agent cannot rewrite the parent character's prompts — only the main conversation can.
Enabling Self-Modify
- Open the Visual Builder for your character
- Add the Self-Modify node from the Basics → Abilities section of the palette
- Click the node to configure rate limits and entry caps
- The configuration panel also lets you view and manually edit existing self-authored entries
[Screenshot: Self-Modify configuration panel showing entries list and rate limit settings]
Viewing Self-Authored Prompts
In the Self-Modify config panel, you can see all entries the character has created:
- Each entry shows its label, content, and timestamps (created, last modified)
- You can manually edit or delete entries
- The entry count and rate limit status are displayed
Self-authored prompts appear in the character's system prompt alongside your human-authored ones. They're assembled in the same order and separated by dividers.
When to Enable Self-Modify
Good for:
- Characters that interact with users over long periods and should adapt to preferences
- Digital workers that learn domain-specific patterns from their tasks
- Characters that need to maintain evolving knowledge bases through conversation
Consider carefully for:
- Characters with strict behavioral requirements — self-modification could drift behavior
- Characters used by multiple users — one user's preferences might conflict with another's
Tip: Start with low limits (max 5 entries, rate limit 3/hour) and increase as you observe how the character uses self-modification. You can always edit or remove entries manually if the character learns something incorrect.