01 · 一句话讲清
这是一个什么产品
产品简介
懂规矩、会干活的数字稽查员
它住在系统与系统的缝隙里,持续把「应该是什么」和「实际是什么」对上。每一条结论,都指得到制度第几条、凭证第几张。
| 给谁用 | 企业里做报销审核的财务。装在自己电脑上用。 |
| 交给它 | 发票(PDF、OFD、图片)+ 报销 Excel 表 + 公司报销制度 + 一句话说明要做什么 |
| 它交回 | 整理好的发票台账;一份最多 20 张的「建议重点复核」清单;每张票的结论(违规 / 存疑 / 通过)和依据 |
| 和 ChatGPT 的区别 | 它守一条铁规矩:拿不出依据,只能说「存疑」,不能说「通过」。对财务来说,最怕的不是误报,而是把有问题的票悄悄放过去。 |
我的角色
我一个人既是产品经理也是技术负责人:做什么、不做什么、怎么才算合格,关键决定都是我定的。代码主要由两个 AI 编程助手(Claude Code 和 Codex)按我的要求写。所以这个项目同时是两件事:做一个 AI 产品,以及用 AI 来做产品。
02 · 选方向
为什么做这个方向
财务的麻烦:活多、靠人眼、只能抽查
财务每个月要处理大量报销:发票要登记,要查有没有人重复报销,要对照公司制度看这笔钱能不能报。这些细活现有的系统管不到,全靠人看。人手有限,只能抽查大约 10%;月底才对账;不同的人标准不一样;出了问题,也说不清当初为什么放过。
为什么现在用 AI 能做
这些活都卡在系统和系统之间:邮箱里的发票要手工录进报销系统,两张导出的表要人来对,制度要人拿着去比每一张发票。以前的自动化脚本处理不了五花八门的发票图片,也做不了需要判断的事;直接给财务开个 ChatGPT,它又不懂这家公司自己的规矩。现在的大模型看得懂发票、读得懂制度,正好能补上这块。
为什么一个人也做得了
不需要公司系统的接口权限。财务用自己的账号把数据导出来交给它就行,跟现在手工干活拿数据的方式一模一样。
为什么先做查重,最后做合规审查
查重(找重复报销)最容易出成果:不依赖制度写得好不好,财务也不用改变工作习惯,直接给出一个财务最认的数字——「人工原本会漏掉多少张」。对照制度审发票最难,因为制度是写给人看的,到处是「按职级」「视情况而定」,所以放在最后。
03 · 产品判断
产品价值是怎么想的
价值落在三类人身上
| 财务 | 不用再抽查,进来的每张票都被看过;自己只细看最多 20 张最值得看的;每条结论都写着依据,被问到「当初为什么放过」「为什么拦下」时答得上来 |
| 报销的同事 | 不按人排名,不和绩效挂钩;报告用「提醒 + 建议」的语气说话。它是帮手,不是监视器 |
| 公司 IT | 装在财务自己电脑上,没有超级账号;发票图片不出这台电脑;往外发的每一笔数据都有记录 |
价值从哪来:从「抽查 10%」变成「每张都看过,人只看最值得看的」
原来财务人手有限,只能抽查,月底才对账。拾遗把读票、登记、查重、对照制度这些费时间的活全包了,最后只交回一份最多 20 张的复核清单,按「证据最硬、金额最大」排好,还附上能直接粘到税局网站去查验的信息。
上限定成 20 张是刻意的:一个下午看得完。没有上限的话,「全部拿去税局查一遍」会变成默认动作,而税局会记下每张票被查过几次,财务正是靠这个数判断异常的,查多了就把这个判断依据弄乱了。
在财务这件事上,可信本身就是价值
财务 AI 只要放过一张问题票,财务就不会再信它。所以我先把「它对用户承诺什么」定下来,再谈好不好用:
- 每条结论都有依据。写清制度第几条、哪张凭证;拿不出依据,只能说「存疑」。
- 它看不到你看不到的数据。没有超级账号,数据都是你自己导出来交给它的。
- 不当监视器。记录里只记「错在哪一类」,不记「谁错了」。
- 判不了的明说。这一版判不了的票,单独列出张数和金额,不会混进「没问题」里。
这几条都写在程序里,不靠 AI 自觉:写在提示词里,AI 大多数时候会照做,但不是每次都照做,而且它没照做时你根本不知道。怎么做到的,见下一节「规矩层」。
名字也是这个意思:「拾遗」是古代的谏官,只负责把漏掉的事捡起来提醒,不负责问罪。
人和 AI 怎么分工
目标不是把人去掉,而是把不值得人做的活去掉。AI 做费时间、做错能改回来、能核对的活:读票、登记、比对、排清单、预填税局查验表。人做不能反悔、需要有人负责的事:敲验证码、决定这一批要不要提交、最终怎么处理一张票。让人来确认,不是因为 AI 不够好,而是有意留下的把关点。
越用越懂这家公司
一个财务 AI 专不专业,不取决于提示词里写一句「你是财务专家」,而取决于它在这家公司攒下的东西:制度库、被人纠正过的案例、每个数据该去哪张表取的说明。我给自己的检验标准是:换一家公司,这些东西能直接搬走吗?答案应该是不能。
04 · 架构
AI 架构是怎么做的
一句话
聪明交给模型,规矩写进程序。不给每个任务画固定流程图,而是给 AI 几个通用能力和一个准备好的工作环境,让它自己决定先做什么、怎么做;程序只管守住边界、核对结果。
核心思路:不画流程图,让 AI 自己想办法
做了什么:只给 AI 几个最基本的能力——读文件、写文件、运行程序——再把它的工作环境准备好:公司制度、历史台账、纠错记录、操作手册。
为什么:很多 AI 产品会先画一张固定流程图,每一步调一次 AI。这样好控制,但来一种新发票、一份新制度、一种新表格,就得改流程、发新版本,AI 只是流程里的一个零件。我参考的是 Claude Code(一个 AI 编程助手):它没有什么「修 bug 流程」,只有读、写、运行这几个基础动作,专业能力来自它所在的代码仓库。财务没有现成的「仓库」,我要做的就是把这个环境造出来。
带来什么:第一周就验证了这条路:合并 5 个门店共 3.6 万行 Excel,没写任何专门的工具,AI 自己写程序完成,两个系统上结果一分不差。以后加新票种、新场景,理想情况是补一本手册,不改代码。
分层看一遍
从用户看得到的界面,到最底下的数据,一共五层,外加一条 AI 碰不到的通道。
界面层 · 人怎么用它
做了什么桌面程序(双击打开,右下角有小图标,任务做完弹通知),也能在浏览器里聊天或用命令行。交付的是一个 657 MB 的压缩包,解压就能用。
为什么财务电脑归公司 IT 管,平时没有安装软件的权限;界面里不放任何业务逻辑,只负责展示。
带来什么财务不用装任何东西就能用;以后换界面、加界面,功能不用重写。
AI 内核 · 脑子
做了什么用 Claude 官方提供的 AI 助手开发框架,不自己从头写。模型用通义千问、Kimi、DeepSeek 等国产模型,换一个只改一行配置。整个产品只留一个让 AI 进出的入口,给 AI 的工具总数控制在 25 个以内。
为什么「AI 怎么一步步把活干完」,成熟框架已经做好了,没必要重造。只留一个入口,是因为多一个入口,下面那层规矩就可能被绕过去。控制工具数量,是因为国产模型每一轮都要把所有工具说明重看一遍,工具多了既费钱又容易分心。
带来什么精力都花在财务业务上;AI 的每个动作都要过同一道关,没有漏网的。
规矩层 · 7 条写死在程序里的规定
做了什么每月花钱超预算自动停;往外发的每一笔数据都留记录(只记数据长什么样,不记内容);大文件不许整个塞给 AI,只告诉它文件在哪;命令按白名单分级执行,密钥对命令不可见;写文件要先过检查;每条命令都留痕;访问税局只允许一个网址,全程留记录。
为什么这些都是「错一次就收不回来」的事,不能指望 AI 每次都记得。
带来什么不管 AI 怎么想,越界的事都做不成;这也是跟公司 IT 谈安全时最有说服力的部分。
工具层 · 手
做了什么保留读文件、写文件、运行程序这几个通用能力,另外做了 17 个只读的辅助工具(下面单独列)。
为什么没有因为「运行程序看起来危险」就把它禁掉。禁了,AI 就没法自己写小程序处理数据,而这正是它最强的地方。危险交给上面那层规矩去管。
带来什么碰到没见过的表格、没见过的任务,AI 能自己写个小程序解决,不用等我们开发新功能。
数据层 · 记忆
做了什么9 份统一的数据格式,任何数据写进去之前都先检查格式;一个本地数据库;Excel 台账(一张票一行);在本机运行的图片文字识别。
为什么格式统一,各部分之间才不会对不上;文字识别放在本机,发票图片就不用传到外面。
带来什么数据可靠、查得到来源;发票不出这台电脑,财务和 IT 都放心。
AI 碰不到的通道
做了什么结果存进台账、纠错记录入库、制度导入,这几件高风险的事不让 AI 做。AI 只交「候选结果」,程序检查无误后再写进去。
为什么这几件事不需要 AI 的聪明,只需要绝对不出错。
带来什么最关键的数据永远是程序按规矩写的,不会因为 AI 一时出错被写坏。
17 个工具分别干什么
除了通用能力,我另外做了 17 个辅助工具,全部只读,不会改动任何数据。每个工具做之前都要先回答一个问题:这件事 AI 自己写个小程序能不能做好?能做好的,一律不做成工具。
| 一组 | 干什么 | 为什么要做、带来什么 |
| 识别图片里的字(1 个) | 把图片里的文字和位置读出来。PDF、OFD 先转成图片再用它 | AI 自己看不清图片里的每个字,所以需要它。但只做「读字」,不做「识别发票」:哪个是发票号、哪个是金额,AI 自己就认得出来。这样以后加火车票、出租车票,程序一行都不用改,这一点有自动测试盯着 |
| 查历史台账(5 个) | 查本地历史记录;给每张票算一个「指纹」(用发票号码、日期、金额等算出来);拿指纹查历史上有没有同一张票;看数据多久没更新 | 这是查重的核心。指纹分三档宽严,能分出「完全一样」「内容一样但号码不同」「大致相似」。超过 90 天没更新的数据,不能拿来判「违规」,免得用过期数据冤枉人 |
| 拿出依据(4 个) | 查制度条款;引用制度原文;标出是哪张凭证;按固定语气写报告 | 引用制度必须照抄原文,不许改写,AI 就没法「编」一条制度出来。先查公司制度,查不到再查国家规定,还要记下「用什么词搜的、搜到几条」,所以「公司确实没规定」这件事也能被复查 |
| 自我检查(4 个) | 检查每条结论有没有依据;结论和依据有没有矛盾;抽一部分给人复核;同一批跑两次结果是否一致 | 写代码出错有编译器报错,财务没有。要让 AI 自己干活,就得给它能发现自己错误的「检查器」,否则它只会自信地犯错 |
| 知道自己会什么(3 个) | 列出自己能做的事;查「缺某个数据该去哪张表找」;声明「这类我判不了」 | AI 说「判不了」时,必须对得上一条登记过的原因,由程序核对。一个总说「判不了」的 AI 看起来很谨慎,其实比判错更难发现 |
4 本工作手册
工具解决「能做什么」,手册解决「该怎么做」。手册是用文字写下的业务经验,AI 用到时才翻开,平时不占它的注意力。
| 手册 | 写了什么 | 为什么要有它 |
| 费用合规审查 | 拿到发票后按什么顺序查、什么情况给什么结论、报告长什么样 | 这是审发票的业务经验本身。写成文字,财务专家看得懂,也能自己改 |
| PDF / OFD 取字 | 先用文件自带的文字;取不到才转成图片去识别;明确写着「不许另做发票专用工具」 | 自带的文字又快又准,优先用;同时守住「不为单个场景造工具」的规矩 |
| 缺数据怎么办 | 不绕过、不瞎猜:查「数据该去哪找」的说明,生成一份待办,把取数步骤交给人 | 落实「AI 看不到你看不到的数据」:缺数据时,它不会自己想办法去拿 |
| 报告怎么说话 | 给人看的报告用「提醒 + 建议」的语气,不出现「责任人」这类指向个人的词(有自动检查) | 报告怎么说话,决定了同事把它当帮手还是当监视器 |
以后要加新能力,按这个顺序考虑:
- 能用文字写清楚的 → 写进手册,不改代码
- 需要精确计算的 → 做一个通用工具
- 必须强制执行的规矩 → 写进程序里的规定
- 觉得需要画固定流程 → 停下来,说明前三步没想清楚
怎么知道它做对了:先出考卷、锁住答案,再考试
做了什么:30 张真发票,先逐张标好正确答案并锁住;答案改一个字,之前的成绩全部作废;考试时 AI 读不到答案。
为什么:AI 产品最容易自欺欺人的地方是测试。事后改答案、调标准,都能让数字变好看。这套规矩防的不是 AI 作弊,而是防我自己。
带来什么:每次改动后都重考一遍,好看不好看都如实记下来,拿去跟财务、IT 谈也站得住。
05 · 效果
效果怎么样
| 做了什么 | 结果 |
| 合并 Excel | 5 个门店共 3.6 万行、合计 ¥14,736,038.18,在两个操作系统上各跑一遍,结果一模一样;没写任何专门的 Excel 工具。3.6 万行里只有 8 KB 的摘要被 AI 看到——它是写程序去处理数据,不是把数据全读进去 |
| 读发票 | 30 张真发票:发票号码、开票日期、价税合计 30 张全对;完全读不出来的从 4 张降到 0 |
| 税局查验 | 20 张真发票全部查完并写回台账(19 张一致,1 张不一致,单独列出);按用户反馈,一批的人工时间从约 30 分钟降到 3~4 分钟 |
| 安装 | 从「装一套 Linux 系统 + 重启 + 导入 1 GB 文件」变成一个 657 MB 的压缩包,解压就能用,断网也能装 |
| 对照制度审发票 | 公司制度 81 条 + 国家规定 6 条入库;20 张考题从头到尾跑通,每条结论都带依据 |
| 选模型 | 同一套 30 张考卷:DeepSeek 对 29 张,通义千问对 28 张,但千问费用只要约 14%,选了千问 |
| 49 张发票整理成表 | 之前有 7 行填错;把工具改好用之后,第三次 49 行全对 |
06 · 落地案例
5 个落地案例
每个都按同一个顺序讲:遇到什么问题 → 我怎么做 → 效果。
案例 1 · 哪些该自动、哪些留给人
不让 AI 全自动查税局,人只敲验证码
问题
查重挑出的可疑发票,要去税局网站查一下真假。大家的第一反应都是「让 AI 全自动查」。我算了算,发现不行:
- 会弄坏财务的判断依据。税局会记下每张发票被查过几次,全国共享、清不掉。财务靠这个数判断异常(一般超过 2 次就要警惕),AI 每查一次就永久 +1。
- 验证码根本不是大头。人工查一张:抄信息约 60 秒、敲验证码约 10 秒、记结果约 20 秒。验证码只占约 11%,真正费时间的是抄信息。
- 税局的批量接口用不了。它要专门的实名账号,不是每个财务都有。
我怎么做
AI 负责抄信息、填表,人只敲验证码。AI 只能访问税局这一个网站,每一批都要人点头才提交,全程留记录。
效果
20 张真发票全部查完并写回台账:19 张一致,1 张不一致,单独列了出来。按用户自己的说法,一批的人工时间从约 30 分钟降到 3~4 分钟。
案例 2 · 规矩怎么落地
光跟 AI 说「要守规矩」没用,得写进程序
问题
- 测试全过,规矩却没人执行。「拿不出依据只能说存疑」这条规矩,我做了专门的检查模块,30 条测试全通过。但一查发现,真实运行时这个模块根本没被调用。
- 出错了也不吭声。第一次花真钱完整跑一遍,Windows 上少了一项配置,AI 写文件全被拒。它没报错,而是换着法子重试了 29 次,把当天的额度用光了。还有两处类似的:某一步跳过了不提示;公司制度一条都没导进去,却显示「导入成功」。
我怎么做
每条规矩都改成程序强制执行;存结论这类重要的写入不交给 AI,由程序来做;每个检查都配一个「故意弄坏它,看它报不报警」的测试;所有跳过和失败都必须明确提示。一句话:提示词管偏好,程序管规矩。
效果
关键规矩全部改成程序强制;三处「出错不吭声」全部修好,并新增 10 条测试专门盯着它们。
案例 3 · 先让用户装得上
4 台电脑只有 1 台装得上,我推翻了底层设计
问题
拿 4 台真实的财务电脑试装,只有 1 台装得上:一台还是 Win7,一台内存不到 4 GB,一台系统版本不够。而且这些电脑都归公司 IT 管,平时没有管理员权限。
原因是原来的设计要先在 Windows 里额外装一套 Linux 系统,用来把 AI 运行的命令关在一个隔离环境里,保证安全。这要 2,669 行安装脚本、重启电脑、导入 1 GB 文件。难点是:去掉它,就要动当初跟 IT 承诺的安全方案,而 Windows 自带的隔离功能我实测连启动都启动不了。
我怎么做
装得上比技术漂亮重要,决定去掉。动手前先留好随时能退回去的备份点,把改动计划写成文档,再让 4 个 AI 助手分别对照代码逐条核实,纠正了 4 处想当然的地方。安全上说实话:如实告诉 IT「Windows 上暂时没有系统级隔离」,其他系统上的安全措施一点不降。
效果
一个通宵加一个上午改完,删掉 3,200 行安装代码,变成一个 657 MB 的压缩包,解压就能用;发布前的 6 项检查全部通过,包括断网安装。
案例 4 · 改工具,而不是反复叮嘱
AI 总把结果格式写错,那就让它写不错
问题
AI 能看懂发票,但最后交出来的结果文件经常格式不对,系统用不了。有一次真实运行:9 轮对话、花了 ¥1.15,两次提交都因为格式错误被退回,最后一份结果都没交出来。最省事的修法是给发票写一套固定步骤,但那又回到了「画流程图」的老路。
我怎么做
不再反复叮嘱 AI「注意格式」,而是改它手里的工具:
- 做一个统一的「提交」工具:AI 只填业务内容,格式、编号、校验都由程序自动补上;
- 格式要求直接写进工具的填写说明里,填错当场就知道;
- 「到底交没交成功」以存到硬盘上的回执为准,不以 AI 嘴上说的「完成了」为准。
效果
改之前,平均每张票约 43 轮对话、¥6.1;改之后,一张票 8 轮、¥0.95,第一次提交就成功。两次条件不完全一样,只能说明方向,不算严格对比。
顺带选了模型:同一套 30 张考卷,DeepSeek 对 29 张,通义千问对 28 张,但千问的费用只有 DeepSeek 的约 14%(¥2.75 对 ¥20.18)。我在知道差 1 张的情况下选了千问,并写明「便宜但略差」,没有说成「一样好」。
案例 5 · 出了事故,不急着收紧
AI 不用我给的工具,原来是我的工具不好用
问题
安装包给出去试用,用 49 张真发票一跑,出了两次事故:
- 交白卷:27 秒就结束,界面显示「已完成」,但什么都没交出来。AI 最后一句话是「正在看三个 Excel 文件的结构,稍等片刻」。
- 错表照交:49 张票整理成表,有 7 行填错(比如买方、卖方的税号整列填反),AI 自己只发现了 3 行。
最省事的修法有好几种:禁掉 AI 的某个功能、给「处理一堆 PDF」写死一套步骤、强行拦住 AI 自己写脚本。我都没用。这些都是靠收走 AI 的自由让症状消失,下一个没拦到的地方还会出同样的事。
我怎么做
一个个查真正的原因:
- 交白卷:AI 其实派了个「帮手」在后台干活,自己在等结果。是我们的程序不会等,以为它停下来就是干完了。→ 让程序学会等:后台还有动静就一直等,4 分钟没动静才放弃;没干完,绝不显示「已完成」。
- 不用我的工具:我做的 PDF 工具一次只能处理一个文件,49 张要调 49 次,还不如 AI 自己写个脚本一次搞定——它选写脚本其实很合理。→ 把工具改成一次处理整个文件夹(49 张 1.86 秒),并把「这种活用这个工具」直接写进工具说明。
- 查出了错,却被 AI 解释掉了:AI 主动做了自查,自查工具也正确报了错,但 AI 认定「这是正常的」,还把那几行从核对清单里删了。→ 自查发现的问题,原文直接显示在界面上,和 AI 的说法并排放,由人来判断。不拦 AI,只是不让问题消失。
07 · 体会
我的体会
- 先定标准,再测。
- 重要的规矩写进程序,别指望 AI 自觉。
- 没有依据的『通过』最危险,因为它悄无声息地放过了问题。
- 自动化不是把人去掉,是把人的时间留给只有人能做的判断。
- 装不上的产品,价值等于零。
- AI 做错了,先看是不是我给它的工具和环境有问题,再考虑加限制。
- 永远不要束缚 Agent。给它自由,相信它——智能留在模型里,代码只守边界。
- 坚持使用、研究、学习『最好的 AI』。先把好的产品抄到位,再考虑超车。
- 不要吝啬 token。花出去的 token 会以另一种方式回馈。