既然 Excel 让人想吐,我就用多模态 AI 自动核对合同

今天又核对了一百多份采购合同,眼睛都快瞎了。这活儿不是人干的,甲方发来一堆扫描件,PDF 里表格歪七扭八,我得手动把关键条款抠到 Excel 里,再跟我们的标准模板逐条比对。关键是那些扫描件,OCR 识别出来全是乱的,金额单位“万元”和“元”混在一起,付款节点描述得五花八门,光“验收合格后”就有七八种写法。以前我靠 Python 写正则,但正则对付不了这种语义模糊,写到最后规则比合同还复杂,维护成本爆炸。

上个月被 GPT-4V 的多模态能力点醒了。我干嘛非要把合同变成结构化的 Excel 呢?直接让 AI “看”合同原文不就行了。思路很简单,但坑巨多。第一步是让模型理解页面布局。我试过直接把 PDF 截图扔给 GPT-4V,让它找“合同金额”和“付款方式”,结果它经常把页眉的公司 logo 或者旁边的“注意事项”框里的数字给圈出来。后来我上了预处理,用 PyMuPDF 先把每一页转成图像,然后用 PaddleOCR 不是做全文识别,而是只检测文本框的位置和层级,画出区块。我再把关键区块(通常是页面下半部分的表格区域)裁剪出来,单独喂给 GPT-4V。这步预处理把 API 调用成本降了三分之二,而且准确率上来了。

真正的魔鬼在细节里。比如“合同总价:人民币壹佰万元(¥1,000,000)”。AI 需要同时理解大写汉字和阿拉伯数字,并且知道它们是等价的。更恶心的是分期付款表,一行可能写着“第二期:提交初步设计方案经确认后支付至合同总价的 30%”。这里面的“30%”是相对于总价的,而总价可能在上一页。我最初的 prompt 很蠢,直接问“第二期付款比例是多少?”,AI 有时会耿直地回答“30%”,但有时会自己算出来“30% 即人民币三十万元”。后者看起来更智能,但如果总价识别有细微误差(比如把“1,000,000”看成“1,000,0000”),整个金额就全错了。所以我的策略变成分两步走:先让 AI 用 JSON 格式提取原始文本,包括“条款原文”、“识别出的数字”、“数字单位”;第二步再用纯文本的逻辑模型,基于上一步的 JSON 去推理和计算。相当于让 AI 先做“视觉录入员”,再做“复核会计”。

现在我的流程基本跑通了。用 n8n 搭了个自动化:企业微信收到新合同压缩包,自动解压,调用本地脚本预处理 PDF,分区块,然后排队请求 GPT-4V 的 API(这里要加指数退避,不然分分钟 rate limit),提取出的结构化数据丢进 Airtable,不符合标准的条款会自动高亮,并生成一个差异说明。我只需要每天下午花十分钟看一眼那些高亮条目,决定是打回去还是特批。

技术上说,这不算革命性突破,就是几个现有工具的组合。但对我而言,它把我从那种机械、重复、令人作呕的核对劳动里解放出来了。我以前觉得“把时间还给生活”是句鸡汤,现在觉得,所谓效率工具,真正的价值不是帮你多赚多少钱,而是把你从那些让你生理性厌恶的、枯燥得想吐的工作中捞出来。你对抗的不是工作量,而是那种日复一日、一眼看到头的重复感。AI 干掉了这种重复感,哪怕它偶尔犯点错需要我复核,我也觉得值。因为我的角色从“人肉 OCR 校对机”变成了“流程监督员”,这有本质区别。

当然,这套东西现在还很娇贵,纸张质量差、盖章遮住关键文字、表格有合并单元格,都会导致识别率下降。但至少,方向是对的。我再也不用面对那几十个长得一模一样的 Excel 窗口,一个一个去比对了。这可能就是 2024 年,一个老产品经理对抗“工具异化”的最朴实方式了。

© 版权声明
THE END
喜欢就支持一下吧
点赞29 分享