首页 > agent > 当前页面

Agent 中 Planner 是什么?——基于 Spring AI Alibaba 的工程化解析

2026-06-20 NEW个对象

🧭 Planner 如何做到“先生成计划,再执行”?——Spring AI Alibaba 工程化拆解

Planner 能实现“先规划再执行”,本质上不是模型突然具备了执行控制能力,而是在工程架构上人为拆出了两段 LLM 调用 + 一条受控执行链路:规划阶段(Planning Phase)与执行阶段(Execution Phase),两者通过结构化输出和框架调度解耦。

📌 一、问题背景:为什么必须“先计划再执行”

如果没有 Planner,LLM 往往是“边想边做”,即一步推理一步调用工具,典型问题包括:

  • 工具调用顺序混乱
  • RAG 与 Tool 混合不可控
  • 复杂任务无法拆解
  • 失败后无法全局重试
⚠️ 核心问题

没有 Planner = 没有“执行蓝图”,Agent 只能做局部决策,而无法做全局规划。

🚀 二、核心机制:Planner 的“双阶段模型”

在 Spring AI Alibaba 中,Planner 实际被拆成两个强约束阶段:

🧠 1. Planning Phase(只思考,不执行)

  • LLM 只负责理解任务
  • 生成结构化 Plan(JSON / DSL)
  • 禁止 Tool 调用
  • 禁止外部 IO
Input → LLM(Planner Prompt) → Structured Plan(JSON)

这一阶段的关键是:通过 Prompt + Schema 强制模型只能输出“计划”,不能执行动作

比如:计划生成是GPT4,执行可以是其他小模型

---

⚙️ 2. Execution Phase(只执行,不再规划)

  • 框架解析 Plan
  • 逐步执行 Step
  • 调用 Tool / RAG / Service
  • 收集结果
Plan → Step1 → ToolA → Result → Step2 → ToolB → Result → Step3 → LLM Summary → Final Answer

这一阶段完全由 Spring AI Alibaba Runtime 控制,LLM 不再自由发挥。

💡 三、关键技术:如何“强制分离规划与执行”

Planner 能成立的核心不是“聪明”,而是三种工程约束:

1️⃣ Structured Output(结构化输出约束)

  • JSON Schema / DSL 限定输出格式
  • 禁止自由文本
  • 强制字段:steps、tools、dependencies

2️⃣ Prompt Isolation(提示词隔离)

  • Planner Prompt 与 Execution Prompt 完全分离
  • Planner:只能“设计方案”
  • Executor:只能“执行步骤”

3️⃣ Runtime Control(运行时控制权下沉)

  • Spring AI Alibaba 控制执行循环
  • LLM 无法决定是否执行 Tool
  • 执行顺序由框架决定
关键点:Planner 不是“让模型学会规划”,而是“用框架限制模型只能规划”。

🔁 四、完整执行流程(Spring AI Alibaba)

User Request ↓ Planner LLM(只生成Plan) ↓ Schema Parser(校验Plan合法性) ↓ Execution Engine(逐步执行) ↓ Tool / RAG / Service调用 ↓ Result Collector ↓ LLM Summary(最终总结) ↓ Response

注意:Planner 和 Executor 之间存在“硬边界”,中间通过结构化 Plan 进行解耦。

📊 五、为什么这种方式有效(本质原理)

  • LLM 擅长生成结构,不擅长长期控制
  • 规划与执行混合会导致路径漂移
  • 拆分后可以做可观测与可回放
本质结论:
Planner = “生成执行蓝图的模型调用”
Executor = “严格按照蓝图执行的运行时系统”

🔥 六、实际工程案例

例如“分析用户订单异常”:

  • Planner 输出:
  • Step1:查询订单
  • Step2:查询规则库
  • Step3:调用分析模型

Executor 按顺序执行,而不是边执行边决定下一步。

🎯 七、面试常见问题

  • Planner 为什么要和 Executor 解耦?
  • 如何保证 Planner 输出可执行?
  • Planner 是否可以动态修改 Plan?
  • Spring AI Alibaba 如何实现 Plan 校验?
  • ReAct 和 Planner-Executor 有什么区别?

📌 八、总结

Planner 能实现“先规划再执行”的核心原因,并不是模型能力提升,而是工程上通过“结构化输出 + Prompt隔离 + Runtime控制”强制拆分为 Planning Phase 和 Execution Phase。Spring AI Alibaba 在其中扮演的是执行控制器角色,它负责确保 LLM 只能生成计划,而真正的执行完全由框架与 Tool Runtime 完成,从而实现可控、可回放、可优化的 Agent 系统。

相关文章

NEW个对象 NEW个对象
JAVA是世界上最好的语言

推荐文章