构建 FailureDNA:一种知道何时不该信任自己的智能体记忆系统
大多数 AI 智能体都会犯一个危险的错误。它们利用过去的事件来解决新的故障。如果一个新问题看起来像旧问题,智能体就会照搬旧的修复方案。
这是一个问题。相似性并不意味着适用性。过去的修复方案可能适用于旧版本的数据库,但在当前版本上会失效。重复失败的修复方案会浪费时间,而使用过时的修复方案则会让故障进一步恶化。
我构建了 FailureDNA 来解决这个问题。它是一个追踪真实结果的记忆系统。它能决定过去的经验是有用的、需要检查的,还是应该避免的。
该系统遵循一个原则:由模型选择动作,但由确定性代码决定哪些动作是有效的。
工作原理: • 智能体对故障症状进行嵌入(embedding)。 • 使用 Alibaba Cloud RDS 上的 pgvector 搜索过去的事件。 • 通过一个确定性门控(gate)检查结果。 • 模型选择一个在白名单中的动作。 • 系统执行该动作并保存真实结果。
门控使用三个简单的规则:
- 如果过去的执行结果是失败:避免使用。
- 如果过去的执行结果是成功且环境匹配:使用它。
- 如果过去的执行结果是成功但环境发生了变化:进行检查。
智能体无法重复已知的失败。系统会在模型看到错误动作之前将其剔除。这防止了模型忽略警告。模型提供创造力,而代码提供安全性。
技术细节: • 我使用 Qwen Cloud 进行嵌入和动作选择。 • text-embedding-v3 生成 1024 维向量。 • 混合检索(Hybrid retrieval)结合了语义相似度和关键词重叠。 • 后端运行在 Alibaba Cloud Function Compute 上,并使用 FastAPI。 • 记忆存储在 ApsaraDB RDS for PostgreSQL 中。
FailureDNA 防止智能体重复历史故障并使用过时的修复方案。它在保持模型创造力的同时,确保了系统的安全性。
可选学习社区:https://t.me/GyaanSetuAi
