← 返回案例
发布:整理:元定义科技(YuanASI)BOM 报价审核电子元器件采购多智能体编排open-multi-agent交互 Demo

电子料 BOM 报价审核台:多格式供应商回复归一

交互 Demo · 虚构模拟数据

电子料 BOM 报价审核台是元定义自建的交互 Demo,数据为虚构模拟数据。它把一份混乱的 BOM 和四家供应商的不同格式回复,跑成可追溯、可审批、可导出的采购审核稿。

场景

典型场景:电子元器件贸易商的售前环节里,客户发来的 BOM 常常不干净:写法不一、重复行、缺品牌、疑似缺包装后缀;询价回来的格式更散,CSV、邮件正文、JSON 都有,币种和含税口径也不统一。报价员要归一料号、换算币种税费,再比对 MOQ、库存、交期和资质。难点在留痕:选了谁、为什么没选最低价、哪条还没关闭,事后很难复述。

方案

角色任务 DAG工具模型部署形态
真实 OMA + 模型 API 路径:6 个 Agent 组成一个团队——1 个 BOM 分析角色、4 个供应商读取角色(每份回复各一个)、1 个独立证据复核角色OMA runTasks() 固定 DAG:5 个前置任务并行(BOM 分析 + 4 份回复抽取),第 6 个证据复核任务显式 dependsOn 全部前置任务;团队并发上限 5,整轮设超时中止工具注册为空。模型侧用 Zod outputSchema 约束结构化输出;应用侧的原文证据校验器和确定性报价引擎承担计算与判断当前实现只允许 deepseek 这一个 provider,模型名由环境变量指定(DeepSeek 系列模型,以线上 runtime 接口返回为准);温度 0.1、关闭思考、限制轮次与 token独立 Node + React 容器,把 open-multi-agent 的 core 包作为固定版本的 npm 依赖引入;线上挂在 /demos/bom-quote-review/,接口走 /api/demos/bom-quote-review/*,由 nginx 反代;公开模式下隐藏上传入口、限制单 IP 与全站每日次数和并发
离线回放路径:零 Agent 参与跳过 runTasks();先校验回放包与内置模拟数据集的哈希一致,再载入已固化的抽取结果同一套确定性报价引擎在本次重新计算;界面与导出始终保留 OFFLINE_REPLAY 标记本次零模型调用。仓库内置的回放包由一次真实 OMA + 模型运行捕获,打开回放直接读取该包与主路径同一容器;进入回放始终由用户手动选择,实时路径失败后也是如此

页首常驻边界条:模拟数据演示、未接 ERP / 邮箱 / 报价库、不联系供应商、不自动下单,两条路径始终分开标注。

模型只做文本抽取、归类、消歧建议和证据复核;价格、汇率、税费、库存、MOQ、交期、资质和推荐排序由确定性代码控制,模型意见只作为风险提示。每条模型报价还要过原文校验:摘录须是源文件里的连续原文、含料号和报价数字、置信度达标、无未解决字段,不满足就丢弃并记一条校验问题。

结果

打开 Demo 即可直接走完四个步骤,无需注册或 API Key:

01 原始资料:看 26 行模拟 BOM 和四份虚构供应商回复的原文(CSV、邮件正文、JSON 三种格式),再选路径;公开版隐藏上传入口,只跑内置模拟测试集,实时执行有每日和并发限额,用完仍可选离线回放。

02 归一处理:分阶段显示 BOM 解析与歧义识别、四家回复并行抽取、独立证据复核、形成审核稿,并给出本次执行凭证:模式、角色、任务数、token、耗时、校验问题数。

03 采购审核:逐项展开推荐理由、「最低价为什么没被采用」和责任方;点开候选可看到原始价格、币种、含税口径、库存、MOQ、交期、资质和原文摘录所在行。可人工改选、标记补询,动作写进审计记录。

04 审批导出:负责人批准、驳回或退回并填备注,再在本地导出客户报价草稿、内部采购审核表、未解决异常清单和 JSON 审计记录。

归一化项数、匹配状态和覆盖率来自本次运行;替代料只标记为待工程确认。

模拟数据 · 非客户案例 · 不构成报价或采购建议 · 请勿上传真实资料

可核实

来源链接核实日期
仓库首页与 README(MIT 许可证)https://github.com/YuanASI/oma-bom-quote-demo/tree/7d45765
交互 Demo 页面(可自己打开运行)https://yuanasi.com/demos/bom-quote-review/
Demo 目录页与边界声明https://yuanasi.com/demos
运行时状态接口:公开只读,可看到当前 provider 与模型、公开模式是否禁上传、回放包类型https://yuanasi.com/api/demos/bom-quote-review/runtime
OMA 团队、固定 DAG 与证据校验实现:server/oma-runner.tshttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/server/oma-runner.ts
角色提示词与职责边界:server/prompts.tshttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/server/prompts.ts
确定性归一、汇率税费、风险比较与推荐规则:src/domain/quoteEngine.tshttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/src/domain/quoteEngine.ts
四个步骤与界面流程:src/App.tsxhttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/src/App.tsx
公开部署限额、禁上传与失败不降级:server/app.ts、server/public-guard.tshttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/server/app.ts
离线回放的哈希校验与标记:server/replay.tshttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/server/replay.ts
虚构模拟数据集(BOM 与四份供应商回复):fixtures/https://github.com/YuanASI/oma-bom-quote-demo/tree/7d45765/fixtures
能力边界说明:docs/capability-boundary.mdhttps://github.com/YuanASI/oma-bom-quote-demo/blob/7d45765/docs/capability-boundary.md

与元定义的关系

本页素材是元定义自建的交互 Demo,数据为虚构模拟数据,演示的是流程与交付形态。源码以 MIT 许可证开源。

有类似的高频流程——格式不统一、规则明确、结论要留痕——对应的服务是 AI Agent 定制开发

最后更新

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