最近在做一个基于GPT-4的Agent,用LangChain的ReAct模式,给它接了搜索和计算器两个工具。跑简单任务还行,但稍微复杂一点(比如让它查完数据再做个多步推理)就开始反复调同一个工具,明明已经拿到结果了还在那绕圈,最后token烧完了也没输出。我试过在prompt里加“不要重复调用”,也调了max_iterations,但感觉治标不治本。看网上有人说换成函数调用会好点,也有人直接不用框架手写循环。想问问大家实际落地的时候怎么处理这种死循环?是prompt engineering能解决,还是得换架构?