第五章

Agent 怎样安排路线、循环推进和分工

1. 本章要说的概念

Workflow(工作流)Loop(循环)State(状态)、Subagent(子 Agent)和 Multi-Agent(多 Agent 系统)

2. 模拟任务:整理竞品企业追踪调研周报

你的工作任务之一是竞品研究,每周都要跟踪三家竞争企业,收集它们新发布的商品或服务、价格变化和重要新闻,在周五下班前完成一份附来源的简要周报,以便下周一交付公司决策层审阅。

于是,你把这个重复性任务交给了 Codex。接下来,你会在同一个项目里用到 Workflow、Loop、State、Subagent,以及上一章提到的 Skill,帮助 Codex 在每次启动周报任务时按要求完成工作。

3. Workflow(工作流):任务的固定章程

Workflow(工作流)是完成一类任务时相对固定的步骤和顺序。

对于一份竞品简报来说,每周都要经历“确定范围、采集资料、提取结论、按模板汇总成稿”的过程,非常适合先建立一条 Workflow。

于是,你在电脑上建立了“竞品研究周报”文件夹作为本次任务的 Workspace(工作区),再用 Codex 将该文件夹作为项目打开。

你对 Codex 说:

这个项目任务是“竞品研究周报”撰写,请按以下要求建立一套可重复使用的 Workflow:

调研任务:针对 A、B 和 C 三家竞品展开每周调研。

每次任务启动时,先确定本期时间范围为上周六至本周五,再生成一个子文件夹,命名规则为 时间区间_竞品研究第N期周报,其中 N 按上一期顺延。

在本期时间范围内,全面采集三家企业的重要动态,包括新品发布、价格变化、投融资动向、舆论动向、企业变动和核心人事动态等。可以调用“搜索 Skill”(你为了调研企业,专门手搓了一个 Skill)。

整理出一份信息采集清单,命名规则为 时间区间_竞品研究_信息采集清单.md,记录新闻标题、日期、原文链接和内容摘要;没有可靠更新就写“本周未检出”。

基于信息采集清单提取数据、形成分析结论,并调用“周报模板 Skill”(规定了周报的格式、结构、文风和字数等),生成周报初稿,命名规则为 时间区间_第N期_竞品研究周报_初稿.md

以上 Workflow 需写入项目规则文件 AGENTS.md,放在“竞品研究周报”母文件夹中。

以上这段要求,把 Workflow 写成了一份可以直接使用的办事指南。而且你可以按照自己的习惯,用两种方式固定下来:

  1. 方式一:把 Workflow 保存到母文件夹中的项目规则文件 AGENTS.md。以后每次你对 Codex 说“制作本周周报”,它就按照项目规则启动任务。

  2. 方式二:把 Workflow、搜索 Skill、周报模板 Skill 等多个规则综合制作成一个“周报 Skill”,以后每次调用这个 Skill 启动任务,一口气完成。

Workflow(工作流)与 Agent 是什么关系

可以大概理解为:Agent 是实际推进任务的完整系统;Workflow 是指导它完成一类任务的指南、攻略和步骤说明书。Workflow 可以写进 AGENTS.md,也可以和其他要求一起保存在 Skill 里,供 Agent 反复读取和使用。

例如,“三家公司都要调查,先做信息采集清单,再总结周报初稿”属于 Workflow;而具体到某家公司官网没有更新后,是继续查官方公众号、公告,还是记录“本周未检出”,需要 Agent 根据当前结果、条件和你的任务要求(AGENTS.md、Skill)进行综合判断。

Workflow 也不是 Agent 独有的。很多普通软件同样可以运行固定 Workflow。

4. Loop(循环):查一次、看结果,再决定下一步

Loop(循环)是 Agent 做完一步以后查看结果,再决定继续、换一种办法还是停止。它让 Agent 不必在开始时就猜中全部步骤。

你可以在规则文件 AGENTS.md 或 Skill 中把循环的边界写清楚:

调查每家公司时,先查官网和官方账号;如果关键字段仍然缺失,再查可信媒体或公开数据库。每项信息最多换三种查找方式。找到可靠来源就停止继续查找;仍然找不到就标记缺口,不要拿旧资料填补。

收到这段要求后,Codex 处理一家公司时可能会这样循环:

  1. 查官网,得到一条竞品发布新闻;

  2. 检查发布日期,发现属于上周,不能采用;

  3. 改查官方公众号,仍然没有本周更新;

  4. 再查可信媒体,找到一条本周采访;

  5. 记录来源并停止查找这一字段。

“最多三种方式”“找到可靠来源就停”“仍未找到就标缺口”都是停止条件。没有停止条件,Loop 就可能反复搜索,花更多时间和费用,却不一定得到更好的结果。

5. State(状态):让 Agent 知道任务走到哪里

State(状态)是一项任务在当前时刻的进度和已有结果。它告诉你:Agent 已经做了什么,现在还缺什么,下一步从哪里继续。

举个例子,因为每周公开信息很多,你要求 Agent 把竞品信息搜索分成初步收集和交叉核实两个阶段。初步收集完成后,Agent 向你汇报了当前 State:

调查对象 当前进度 还缺什么 下一步
竞品甲 新发布内容、价格、新闻已完成 等待汇总
竞品乙 找到新品或新服务发布;价格信息互相矛盾 可靠的价格结论 查找官方定价页
竞品丙 官网没有本周更新 新闻与价格 继续查官方账号和可信媒体

State 可以只保存在系统运行过程中,用户看不到;你也可以在任何阶段要求 Codex 直接汇报,或者把它沉淀成一个文件。

如果竞品研究每周固定进行一次,就可以把最终 State 保存成一份 时间区间_第N期_竞品研究_状态简报.md,放在项目文件夹中。让 Agent 每完成一期周报,就生成一份当期状态简报。比如可以包括以下内容:

状态简报中的内容 具体记录什么
本周最终状态 三家竞品本周确认的商品或服务、价格和新闻变化
与上周相比 哪些内容是新增、延续、取消或没有变化
尚未解决的问题 哪些信息仍然缺少可靠来源
下周继续追踪 下一次调查需要优先检查什么
依据 本周采用的原文链接和日期

这样,下周开始新任务时,可以让 Agent 先读取上周状态简报,再调查本周变化;它就能接着比较,而不必每次从头摸索。每周状态简报不断积累,也会逐渐成为竞品项目的历史资料,指导后续调查。

6. Subagent(子 Agent):把一小块独立工作分给另一个子 Agent

Subagent(子 Agent)是由主 Agent 创建或调用、负责一部分独立任务的 Agent。如果主 Agent 是项目经理,Subagent 就像项目经理手下的研究员和助理:它们接受主 Agent 分配的任务,自行推进,再把结果返回给主 Agent。

在当前 Codex 桌面应用、CLI 和 IDE 中,最直接的调用方法就是明确告诉 Codex“创建几个 Subagent、各做什么、最后怎样交回结果”。如果 AGENTS.md 或 Skill 已经写明需要如何调用 Subagent 进行分工,Codex 也可以按照其中的要求进行。

这次竞品研究需要分别研究三个不同的竞品,你可以向 Codex 提出创建 Subagent 的要求:

请创建三个 Subagent,每个 Subagent 负责一家竞品,只调查本周的商品或服务发布、价格变化和重要新闻。每条信息都要附日期、原文链接和简短摘要;没有可靠更新就写“本周未检出”。请等待三个 Subagent 全部完成后再汇总。每个 Subagent 分别生成一个文件,最后由你生成 时间区间_第N期_竞品研究周报_初稿.md,不要让多个 Subagent 同时修改同一个文件。

Codex 收到要求后,通常会这样处理:

  1. 主 Agent 先把总任务拆成三个边界清楚、可以独立进行的子任务;

  2. 它创建三个 Subagent 线程,把公司名称、时间范围、字段和来源要求分别交过去;

  3. 三个 Subagent 各自在自己的上下文中调查,不必知道另外两家公司的全部细节;

  4. 每个 Subagent 返回信息采集的摘要,也可以按要求分别生成 竞品甲_本周信息采集清单.md竞品乙_本周信息采集清单.md竞品丙_本周信息采集清单.md

  5. 主 Agent 等待三个结果,检查缺项和重复内容,再基于三份内容生成 时间区间_第N期_竞品研究周报_初稿.md

在 Codex 桌面应用中,你可以看到各个 Subagent 的线程及其返回结果;在 CLI 中可以用 /agent 查看和切换线程。

一个 Agent 串行作业还是多个 Subagent 并行作业,选择哪条路线要看任务能不能拆开。如果三家企业的资料相对独立,并行调查通常更快;如果后一步必须等前一步完成,就更适合串行推进。最终效果仍然需要在真实任务中比较。

7. Multi-Agent(多 Agent 系统):多个 Agent 分工合作

Multi-Agent(多 Agent 系统)是多个 Agent 明确分工、传递和汇总结果,并共同完成一项任务的系统。

在竞品研究任务中,主 Agent 加上分别调研竞品企业的三个 Subagent,就构成一种简单的 Multi-Agent:三个 Subagent 各有自己的任务和上下文,主 Agent 等待并汇总它们的结果。

从本手册作者的使用体验来看,相比 Codex,WorkBuddy 似乎更加倾向于调用 Subagent 进行作业。下面用一次真实实践来举例:

知名 AI 博主数字生命卡兹克有一个非常好用的研究分析类 Skill——“hv-analysis 横纵分析法 Skill”:纵向分析一个行业或企业的历史发展脉络,横向比较同一时期的行业现状或不同企业表现。

你认为这个 Skill 很适合做竞品研究的背景分析,于是在 WorkBuddy 的 Skill 商店中找到并安装了它。

你对 WorkBuddy 说:

请使用横纵分析法/调用 hv-analysis Skill,分析本公司业务和三个竞品所在的某某行业。一方面纵向梳理行业发展脉络和四家企业的发展历程;另一方面横向比较本公司业务和三家竞品的市场现状、商品或服务特征、商业模式、目标用户、创始人背景、投融资情况及各自优劣势,最后形成一份完整报告。

横纵分析法 Skill 本身并没有要求必须调用两个 Subagent,但横向比较和纵向分析可以拆成两个相对独立的子任务,于是 WorkBuddy 主动分出了一纵一横两个 Subagent;两个 Subagent 返回结果后,主 Agent 再继续分析。这就是一个可以看见的 Multi-Agent 任务。

主 Agent:接收竞品研究任务
├─ 横向比较 Subagent → 横向比较结果
└─ 纵向分析 Subagent → 纵向变化结果
              ↓
      主 Agent 汇总成最终结论

8. 一句话释义

  • Workflow 是完成一类任务时相对固定的步骤和顺序

  • Loop 是 Agent 做完一步后查看结果,再决定继续、换一种办法还是停止

  • State 是任务当前的进度和已有结果

  • Subagent 是由主 Agent 创建或调用、负责一部分独立任务的 Agent

  • Multi-Agent 是多个 Agent 明确分工、传递和汇总结果,共同完成一项任务的系统