Skip to main content

Overview

Introduction

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.
For the full architecture and engineering behind the self-evolution mechanism, see the blog post: A Five-Layer Self-Evolution Mechanism for AI Agents.
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 in a conversation

Three Goals

Self-Evolution focuses on three things: 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.

Usage

When It Triggers

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:
  • The conversation is idle: more time has passed since the last interaction than the configured idle window (10 minutes by default)
  • There is enough to review: enough turns have accumulated since the last evolution, or the context is close to its capacity
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.

Configuration

You can toggle Self-Evolution in the Web console under Settings → Agent Config (below “Deep Thinking”), or adjust it in the config file:
Enable Self-Evolution in the Web console
The Web console only exposes the on/off toggle. To change the idle window or the turn threshold, edit the config file. Changes take effect immediately, with no restart needed.

Evolution Records

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.
Self-Evolution records list

Rolling Back

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.

Design

Self-Evolution reuses what the system already has, which keeps it lightweight:
  • Isolated execution: each review runs as a separate, short-lived task. It uses the same model as the main chat but with a restricted toolset (it can only read context and edit memory and skill files). It does not pollute the main chat’s context or affect its performance.
  • Backup-based undo: the relevant files are snapshotted before a review and restored from that snapshot on undo, so every change is traceable and reversible.
  • Change detection: after a review, the system compares file snapshots to see whether anything actually changed, and uses that to decide whether to notify you. This is how it guarantees, at the engineering level, that no work means no message.

Restraint and Safety

Self-Evolution is built to act when needed and stay out of the way otherwise: