某公司 AI 合同审批系统复盘[成功项目]
目录
经历了大概两个月,合同审核智能体项目终于完工交付了,复盘一下。
整体按项目推进的顺序来讲吧。
商机阶段
客户对 AI 转型有兴趣,想挑个场景先试试。聊下来,选场景就定了两个简单的要求:一是不能影响业务,二是就算 AI 没起效果,问题也不大。
然后我们把人事、财务、采购、法务、IT 五个方向都讨论了一遍,最终定了法务场景,做 AI 合同审核。
选法务,是因为客户的法务是全外包团队,人的利害关系不用考虑太多,甲方要求乙方照做。而且律师也就是顺带看一眼 AI 的分析内容,客户还说,说不定现在律师就是拿 AI 先看第一遍的(笑)。
立项阶段
场景定了之后,大概判断需求就是:一台本地部署的服务器,加上 agent 开发。
服务器直接推荐了 DGX Spark:便宜,跑本地小模型够用。现在硬件市场太疯了,没必要推荐其他的,太折腾,Spark 拿来试水是很好的选择。agent 开发现在也都有 AI 帮忙。
报价上,先问了客户不走招投标的金额上限是多少,贴着这个金额往下减了减报的。最终客户内部把硬件和软件拆开分别报,成功立项。
交付阶段
这种金额小、不用招投标的企业单子,只要前期沟通得好,客户基本不会再找别人做了,所以解决方案上可以大胆投入。最终确定就做两个模块:
- 合同内容 AI 智能分析;
- 盖章前后合同文字差异对比。
问客户要了测试文件,简单做了个 demo 给客户看,没问题就继续往下研发了。
研发过程不一一赘述,挑重点记一下。客户的要求主要有三条:合同文件不出网;分析结果尽量好;把律师提的几个维度加到 AI 分析里。下面是应对。
1. 文件不出网,又要分析结果好
不出网,就是文件留在本地;分析结果好,就得用更强的模型。这里就有点矛盾:对这个客户来说,最强的模型一定是公网上的模型,用它就要把文件传到公网,违背了本地原则。
很容易想到的办法是先给文件脱敏再上传,所以本地算力服务器就要承担脱敏这一步。本地模型脱敏,完事
2. 脱敏规则
脱敏规则这边也出过问题。刚开始把金额、甲乙方名称等信息都做了脱敏,结果文件发出去,分析完的结论是”没有金额高危”——金额都抹掉了,AI 当然觉得没金额是风险。
然后和客户讨论了一下:金额其实不是敏感信息,合同上的价格被 AI 知道不是多大的事,并不需要脱敏。
3. “分析结果”问题
最后确定必须脱敏的是这些:
- 公司、机构名称:替换为
公司A、公司B、公司C - 自然人姓名:替换为
当事人A、当事人B等 - 身份证号、统一社会信用代码
- 手机号、邮箱
- 银行账号、银行卡号
- 详细地址
- 合同编号、项目编号
- 商业秘密、内部技术方案:在不影响合同审核的前提下泛化处理
脱敏之后,AI 会直接说合同没金额、公司名字不能是”公司A”、自然人信息缺失等等,其实这些都是脱敏造成的。为了解决这个问题,给 AI 的提示词加了一段:
下文是系统生成的脱敏文本。“公司A、公司B、当事人A、当事人B、[已移除]、[合同编号]、[项目编号]“均为系统脱敏代号,不代表合同原文缺失、主体不明确或信息未填写。不得仅因这些脱敏代号输出主体名称缺失、自然人信息缺失、联系方式缺失、地址缺失、账号缺失或编号缺失等风险。只有合同条款本身明确表现出主体关系冲突、权利义务无法对应时,才可以提出主体相关风险。
提示词写完,效果还是死板。出现”公司C”这种没列出来的代号时,AI 又不认识了,所以把脱敏用的提示词也一起加进去,告诉负责分析的 AI 文件是怎么脱敏的,让它自己多做一次判断:这些模糊信息要不要提出不合规和风险指控。
4. 格式问题
客户导入的合同文件可能是 .doc、.docx、.pdf、.png 等各种格式,所以还得加一道文件格式转换。文件格式转换是所有 AI 项目都要面对的问题。
文档在服务器上用开源的 LibreOffice 转格式,图片用 OCR 模型识别。最终效果是所有合同都抹去图片信息,统一变成 md 文件,这对分析来讲就够了。赞美 md(R.I.P. Aaron Swartz)。
盖章前后对比和印章情况分析,是先靠 OCR 识别印章和文字,得出印章信息和前后两版文字稿,再由本地模型进行对比。
总之,格式问题这套主要依赖 LibreOffice,图片靠 OCR。人类常用的格式,对 AI 真是不友好,格式转换真的很重要。
5. 输出长度问题
第一版做完给客户看,客户表示 AI 的审查结果太长了,希望精简到人能看下去的程度。这也是 AI 的通病:输出会很长,可读性非常差。
后来在提示词里加了约束:给人看的就是简短有力的结论,详细内容专门做成一份审查报告。
6. 产品和流程的搭配问题
产品 OK 之后,还要放进客户的业务流程里。虽然是 B/S 架构,直接上网页就能完成所有操作,但审核意见和情况是要进客户 OA 的,大家不愿意上网站干这事。以及内部部署,是 IP 地址访问,看见ip就觉得复杂了,就不上了。
客户的 OA 是某 SaaS 厂商提供的,没有源码,没法直接看代码加流程,最终选择用 RPA 模拟人的操作来实现自动化。
按说 AI 这么普及了,RPA 早该消失了。但浏览器现在还没被完全征服,定时任务也还是不够灵活、不够稳定。在 AI 发展的这段时间里,RPA 作为各种奇怪场景的胶水,还是有价值的。
7. 没人用 skill
skill 本质上就是业务逻辑,完全可以把合同扔给 AI,调用对应的 skill 完成所有工作,替代在网页上点来点去。
但是没人愿意用。大家对 skill 的看法还是不稳定、怕出事,而且对话框在内容展示上没法很好地结构化,比直接看网页差太多了。所以 skill 最后仅作为项目汇报亮点,以及 AI 时代项目记忆的一种留存。
8. 网络安全
还记得客户的本地化要求吗?文件是本地化的,脱敏后的文件出外网,但服务器本身是可以上互联网的。
这个点在初期交流的时候就提到过,但随着项目落地,最终只是做了一些白名单和简单的防火墙处理,就算过了,并没有被苛责服务器必须完全本地。
这类问题如果提前去找完美解,会发现很难;但随着项目推进,它的重要程度就降下来了。从盈利的角度看,项目销售阶段不要被这种问题劝退,要抓重点。安全重要,但和业务本体比,就是个挂件。
9. agent 的交付度
vibe coding 做出来的东西到底能不能交付?功能是不是 OK,会不会有遗漏,会不会太简陋?不知道的时候就找对标,十有八九能找到对标。
看了业界头部放在公网上的类似产品,发现格式上只支持 Word 和可编辑的 PDF,只要是图片、扫描件就都不支持。看完就放松了,业界头部产品的严谨度也就这样。分析结果上,我一个外行也看不太出和直接扔给 Kimi、DeepSeek 分析有什么差别。总之,比完放心了。
10. token 问题
最终用的 API key 是我的。本来想让客户自己搞个 API key,但客户只想当甩手掌柜,所以就用我的了。
花费上,客户表示一份合同综合下来 3 块钱可以接受。我看了下 K3 的花费,一份合同大概 1 块钱左右,也行吧。
后续这种费用要不要包装成积分卖给客户?这样开票啥的都好讲一点。不过也遇到过要求自己配 API key 的客户。靠信息差去赚这个钱,到底应不应该呢?我还得再想想。
总结
总之,各种文件格式怎么 AI 化、OCR 识别精准度、skill 到底能不能替代 B/S 架构成为服务入口、只要涉及 token 消耗就要考虑是不是包装成应用积分,这些都是值得关注的问题,也是 AI 改造中很常碰见的问题。行动中思考吧。