先这样答
这是一道字节真题。区分这四类失败的核心是按层级归因。区分它们的价值在于匹配完全不同的恢复动作。系统如果把它们混在一起,就会拿重试去对付权限问题。这会白白浪费预算。
第一层是权限失败。这表现为执行动作被外部系统拒绝。恢复策略是走流程申请权限,或者让Agent更换一条不需要该权限的路径。第二层是工具失败。这通常表现为工具运行超时或返回报错。应对工具失败的恢复策略是执行重试。如果重试无效,系统需要调用降级工具。
第三层是模型失败。这代表模型输出格式错误,或者模型对指令的理解发生错误。恢复策略是触发重新生成。系统也可以在这里切换使用其他模型。第四层是任务失败。这说明Agent的整体执行方向发生错误。前三层属于局部异常,任务失败属于全局异常。系统遇到任务失败需要让人工介入。另一个恢复策略是让Agent重新规划任务。
面试官会怎么追问
-
「模型输出格式错导致工具报错,这算工具失败还是模型失败?」 这属于模型失败。工具报错只是表象。根本原因是模型没有遵循格式要求。系统应该按模型失败处理并触发重生成。
-
「系统怎么处理多次重试依然失败的工具?」 系统应该停止重试循环。程序可以调用预设的降级工具。如果降级工具也失败,Agent需要把错误上报为任务失败并重新规划。
-
「什么情况必须判定为任务失败?」 Agent的执行方向发生错误时必须判定为任务失败。底层工具和模型都运行正常,但组合出来的结果偏离目标。系统此时必须引入人介入或强制重新规划。
回答的坑
没有点出区分失败类型的核心价值,忽略了错误归因对节省预算的作用。
把任务失败和底层异常混为一谈,试图用简单的重试去解决方向错误。
同系列的题
—— 本题完 ——