最近在搭一个简单的agent,就是用大模型做任务规划然后调几个内部API。发现单步调用还行,但一旦流程长一点,比如三四步工具调用串起来,中间某一步返回格式稍微不对(比如JSON里多了个字段),后面就全乱了。模型有时候还会自己“脑补”出没定义的函数参数。我现在就是简单try-except然后让模型重新生成一次,但效果不稳定,偶尔会死循环。想问问各位大佬,生产环境里对工具调用的校验、重试和降级一般是怎么设计的?是强约束输出格式还是用状态机控制流转?感谢感谢。