最近在做一个基于LLM的Agent小项目,主要是让它根据用户问题自主决定调用搜索、计算器和数据库查询这几个工具。用的是ReAct框架,模型是GPT-4。但发现一个很头疼的问题:明明问题很简单,模型却经常选错工具,或者参数格式对不上,导致执行失败。比如问“北京今天天气”,它非要去调数据库查询而不是搜索。我试过在prompt里加few-shot示例,也加了工具描述,但效果不稳定。想问问大家,这种工具调用准确率低的问题,一般是提示词工程没做到位,还是需要上function calling或者微调?有没有什么实战经验可以分享一下?