Skip to content

2.4 为什么 Agent 会失控

这是你目前最核心的痛点。Agent 开始很好用,深入后开始"脱离掌控"——这背后有明确的原因。

失控的几种模式

模式一:推理链雪崩

Agent 执行复杂任务时,是一步一步地思考和行动的。一旦某个中间步骤出了小错误,后续所有步骤都建立在这个错误之上,越跑越偏。

步骤1: 理解任务 ✓
步骤2: 制定计划 ✓
步骤3: 执行子任务A ✓
步骤4: 执行子任务B → 这里有个小误解
步骤5: 基于B的结果执行C → 错误被放大
步骤6: 基于C执行D → 完全偏离
步骤7: 输出结果 ✗(你不知道问题出在哪)

应对方法:把复杂任务拆成有检查点的小步骤,每个关键步骤输出给你确认再继续。


模式二:上下文污染

随着任务进行,上下文里积累了越来越多的中间结果、工具输出、错误信息。AI 开始被这些信息"分心",对原始任务的理解反而变得模糊。

💡 类比:你让一个人同时看 20 份文件,然后让他回答原始问题。他越来越容易被后来的文件影响,忘了最开始你到底让他做什么。

应对方法

  • 关键指令放在 System Prompt 里(不容易被淹没)
  • 超长任务分多个对话,不要一个对话做所有事
  • 中间结果及时写到文件,而不是全堆在上下文里

模式三:工具调用错误但继续执行

AI 调用了一个工具,工具返回了错误,但 AI 没有正确处理错误,继续按照"假设成功"的逻辑往下走。

AI: 调用 create_file("config.json")
工具: 返回错误 "权限不足"
AI: 好的,文件创建成功 ✗
AI: 现在修改 config.json...(文件根本不存在)

应对方法

  • 工具执行失败时,返回清晰的错误描述
  • 让 AI 在关键工具失败时停止,而不是继续
  • 在 System Prompt 里说明"遇到错误时请停下来说明,不要假设成功"

模式四:任务描述有歧义,AI 做了"合理但错误"的选择

你的任务描述里有歧义,AI 做了一个合理的解读,但不是你想要的。它执行完了,你发现结果完全不对。

示例:

你说:把所有旧文件删掉
AI 理解:删掉所有"旧版本"的文件(包括你还想留着的备份)
你的意思:只删掉超过 30 天的日志文件

应对方法

  • 任务描述要具体,包含边界条件
  • 高风险操作(删除、覆盖、发布)要让 AI 先描述它打算怎么做,你确认后再执行

模式五:Prompt 稀释

你给了 AI 20 条规则,但上下文越来越长,早期的规则开始被"淡忘"——AI 开始违反你最开始设定的约束。

应对方法

  • 规则放 System Prompt,不要放在对话消息里
  • 规则要精简,只保留真正重要的
  • 关键约束在关键步骤前重申

如何诊断 Agent 失控

当 Agent 跑偏时,按这个顺序检查:

第一步:看最后几步的上下文
         → AI 在执行那一步时"看到"了什么?
         → 是否有错误信息被忽略了?

第二步:找分叉点
         → 找到第一个"结果和预期不符"的步骤
         → 那一步的输入是什么?AI 是怎么理解的?

第三步:判断失控类型
         → 是理解错了任务?
         → 是工具出错没处理?
         → 是上下文太长被稀释了?

第四步:针对性修复
         → 理解问题 → 改 Prompt,加示例
         → 工具问题 → 加错误处理,让 AI 能感知错误
         → 上下文问题 → 拆分任务,减少单次上下文量

设计"不容易失控"的 Agent

原则一:最小权限

Agent 只能访问它需要的工具,不给多余的权限。

✗ 给 Agent 所有数据库的读写权限
✓ 给 Agent 只读权限 + 特定表的写权限

原则二:关键步骤要确认

危险操作不让 Agent 自动执行,先输出计划让你确认。

原则三:任务拆分

把一个大的复杂任务拆成有明确输入输出的小任务,每个小任务独立运行。

原则四:给 AI 退路

在 System Prompt 里说明:遇到不确定的情况,应该停下来询问而不是假设。

System Prompt 加上:
如果你对任务有任何不确定,或者遇到了错误,
请立刻停下来描述你遇到的情况,等待指示,
不要假设任何事情,不要继续执行。

📌 关键结论

  1. Agent 失控通常有具体原因:推理雪崩、上下文污染、错误未处理、任务歧义
  2. 失控后按步骤找分叉点,不要直接改 Prompt 乱猜
  3. 预防比治疗更有效:最小权限、关键步骤确认、任务拆分
  4. 给 AI "遇到不确定就停下来"的指令,是最简单有效的防失控措施

下一节:2.5 AI 系统的评估方法

写给自己的 AI 学习地图