最近在折腾LangGraph做多步推理的Agent,发现一个问题:让Agent调用搜索和计算工具时,它经常陷入“调用工具→拿到结果→再调用同一个工具”的死循环,尤其当结果不理想时,它会反复重试,直到把token烧完。我试过在state里加max_iterations,但感觉不够优雅——比如有些任务确实需要多次工具调用,一刀切限制又会影响正常流程。想请教一下,大家都是怎么设计终止条件的?是根据工具返回内容的置信度判断,还是用LLM自己判断“任务是否完成”?有没有什么实践过的模式或技巧可以分享?