54

Agent的无限循环和错误传播如何防止?

Agent开发与工具调用中等

📋 面试问题

Agent的无限循环和错误传播如何防止?

✅ 期望回答

无限循环防止:
  • 最大步数限制:硬性限制Agent调用工具的总次数(如最多10次),超出强制终止
  • 重复检测:连续进行相同的(thought, action, parameter) -> 强制终止或切换到备用策略
  • 相似性检测:对连续Observation的内容做Embedding相似度计算,如果重复率超阈值 -> 终止
  • 时间限制:单任务总时长限制(如2分钟),通过定时器自动终止

错误传播防止:
  • Fail-Fast:工具调用失败直接终止(而非尝试「修复」可能引发连锁失败)
  • 错误降级:工具失败时用Fallback策略(查询缓存结果、用更简单的工具替代)
  • 隔离执行:每个Agent任务在独立的状态空间中运行,失败不影响其他任务
  • 人工兜底:遭遇连续失败时抛出异常+保存状态 -> 人工介入 -> 从断点处恢复

工程实践:在所有Agent执行器外层包装Try-catch和重试策略(指数退避)
#循环检测#错误处理#鲁棒性