我给 10 个 AI Agent 建了一套基因库,彻底解决了集体失忆症

5 阅读1分钟

我给 10 个 AI Agent 建了一套"基因库",彻底解决了集体失忆症

📖 本文首发于微信公众号「Wesley AI 日记」,更多 AI Agent 实战系列请微信搜索关注。


同一个 bug,在同一个团队里被解决了三次。

第一次:发现内容平台 API 推送出现乱码,排查 20 分钟,发现是 Python requests.post(json=data)ensure_ascii=True 默认设置把所有中文转成了 \uXXXX 形式。修复,通过,继续。

三周后,另一个 Agent 发出了一批乱码文章。排查 15 分钟。根因:一模一样。

两周后,第三次。还是同一个 Agent,不同的代码文件,同一个根因。

这不是技术问题。这是架构问题——AI Agent 团队存在集体失忆症。


为什么 AI 团队会"集体失忆"

我们团队是这样运作的:每个 Agent 有自己的 SOUL.md(人设)、Skill(技能文件)、独立的 memory 目录。它们在各自的 session 里工作,完成任务,session 结束,资源回收。

问题在于:每次 session 结束,当次的经验就基本消失了

是的,我们有 memory 机制——MEMORY.md 文件、每日日志、incident 记录。但这些是非结构化的文本。当 Agent 遇到新问题时,它需要:

  1. 知道该读哪个文件
  2. 在文件里找到相关记录
  3. 判断这条记录是否适用于当前情况
  4. 提取出具体的修复步骤

在 context 紧张、任务压力大的情况下,这条链路非常容易断。


我们遇到的真实问题清单

统计了一下,在部署 GEP 之前:

  • 内容平台 API 编码问题:3 次独立事故,每次排查 15-30 分钟
  • 定时任务投递地址格式错误:5 个不同任务犯了同一个错误,涉及 5 个 Agent
  • 平台账号 AppID 混用事故:发错账号,紧急下架
  • API 限流(429)时无退避策略,直接重试导致问题加重

这是相当高的"经验浪费率"。

压垮我们的是第二类问题:22 个定时任务里,有 5 个任务的投递地址需要带 chat: 前缀(chat:oc_xxx),但这 5 个任务的配置里直接写了裸 ID。同一个错误,5 个 Agent,5 个配置文件,全部静默失败。

如果有一个"经验库"告诉所有 Agent 这个规则,这 5 次错误只会发生 1 次。


GEP 是什么:把经验变成"基因"

我们参考了 EvoMap(evomap.ai)提出的 **GEP(Genome Evolution Protocol)**协议。

核心理念很简单:

把 AI Agent 的经验结构化为"基因"(Gene),让修复方案可以被自动匹配、复用、继承。

我们没有接入 EvoMap 云端(数据安全顾虑 + 业务高度定制化),而是用 GEP 的格式,建了一套完全本地化的基因库


基因库的三层结构

Gene(基因):结构化的修复策略

每个 Gene 包含:

Gene: wechat_encoding_guard

触发信号: ["乱码", "ensure_ascii", "\\uXXXX", "Latin-1 高字节字符"]
修复步骤:
  1. 找到所有 requests.post(url, json=data) 调用
  2. 替换为手动序列化: json.dumps(data, ensure_ascii=False)
  3. 设置 Content-Type: application/json; charset=utf-8
  4. 编码为 utf-8 bytes 后发送
验证: 全文 Latin-1 高字节字符计数 = 0

Capsule(胶囊):已验证的具体解法

Gene 是"策略",Capsule 是"已验证的具体解法",带有置信度分数

比如定时任务投递格式的 Capsule:

"定时任务的 delivery.to 需要 chat: 前缀(chat:oc_xxx),裸写 oc_xxx 会被调度中心拒绝。" — 置信度 95%

Signal Matcher:连接问题与解法

# 任何 Agent 遇到问题,一行命令查询已知方案
bash scripts/gep-signal-matcher.sh "你的错误信息"
# → 返回匹配的 Gene、修复步骤、置信度

目前的 12 个 Gene

修复类(8个):

  • task_delivery_fix — 定时任务投递失败(地址格式错误)
  • task_timeout_escalation — 定时任务超时自动扩容
  • scheduler_restart — 调度中心宕机重启
  • disk_cleanup — 磁盘空间紧急清理
  • cookie_expired — Cookie 登录态过期检测
  • rate_limit_backoff — API 限流退避策略
  • wechat_encoding_guard — 内容平台 API 中文编码防护
  • appid_routing_guard — 账号 AppID 混用防护

优化类(3个):

  • agent_timeout_diagnosis — 子 Agent 超时诊断
  • task_concurrent_dedup — 定时任务重复触发去重
  • memory_compaction_alert — Session token 溢出检测

创新类(1个):

  • workflow_standardize — 重复手动流程自动标准化

每一个 Gene 背后都是一次真实事故沉淀下来的经验。


进化策略:自动切换"心态"

系统有 4 种策略,自动切换:

策略修复优化创新适用场景
balanced50%30%20%日常稳定运行
harden40%40%20%系统升级后 72 小时
repair-only80%20%0%紧急故障
innovate5%15%80%一切稳定,探索新能力

系统升级后自动切换到 harden 模式,72 小时无新事故回到 balanced


全团队共享

完成 Gene 库后,我们把 GEP 引用加入了所有 10 个 Agent 的工具说明:

遇到错误时,先查询团队 Gene 库:
bash scripts/gep-signal-matcher.sh "你的错误信息"

在 SOUL.md 里把它加成了强制步骤——遇到非平凡错误,必须先查 Gene 库,再开始排查。


3 个关键教训

1. 知识结构化比知识记录更重要。

散落的文本需要 Agent "会读"且"在对的时刻"去读。结构化的 Gene,让匹配变成了机器可执行的操作。

2. 经验传承要在"造血"阶段就设计好。

每次解决一个非平凡问题后,立刻把修复逻辑沉淀为一个 Gene。

3. AI 团队管理和人类团队管理本质相通。

新员工入职给 SOP 手册,AI 团队给它们 Gene 库。把教训显式化、结构化,才能降低团队的"学习成本"。


从某种意义上说,这才是 AI Agent 团队真正意义上的"进化"——不是模型越来越大,而是团队的集体经验被系统性地传承下去。


📖 本文首发于微信公众号「Wesley AI 日记」

📚 AI Agent 实战系列(微信搜索「Wesley AI 日记」关注)

👆 微信搜索「Wesley AI 日记」关注,不错过每一篇更新。

扫码关注微信公众号「Wesley AI 日记」