Agent 面试自测:跑了 30 轮停不下来,先设步数上限还是先做重复检测
- 轮次
- 面试自测
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- Agent 跑了 30 轮还停不下来,先设步数上限还是先做重复检测?
- 最大步数是全局计数还是每个 Agent 各算各的?
- 只设步数上限有什么漏洞?
- 怎么区分死循环和正常的长任务?
《参考解析》
先硬后软,顺序不能反:先用最大步数、总 token 预算、墙钟超时做硬兜底,保证任何情况下都能停下来、成本有上限;再叠加重复检测、无进展检测、工具结果无变化、目标已达成等软判定来提前结束。硬闸是「保险丝」,软判定是「省钱的优化」,反过来会先烧钱再兜底。
步数要全局算:按一次任务(trace)累计,包含所有子 Agent、重试和工具调用轮次;按 Agent 各算各的会被「拆成多个子 Agent」绕过。
只设步数的洞:每一步都可能空转(同样的工具、同样的参数、同样的结果),步数没超但钱照烧;也可能一步就触发超长上下文。所以要同时看「token/成本」「连续无新信息次数」「工具调用指纹重复」「输出是否还在推进目标」。
死循环 vs 长任务:看是否有新信息(工具返回、检索结果、状态变化)、是否在推进子目标、是否重复相同动作;长任务可以放宽步数但要有进度检查和人工确认点,死循环要立即终止并把上下文交给模型做一次「总结当前状态、给出下一步或放弃」。