最近在做一个基于LLM的Agent小项目,主要是让它根据用户问题自主决定调用搜索、计算器和数据库查询这几个工具。用的是ReAct框架,模型是GPT-4。但发现一个很头疼的问题:明明问题很简单,模型却经常选错工具,或者参数格式对不上,导致执行失败。比如问“北京今天天气”,它非要去调数据库查询而不是搜索。我试过在prompt里加few-shot示例,也加了工具描述,但效果不稳定。想问问大家,这种工具调用准确率低的问题,一般是提示词工程没做到位,还是需要上function calling或者微调?有没有什么实战经验可以分享一下?
楼主
2026-09-25
大模型做Agent总在工具调用上翻车,是我提示词的问题吗?
请 登录 后发表回复
全部回复
共 1 条
2楼
2天前
感觉不完全是提示词的事,ReAct 本身对工具选择就不够稳,尤其工具描述有重叠的时候模型容易瞎猜。GPT-4 的话建议直接上 function calling,工具 schema 写清楚参数类型和必填项,比在 prompt 里塞 few-shot 靠谱多了。另外可以在工具描述里加一句“什么时候不该用这个工具”,比如数据库那条注明“不用于实时天气类查询”,能减少误选。还不行就考虑加一层路由小模型先分类意图,再进 Agent 流程。