5.3 规划(Planning)
规划模式解决的是如何将复杂目标分解为可执行步骤的问题。例如,撰写一份研究报告需要分解为收集数据、分析财务、撰写各章节等具体任务。
5.3.1 目标分解与任务编排
目标分解是规划的第一步。好的分解应该满足 MECE 原则:相互独立(Mutually Exclusive)、完全穷尽(Collectively Exhaustive)。每个子任务不重叠,所有子任务加起来覆盖整个目标。
分解方法有几种:
- 简单提示分解:直接让 AI 列出完成任务的步骤
- 思维链分解:用 CoT 引导逐步拆解
- 人工引导分解:人类提供框架,AI 细化
任务编排需要考虑依赖关系。有些任务有先后顺序,比如必须先收集数据,才能进行分析;有些任务可以并行,比如分析财务和分析行业可以同时进行。
规划有两种主要模式:
ReAct 模式:边执行边规划。完成一步后,根据结果决定下一步。适合简单任务和不确定性高的场景。
Plan-and-Execute 模式:先制定完整计划,再逐步执行。适合复杂的多步骤任务。
| 维度 | ReAct | Plan-and-Execute |
|---|---|---|
| 规划方式 | 边执行边规划 | 先全局规划再执行 |
| 适用场景 | 简单任务、快速响应 | 复杂多步骤任务 |
| 灵活性 | 高,可即时调整 | 中,需重规划 |
| LLM 调用 | 每步都规划 | 规划阶段调用一次 |
5.3.2 约束管理与资源分配
规划不只是列任务清单,还需要管理约束条件。常见的约束包括:
- 时间约束:截止日期、各环节时间分配
- 资源约束:可用的工具、数据来源
- 质量约束:输出标准、合规要求
资源分配要考虑任务的优先级和复杂度。复杂任务分配更多时间,关键任务优先处理。
分层任务网络(Hierarchical Task Network, HTN)是一种经典的规划方法,源自人工智能领域的自动规划研究。HTN 的核心思想是将任务分为高层任务和底层任务:高层任务是抽象的目标(如「完成投资分析」),底层任务是具体的操作(如「计算市盈率」)。高层任务持续分解,直到所有任务都变成可直接执行的原子任务。这种层层分解的方式与人类处理复杂问题的思路一致。

5.3.3 动态重规划机制
静态计划在执行过程中常常需要调整。可能遇到的情况包括:
- 环境变化:数据源不可用,需要换一个
- 执行失败:某个步骤没有成功
- 新信息出现:发现了原计划没考虑到的因素
动态重规划的流程是:
- 监控执行:检测实际结果与预期是否一致
- 识别偏差:发现问题并评估影响
- 调整计划:修改后续步骤或整体方案
执行者可能是 AI 智能体、外部工具或人类操作员。如果执行者反馈失败或异常,规划器需要评估影响并决定下一步行动。
错误恢复是重规划的重要部分。当某个步骤失败时,可以尝试重试、使用替代方案或跳过该步骤。
初始计划:搜索"某公司2025年报" → 提取财务数据
执行结果:搜索无结果(2025年报尚未发布)
重规划:改为搜索"某公司2024年报" + 最新季报数据
5.3.4 规划验证与执行监控
规划验证在执行前检查计划的可行性:
- 前置条件检查:所需资源是否就绪?
- 依赖关系验证:任务顺序是否合理?
- 完整性检查:是否覆盖所有必要步骤?
执行监控在过程中跟踪进度:
- 记录每个任务的开始和完成时间
- 标记任务状态(待处理、进行中、已完成)
- 及时发现和处理异常
案例 5C:研报写作规划(规划)
| 要素 | 说明 |
|---|---|
| 演示模式 | 规划(Planning) |
| 案例简述 | 输入撰写某公司行业分析报告目标,使用 TodoWrite 工具分解为章节大纲和写作步骤。体验目标分解与任务编排。 |
| 应用衔接 | 第 13 章研报生成系统的规划层(Planner Agent)直接应用此模式 |
实践步骤:
第一步,进入规划模式(按 Shift+Tab 两次),然后输入:
我需要撰写一份关于"云计算行业龙头公司"的深度投资分析报告。
请先制定详细的写作计划,不要开始写作。
第二步,确认计划后,Opencode 会创建任务列表:
任务状态追踪:
◐ 收集公司财务数据和行业资料
◯ 分析业务模式和竞争优势
◯ 评估财务状况和盈利能力
◯ 进行估值分析
◯ 撰写投资建议和风险提示
◯ 整理报告格式和附录
第三步,切换到执行模式,按计划逐步完成各项任务,观察任务状态的更新。