返回实践
cat 01-expense-audit.md
财务报销审核智能体
规则为骨,智能为翼
上传预算审批单、报销单和发票,系统自动解析、交叉核对、给出结论
ontoctl describe expense-audit
- 涉及哪些对象
- 预算审批单、报销单、发票
- 依据在哪里
- 票据原件,以及费用制度、税务规范和公司内控要求
- 规则如何适用
- 金额、日期、票据信息逐项比对,由规则引擎精确校验
- 最终由谁确认
- 签名、签章和异常项留给财务人员复核
一笔差旅报销是怎么审的
多模态解析读懂票据,知识检索找到制度条款,规则引擎完成校验
以一笔差旅报销为例,系统把预算审批单、报销单和发票放在一起逐项核对,每一项都给出明确的结论:通过,或者留给人工
- 多模态解析
- 知识检索
- 规则校验
- 人工复核
金额和日期由规则精确比对,不交给模型估计;发票的类型、税率、销方信息按税务规范校验
[INFO]值得注意的是最后一条 SKIP:明确“不检查什么”,本身就是确定性的一部分,系统的边界清楚,人才知道哪里需要自己把关
./check.sh --demo travel-2025-02
[PASS] 发票金额 <= 预算审批金额 1,600.00 元 <= 1,800 元 [PASS] 开票日期 > 预算审批日期 2025-02-06 > 2025-02-05 [PASS] 发票基本信息合规 类型、税率、金额、销方信息 [SKIP] 手写签名、签章 不作为自动校验项,留给人工
为什么规则 + RAG 就够用
对象简单、规则明确,对象之间的关系不需要单独建模
- 对象简单
- 审批单、报销单、发票三类
- 规则明确
- 来自费用制度、税务规范和公司内控
- 覆盖面广
- 差旅、招待、办公、会议、采购等主要费用场景
- 效率提升
- 审核效率提升 60% 以上
把票据读准、把制度找对、把规则算准,就能覆盖主要的报销审核,这是四个场景里建模最浅的一个
它也说明了一个原则:按任务选择最小充分的能力组合,不为“先进”而堆叠,当业务语言开始有歧义、对象之间的关系开始影响结论时,才需要更深一层的建模