最近在做一个基于大模型的Agent,需要它根据用户指令自动决定调用哪个API并填好参数。我参考了ReAct的写法,把工具描述和参数schema都写得很详细了,few-shot也给了三四个例子。但实际跑起来,它还是经常把“字符串”类型的参数填成JSON对象,或者明明用户没提某个可选参数,它非要自作主张塞一个默认值进去。更迷的是,有时候让它调用“搜索”工具,它反而去调“计算器”。我已经试过把system prompt里的约束语气加强,还加了“不确认就不要调用”之类的句子,但效果不稳定,同一句话多跑几次结果不一样。想问问大家,这种工具选择的Prompt到底该怎么设计?是不是该把决策逻辑拆成多个子Prompt?还是说要靠温度参数或者后处理硬约束来解决?