Agent 失败时:不会无限循环的恢复模式

Agent 失败时:不会无限循环的恢复模式

Agent 的失败不抛异常。它们产出看起来合理但错误的输出,或者用稍微不同的方式悄悄重试同一个坏方法。把 Agent 包在 try/catch 里是错误的心智模型——Agent 没崩,它只是继续往一个没用的方向走。恢复必须设计进去,而不是事后贴上去。

需要不同恢复方式的失效模式

工具失败——API 报错或超时——是最简单的情况:Agent 应该看到错误,尝试不同方式。推理失败——Agent 自信地搞错了下一步该做什么——更难,因为 Agent 不知道自己错了。循环失败——Agent 一遍又一遍重试同一种方法——是最糟的,因为每次迭代孤立看起来都有进展。

经得起现实接触的恢复模式

迭代次数永远要设上限。检测动作历史里的重复——如果 Agent 用相似参数连续三次调用同一个工具,就升级或中止。对推理失败,由小模型在动作日志上周期性运行的独立”当前计划是否仍然正确?”检查能抓住最坏情况。这些都不漂亮,每个 Agent 第一版里它们都被砍掉,因为感觉多虑——直到它第一次真的触发。

Agent 失败恢复是系统里那个让小失败不变成大灾难的部分。跳过它,就是你发现”agentic”和”autonomous”不是同一个词的方式。

相关文章

没有标准答案的 Agent 怎么评测

没有标准答案的 Agent 怎么评测

评测一个 Prompt 已经很难。评测一个在给出答案前要跑十次工具调用的 Agent,是另一个量级的 ...

Agent 护栏:在不阉割 Agent 的前提下

Agent 护栏:在不阉割 Agent 的前提下

给 Agent 加护栏属于那种简单版本太严苛、谨慎版本太宽松的任务。挡得太狠 Agent 拒绝完全合 ...

Planner-Executor 拆分:什么时候该拆,什么时候该合

Planner-Executor 拆分:什么时候该拆,什么时候该合

第一天,让单个模型同时做规划和执行,看起来很优雅。三个月后,trace 日志会讲一个不同的故事:Pr ...

工具选择:什么时候该模型挑,什么时候该你挑

工具选择:什么时候该模型挑,什么时候该你挑

会用工具的 Agent 在 demo 里看起来很有力,因为模型在选下一步做什么。它在生产里看起来很脆 ...

多自主才算太自主

多自主才算太自主

Agent 的自主性是一根滑杆,不是一个开关,正确档位由任务决定的多过由技术决定的。把滑杆推到"完全 ...

Agent 记忆:情景、语义,以及该留下什么

Agent 记忆:情景、语义,以及该留下什么

你建的第一个 Agent 没有当前对话之外的任何记忆,这能撑大约一周。然后用户回来,期望连续性,你开 ...