← 返回案例
发布:整理:元定义科技(YuanASI)会议纪要并行扇出结构化输出待办提取open-multi-agent

会议纪要:三路并行扇出与结构化输出

官方 cookbook 示例

行业
企业服务 · 会议纪要
来源
open-multi-agent 官方 cookbook
当前阶段
可运行示例
这是 open-multi-agent 官方 cookbook 示例,由元定义维护。同一份会议记录同时交给三个 Agent:一个写三段式摘要,一个按 schema 抽出带负责人的待办,一个判断每位发言人的情绪;三路结果再交给第四个 Agent,合成一份四个固定章节的 Markdown 纪要。

场景

典型场景:团队开完一次周会,会后通常要做三件事:写一段给没参会的人看的摘要,把谁在什么时候之前做什么列成待办,留意有没有人状态不好、需要调整分工。三件事读的是同一份记录、互不依赖,一个人逐项整理却只能排队做;待办如果只是随手写成段落,也很难直接导进任务系统。

这个示例演示的正是把这三件事拆给三个专职 Agent 同时跑,其中待办和情绪两路按 Zod schema 输出 JSON,再由汇总 Agent 把散文摘要和两份 JSON 合成一份报告;脚本同时量出并行比逐个跑省下多少时间。

方案

角色任务 DAG工具模型部署形态
summary第 1 步三路并行之一:会议记录 → 三段式摘要(议题、决定、风险)未声明claude-sonnet-4-6 / anthropicnpx tsx 单次运行的本地脚本
action-items第 1 步三路并行之一:会议记录 → 待办 JSON(task / owner / due_date)未声明claude-sonnet-4-6 / anthropic同上
sentiment第 1 步三路并行之一:会议记录 → 每位发言人的情绪 JSON未声明claude-sonnet-4-6 / anthropic同上
aggregator第 3 步:三路全部成功且通过并行检查后,合成 Markdown 报告未声明claude-sonnet-4-6 / anthropic同上

表中模型为示例仓库的默认配置;实际选型在方案阶段按场景确定。

四个 Agent 都放进 AgentPool(3),三路专职 Agent 用 Promise.all 同时发起,池子的并发上限正好容纳这三路;汇总 Agent 在三路返回之后才运行。每个 Agent 都是 maxTurns: 1,只做一次模型调用。

action-items 与 sentiment 配了 outputSchema:框架把 schema 说明追加进系统提示,拿到回复后抽取 JSON 按 Zod 校验;第一次校验不过,会带着错误信息让模型重答一次(src/agent/agent.ts 的 validateStructuredOutput)。情绪只能取 positive / neutral / negative / mixed 四个值之一,每条都要附一句原话或转述。

每个 Agent 的工具注册表里登记了内置工具,但配置里都没有 tools 或 toolPreset;OMA 的工具授权默认拒绝(src/tool/grants.ts:没有正向授权则不开放任何内置工具),所以这条流水线只读输入文本、不碰文件或命令行。

结果

可运行产物与验证方式:

需要 API key。脚本头部写明前置条件是 ANTHROPIC_API_KEY;运行命令 npx tsx packages/core/examples/cookbook/meeting-summarizer.ts。

能看到并行省下的时间。脚本记录每一路自己的耗时和三路一起跑的墙钟时间,打印 Parallel wall time、Serial sum 和 Speedup;墙钟时间达到三路耗时之和的 70% 及以上时打印 ASSERTION FAILED 并以退出码 1 结束。任一专职 Agent 失败、待办或情绪没通过 schema 校验、汇总 Agent 失败,同样以退出码 1 结束。

2026-09-23 在 commit 2f1d0ff 上实测:三路分别用时 13512、20437、6413 毫秒,并行墙钟时间 20437 毫秒,三路之和 40362 毫秒,打印 Speedup: 1.97x,通过断言;最终报告按 Summary / Action Items / Sentiment / Next Steps 四节输出,待办表列出 7 条,四个 Agent 合计 input 3225、output 13125 token,脚本打印 Done. 正常结束。这次实测把示例里提交的 anthropic / claude-sonnet-4-6 换成 DeepSeek 的 deepseek-flash 运行,其余逻辑照原样。

最终产物是报告文本。控制台先打印每一路的状态、耗时和输出 token 数,再打印汇总 Agent 写的 Markdown 纪要(摘要、Task / Owner / Due 待办表、每人一条情绪、3 到 5 条后续动作),最后按 Agent 汇总 token 用量。

示例用的是仓库里一份虚构的英文工程周会记录(fixtures/meeting-transcript.txt,四位参会人),产出是一段模型生成的文本,供演示与验证流程使用。

出处

来源链接核实日期
packages/core/examples/cookbook/meeting-summarizer.ts(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/cookbook/meeting-summarizer.ts
packages/core/examples/fixtures/meeting-transcript.txt(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/fixtures/meeting-transcript.txt
packages/core/examples/README.md cookbook 条目(commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/README.md
packages/core/src/agent/agent.ts(结构化输出校验与一次重答,commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/src/agent/agent.ts
packages/core/src/agent/pool.ts(AgentPool 并发上限,commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/src/agent/pool.ts
packages/core/src/tool/grants.ts(工具授权默认拒绝,commit 2f1d0ff)https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/src/tool/grants.ts
本地实测(commit 2f1d0ff,模型换用 deepseek-flash),观察三路耗时、Speedup: 1.97x、四节 Markdown 报告与正常结束https://github.com/open-multi-agent/open-multi-agent/blob/2f1d0ff/packages/core/examples/cookbook/meeting-summarizer.ts

与元定义的关系

本页素材是 open-multi-agent 官方仓库里的 cookbook 示例,由元定义维护。

如果你手上有一条真实的会议或客户沟通记录处理流程,要把摘要、待办抽取、情绪判断拆成并行的专职 Agent,按固定结构输出并接进你自己的任务系统或协作工具,元定义对应的服务是 AI Agent 定制开发

最后更新

想知道类似的流程在你这边怎么落地?