门禁通过不代表采购获批,MiniCPM5-2B 如何守住高责任报告
本期火种计划的主角,是来自英特尔×魔搭社区联合举办的智能体技能创新大赛总决赛一等奖获奖者——刘亮,他所展示的项目叫 ClaimLedger,一个运行在英特尔 AIPC 上的高责任报告交付前证据核验 Skill。主场景很具体:央国企与大型制造企业的重大采购、供应商续签和定标呈批。
它不替人决策,只回答一个问题——AI 成稿到底能不能交付。在这套方案里,面壁智能的 MiniCPM5-2B 被放在轻量的语言理解层:理解用户用中文提出的核验任务,整理任务参数,并按授权调用 claimledger-audit Skill。公开演示采用合成案例,由公开问题原型驱动、脱敏重构并主动植入风险,不是真实客户文件,目的是让相同输入、标签和证据位置可以被重复检查。
本文含视频,请前往微信公众号原文观看。
一份「看起来很好」的采购报告,错在哪
刘亮在演示里给了一个很有分量的案例:每年采购 1,200 万个纸餐盒,预算 1,080 万元。待提交的报告写着,供应商 B 获得 70% 正式份额,每年节省 168 万元。如果只看报告,这是一份「降本增效」的漂亮结论。
但把报告带回本地证据包逐条核对,三处错误一个接一个浮现:
第一处是 授权越界。报告说委员会批准 B 占 70%,会议纪要第三段写的却是「B 只试供 30%,A 保留 70%,风险关闭后再议」。报告把「试供」写成了「批准」,越过了委员会的实际授权边界。
第二处是 金额方向读反。报告说 B 每年节省 168 万元,但 Excel 的 C3 显示,721,600 元其实是 B 相对 A 的年度成本增加额,不是节省。换句话说,报告把「每年多支出 72.16 万元」写成了「每年节省 168 万元」。
第三处是 时效错误。报告说报价都有效到 9 月底,但 OCR 定位到 B 的扫描报价单,原件写的是 8 月 31 日到期。
这三处错误分别踩在授权、金额和时效上。这些结论要是错了,关乎千万级支出和决策责任。这就是高责任报告的痛点:结论一旦写错,靠人逐条回原件去核,成本高、易遗漏。而靠通用模型「读一遍」,又可能联网补事实、甚至替人下判断。企业需要的不是另一个会写报告的模型,而是一套能在签字前把风险拦住的核验流程。
让轻量模型做它该做的事:理解任务,而不是替人判断
于是,ClaimLedger 的做法是把「理解任务」和「判断事实」拆开。
MiniCPM5-2B 负责前半段,理解用户用中文提出的核验任务,整理任务参数,并按授权去调用 claimledger-audit Skill。真正做证据定位的,是 OCR 和确定性规则;数字、日期、单位、主体、地域、统计口径,必须回到 Word 段落、Excel 单元格、PDF 页码或扫描页坐标上去对。模型不能自造文件名、页码或引文,也不能替采购委员会作决定。
这套流程里每个环节都特别清晰:
ClaimLedger 负责输入预检与哈希、报告结论拆分、本地证据召回、差异核验、人工决定记录和交付门禁;
PaddleOCR 负责识别没有文本层的扫描页,并保留页码和坐标
人工审阅者判断风险是否成立,决定替换、驳回还是豁免。
从自然语言任务到可追溯的证据链
ClaimLedger 的输入是一份待交付 DOCX 报告和用户提供的本地证据包。流程包括输入预检和 SHA-256 快照、结论拆分、多格式解析、证据召回、数字与口径核验、人工复核和交付门禁。每个发现都可以回到 Word 段落、Excel 工作表与单元格、PDF 页码或扫描页坐标。
在模型适配方案里,MiniCPM5-2B 负责理解用户的自然语言请求并组织 Skill 调用;证据文件由 ClaimLedger 的本地解析和审计模块处理。即使模型提出一个候选结论,系统也必须用实际存在的证据 ID 和原文来复核它。
发现风险之后,决定仍然在人手里
风险发现本身不等于风险处理。ClaimLedger 把发现、人工决定和最终交付分开记录:
accept 表示确认风险成立,高风险仍会阻断交付;
reject 需要审阅者说明误报理由;
replace 必须对替换后的文字重新核证;
waive 需要记录理由、责任人和适用期限。
高风险没有得到有效处理,或者证据覆盖不足、输入快照完整性检查未通过时,最终稿不会生成。新增决定会使旧产物失效,系统需要重新导出批注 Word、Excel 证据台账、审计 JSON、Manifest 和新的交付稿。原始报告不会被覆盖。
刘亮说了一句很克制的话:「门禁通过也不等于采购已经获批。」ClaimLedger 只做一件事:把「能不能交付」和「该不该批准」拆开。
在独立的运营月报任务演示数据中,同一个 Skill 又发现:运费实际上涨 5.7%,却被写成下降 8%;全国仓 74% 被写成华东仓 82%;96 票延误被写成「没有重大异常」;另外还有投诉率分母混用和保险过期。
采购和运营材料不同,但回答的是同一个问题:报告里的关键结论,能不能回到有明确出处、时间和范围的证据。这个任务没有执行人工决定,所以 11 条高风险仍在,门禁继续关闭。
两套任务都运行在搭载英特尔 Core Ultra 9 285H 的 Windows 电脑上,核验流程、证据定位和结果由这台本地电脑实际跑出。LightOCR 使用 CPU;OpenVINO 的 CPU 和 GPU 只完成了固定 embedding 微基准,不能代表完整审计加速。它验证的是一条真实的责任链:模型可以很近地参与,但永远不能替人签字。
把模型放对位置,比把它做大更难
面壁智能走端侧这条路,本身就是一个关于「位置」的选择。MiniCPM5-2B 在 ClaimLedger 里没有试图去「读完整份采购报告」,而是做最擅长的那一段:理解人说的话,把任务组织好,然后退到证据链和人工决定的后面。它面向本地部署,提供工具调用和多种本地推理后端,并以 Apache-2.0 开源,让高责任场景里的本地核验可以被复现、被审计、被社区继续打磨。
开源精神不只是「把权重放出来」,更是让一套能力被放进真实的责任流程里,接受证据、规则和人的检验。刘亮给 ClaimLedger 写了一句收束:「让结论可追溯,让交付有责任。」这句话的分量不在模型本身,而在那条设计红线——模型可以很近地参与,但永远不能替人签字。这大概也是端侧 AI 另一种被低估的火种:不是把模型做得更大去覆盖更多,而是把模型放对位置,让智能发生在该发生的地方。