Anthropic GL Reconciler:把候选差异变成可追溯的对账结论
本页目录 · 5 个段落
对账助手最危险的错误,不一定是算错一个差额,而是把未经核实的外部表述,变成可以交付甚至执行的内部结论。Anthropic 的 GL Reconciler 参考模板为此拆出 Reader、Critic 和 Resolver:读不可信文件的角色不能连接内部系统;能核实内部事实的角色不负责写报告;写报告的角色接收核实后的结果。
这种分工有价值,但文件里写了三种角色还不是完整控制。沿固定版本的配置和脚本往下看,结果校验是否真正接进调用链、只读是否由服务端落实、输出技能有没有所需工具,都会改变这套设计能否工作。本文讨论开源模板,不将其当成已投产的金融机构系统。项目说明|GL 模板
- 01
统一范围和共同记录标识
→ - 02
保留匹配与单侧记录
→ - 03
分类差异并提出候选原因
→ - 04
回查凭证与独立复核
→ - 05
形成待专业人员签认报告
依据官方对账技能和角色指令整理;不表示已运行完整部署或自动过账。
对齐粒度,再讨论差额
总账记录会计归集,分账保存更细的业务交易;同一范围必须先对齐实体、资产类别和日期。gl-recon 技能要求选择双方共同拥有的最细键,可以是证券、账户与交易日期的组合,也可以是分录行标识。比较列包括数量、本币与基准币金额、汇率和记账日期。对账技能
预处理把日期转成 ISO 格式、金额转成两位小数、标识去空格并转大写。这样便于确定性比较,却需要确认是否符合实际账套:标识是否区分大小写,金额是否需要更高精度,不能由通用模板代替财务规则。
随后做全外连接,即保留两边所有键,而非只保留成功匹配的行。结果分成匹配、金额差、数量差、时点差、仅总账有、仅分账有六类。金额默认容差 0.01、数量默认 0,企业政策可以覆盖。容差决定是否有差异;重要性阈值决定先查哪些差异,两者不能互换。总额抵消也不能证明逐笔匹配。
技能给出时点、汇率、映射、重复或漏记、费用/计提、数据质量等候选原因,明确称它们是供后续调查的假设,不是已证实根因。若多种差异同时出现,具体分类优先级仍需实现方确定;技能文件本身不是已经运行的对账算法。
三个角色各自看到什么
Reader 面向交易对手或托管机构文件。系统指令将内容视为不可信数据,只返回候选差异;工具默认关闭,仅开放 read、grep,没有 MCP、Bash、写文件或子代理。MCP 在此是连接内部系统的工具接口,因此没有 MCP 是在切断外部文本与内部操作的直接连接。Reader 配置
Reader 的结构约束要求 asset_class、status 和 breaks;最多 500 个差异,每条包含账户、两边余额和差额,账户最长 64 字符,额外字段不允许,证据引用可选且有长度与字符限制。它能缩小传递面的自由文本,却不证明金额之间的算术关系、证据确实存在,或 clean 与非空差异集相互一致。受限字符也不是所有指令都会消失的证明。
Critic 用可信的内部总账与分账接口重新核实每个候选差异,返回 confirmed 或 rejected,不应重新打开外部文件。这种独立是资料来源与角色职责的分离,不是经过校准的统计置信度。配置为内部 MCP 默认启用工具,read、grep 也可用;Prompt 中的只读要求还需要 MCP 服务端凭据与工具权限兑现。Critic 配置
Resolver 才有 write、edit,输出目录规定为 ./out/,没有 MCP、Bash 或其他子代理。它负责编制异常报告,不应据此理解为可以直接过账。break-trace 虽提到由 Resolver 写调整,但这份配置没有账务写入接口;公开材料支持诊断、建议和签核资料,而非自动记账。Resolver 配置
结构校验怎样接进真实调用链
固定版本 35c80df:角色与工具来自配置;虚线校验节点是声明的设计要求,部署脚本未串接,不能当成已实现门禁。
Reader 注释称部署包装器会验证结构,Resolver 指令也假设接收到已经验证的结果。实际固定版本 deploy-managed-agent.sh 在创建代理时删除 output_schema,再向 API 提交配置;沿 create_agent 未看到调用 validate.py 的包装步骤。因此不能根据注释宣称任何 Reader 输出都必经校验。部署脚本
脚本确实完成了部署装配:展开系统文件与附加指令、上传技能、先创建子代理再把标识填进主代理。它处理的是部署载荷,不等于运行时业务数据验证。接入方应检查实际回包入口,而不是把 YAML 中存在 schema 当成已经执行。
既有研究调用原验证 CLI 做了局部离线探针:错误算术、clean 与非空差异并存、缺少证据等载荷可以符合这份结构;超长账户或多余字段会被拒。观察支持的是结构约束覆盖了什么,不涉及真实账务或模型实测,不能证明生产漏洞。落地时需要把结构验证接入真实回包,再增加余额减法、状态一致性、币种/日期及证据可解析性等业务验证。后者是迁移建议。
输出端另有能力接缝:Resolver 禁止 Bash,而随附 xlsx-author 技能要求通过 Bash/openpyxl 制作工作簿。安装技能不会自动补工具权限。应决定使用哪条受控生成路径,再核对产物能否打开、公式是否可查。工作簿技能
把根因从标签追到原始记录
break-trace 要求从差异行反查两侧来源。总账侧查 entry id、记账日期、来源系统、批次与制单人;分账侧查交易标识、交易/结算日期、交易对手、来源数据与汇率。把日期、汇率来源、账户映射、数量和金额符号逐项对齐,才能从可能时点差推进到有依据的解释。根因追踪技能
输出包含责任方、预计消除日期和 monitor、adjust、raise-ticket、suppress 等动作。动作名称描述建议如何处理,不是证明系统已开单、已调账或已有负责人接单。无法追回来源的差异应保留未决,不能用流畅的一句话代替审计轨迹。
从文本里捞交接请求,会遇到什么
仓库另附 orchestrate.py,明确标为参考事件循环。它从 message_delta 文本用正则提取 handoff_request,再用允许的目标代理名单和 payload schema 检查,最后将 event 文本送给目标代理。context_ref 虽在 schema 允许,却没有一并传入 steer。交接脚本
固定代码逐条处理增量,没有先组装跨增量的完整消息;正则遇到第一个右花括号就结束,含嵌套 payload 的交接可能无法解析。既有离线解析探针观察到这类请求返回空结果;这是解析器的局部条件,不代表所有部署都以此运行。源码本身警告:外部文档中的字面交接文本可能被模型转述,生产更适合使用专用工具或类型化事件,而非把引用文本当控制信号。
名单与字段校验能约束去哪里、传什么形状,不能替代持久化队列、去重、交接回执或恢复机制;此脚本未提供这些生产能力。不要在图里补画已经可靠执行的跨工作流总线。
评估时,使用机构已有、已知结论的脱敏差异集,跟踪同一条差异经过 Reader、真正执行的校验、Critic 可信来源复核和 Resolver 文件落盘。让三件事都有证据:结论追回哪条原始记录,错误回包在哪里被拦下,工作簿由什么权限和工具生成。角色分离才能从意图变成可验证的边界。
案例资料与日期
公开参考实现 · Anthropic · GL Reconciler 总账对账参考实现
- 行业
- 金融服务
- 场景
- 数据分析与核对
- 应用阶段
- 参考实现
- 上线时间
- 未披露
- 来源发布日期
- 未披露
- 站点更新
- 2026-10-29
来源发布日期与上线时间分别记录;未披露不表示尚未上线。
公开来源
封面:依据Anthropic financial-services固定版本源码整理;原创机制重构,非产品截图。;参考配置,不代表已运行或强制执行时序。
来源与使用范围
公开参考实现,用于理解任务与机制;不作为企业生产成效的证据。
一起判断下一步
带一笔任务,聊一个具体决定。
培训、方案评审或落地辅导,从你的工作材料与当前困难开始。