ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PAL MCP Server 的 Planner 工具实战指南:交互式逐步规划、分支与跨会话续接

PAL MCP Server 的 Planner 工具实战指南:交互式逐步规划、分支与跨会话续接 PAL MCP Server 的 Planner 工具实战指南交互式逐步规划、分支与跨会话续接【免费下载链接】pal-mcp-serverThe power of Claude Code / GeminiCLI / CodexCLI [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.项目地址: https://gitcode.com/GitHub_Trending/ge/pal-mcp-server把复杂项目拆解成可管理、结构化计划通过逐步思考实现系统设计、迁移策略、架构规划与功能开发的完整落地。planner是 PALpal-mcp-server提供的交互式规划工具它不要求你一次性给出完整方案而是以步骤 暂停 反思的方式逐步构建计划先描述任务、再逐条补充、随时修订早期决策、按需分叉探索备选方案并支持跨会话续接。读完本文你将掌握 planner 的完整调用方式、字段语义、最佳实践以及如何把它与 consensus 工具组合做多模型 A/B 评审并理解它在源码层面的工作流实现原理。1. Planner 是什么从一次想完到一步步想清楚传统做法是让 AI 一次性输出整份方案面对系统设计、迁移策略等复杂问题这种模式容易遗漏依赖关系、忽略备选路线。PAL 的planner工具反其道而行之从第 1 步开始先描述要规划的任务或问题与范围持续构建逐条追加后续步骤让计划一点点成形随时修订随着新洞察出现回头更新早期决策is_step_revision分叉备选存在多个可行方案时用分支并行探索不同路线is_branch_point跨会话续接之后任何时刻都能带着完整上下文恢复规划continuation_id。在 tools/planner.py 中PlannerTool继承自工作流基类WorkflowTool其描述明确列出了适用场景复杂项目规划、含未知因素的系统设计、迁移策略、架构决策以及把大问题拆解成可管理步骤。模型类别为EXTENDED_REASONING见 tools/models.py即它要求具备深度推理能力的模型来承担规划任务。2. 核心工作流五步构建增量式计划planner 的交互过程围绕以下机制展开步骤号与总数每次调用携带step_number从 1 开始与total_steps预估总数随规划演进可调整强制暂停工作流会在步骤之间强制暂停要求先完成反思再进入下一步防止连珠炮式草率规划复杂计划深度思考当total_steps 5且处于前 3 步时工具会触发pause_for_deep_thinking状态给出明确的反思清单范围分析、多方案比较、约束与依赖、成功标准、风险与缓解见 tools/planner.py简单计划快速推进步骤少于 5 的计划走常规流程只提示继续第 N1 步剩余约 M 步tools/planner.py。这一点在 tests/test_planner.py 中有直接验证total_steps3的简单计划返回pause_for_planning且不包含thinking_required而 10 步的复杂计划第 1 步则返回pause_for_deep_thinking并要求强制反思tests/test_planner.py。2.1 规划方法论系统提示词内建systemprompts/planner_prompt.py 内置了五条规划方法论直接约束模型行为DECOMPOSITION分解把主目标拆成逻辑、有序的步骤DEPENDENCIES依赖识别步骤间的依赖关系并正确排序BRANCHING分叉存在多个有效方案时创建分支探索备选ITERATION迭代新洞察出现时回头精炼早期步骤COMPLETENESS完整性确保任务各方面都被覆盖、无缺口。每一步的输出都应包含步骤号与分支标识、清晰可执行的描述、前置条件或依赖、预期结果、潜在挑战与注意事项、备选方案如适用。分支需要明确标注如分支 A微服务方案、分支 B单体方案并说明选择依据与汇合方式。3. 核心字段解析请求参数与语义PlannerRequesttools/planner.py定义了规划请求的字段。其中 4 个为必填项其余为规划特有的可选字段字段类型必填说明stepstring✅本步规划内容。第 1 步描述任务、问题与范围后续步骤记录更新、修订、分支或待澄清问题step_numberinteger✅当前步骤号从 1 开始必须 ≥ 1total_stepsinteger✅预估规划总步数≥ 1随规划演进可调整next_step_requiredboolean✅本步之后是否还有下一步is_step_revisionboolean❌是否在替换此前记录的步骤默认 falserevises_step_numberinteger❌修订时被替换的步骤号≥ 1is_branch_pointboolean❌本步是否创建新分支探索备选路线默认 falsebranch_from_stepinteger❌分支的起始步骤号≥ 1branch_idstring❌分支名称如approach-A、migration-pathmore_steps_neededboolean❌是否预期超出此前估计、还需更多步骤默认 falsecontinuation_idstring❌跨会话续接的线程 ID值得注意的是规划场景下的字段做过刻意裁剪temperature、thinking_mode、images、absolute_file_paths均被排除在输入 schema 之外tools/planner.py因为规划不依赖图片与文件附件model字段则被保留用于指定执行规划的模型。同时请求模型带有 Pydantic 校验step_number与total_steps均不得小于 1tools/planner.py必填字段缺失会直接校验失败。4. 上手示例典型调用 Promptplanner 的全部能力都通过自然语言触发以下为官方文档示例Use pals planner and show me how to add real-time notifications to our mobile appUsing the planner tool, show me how to add CoreData sync to my app, include any sub-stepsUsing planner, plan the architecture for a new real-time chat system with 100k concurrent usersCreate a plan using pal for migrating our React app from JavaScript to TypeScriptDevelop a plan using pal for implementing CI/CD pipelines across our development teams4.1 一次并行规划两个方案Claude Code 支持sub-tasks子任务可以要求 Claude 用 planner 分别规划两个独立想法完成后再用consensus工具把两份计划交给两个不同模型评审一次性完成AB 测试Create two separate sub-tasks: in one, using planner tool show me how to add natural language support to my cooking app. In the other sub-task, use planner to plan how to add support for voice notes to my cooking app. Once done, start a consensus by sharing both plans to o3 and flash to give me the final verdict. Which one do I implement first?5. 分支、修订与动态调整三个高级能力5.1 分支探索Branching当某个步骤存在多种实现路线时设置is_branch_pointtrue并配合branch_from_step与branch_id即可创建分支。分支列表会在响应metadata.branches中维护。测试 tests/test_planner.py 验证了调用一个从第 3 步分叉的cloud-native-path分支后metadata.branches返回[cloud-native-path]且分支数据被记录到工具实例的branches字典中。5.2 步骤修订Revision规划过程中发现早期决策需要调整时设置is_step_revisiontrue与revises_step_number被替换的步骤号。修订步骤同样会写入work_history供后续上下文恢复tests/test_planner.py。5.3 动态步数调整total_steps是估计值而非固定值。当规划演进发现需要更多步骤时可通过more_steps_neededtrue表达即使当前step_number超过此前估计工作流也会自动把total_steps上调对齐tools/workflow/workflow_mixin.py对应测试见 tests/test_planner.py。6. 跨会话续接planning 的上下文记忆PAL 的所有工具都支持用上一个输出继续。planner 在首次调用时会自动创建线程并返回continuation_idtools/workflow/workflow_mixin.py后续步骤携带该 ID 即可恢复完整上下文步骤级续接同一规划会话内每步调用带上continuation_idwork_history逐步累积跨工具续接把 planner 的输出喂给其他工具继续加工实现换工具 / 换模型组合接着干。官方推荐的续接示例Continue with pals consensus tool and find out what o3:for and flash:against think of the plan此外规划完成后的响应中带有continuation_id与提示指令可用来发起相关的新规划会话或衔接实现阶段tools/planner.py。7. 结构化输出JSON 响应与最终呈现规范每次规划步骤返回结构化 JSON完整 schema 定义在 systemprompts/planner_prompt.py关键字段包括statusplanning_success/pause_for_planning/pause_for_deep_thinking/planning_complete等step_number/total_steps/next_step_requiredstep_content本步详细规划分析metadatabranches、step_history_length、is_step_revision、revises_step_number、is_branch_point、branch_from_step、branch_id、more_steps_neededcontinuation_id对话线程 IDplanning_complete与plan_summary仅最终步骤出现next_steps指导代理下一步动作继续规划、实现或分叉。规划完成planning_complete: true后呈现规范要求systemprompts/planner_prompt.py清晰标题与编号阶段/小节使用 ASCII 图表呈现工作流、依赖或时序如Phase 1 → Phase 2 → Phase 3、[Phase 1: Setup] → [Phase 2: Development] → [Phase 3: Testing]用要点与子步骤做详细拆解用表格做方案对比或资源分配标注优先级与执行顺序。两条硬性约束不使用 emoji只用清晰的文本格式与 ASCII 字符不主动提及时间估算或成本除非用户明确要求tools/planner.py。8. 自包含设计planner 不依赖外部专家分析与其他工作流工具不同planner 是自包含的requires_expert_analysis()返回Falsetools/planner.pyshould_call_expert_analysis()恒为Falsetools/planner.py跳过专家分析的原因标记为skipped_by_tool_designtools/planner.py。也就是说规划结果由执行规划的模型直接产出无需二次调用外部模型做专家评审。若需要多模型观点请像第 4.1 节那样显式衔接consensus工具。另一个细节planner 在 MCP 边界上requires_model()返回False——它本质是一个纯数据处理 结构化引导工具tools/planner.py但系统提示词与模型类别决定了实际规划质量依赖所选模型的推理能力。9. 最佳实践清单官方文档给出六条规划建议先宽后窄Start broad, then narrow从高层战略入手再补充实现细节纳入约束Include constraints考虑技术、组织与资源限制规划验证Plan for validation包含测试与验证步骤思考依赖Think about dependencies识别每步之前必须完成的事考虑备选Consider alternatives多个方案可行时明确标注启用续接Enable continuation多会话规划务必使用continuation_id。10. 组合玩法Planner Consensus 的评审闭环planner 与 consensus 天然互补planner 负责把想法结构化consensus 负责让多个模型以不同立场支持 / 反对 / 中立评审计划。典型的完整链路用 planner 将大目标拆成可执行计划完成规划后用 consensus 让两个不同模型如 o3 持for、flash 持against对整份计划给出专家意见根据评审结果决定先实现哪部分或回到 planner 用is_step_revision修订计划。这也是文档中Pro Tip推荐的 AB 测试式玩法——两个规划子任务并行完成后一次 consensus 即可拿到两份方案的专家对比结论docs/tools/planner.md 的 Example Prompts 与 docs/tools/consensus.md 的续接示例均演示了这一模式。各工具的系统提示词与实现细节可继续查阅 systemprompts/planner_prompt.py 与 tools/consensus.py想要用测试驱动理解其行为边界可阅读 tests/test_planner.py。11. 适用场景小结planner 最适合以下四类任务复杂项目规划把大目标分解为有序可执行步骤含未知因素的系统设计边规划边澄清假设、动态调整步数迁移策略如 React JS → TypeScript、单体 → 微服务架构决策需要多方案对比、分支探索与早期修订。配合分支、修订、跨会话续接三大能力以及强制暂停反思 深度思考机制planner 让 AI 辅助规划从一次性输出升级为可对话、可演进、可复盘的结构化过程。【免费下载链接】pal-mcp-serverThe power of Claude Code / GeminiCLI / CodexCLI [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.项目地址: https://gitcode.com/GitHub_Trending/ge/pal-mcp-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表