一个 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 系统里的改进机制

核心思想很朴素:

  1. 记录错误:当 AI 的操作失败、返回了错误结果、或者用户纠正了它的行为,这些信息被捕捉并存储
  2. 提取教训:从这些错误中提炼出具体的、可操作的规则或模式
  3. 应用到未来:下次遇到类似场景时,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 0logrotate?」

第 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/

技术没有捷径,但有方向

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐