上个月法务部门提了个需求:能否在 AI 平台上做一个自动审查合同的工具?
需求本身并不复杂——一份合同进来,帮我分析一下里面有哪些潜在风险点,符合公司风控要求的条款可以打钩,存在隐患的条款标红并给出修改建议。但这件事情的麻烦在于,公司的风控标准是动态的,不同业务线的合同类型也不一样,没法用一个固定的模板来应对。
我当时考虑过几条实现路径。写一个 Python 脚本调用 LLM 接口来做,每改一次逻辑就得部署一次,太折腾。用 Dify 或其他 Agent 平台配置了一套流程,但私有化部署的要求一下子让很多方案退出了候选。
后来注意到 FastGPT 社区版的模板系统中已经有了一个“智能合同审查”的模板雏形,核心设计思路是模拟专家团队审查流程,用多个并行的 AI 节点分别审查不同方面,最后汇总形成统一的报告和评分。有了这个参考,我可以直接按自己的业务需求去定制扩展。
实际搭建中的几个关键决策:
选择 Parallel 节点处理多维度审查。不同风险维度的分析是互相独立的,没必要串行等着。我建了六个串行 AI 节点,分别负责条款完整性、合规性、违约风险、付款合理性、争议解决机制、保密义务这六个维度,全部放在 Parallel 节点里并行跑。整体处理速度节省了大概三分之二。
文本内容的预处理。直接用文本加工节点清洗掉页眉页脚的流式字符和格式干扰字符,只保留合同的主体内容。清理后再利用变量提取节点,把合同编号、签署双方、合同金额等关键元数据单独存储下来,方便后续追溯。
知识库策略。因为公司的风控标准经常更新,我没有把标准写在提示词里,而是单独建了一个“风控规则库”,把禁止性条款、高风险条款模板、公司自留条款偏好全部放进去。AI 分析时每次都会从这个规则库检索相关条款做参考,哪天更新规则了,不需要改任何节点配置。
审查结果的输出。不使用原始的 AI 对话输出,而是用内容提取节点把分析结果结构化打包,输出 JSON 格式的风控报告,内嵌风险等级、关联条款位置、修改建议。
运行下来几周的时间,做了一些优化调整。最开始风险误报率比较高,稍微偏离标准表述但实际法律影响不大的条款也被高强度提示。这个问题部分通过压低 AI 输出温度(temperature 从 0.7 试到 0.3)和增加规则库中典型特例案例来缓解。Parallel 节点太多时,工作流画布变得有点乱,得把画布拉到最大才好找节点。
也遇到过一个自相矛盾的窘境:我们的审查维度和对方合作方的立场不同,同一份合同在某些条款上 AI 同时站在双方角度提示风险,看起来就像自己没有统一意见。后来加了一个“审查立场”的选择器输入节点,让使用者在调用前指定以哪一方的角度分析,问题解决了。
整体用下来,最大的体感是效率的显著提升。一份原来需要法务看一两个小时的合同,现在 AI 用几分钟给出一份带风险排序的报告,法务直接看关键节点的判断,有疑问的地方去原合同核查,整体的审阅时间差不多缩短了一小时多。更关键的是,法务这个提需求的人不再需要对着后台系统解释“我想要什么”——他们可以直接在画布上指着说“这个风险分类加上付款延迟的警示”。
当前还在跟几个技术顽疾拉扯:合同中的表格结构经常在文本提取时散架;条款位置的定位准确度还不够理想;对于跨越多页的长条款,召回率不稳定。不知道社区的朋友有没有类似的经验,欢迎分享你们在文本结构化提取方面的好点子。