1. 项目概述:什么是 ULTRAPLAN?
如果你在构建或使用 AI 智能体时,遇到过那种“一上来就开干,结果写到一半发现架构有问题,不得不推倒重来”的尴尬局面,那么 ULTRAPLAN 这个技能就是为你准备的。它不是一个执行工具,而是一个“思考工具”。简单来说,ULTRAPLAN 是一个专为复杂任务设计的深度战略规划模式,它会在一个独立的、隔离的会话中,调用最高能力的模型(比如 Claude Opus),给予它长达 10 到 30 分钟的“纯思考时间”,让它为你生成一份详尽、可审查、结构化的行动计划,在你点头批准之后,才会进入真正的执行阶段。
这背后的核心思想,是将“思考”与“执行”这两个阶段彻底分离。我们人类在处理复杂项目时,不也常常需要先开个会、画个白板、写个方案吗?ULTRAPLAN 就是让 AI 智能体来完成这个“方案撰写”的工作。它特别适合那些需要架构设计、多步骤策略、风险评估或长期路线图的任务。比如,“将整个微服务从 Fastify 迁移到 Hono”、“为我们的产品设计一个全新的实时协作架构”、“在不影响质量的前提下将云成本降低 50%”。对于这类任务,直接让智能体开始写代码,无异于让一支施工队不看图纸就盖楼,风险极高。ULTRAPLAN 就是那个先花时间画好精密图纸的架构师。
2. 核心设计理念与适用场景解析
2.1 为什么需要“深度规划”模式?
在当前的 AI 智能体工作流中,一个普遍的问题是“急于行动”。智能体接收到指令后,倾向于立即开始执行第一个想到的步骤。这对于简单、明确的任务(如“修复这个函数的语法错误”)是高效的。但对于复杂任务,这种线性、即时反应式的模式存在几个致命缺陷:
- 缺乏全局视野:智能体可能陷入局部优化,为一个子问题提供了精妙的解决方案,但这个方案却与整体架构目标背道而驰。
- 无法进行权衡分析:面对多个可行方案(例如,选择 WebSocket 还是 Server-Sent Events 实现实时性),没有足够的时间和“心理空间”去系统性地比较利弊、评估风险。
- 风险后置:问题往往在执行到中后期才暴露出来,此时修正的成本(时间、资源、已编写代码的废弃)非常高。
- 资源浪费:直接执行可能意味着在错误的方向上消耗了大量的计算资源(模型调用)和时间。
ULTRAPLAN 的设计正是为了根治这些问题。它强制引入一个“冷却期”和“战略期”,其价值不在于生成的那份文档,而在于强制进行的深度思考过程本身。这模仿了人类专家在面临复杂挑战时的最佳实践:暂停、研究、分析、规划,然后行动。
2.2 何时应该(以及何时不该)使用 ULTRAPLAN?
理解 ULTRAPLAN 的适用边界,是高效利用它的关键。根据项目文档和实际经验,我为你梳理了清晰的决策树。
你应该毫不犹豫地触发 ULTRAPLAN 的场景:
- 架构级决策:需要选择技术栈、设计系统模块划分、定义数据流。例如,“评估将状态管理从 Redux 迁移到 Zustand 的可行性与实施方案”。
- 多阶段项目规划:项目周期超过数天,包含多个相互依赖的阶段。例如,“为零代码搭建平台设计并实现一个可视化工作流编辑器”。
- 高风险变更:任何可能对现有稳定系统造成广泛影响的修改。例如,“重构整个项目的身份认证与授权系统”。
- 探索性任务:目标明确但路径模糊,需要先厘清“怎么做”甚至“做什么”。例如,“利用现有用户行为数据,设计一套提升留存率的自动化干预机制”。
- 资源优化:涉及成本、性能等需要量化分析和权衡的目标。例如,“优化向量数据库的查询性能,在预算增加不超过20%的前提下,将 P95 延迟降低 50%”。
你应该避免使用 ULTRAPLAN 的场景:
- 简单、线性的任务:任务步骤清晰,无需创造性决策。例如,“给这个 API 添加一个分页参数”、“修复这个拼写错误”。
- 紧急修复:线上故障需要立即处理,时间优先级远高于方案完美性。
- 你已经胸有成竹:你本人对任务的全貌、步骤、风险已有清晰认知,只需要一个“执行助手”。
- 任务本身过于模糊:如果连你自己都无法清晰描述任务,那么丢给 ULTRAPLAN 大概率会得到一堆空泛的问题。你需要先自己或通过简单对话厘清核心诉求。
实操心得:一个非常实用的经验法则是“4小时规则”。粗略估计一下,如果这个任务交给一个熟练的工程师或你自己来执行,需要超过 4 个小时吗?如果需要,那么使用 ULTRAPLAN 进行前期规划,其带来的架构清晰度和风险规避价值,通常能覆盖其自身的“思考成本”,从长远看是节省时间的。反之,如果估计执行时间小于1小时,直接动手往往更快。
3. ULTRAPLAN 的工作机制与流程拆解
3.1 从触发到产出的完整流程
ULTRAPLAN 不是一个黑盒,理解其内部工作流有助于你更好地与之协作。其核心流程可以分解为以下八个步骤,形成了一个完整的“规划-审查-执行”闭环。
用户输入: “ultraplan: 为我们的多智能体系统设计一个基于优先级的任务调度器” ↓ 步骤 1: 解析任务描述 智能体解析你的指令,提取核心任务目标。 ↓ 步骤 2: 收集上下文 智能体会询问或自动识别相关的上下文文件。例如,它可能会要求你提供当前系统的架构图、已有的任务队列实现代码、或相关的需求文档。你提供的上下文越丰富,规划质量越高。 ↓ 步骤 3: 生成并执行规划任务 系统在一个**完全隔离的会话**中,生成一个结构化的提示词(Prompt),并调用指定的高性能模型(如 Claude Opus)来执行“仅思考”任务。这个会话有独立的超时设置(默认30分钟),并且被严格限制为只读模式,禁止任何写文件、执行命令的操作。 ↓ 步骤 4: 深度思考与分析 模型利用分配的10-30分钟时间,进行深度分析。它会拆解问题、调研(通过内置的网页搜索或读取文件)、构思多种方案、评估风险、估算资源。这个过程模拟了人类专家的系统性思考。 ↓ 步骤 5: 生成结构化计划 思考结束后,模型必须按照一个固定的模板输出计划。这个模板强制它覆盖从问题分析到风险预案的所有方面,确保计划的完整性和可审查性。 ↓ 步骤 6: 保存与呈现 生成的计划被自动保存到本地一个结构化的目录中(例如 `~/.openclaw/workspace/state/ultraplan/{任务ID}/`),并以清晰的形式呈现给你。你会看到一份包含摘要和详细章节的 Markdown 文档。 ↓ 步骤 7: 人工审查与决策 这是**最关键的一步**。你作为人类,需要仔细审阅这份计划。你可以:**批准**(计划可行,进入执行)、**拒绝**(计划不可行,重新思考或放弃)、或**修改**(在计划基础上提出调整意见,然后重新生成或直接调整)。 ↓ 步骤 8: 移交执行(可选) 一旦你批准了计划,如果系统集成了像 `pipeline-orchestrator` 这样的执行管道,你可以选择将这份计划直接“喂”给管道。此时,计划中的“详细执行步骤”部分会自动填充到管道的规划阶段,大幅节省后续编排的时间。这个流程的精髓在于“人机协同决策”。AI 负责提供全面、深度、不知疲倦的分析,而人类负责提供最终的方向把控、价值判断和风险兜底。
3.2 核心:ULTRAPLAN 提示词模板深度解析
ULTRAPLAN 规划质量的高低,很大程度上取决于其内部使用的提示词模板。这个模板是经过精心设计的,它强制模型进行结构化输出,避免了天马行空或遗漏关键信息。我们来逐部分拆解这个模板的设计意图和最佳实践。
# ULTRAPLAN: Deep Strategic Planning (设定场景和最高指令:深度战略规划,不执行) ## Task {用户的任务描述} (这里需要清晰、具体。模糊的任务会导致模糊的计划。) ## Context {相关的文件、代码库结构、约束条件} (这是计划的“燃料”。可以提供代码片段、配置文件、架构说明、业务指标等。) ## Your Output Must Include (以下是强制性的输出结构,缺一不可) ### 1. Problem Analysis - **意图**:确保 AI 和你对问题的理解完全对齐。避免“我以为你要的是A,结果你做的是B”的尴尬。 - **要点**:必须明确“当前状态”和“目标状态”的差距,识别所有已知的约束(技术、时间、资源、合规等),并坦诚地列出未知项。 ### 2. Approach Options - **意图**:避免“第一个想到的方案就是最好的”这种思维陷阱。强制进行多方案比较。 - **要点**:每个方案需描述其核心思路。**Pros/Cons 要具体**,不能只说“性能好”,要说“预计 QPS 能从 100 提升到 1000,但内存占用会增加 50%”。风险等级和预估工作量(如“2人周”)是决策的关键输入。 ### 3. Recommended Approach - **意图**:在分析基础上做出明确的、有理有据的推荐。 - **要点**:必须清晰说明**为什么**选择这个方案,而不是其他。这里列出的“关键假设”至关重要,它们是计划可行性的基石,例如“假设用户并发数不会超过10万”、“假设第三方 API 的 SLA 为 99.9%”。 ### 4. Detailed Execution Plan - **意图**:将宏观方案拆解为可操作、可验证的微观步骤。 - **要点**:必须分阶段(Phase),每个阶段有明确的输入、活动、输出和验收标准。依赖关系要画清楚,避免并行任务因依赖而阻塞。时间估算要合理,为每个阶段预留缓冲。 ### 5. Risk Mitigation - **意图**:变被动应对为主动防御。提前思考可能出错的地方。 - **要点**:风险描述要具体(如“数据库迁移过程中可能出现数据不一致”),检测手段要可操作(如“在预发布环境进行全量数据校验”),回退方案要明确(如“如果校验失败,立即切回旧数据库,并执行回滚脚本 ABC”)。 ### 6. Resource Requirements - **意图**:让执行前的准备一步到位。 - **要点**:这是后续执行的“物料清单”。修改/创建的文件列表可以直接生成任务工单;依赖项列表可以用于准备环境;外部服务需求需要提前申请权限或配额。 ### 7. Open Questions - **意图**:明确计划的边界和不确定性,推动问题在执行前被澄清。 - **要点**:这是 AI 向你发出的“求助信号”。高质量的问题能帮助你发现前期考虑的盲区。例如,“用户隐私数据的匿名化处理标准是否需要遵循 GDPR 或本地法规?请明确。”注意事项:这个模板是质量的保证,但也是约束。有时 AI 可能会为了填满模板而生成一些泛泛而谈的内容。在审查时,你需要特别关注“Pros/Cons 是否量化”、“风险是否具体”、“执行步骤是否真的可操作”。如果发现某一部分很空洞,你应该在反馈中明确指出,要求 AI 重新思考或补充。
4. 实操指南:安装、配置与触发
4.1 环境准备与技能安装
ULTRAPLAN 通常作为一个“技能”集成到现有的 AI 智能体平台中(如项目提到的 OpenClaw)。假设你的智能体工作空间目录为~/.openclaw/workspace,安装过程通常非常简单,本质上是将技能包复制到对应的技能目录。
# 假设你已经将 ultraplan 技能包下载或克隆到本地 # 进入技能包目录 cd /path/to/ultraplan-skill # 将其复制到智能体的技能目录下 cp -r ./ ~/.openclaw/workspace/skills/ultraplan/复制完成后,你需要确保你的智能体框架已正确加载该技能。具体方式取决于框架,可能需要重启智能体服务,或在配置文件中添加ultraplan技能引用。
# 例如,在某个智能体的配置文件中可能这样启用技能 skills: - name: ultraplan enabled: true config: default_timeout_seconds: 1800 # 默认思考超时时间 default_model: "claude-3-opus" # 默认使用的模型 plan_save_path: "state/ultraplan" # 计划保存路径关键配置参数解析:
default_timeout_seconds:规划会话的最长运行时间。对于极其复杂的问题,30分钟(1800秒)可能不够,你可以酌情增加。但也要考虑成本。default_model:指定用于深度思考的模型。强烈建议使用能力最强的模型(如 Claude Opus、GPT-4),因为思考质量直接决定计划质量。使用较弱模型可能事倍功半。plan_save_path:计划文件的存储根目录。确保该路径有写入权限。
4.2 如何触发一次深度规划
安装配置完成后,触发 ULTRAPLAN 非常直观。你只需要在与智能体的对话中,使用约定的触发短语即可。
基础触发:直接在你的任务描述前加上ultraplan:前缀。
你: ultraplan: 重新设计我们项目的错误监控与报警系统,使其能关联到具体的用户会话和业务操作。 智能体: 已收到深度规划请求。我将开启一个独立的会话进行战略思考,此过程可能需要10-30分钟。请稍候...携带上下文触发:在发送指令的同时,附上相关的文件。大多数智能体界面都支持附件功能。
你:[附上当前的错误日志结构文档、系统架构图、以及报警规则的配置文件] 你:ultraplan: 基于现有资料,优化我们的报警规则,减少误报,并建立错误根因分析链路。提供上下文能极大提升规划的相关性和准确性,强烈推荐在可能的情况下都这样做。
其他触发短语:根据技能的具体实现,可能还支持一些别名,使交互更自然。
你:deep plan: 评估在下一个季度引入 Rust 重写性能关键模块的可行性。 你:think deeply about: 如果我们把缓存从 Redis 迁移到 DragonflyDB,会有什么影响和需要注意的事项?4.3 规划过程与结果审查
触发后,智能体会进入“思考中”状态。此时,它可能不会实时输出流式文字,而是后台运行一个独立的会话。你可以去喝杯咖啡,等待通知。
规划完成后,智能体会将结果呈现给你。一份优秀的规划报告可能看起来像这样:
# ULTRAPLAN 报告:错误监控系统重构计划 **任务ID**: up-7a7b3c **状态**: 待审查 **思考时长**: 18分钟 ## 摘要 计划将现有的分散错误日志整合为一个可追溯的链路系统,引入错误指纹以减少重复报警,并建立分级报警策略。预计总工作量为 3-4 人周,主要风险在于历史数据迁移... --- [以下是完整的计划内容,结构如前文模板所示] --- ## 下一步 请审查以上计划。你可以: 1. **批准** - 我将保存此计划,并可选择移交执行。 2. **拒绝** - 废弃此计划,任务结束。 3. **修改** - 请提出你的修改意见,我将基于此更新计划。你的审查工作至关重要:
- 快速浏览摘要:了解核心方案和规模。
- 仔细阅读“问题分析”和“推荐方案”:确认 AI 是否真正理解了问题,以及推荐理由是否成立。
- 重点审查“详细执行计划”和“风险缓解”:这是计划可落地的关键。检查阶段划分是否合理,步骤是否具体,风险应对措施是否有效。
- 查看“开放问题”:回答这些问题,能进一步完善计划。
如果计划大体满意但有些细节需要调整,你可以直接给出修改意见,例如:“在阶段二中,除了性能测试,请增加与旧系统并行的数据一致性验证步骤。” 智能体会根据你的反馈更新计划。
5. 高级应用:与执行管道的集成
ULTRAPLAN 的真正威力,在于它与执行引擎的结合,形成“谋定而后动”的自动化工作流。项目文档中提到了与pipeline-orchestrator的集成,这是一个非常强大的模式。
5.1 集成工作流解析
在没有集成的情况下,ULTRAPLAN 产出计划,你需要人工阅读,然后手动创建任务或指导智能体一步步执行。集成之后,这个过程可以自动化。
ULTRAPLAN ↓ (产出结构化计划) ↓ 你的批准 ↓ 自动转换 ↓ Pipeline Orchestrator (执行引擎) ↓ 自动分阶段执行任务具体来说:
- ULTRAPLAN 生成的计划中,“详细执行计划”部分,每一个阶段(Phase)及其具体步骤,会被自动转换为执行管道中的一个“任务节点”。
- “验收标准”会成为该节点的成功判断条件。
- “资源需求”列表(如需要修改的文件、安装的依赖)会成为管道的初始化配置。
- 管道执行器会按照计划定义的顺序和依赖关系,自动调度和执行这些任务,可能是调用不同的智能体技能,也可能是运行脚本。
这相当于你有了一个 AI “首席架构师”和一个 AI “项目经理”加“工程师团队”。架构师(ULTRAPLAN)负责出蓝图,项目经理(管道)负责把蓝图分解成施工任务并监督完成。
5.2 集成配置与实战示例
假设你的pipeline-orchestrator技能期望的输入是一种特定的 YAML 或 JSON 格式。你需要在 ULTRAPLAN 技能中,或在某个中间转换层,编写一个适配器。
概念性适配器逻辑(伪代码):
def convert_plan_to_pipeline(ultraplan_output): pipeline_stages = [] for phase in ultraplan_output.detailed_execution_plan: stage = { "name": phase.title, "description": phase.what_to_do, "agent_skill": "code_implementer", # 指定执行此阶段用哪个技能 "parameters": { "files": phase.files_to_modify, "acceptance_criteria": phase.verification_criteria }, "dependencies": phase.dependencies_on_prior_phases } pipeline_stages.append(stage) pipeline_config = { "name": ultraplan_output.task, "stages": pipeline_stages, "resources": ultraplan_output.resource_requirements } return pipeline_config当你在审查界面点击“批准并移交管道”时,后台就会调用类似逻辑,将 Markdown 计划转换为管道配置,并自动启动管道。
实战场景:迁移数据库
- 触发规划:
ultraplan: 将用户数据从 MongoDB 迁移到 PostgreSQL,要求零停机、数据一致。 - 审查计划:AI 给出一个包含“双写”、“数据同步验证”、“流量切换”、“旧数据清理”四个阶段的详细计划,并评估了每个阶段的风险。
- 批准并移交:你点击批准,计划被自动转换为一个四阶段的管道。
- 自动执行:
- 阶段一:管道调用“数据库操作”技能,在应用层建立双写逻辑。
- 阶段二:调用“数据校验”技能,运行一致性检查脚本。
- 阶段三:调用“配置管理”技能,将数据库连接串切换到 PostgreSQL。
- 阶段四:调用“清理”技能,停用双写并归档旧 MongoDB 数据。 在整个过程中,你只需要在关键节点(如切换流量前)进行确认,其余均由自动化管道管理。
6. 成本控制、最佳实践与常见问题
6.1 成本考量与优化策略
使用最强模型进行长达30分钟的深度思考,成本是必须面对的现实。一次 ULTRAPLAN 会话的成本可能从几元到十几元人民币不等,取决于上下文长度和模型定价。
成本控制策略:
- 严格遵守“4小时规则”:这是最根本的原则。只对值得的任务进行深度规划。
- 精准提供上下文:在触发前,整理好最相关的文档、代码片段。避免让 AI 在大量无关文件中“大海捞针”,这既费时间(Token)又费钱。你可以先通过简单对话,让智能体帮你提取关键上下文。
- 设定合理的超时时间:不是每个任务都需要30分钟。对于中等复杂度任务,可以在触发时指定更短时间,例如
ultraplan(timeout=600): ...(如果技能支持参数)。这需要你根据经验判断。 - 善用“修改”而非“重来”:如果生成的计划主体正确但部分细节有问题,尽量使用“修改”功能,给出明确的反馈让 AI 调整。这比直接“拒绝”并触发一次全新的规划要节省成本。
- 将大任务分解:对于一个巨大的项目(如“重写整个前端”),不要一次性丢给 ULTRAPLAN。先让它规划整体架构和阶段划分,然后针对每个具体阶段(如“实现新的状态管理模块”)再分别进行深度规划。
6.2 提升规划质量的独家技巧
除了基本的用法,一些进阶技巧能让你从 ULTRAPLAN 中获得更具洞察力的结果。
在任务描述中植入“思考框架”:你可以引导 AI 的思考方向。例如:
ultraplan: 从可维护性、性能、团队学习成本三个维度,评估引入 GraphQL 替代现有 REST API 的方案。这比简单的“评估引入 GraphQL”能得到更结构化的比较。要求量化输出:在审查时,如果发现方案对比中的利弊描述很模糊(如“性能更好”),在反馈中明确要求量化。例如:“请对方案A和方案B的预估 QPS(每秒查询率)、内存占用和冷启动时间进行量化对比。”
利用“开放问题”进行双向澄清:不要忽视 AI 提出的开放问题。认真回答它们,并可以要求 AI 基于你的回答更新计划。这是一个绝佳的人机协同深化思考的过程。
建立计划知识库:所有生成的计划都保存在
state/ultraplan/目录下。定期回顾这些计划,无论成功与否,都是宝贵的经验。你可以分析哪些类型的任务规划得好,哪些规划得差,从而优化你未来触发 ULTRAPLAN 的方式。
6.3 常见问题与故障排查
在实际使用中,你可能会遇到以下情况:
问题一:ULTRAPLAN 运行超时,没有产出完整计划。
- 可能原因:任务过于复杂,30分钟不够;或模型陷入了某个细节的无限思考。
- 解决方案:首先检查保存目录中是否有部分输出。有时模型已经输出了大部分内容。如果任务确实庞大,尝试将其拆分为多个子任务分别规划。如果怀疑是模型“卡住”,可以尝试在任务描述中增加约束,如“请优先考虑最核心的三种方案”。
问题二:生成的计划看起来泛泛而谈,缺乏可操作性。
- 可能原因:任务描述本身太模糊;或提供的上下文不足。
- 解决方案:这是最常见的问题。重新定义任务,使其更具体、可衡量。将“优化系统”改为“将 API 的 P99 延迟从 200ms 降低到 100ms 以内”。同时,务必提供关键的代码、日志和指标数据作为上下文。
问题三:计划中推荐的技术方案明显不合理或过时。
- 可能原因:模型的知识截止日期限制,或它没有接触到最新的技术社区信息。
- 解决方案:这是人类审查的核心价值所在。你需要在“修改”反馈中明确指出:“方案B中提到的 XX 库已停止维护,请考虑使用其替代者 YY 库,并重新评估。” 你也可以在初始上下文中附上最新的技术选型文档。
问题四:如何管理大量生成的计划文件?
- 解决方案:计划目录
state/ultraplan/通常按任务 ID 和日期组织。你可以编写简单的脚本,定期将已执行完成的计划归档,或将meta.json中的关键信息(任务、状态、时间)提取到一个总览表格中,方便检索和管理。
ULTRAPLAN 代表的是一种更成熟、更工程化的 AI 智能体使用范式。它承认当前 AI 在复杂逻辑和长远规划上仍有局限,通过引入结构化的“慢思考”环节和关键的人工审查节点,将人类的战略判断与 AI 的广博知识和不知疲倦的分析能力相结合,从而可靠地处理那些真正棘手、高价值的复杂问题。它不是让 AI 替代你思考,而是成为你身边一个拥有无限耐心和强大分析能力的战略顾问。