Planning任务规划
Planning 是 Agent 把复杂目标拆解成可执行步骤的能力。好的规划能降低任务混乱,坏的规划会让 Agent 走错方向或陷入循环。
# 1. 规划的作用
用户目标
-> 理解约束
-> 拆成步骤
-> 判断依赖关系
-> 执行并更新计划
-> 输出结果
规划让 Agent 不必一次性完成复杂任务,而是逐步推进。
# 2. 规划类型
| 类型 | 特点 | 适合场景 |
|---|---|---|
| 固定计划 | 步骤预先定义 | 稳定流程 |
| 动态计划 | 根据结果调整 | 探索性任务 |
| 分层计划 | 大目标拆成子目标 | 长任务 |
| 人机协同计划 | 关键节点请用户确认 | 高风险任务 |
# 3. 计划示例
任务:分析接口超时原因。
1. 收集接口、时间范围和错误现象。
2. 查看监控指标:QPS、延迟、错误率。
3. 检查日志中的慢查询和外部调用。
4. 对比发布记录和配置变更。
5. 给出可能原因和排查顺序。
6. 输出临时止血和长期优化建议。
这样的计划比“直接分析”更可控。
# 4. 计划执行中的状态更新
Agent 执行过程中需要根据结果调整:
原计划:检查数据库慢查询
观察:没有慢查询,但外部支付接口耗时升高
调整:转向排查外部调用和超时配置
这就是 Agent 相比固定工作流更灵活的地方。
# 5. 规划风险
| 风险 | 说明 |
|---|---|
| 计划过大 | 步骤太多,成本和时间不可控 |
| 计划错误 | 初始理解错误导致方向偏离 |
| 无限循环 | 一直尝试但没有停止条件 |
| 忽略权限 | 计划包含无权执行动作 |
| 过度自动化 | 高风险动作没有确认 |
# 6. 控制方法
- 设置最大步骤数。
- 每一步有明确目标和输出。
- 失败时允许停止并说明原因。
- 高风险步骤必须请求确认。
- 计划变更要记录原因。
# 7. Tips 快问快答
Q:Agent 规划要不要展示给用户?
A:复杂任务可以展示简要计划,便于用户确认方向。内部推理细节不一定需要暴露。
Q:规划失败怎么办?
A:应该停止、说明当前证据和阻塞点,而不是继续盲目调用工具。
Q:固定流程还需要 Agent 规划吗?
A:通常不需要。固定流程用工作流更稳定,Agent 适合动态路径。
上次更新: 2026/06/25, 17:53:09