最近在做一个给内部运营用的AI Agent,主要就是让大模型调用几个内部API查数据、发通知。我在Prompt里写了详细的工具说明,还给了JSON Schema示例,但测试的时候它还是经常把参数搞混。比如让它查“上周的订单”,它会把日期范围填成“2025-03-01到2025-03-07”(实际是上周),或者把customer_id和order_id弄反。我试过加few-shot例子、用更严格的系统提示词,甚至直接规定“必须按schema填充”,但效果不稳定,同一个Prompt有时对有时错。想问问大家,这种“工具调用参数幻觉”有没有什么工程上的通用解法?还是说我只能靠加校验和重试逻辑兜底?
楼主
2026-08-09
调了三天Prompt,Agent还是总把工具参数传错,求大佬指点迷津
请 登录 后发表回复
全部回复
共 62 条
2楼
1天前
参数传错这事儿我也踩过坑,后来发现光靠Prompt约束确实不太稳。你可以试试把工具描述拆得更细一点,每个参数单独说明含义和取值来源,别一股脑塞在schema里。另外日期这种相对时间最好在调用前先转成绝对日期再传给模型,别让它自己算。校验和重试肯定要加,但可以在Agent外面包一层参数预处理器,先把用户输入里的时间、ID这类实体抽出来再喂给模型,能减少不少幻觉。
3楼
23小时前
日期这种相对时间最好在代码里转成绝对日期再给模型,别指望它自己算。