一个 AI 是怎么学会「不犯同样错误」的
一个 AI 是怎么学会「不犯同样错误」的
你有没有过这种感觉——跟 AI 聊了半天,它就是不理解你的意思,同一个错误重复三次,气得你想砸键盘?
这不是你的问题,也不是 AI 故意跟你作对。是因为大多数 AI 系统根本不会「记住」错误。每次新的对话,都是从零开始。
那有没有一种 AI,能从错误中学习,下次不再犯同样的问题?
有。这就是今天要聊的——Self Improving Agent(自我改进智能体)。
一、为什么需要自我改进
先说个真实场景。
你让 AI 帮你写一段 Python 代码,用来读取 CSV 文件。第一次,它用了 pandas.read_csv(),但你的文件很大,内存不够用。你告诉它:「换成 chunksize 分块读取。」
第二次,你让它做类似的事,它还是用了 pandas.read_csv()。第三次、第四次……依然是同样的问题。
你崩溃了。
这背后的原因是:大多数 AI 没有记忆机制。每次任务都是独立事件,之前的对话内容不会被系统性地沉淀下来,变成可以指导未来行为的「经验」。
Self Improving Agent 要解决的就是这个问题。它的核心思路是:
每一次错误、每一次纠正、每一次意外发现,都应该被记录下来,成为模型以后行事的参考。
不是简单的记忆,而是一套系统性的自我改进机制。
二、Self Improving Agent 是什么
Self Improving Agent 的概念最早由 Anthropic 提出,本质上是一种让 AI 学会从错误中学习的工作流。
它不是一个大模型,也不是某个具体的开源项目。它是一套方法论,一套可以被集成到各种 AI Agent 系统里的改进机制。
核心思想很朴素:
- 记录错误:当 AI 的操作失败、返回了错误结果、或者用户纠正了它的行为,这些信息被捕捉并存储
- 提取教训:从这些错误中提炼出具体的、可操作的规则或模式
- 应用到未来:下次遇到类似场景时,AI 会主动查阅这些经验,避免重复犯错
听起来简单,但这里面有几个技术难点。
三、它是怎么工作的
1. 触发时机
Self Improving Agent 的改进不是定时发生的,而是事件驱动的。以下几种情况会触发学习:
- 命令或操作意外失败:比如执行了一个 shell 命令,返回非零 exit code
- 用户主动纠正:「不对,应该是……」「你想错了」「这个方法不行」
- 发现更好的方案:比如 AI 在搜索过程中发现某个工具比预期更好用
- 知识过时:AI 意识到自己的知识可能是错误的或不完整的
- 发现了更优解法:一个以前没见过的更好的实现方式
2. 存储结构
学到的内容不是存在模型权重里,而是存在外部存储(文件、向量数据库等)中。典型的结构类似:
memory/
YYYY-MM-DD.md # 今天的错误记录
YYYY-MM-26.md # 第二天的记录
...
每条记录包含:
- 问题描述:什么场景下出了问题
- 根本原因:为什么出了问题
- 解决方案:如何修正
- 适用场景:这个问题在什么条件下会出现
这种结构的好处是:人类也能读、也能写。AI 可以查阅,人类也可以直接编辑。
3. 查询与检索
光存了没用,还需要能在合适的时机查出来。
Self Improving Agent 在执行任务前,会先检索相关的历史经验。检索方式可以是:
- 语义搜索:用向量数据库做相似度匹配
- 关键词搜索:按类型、工具名、场景过滤
- 规则匹配:某些固定类型的错误有对应的固定规则
这一步很关键——如果每次执行任务都要把所有历史经验过一遍,成本太高。所以需要建立高效的索引机制。
4. 应用到执行
查到经验后,AI 在规划阶段就会主动规避已知的错误模式。比如:
- 检测到要执行的命令涉及「删除文件」,先查一下有没有相关的错误记录
- 检测到要用的 API 有过时风险,主动说明并提供替代方案
- 检测到用户的描述和某个已知的错误场景相似,提前确认
四、它能做什么,不能做什么
能做什么
避免重复犯错:这是最直接的价值。同样的 shell 命令报错、同样的 API 调用失败,不再犯第二次。
积累隐性知识:有些知识不在文档里,是通过反复试错才找到的。Self Improving Agent 能把这些隐性知识显性化。
加速工作流:当一个人跟 AI 协作时间越长,AI 对这个人的工作习惯理解越深,配合效率也就越高。
跨任务迁移:一个项目中解决的问题,可以帮助处理另一个项目的类似问题。
不能做什么
不能自动修复所有错误:有些问题需要深入分析,不是简单记录能解决的。
不能替代测试和验证:学到的经验可能是错的或者过时的,需要有验证机制。
不能凭空产生新能力:它只能改进已有的行为模式,不能让 AI 突然学会它本来就不会的技能。
五、常见实现方式
Self Improving Agent 的概念被很多项目和框架实现过,方式各有不同。
方式一:文件系统 + Markdown(轻量级)
最简单的方式是用 Markdown 文件记录经验,配合语义搜索。
每次触发学习就 append 到今天的文件里,执行任务前做一次检索。
优点:实现简单,零依赖,人类可读
缺点:规模大了以后检索效率下降
方式二:向量数据库(规模化)
当经验数量达到一定规模,简单的文本检索就不够用了。需要引入向量数据库(如 LanceDB、ChromaDB)做语义搜索。
AI 的每一次反馈、每一个错误,都可以 embedding 后存储。检索时用向量相似度匹配,能找到语义相近但表述不同的问题。
优点:检索精度高,能处理大规模数据
缺点:引入额外依赖,检索结果需要验证
方式三:结构化日志 + 规则引擎
更工业化的做法是把学习内容结构化存储:
{
"type": "shell_command",
"command_pattern": "rm -rf /*",
"error": "dangerous command blocked",
"severity": "high",
"learned_at": "2026-03-24T10:00:00Z"
}
配合规则引擎,在执行前做模式匹配拦截。
优点:可控性强,可审计
缺点:需要预先定义 schema,维护成本高
六、和普通 Memory 的区别
有人可能会问:Self Improving Agent 和普通的「记忆系统」有什么区别?
普通记忆系统是被动的——AI 只是在对话中记住了一些信息,下一次对话可能就忘了,或者记住了但不知道什么时候该用。
Self Improving Agent 是主动的——它有专门的学习触发机制、有结构化的经验存储、有检索和应用流程。它把「从错误中学习」这件事从隐式变成了显式,从偶发变成了系统。
打个比方:
- 普通记忆 = 一个人偶尔会想起以前犯过的错
- Self Improving Agent = 这个人有一本错题本,每次考试前都会主动翻一遍
七、适用场景
Self Improving Agent 不是万能药。以下场景它能发挥最大价值:
- 长期运行的 AI Agent:比如持续在线的助手、自动化运维机器人,需要持续积累经验
- 高频重复任务:同样的任务执行很多次,错误的代价会随次数累积
- 复杂工具调用:涉及 shell、API、数据库等高风险操作的系统
- 多用户协作环境:一个 AI 服务多个用户,每个用户有不同的偏好和习惯
如果你的使用场景是一次性的、一次对话就结束的任务,Self Improving Agent 的价值就相对有限。
八、一个实际例子
假设你有一个 AI 运维助手,运行在一台生产服务器上。
第 1 天:你让它帮忙清理日志,它执行了 rm -rf /var/log/*,结果把系统日志也删了,导致排障困难。你告诉它:「不能这样删日志,应该用 truncate -s 0 或者 logrotate。」AI 记录下这条经验。
第 2 天:你让它清理另一台服务器的日志,它又想用 rm -rf。在执行前,它检索到昨天的经验,主动问你:「检测到你要删除日志目录,上次同类操作导致了问题,这次是否改用 truncate -s 0 或 logrotate?」
第 3 天:新来的同事也用了这个 AI,问它清理日志的事。AI 同样给出了正确的建议,而这个知识已经是系统级积累,不需要每个人重新教一遍。
这就是 Self Improving Agent 的价值——错误只需要犯一次。
九、快速安装配置
安装方式一:手动安装(适用于所有 OpenClaw 环境)
# 方式 A:使用 clawhub CLI 安装
clawhub install self-improving-agent
# 方式 B:克隆仓库到本地 skills 目录
git clone https://github.com/openclaw/skill-self-improving-agent.git \
~/.openclaw/workspace/skills/self-improving-agent
# 方式 C:下载并解压到 skills 目录
wget https://github.com/openclaw/skill-self-improving-agent/archive/refs/heads/main.zip
unzip main.zip -d ~/.openclaw/workspace/skills/
mv ~/.openclaw/workspace/skills/skill-self-improving-agent-main \
~/.openclaw/workspace/skills/self-improving-agent
安装完成后,编辑 ~/.openclaw/openclaw.json,在 skills 数组中添加:
{
"name": "self-improving-agent",
"enabled": true,
"config": {
"memory_dir": "~/.openclaw/memory",
"trigger_on_error": true,
"trigger_on_correction": true,
"trigger_on_better_solution": true
}
}
重启 OpenClaw Gateway 使配置生效:
openclaw gateway restart
安装方式二:让 OpenClaw 自动安装(推荐)
如果你已经部署了 OpenClaw,直接发送以下指令即可:
帮我联网搜索 self improving agent skill 的安装方法,然后自动安装并配置好
或者更简单:
安装 self improving agent skill
OpenClaw 会自动完成:联网搜索 → 克隆仓库 → 配置参数 → 启用技能,全程无需手动干预。
验证是否安装成功
# 查看 skill 是否已加载
openclaw skills list | grep self-improving
# 或者向 OpenClaw 发送测试指令
openclaw-cli chat "故意给我一个错误的 shell 命令,看看我会不会记录这次错误"
目录结构说明
安装成功后,会在 OpenClaw 工作目录下生成以下文件:
~/.openclaw/
memory/
YYYY-MM-DD.md # 每日错误记录(自动创建)
MEMORY.md # 长期经验积累
skills/
self-improving-agent/
SKILL.md # 技能定义文件
triggers/ # 触发器配置
rules/ # 自定义规则
十、总结
Self Improving Agent 解决的是一个很具体的问题:AI 能不能从错误中学习,而不是每次都从零开始?
它的核心机制很朴素:记录错误 → 提取教训 → 检索应用。但正是这种朴素,让它成为 AI Agent 系统中不可或缺的组件。
随着 AI Agent 越来越普遍,我们会越来越依赖这些系统的可靠性。而可靠性的提升,很大程度上不是靠更大的模型,而是靠更好的学习机制。
Self Improving Agent 就是这个方向上最务实的一个尝试。
| 项目 | 内容 |
|---|---|
| 作者 | 胡小纯 |
| 发布日期 | 2026-03-30 |
| 联系微信 | hu–xiaochun |
| 个人主页 | https://胡小纯.cn |
| 备用主页 | https://xn–yets91feqb.cn/ |
技术没有捷径,但有方向
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)