最近在做RAG+Agent的项目,用的Qwen2.5-72B,发现一个头疼的问题。比如我让Agent先调用搜索工具获取天气数据,工具明明返回了“晴,25度”,但模型在后续生成回复时,偶尔会自己编造“明天有雨”或者“温度28度”这种不在工具返回里的信息。我试过把工具返回结果强塞进system prompt,也调整过temperature到0.2,但还是会偶发。想问问各位大佬,除了换更强的模型,有没有工程上的trick能约束模型严格基于工具输出做总结?比如解析工具返回的JSON再拼接到特定模板里?还是说需要引入一个校验层去比对模型输出和工具结果?求具体思路,谢谢!
楼主
2026-08-16
Agent多轮对话中工具调用结果老是被大模型“脑补”怎么办?
请 登录 后发表回复
全部回复
共 83 条
2楼
5天前
刚入门,这个对我帮助很大。
3楼
2天前
我这边也踩过类似的坑,后来加了一层轻量校验:把工具返回的JSON里所有数值和关键实体抽出来,生成回复后做一次子串或数值比对,发现不一致就重试或直接走模板兜底。另外可以试试在工具调用后插一个“事实摘要”步骤,让模型先把工具结果压缩成结构化字段,再基于这个字段生成最终回复,能明显减少脑补。temperature调低确实有用但治标不治本,关键还是把生成和事实源隔离开。
4楼
1天前
加个输出校验层吧,把模型回复和工具JSON做字段比对,不一致就重生成,比改prompt管用。