Files
chatgpt-on-wechat/docs/zh/memory/self-evolution.mdx

92 lines
5.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 自主进化
description: Self-Evolution自动复盘沉淀记忆、优化技能、处理未完成事项
---
## 功能介绍
### 简介
自主进化Self-Evolution让 Agent 不止于"完成单次任务",而是能在与你的相处中持续成长。在每段对话告一段落后,它会自动"回头复盘"一次把使用中暴露的问题修进技能、把没做完的事情接着推进并把值得记住的沉淀进记忆与知识库。久而久之Agent 会越来越懂你的偏好、越来越少重复犯错、越来越主动地把事情收尾,而这一切都在后台静默完成,当真正做了事情时才会主动地告诉你。
> 它与[梦境蒸馏](/zh/memory/deep-dream)互补:梦境蒸馏负责整理记忆本身,自主进化则在记忆之外,进一步优化技能、推进未完成的任务,让 Agent 的能力随使用不断打磨。
<Frame>
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/zh/web-console-evolution-demo-zh.png" alt="自主进化对话示例" />
</Frame>
### 几个目标
自主进化围绕以下几件事工作,并以「优化技能、处理未完成事项」为主,「沉淀记忆、知识」作为主对话的查缺补漏:
| 目标 | 说明 |
| --- | --- |
| **优化技能** | ① 技能在使用中暴露问题(如配置错误、步骤缺失)时,直接修正技能文件;② 出现一套可复用的流程时,主动固化为新技能,下次直接调用 |
| **处理未完成事项** | 识别对话中遗留的待办,在能完成时直接完成 |
| **沉淀记忆** | 把对话中重要的偏好、决策、事实补记到记忆中,作为主对话的查缺补漏 |
| **沉淀知识** | 把对话中产生的、值得日后查阅的可复用知识补充进知识库(主对话遗漏时) |
复盘完成后如果确实做了改动Agent 会在对话中用一句话告诉你"刚刚自主学习了什么、调整了哪里",方便你判断是否需要回滚。
## 如何使用
### 触发时机
自主进化不是定时执行,而是在**一段对话自然结束、进入空闲后**才触发,避免打断正在进行的交流。需要同时满足:
- **对话已空闲** — 距离最后一次互动超过设定的空闲时长(默认 10 分钟)
- **对话有足够内容** — 自上次进化以来累积了足够轮次(默认 6 轮),或上下文已接近容量上限
只有两个条件都满足,才会启动一次复盘。这样既保证有足够的内容值得复盘,又不会在你还在对话时打扰你。
### 相关配置
自主进化可在 Web 控制台「配置 → Agent 配置」中通过开关启停(位于"深度思考"下方),也可在配置文件中调整:
| 参数 | 说明 | 默认值 |
| --- | --- | --- |
| `self_evolution_enabled` | 是否启用自主进化 | `false` |
| `self_evolution_idle_minutes` | 对话空闲多久后触发(分钟) | `10` |
| `self_evolution_min_turns` | 触发所需的最少对话轮次 | `6` |
<Frame>
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/zh/web-console-evolution-config-zh.png" alt="在 Web 控制台开启自主进化" />
</Frame>
<Tip>
Web 控制台只提供启用开关,若需调整空闲时长或轮次阈值,请编辑配置文件。修改后即时生效,无需重启。
</Tip>
### 进化记录
每次进化的过程和结果会按日期记录在 `memory/evolution/YYYY-MM-DD.md` 中,可在 Web 控制台的「记忆管理 → 自主进化」tab 中查看。该 tab 同时汇总了自主进化记录与梦境日记,方便统一回顾 Agent 的成长轨迹。
<Frame>
<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/zh/web-console-evolution-logs-zh.png" alt="自主进化记录列表" />
</Frame>
### 如何回滚
如果你不认同某次进化的改动,直接在对话中告诉 Agent "把刚才的改动撤销"即可,它会根据进化前的备份还原相关文件。每次进化的改动都有独立备份,互不影响。
## 实现设计
自主进化复用了系统已有的能力,保持轻量:
- **隔离执行**:每次复盘都启动一个独立的、临时的复盘任务,使用与主对话相同的模型,但拥有受限的工具集(只能读上下文、改记忆与技能文件)。它不会污染主对话的上下文,也不会影响主对话的性能。
- **基于备份的撤销**:进化前对相关文件做快照备份,撤销时按备份还原,因此每一次改动都可追溯、可逆。
- **改动检测**:复盘结束后通过对比文件快照判断是否真的有改动,以此决定要不要通知你,从工程上保证"没做事就不打扰"。
### 克制与安全
自主进化的设计原则是"必要时执行,减少打扰"
| 机制 | 说明 |
| --- | --- |
| **没做事不通知** | 如果复盘后没有任何实际改动,全程静默,不产生任何通知 |
| **空闲才触发** | 仅在对话空闲后运行,绝不打断正在进行的对话 |
| **改动可回滚** | 每次进化前自动备份,若对结果不满意,可一键撤销本次改动 |
| **保护内置技能** | 项目自带的内置技能受保护,进化过程不会改动 |
| **限定工作空间** | 所有读写都限定在工作空间内,不会触碰系统其他文件 |
| **后台异步** | 复盘在后台进行,不阻塞正常对话回复 |