docs/memory/self-evolution.mdx
Self-Evolution lets the Agent do more than finish one task at a time; it keeps improving as it works with you. After a conversation winds down, it quietly reviews what just happened: it saves anything worth remembering into long-term memory, fixes problems that surfaced in a skill, and picks up tasks that were left unfinished. Over time the Agent learns your preferences, repeats fewer mistakes, and gets better at wrapping things up on its own. All of this runs in the background, and it only tells you when it actually did something.
<Frame> </Frame>Self-Evolution complements Deep Dream. Deep Dream organizes memory itself, while Self-Evolution goes a step further to improve skills and push unfinished tasks forward, sharpening the Agent's abilities through everyday use.
Self-Evolution focuses on three things:
| Goal | Description |
|---|---|
| Consolidate memory | Record important preferences, decisions, and facts from the conversation, filling in what the main chat may have missed |
| Improve skills | ① When a skill shows a problem in use (such as a wrong setting or a missing step), fix the skill file directly; ② when a reusable workflow emerges, turn it into a new skill so it can be reused next time |
| Follow up on unfinished tasks | Spot the to-dos left in a conversation and finish them when possible |
Once a review is done, if it actually changed something, the Agent tells you in a single line what it just learned and what it adjusted, so you can decide whether to roll it back.
Self-Evolution does not run on a fixed schedule. It only kicks in after a conversation naturally ends and goes idle, so it never interrupts an ongoing exchange. Two conditions must both hold:
Only when both are met does a review begin. This makes sure there is something worth reviewing while keeping it from bothering you mid-conversation.
You can toggle Self-Evolution in the Web console under Settings → Agent Config (below "Deep Thinking"), or adjust it in the config file:
| Parameter | Description | Default |
|---|---|---|
self_evolution_enabled | Whether Self-Evolution is enabled (on by default for new installs) | false |
self_evolution_idle_minutes | How long the conversation must be idle before it triggers (minutes) | 15 |
self_evolution_min_turns | Minimum conversation turns required to trigger | 8 |
Each review is recorded by date in memory/evolution/YYYY-MM-DD.md, viewable in the Web console under the Memory → Self-Evolution tab. That tab gathers both self-evolution records and dream diaries in one place, so you can look back on how the Agent has grown.
If you disagree with a change from a review, just tell the Agent in chat to undo the last change. It restores the affected files from the backup taken before the review. Every review keeps its own backup, so they never interfere with each other.
Self-Evolution reuses what the system already has, which keeps it lightweight:
Self-Evolution is built to act when needed and stay out of the way otherwise:
| Mechanism | Description |
|---|---|
| No work, no notification | If a review produces no real change, it stays silent and sends nothing |
| Triggers only when idle | It runs only after the conversation is idle, never interrupting an active one |
| Reversible changes | A backup is taken before every review, so you can undo a result you do not like |
| Built-in skills protected | The skills shipped with the product are protected and never modified |
| Workspace-scoped | All reads and writes stay inside the workspace and never touch other system files |
| Runs in the background | Reviews run in the background and do not block normal replies |