为什么可信

靠机制,不靠承诺

「可信」不是一句形容词。它是一串可以逐条检查的机制 —— 能不能举证、副作用有没有分级、 出网有没有记账、错了能不能被纠正并记住。下面每一条都是硬约束,写进代码和 Hook,不靠自觉。

第一原则

能举证,才有结论

财务不接受黑箱。所以拾遗的每个判定都必须落到「制度第几条 + 凭证第几张」。 这个约束还有个副作用:它反过来显著抑制了幻觉 —— 编不出溯源,模型就不敢乱下结论。

而当它确实举不出证时,拾遗只会说「存疑」,绝不会说「通过」。这是它和「给财务开个 ChatGPT 账号」最根本的区别。

通过 三项校验全过 + 举证完整 + 未命中历史指纹
存疑 有疑点,或举证不完整 —— 交回给人复核,不放行也不定罪

副作用分级

动作越可能造成后果,人的确认就越前置

不是「全自动」也不是「事事都问」。而是按副作用大小分四级 —— 只读的放手跑,会改东西的先出清单, 批量的分批灰度还能随时中止。

L0 只读分析
全自主

读文件、跑聚合、找偏差。不改任何东西,放手让它跑。

L1 生成文件 / 草稿
全自主,人看结果

产出台账、报告、import-ready 文件。落在你的工作区里,你过目。

L2 写系统 / 发邮件
dry-run 出清单,人批准后执行

先出一份「将要做什么」的清单,你点头,才动手。

L3 批量副作用
dry-run + 抽检 + 分批灰度 + 可中止

批量发邮件绝不做成「点一下全发出去」—— 那是产品下线级事故的常见来源。

自主性的前提

它自己造得出测试,才敢自己干活

Codex 敢自主循环,是因为有编译器和测试当裁判。财务场景要自主,就得人为造出这个反馈信号 —— 否则「自主」就是「自主地错」。拾遗能调用的校验信号,按可靠性排:

内部一致性

明细合计 = 总计、借贷平衡、跨表勾稽。算术对不上,金额字段自动标低置信。

制度举证

每条判定指到制度第 X 条 + 凭证第 Y 张。举不出,不下结论。

影子库比对

查重、环比离群。跑得越久,信号越准。

重跑一致性

同一批数据跑两次,结论应当相同。

随机抽证

随机抽 5 条,逐条摊开它的依据。

人的反馈

无系统裁判时,人就是裁判 —— 而且每次纠正都结构化沉淀成判例。

三条红线

有些事,代码层面就不许它做

01

不按人聚合、排名、绩效关联

判例库只存「错在哪一类」,不存「谁错了」。它捡起被漏掉的问题,不做谁的监视器。

02

不能举证,只能出「存疑」

拿不出制度依据和凭证,就不许出「通过」。宁可交回给人,也不放行一个说不清的结论。

03

不碰你访问不到的数据

它绝不访问使用者本人访问不到的数据。没有「借用账号」,没有「超级账号」路径。

可观测

每次出网,都记在账上

模型写代码、代码在本地跑数据,出去的是结构不是内容。而每一次真的出网 —— 发了什么、多少字节 —— 都进出网审计日志。可观测、可审计,是产品的一等公民能力,不是事后补的。

一份靠绕过访问控制取得的证据,在被问「这数据你怎么拿到的」时无法回答。 举证能力和绕过风控互斥 —— 所以拾遗宁可慢,也不走那条路。

它不追求零人工

财务的信任是台阶式建立的:先做到「人复核 100%,但快 5 倍」,再靠积累的准确率数据, 让复核率一点点降下来。

承诺无人化,会让第一次出错变成致命事故。所以我们不承诺。