← 返回案例
发布:整理:元定义科技(YuanASI)佣金对账证据缺口计划修复失败转人工open-multi-agent

佣金对账:修得好就修,修不好转人工

开源示例 · 官方 recipe

这是 open-multi-agent 官方 cookbook 示例,由元定义维护。三个来源隔离的调查 Agent 把证据交给仲裁者;证据不足时补查归档、替换被阻塞的分支,补完仍不足就在配置上限处停下转人工。无需 API key 即可跑通。

场景

典型场景:佣金对账的难点在证据:流水说按 5% 结的,代理协议摘要写着 7%,而摘要里既没有生效起止日期,也没有交易当天生效的费率表版本号。缺这两样,任何一个费率都是猜的。

示例的口径:证据不足是带类型的终局状态,系统在此停下并转人工——先说清缺什么,再定向补,补不到就把整包证据交给人。

方案

角色任务 DAG工具模型部署形态
transaction-analystInvestigate transaction(根任务,与另两个并行)显式 tools: []synthetic-local,绑定确定性本地适配器npx tsx 脚本;模块无副作用,同一批函数被测试直接调用
policy-analystInvestigate policy summary;修复后追加 Retrieve policy version显式 tools: []同上同上
agreement-analystInvestigate agreement summary;修复后追加 Retrieve agreement history显式 tools: []同上同上
arbiterReconcile initial evidence → Output initial reconciliation;修复后为 Reconcile recovered evidence → Output recovered reconciliation显式 tools: []同上同上

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

四个 Agent 都挂了确定性适配器:它按提示内容计算返回值,替换掉的只是模型调用——调度、依赖注入、失败判定、计划修复全部走 OMA 真实代码路径。所有任务都设 maxRetries: 0、memoryScope: 'dependencies'、dependencyPayload: 'structured',团队 sharedMemory: false:下游只拿得到直接前置任务经 Zod 校验过的结构化结果。

仲裁者挂了 afterRun 钩子:输出是合法 JSON、内容却是一份「证据不足」诊断时,把这次运行标记为失败并正常返回,诊断与用量都留给重规划器读。重规划器只对这一种带类型的失败反应,一次追加四个任务并作废尚未执行的旧输出任务;修复预算写死为 maxPlanRevisions: 1 / maxAddedTasks: 4(框架默认 3 / 20)。

结果

可运行产物与验证方式:

无需 API key 即可运行。源码头部写明「无需 API key、网络请求或 Bash」,官方 README 也把它列在「No API key needed」一节。两条命令:npx tsx packages/core/examples/cookbook/commission-reconciliation-recovery.ts --case recovered,以及把结尾换成 --case unresolved。

--case recovered 走通修复路径。本地实跑(2026-09-06):初次对账失败、旧输出任务被作废;一次计划修订新增 4 个任务,补到协议生效区间与费率表版本后重新对账,输出 status: "RECONCILED"、selectedRule: "AGENT_AGREEMENT"、disposition: "UNDERPAID" 与 5 个来源 ID,退出码 0。金额均为脚本内联的合成记录。

--case unresolved 按设计转人工。本地实跑(2026-09-06):归档查不到协议记录,替换后的对账仍缺「协议生效区间」。重规划器提出第五个任务,被框架真实的修订上限拒绝,任务图不再增长;结果在编排之外被映射成 MANUAL_REVIEW_REQUIRED,附缺失项、来源 ID 与下一步动作,退出码 1。

金额字段由 schema 守在失败态之外。证据不足的输出结构被 Zod 严格模式挡住了费率与金额字段,仓库里的测试逐条断言这一点;源码头部写明「不调整任何支付」,recovered 路径的结果 JSON 里也带一句同义的 note。

可核实

来源链接核实日期
packages/core/examples/cookbook/commission-reconciliation-recovery.ts(commit 36e99fe)https://github.com/open-multi-agent/open-multi-agent/blob/36e99fe/packages/core/examples/cookbook/commission-reconciliation-recovery.ts
packages/core/tests/commission-reconciliation-recovery.test.ts(commit 36e99fe)https://github.com/open-multi-agent/open-multi-agent/blob/36e99fe/packages/core/tests/commission-reconciliation-recovery.test.ts
packages/core/examples/README.md「No API key needed」一节(commit 36e99fe)https://github.com/open-multi-agent/open-multi-agent/blob/36e99fe/packages/core/examples/README.md
packages/core/src/orchestrator/recovery.ts(修复上限默认值,commit 36e99fe)https://github.com/open-multi-agent/open-multi-agent/blob/36e99fe/packages/core/src/orchestrator/recovery.ts
本地实跑两个场景,观察退出码 0 / 1 与输出 JSON(脚本同上,命令见「结果」)https://github.com/open-multi-agent/open-multi-agent/blob/36e99fe/packages/core/examples/cookbook/commission-reconciliation-recovery.ts

与元定义的关系

本页素材是 open-multi-agent 官方仓库里的 cookbook 示例,由元定义维护;记录、规则、金额全部为合成数据。

如果你有一条要跨多个系统取证的对账或核赔流程,需要「证据不足就明说、能补则补、补不到带着证据包转人工」这套口径,且每一次修复动作都要可审计,元定义对应的服务是 多智能体系统集成

最后更新

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