Skip to content

企业生产实践

一句话理解:在生产中启用 Planning 层,不是为了“让 Agent 更聪明”,而是为了让长程复杂任务可预测、可控制、可审计、可回滚。

本章讨论 Planning 在企业落地时的关键问题:何时启用独立 Planning 层、如何与相邻模块集成、如何防止重规划风暴、如何实现人机协同与审计。

何时启用独立 Planning 层

不是所有 Agent 都需要独立 Planning 层。以下场景建议启用:

场景特征说明
任务步骤通常超过 5 步需要显式计划避免目标漂移
存在复杂依赖或并行需要 DAG/图调度
工具/Agent 数量多需要 Planner 统一选择与编排
失败恢复成本高需要 checkpoint、回滚、重规划
需要人工审批或审计计划必须作为可解释 artifact
目标模糊或可能变化需要动态重规划

反之,如果只是简单的“调用一次搜索 API 然后总结”,ReAct 或单次 prompt 就足够了。

与 Runtime 集成

Planning 层与 Runtime 层的集成方式决定了系统的灵活性与稳定性。

集成模式

模式说明适用
Planning 生成完整计划,Runtime 只执行简单清晰,Planning 与 Runtime 完全解耦目标明确、计划稳定的任务
Planning 生成骨架计划,Runtime 执行中动态细化平衡灵活性与可控性中等复杂度任务
Planning 与 Runtime 交替运行每执行一步或一个阶段后,Planning 重新评估高动态、长程任务

接口约定

  • Planning 输出标准化计划格式(如 JSON Schema)。
  • Runtime 消费计划,按依赖调度执行。
  • Runtime 把执行结果与状态回传给 Planning,但不修改计划语义。

与 Memory 集成

Planning 需要 Memory 提供上下文,也需要把计划写入 Memory。

读取 Memory

  • 用户偏好:例如常用工具、输出格式、风险容忍度。
  • 历史计划:相似任务的成功计划可作为 few-shot 示例。
  • 失败教训:Reflection 总结的失败模式可帮助 Planner 避免重复犯错。

写入 Memory

  • 当前计划版本与执行历史。
  • 每个 checkpoint 的状态。
  • 重规划的原因与结果。

注意点

  • 不要一次性把所有记忆塞进 prompt,要进行检索与压缩。
  • Plan Memory 与通用 Memory 应分开管理,便于审计。

与 Reflection 集成

Reflection 是 Planning 的重要输入源。

集成方式

  • Reflection 输出结构化的失败分析:root_causesuggested_fixconfidencerelated_past_cases
  • Planner 根据建议进行局部修复或全局重规划。
  • 对高 confidence 的建议可直接应用,低 confidence 的建议转人工审核。

与 Multi-Agent 集成

在多 Agent 系统中,Planning 可以作为中央 Planner,也可以分布到每个 Agent 内部。

中央 Planner 模式

优点:全局最优、易于审计。 缺点:单点瓶颈、中央 Planner 可能不了解各 Agent 的私有能力。

分布式 Planner 模式

每个 Agent 自带 Planner,只负责自己的子目标。上层协调者只负责 handoff 或结果汇总。

优点:各 Agent 可独立演化,扩展性好。 缺点:全局计划碎片化,难以统一回滚。

选型建议

  • 跨 Agent 依赖强、需要全局优化的任务:中央 Planner。
  • Agent 能力差异大、需要高度自治的任务:分布式 Planner。

与 MCP / Tool Use 集成

Planning 通过 Tool/MCP Gateway 使用外部能力。

工具描述

Planner 需要清晰的工具描述,包括:

  • 工具名称与用途
  • 输入参数 schema
  • 返回值 schema
  • 副作用与风险等级
  • 典型使用示例

工具选择

  • 简单场景:Planner 直接生成 tool name。
  • 复杂场景:引入工具检索模块,根据目标从工具库中召回候选工具,再交给 Planner 选择。

注意点

  • 工具描述质量直接影响 Planner 准确率。
  • 高危工具应在计划验证阶段被标记,并触发 HITL。

计划验证

生产环境中,计划进入执行前必须经过验证。

验证维度

维度检查内容
语法步骤 ID 唯一、依赖存在、无环
语义工具存在、参数类型匹配、必填参数完整
安全是否调用高危工具、是否越权访问
资源步骤数、并行度、预估成本是否在预算内
业务是否满足用户约束、是否覆盖成功标准

验证失败处理

  • 自动修正:对简单问题(如参数缺失)由 Planner 自动重试。
  • 人工审核:对安全或业务问题转 HITL。
  • 终止:对无法修正的计划直接拒绝。

重规划风暴防护

重规划风暴是生产中最常见的问题之一。

防护措施

措施说明
冷却时间同一失败原因在 N 分钟内不重复触发
最大次数设置全局与单步骤的重规划上限
进展检测如果新计划与旧计划无实质差异,则终止
失败分类不可恢复错误直接终止,不再重试
成本上限达到预算后强制终止
兜底策略重规划耗尽后转人工或返回部分结果

示例策略

python
policy = {
    "max_replans": 3,
    "replan_cooldown_seconds": 60,
    "max_plan_versions": 5,
    "cost_limit_usd": 2.0,
    "unrecoverable_errors": ["PermissionDenied", "InvalidConfiguration"],
}

人机协同

HITL 在生产中不是“能力不足”的标志,而是安全与信任机制。

HITL 节点

  • 计划生成后确认
  • 高危操作前审批
  • 重规划大幅变更前确认
  • 失败兜底前介入

HITL 模式

模式说明适用
同步阻塞等待人工响应后再继续关键审批
异步通知发送通知,人工可在窗口期内介入非关键但需知情
预授权用户提前授权某类操作重复性任务
事后审计操作完成后供人复查低风险高频操作

审计

Planning 层必须提供完整审计能力。

审计内容

  • 每个计划版本的内容与生成原因
  • 每步执行状态、输入、输出、耗时、成本
  • 每次重规划的触发原因、旧计划、新计划
  • 人工审批记录
  • 失败与兜底处理记录

审计用途

  • 问题排查与复盘
  • 模型效果评估
  • 合规与安全审查
  • 持续优化 Planning 策略

成本与 SLO

成本模型

Planning 的成本主要来自:

  • Planner 调用大模型的 token 消耗
  • 重规划次数
  • 工具/MCP 调用费用
  • 人工审批成本

SLO 建议

指标说明
计划生成成功率生成并通过验证的计划占比
首次执行成功率无需重规划即完成的任务占比
平均重规划次数反映计划质量
任务完成率最终成功完成的任务占比
平均任务耗时端到端执行时间
平均任务成本单次任务的花费
人工介入率需要 HITL 的任务占比

本章小结

  • 独立 Planning 层适合长程、多步、高失败成本、需审计的任务。
  • 与 Runtime、Memory、Reflection、Multi-Agent、MCP、Tool Use 的集成需要清晰的接口与职责边界。
  • 计划验证、重规划风暴防护、人机协同、审计、成本与 SLO 是生产落地的五大支柱。

参考来源

Released under CC-BY-SA-4.0 License.