最近在做一个基于大模型的Agent项目,需要调用搜索、计算器和内部API三个工具。发现一个很头疼的问题:模型经常在工具返回异常(比如网络超时或者API限流)的时候直接“编造”一个结果,而不是把这个错误抛出来让我处理。我试过在system prompt里强调“不要猜测”,也试过把错误信息塞回给模型二次生成,但效果都不稳定。想问问有经验的朋友,你们在实际开发中是怎么设计工具调用层的容错机制的?是单纯靠prompt,还是说在代码层面有一套更健壮的retry或者回退策略?另外,如果多个工具连续调用,中间一步失败,有没有比较好的状态管理思路?提前谢谢各位。