从 Skill 到 Agent:什么时候需要多步自主执行?

先统一:Agent 不是“更大的 Skill”

Skill 解决的是“稳定复用某个能力”;Agent 解决的是“在不确定环境下完成多步目标”。

所以判断是否需要 Agent 的关键不是“任务难不难”,而是:

  • 是否需要多轮决策(plan -> act -> observe -> revise)
  • 是否需要跨工具与跨系统
  • 是否需要在失败时自我修复/改计划

一个实用决策树(你可以直接用)

按下面顺序问 6 个问题:

  1. 任务能否在 1 次工具调用 + 1 次生成中完成?
    能 -> 单步 Skill

  2. 是否只是固定步骤串起来(顺序固定、分支少)?
    是 -> 工作流编排(非 Agent)

  3. 是否需要根据中间结果决定下一步(分支多、动态路由)?
    是 -> 考虑 Agent

  4. 是否存在“写操作/高风险操作”(发消息、改库、发布)?
    是 -> 必须设计人类确认点

  5. 是否可定义明确成功标准(可评测)?
    否 -> 先别做 Agent(否则你不知道它是否在变好)

  6. 是否能把外部不确定性收敛到工具层(重试、缓存、校验)?
    否 -> 先补工具层工程化,再做 Agent

三类系统形态:从简单到复杂

1) 单步 Skill

适合:PR 摘要、日志解读、文档生成、SQL 草拟。
特点:输入输出契约清晰,稳定输出。

2) 编排型工作流(非 Agent)

适合:固定步骤的流水线,例如:

  • 拉 PR -> 摘要 -> 生成评论草稿 -> 人类确认 -> 发布

特点:步骤固定,失败处理可预期,排障容易。

3) 多步 Agent

适合:开放域任务,例如:

  • “排查某线上错误并给出修复建议与验证步骤”

特点:需要路由、重试、反思、工具组合,工程化要求高。

人类在环:不是让你“点确定”,而是控制风险

建议把人类确认点设计成三类:

  • 写操作前确认:将要写入什么、写到哪里、影响范围
  • 低置信度确认:模型认为不确定或证据不足
  • 预算/成本确认:预计调用次数或预计成本超过阈值

动手做:把一个 Agent 任务“降维”为可控系统

以“自动发布 release note”为例:

  1. 先做单步 Skill:生成 release note 草稿(无写操作)
  2. 再做编排:拉取变更 -> 生成草稿 -> 人类确认 -> 发布
  3. 最后才考虑 Agent:当你需要自动判断“哪些变更应该进 release note”

这样做的好处是:每一步都有可回归、可观测的改进空间。

工程化清单

  • 先能定义成功标准(否则无法评测)
  • 先把工具层稳定性做好(重试/缓存/校验/幂等)
  • 对写操作设置强制人类确认点
  • 对预算/成本设置上限

常见坑

  • “任务看起来酷”就做 Agent:排障成本极高
  • 没有成功标准:你无法判断它是在变好还是在随机游走
  • 把确认点交给模型:确认必须由系统/人类掌控

下一篇:Agent 编排模式:Planner-Executor、ReAct、Router、Graph

← 返回博客列表