五厂面经真题集阿里巴巴面经高频阿里真题Agent规划冲突处理速答 · 约 5 分钟更新 2026-09-29

工具执行结果和计划假设冲突时,Agent 怎么修正后续步骤?

一句话结论

Agent 先判断冲突属于参数级、目标级还是全局级,再选择就地重试、局部重规划或终止任务,并由 Executor 结构化上报冲突。

先这样答

Agent 先判断冲突的性质,再决定修正范围。参数级冲突只影响当前工具调用。比如数据格式或参数取值和预期不符。Executor 应就地修正参数,然后重试,不需要改动后续计划。

目标级冲突说明某个计划前提已经不成立。比如计划要求继续处理库存,但工具返回库存已无。Executor 此时要把冲突上报给 Planner。Planner 只对受影响的部分进行 Replan,并保留与冲突无关的步骤。这样可以避免因为局部变化而推翻整个计划。

全局级冲突说明任务目标本身已经失效。Agent 应终止执行,并向用户说明原因。整个过程中,Executor 不能只把原始报错丢给 Planner。它要结构化描述哪里与假设不符,以及工具返回的实际结果。Planner 拿到明确的冲突信息后,才能判断应该重试、局部调整还是终止。

面试官会怎么追问

  • 「为什么不能每次冲突都让 Planner 重新规划?」 因为参数级冲突只涉及当前调用。Executor 可以直接修正参数并重试。只有计划前提不成立时,才需要 Planner 调整受影响的步骤。

  • 「局部 Replan 时,哪些步骤应该保留?」 保留与冲突无关的步骤。Planner 只修改依赖失效前提的部分。比如库存已无时,应调整依赖库存的后续步骤,而不是推翻其他无关步骤。

  • 「Executor 上报什么信息才算结构化?」 至少要说明冲突发生在哪里,原计划假设是什么,工具返回的实际结果是什么。Planner 据此判断冲突层级。只上传原始报错,Planner 无法直接知道哪条前提已经失效。

回答的坑

  • 只说失败后重新规划,没有区分参数级、目标级和全局级,会把不同范围的冲突混在一起。

  • 只把工具原始报错交给 Planner,没有说明预期和实际的差异,会让后续判断缺少依据。

—— 本题完 ——