🐛 Agent 输出不稳定?按这个顺序排查
别一上来就改 prompt。System Prompt → 工具链路 → 上下文结构 → 模型版本,四步定位。
核心思路:有条清晰的排查路径
⚠️ 别一上来就改 prompt
输出不稳定,不要第一反应就是「改 prompt」——那可能白改,还可能改出新问题。
要有一条清晰的排查路径,按优先级逐层定位。这是加分回答的关键。
🗺️ 四步排查优先级
① System Prompt 是否变化
② 工具调用链路
③ 上下文结构
④ 模型版本
从「我们自己可能改了什么」到「模型厂商那边改了啥」,由内向外。
四步定位法
📜 ① 先看 System Prompt
Prompt 有没有版本管理?上次改了什么?
很多时候输出不稳,就是改了 prompt 没注意到。
比对当前和之前的版本,确认不是自己的改动引起。
🔗 ② 再看工具调用链路
• 模型选错工具了?
• 工具返回数据变了?
• API 返回内容改了,导致模型决策不同?
工具的结果是模型决策的依据,链路一端变了,输出就跟着变。
🧩 ③ 再看上下文结构
上下文里是不是塞了不该塞的东西?
• 检索结果有噪音,导致模型被误导?
• 历史对话太长,关键信息被淹没?
模型的输入变了,输出自然不稳。
🔢 ④ 最后看模型版本
API 模型有没有自动升级版本?
有时候稳定性问题是模型厂商那边改的——同样的 prompt 和上下文,换了个模型版本行为就变了。
检查 API 调用的 model 字段和厂商变更日志。
排查顺序为什么这么排
这个顺序不是随便排的,遵循「从可控到不可控、从高频到低频」:
① System Prompt:最可能、最可控——我们自己改没改,一眼能查。
② 工具链路:其次——工具返回变了导致模型决策变。
③ 上下文结构:再其次——输入噪音或信息丢失。
④ 模型版本:最后——我们自己控制不了,只能确认和规避。
按这个顺序能最快定位问题,而不是瞎猜乱改。
Agent 输出不稳定别一上来就改 prompt,按四步排查:① System Prompt 是否变化(有没有版本管理)、② 工具调用链路(选错工具/返回数据变)、③ 上下文结构(噪音/信息丢失)、④ 模型版本(厂商自动升级)。遵循从可控到不可控、从高频到低频的顺序,最快定位问题。
我按优先级排查四步。第一步先看 System Prompt 有没有变化,Prompt 有没有版本管理,上次改了什么,很多时候输出不稳就是改了 prompt 没注意到。第二步看工具调用链路,模型是不是选错工具了,工具返回数据变了,或者 API 返回内容改了导致模型决策不同。第三步看上下文结构,是不是塞了不该塞的东西,检索结果有噪音导致模型被误导。第四步看模型版本,API 模型有没有自动升级,有时候稳定性问题是模型厂商那边改的。
因为这个顺序遵循从可控到不可控、从高频到低频。System Prompt 最可能是我们自己改的,也最容易确认,所以第一;工具链路其次,工具返回数据变了模型决策就跟着变;上下文结构再往后,输入噪音或信息丢失;最后是模型版本,因为那个我们控制不了,只能确认和规避。按这个顺序能最快定位问题,而不是瞎猜。