一、一个真实的痛点
上个月,一个做企业法务的朋友跟我诉苦。
他们公司法务团队一共5个人,每天要审查20-30份合同。采购合同、销售合同、保密协议、NDA……每份合同都要逐条看条款、找风险点、写审阅意见。
“最烦的不是看合同,而是重复劳动。”他说,“每份合同都要看那几个常见条款——违约责任、保密义务、管辖法院,80%的审查工作是重复的。”
他问我:“有没有办法用AI做合同审查?”
我说:有,用Agent编排就能实现。
这篇文章就是那次搭建的完整实现过程,从需求分析到流程设计,再到落地执行。
二、什么是Agent编排?
在讲具体实现之前,先简单说明一下Agent编排。
Agent(智能体)是一个能够自主完成任务的AI程序。它不只是“回答问题”,而是“执行动作”——读取文档、调用工具、做出判断、输出结果。
Agent编排,就是把多个Agent串联成一个工作流,让它们协同完成一个复杂任务。
类比一下:
- 单次调用LLM ≈ 问一个人一个问题
- Agent编排 ≈ 组建一个团队,分工协作
对于合同审查这个场景,我们需要多个Agent分工配合:
- 一个Agent负责读取合同
- 一个Agent负责提取关键条款
- 一个Agent负责对照风险规则做判断
- 一个Agent负责生成审阅报告
三、整体流程设计
合同审查自动化的工作流如下:
text
合同上传 → 文档解析 → 条款提取 → 风险匹配 → 生成报告 → 人工复核
下面详细拆解每一个环节。
四、第一步:合同上传与文档解析
目标:让系统能够读取合同文件内容。
支持的格式:PDF、Word、TXT
需要处理的问题:
- PDF中的表格和排版需要正确解析
- 扫描件需要OCR识别(可选)
- 保留段落结构,便于后续提取条款
输出:合同全文的纯文本,保留原始段落结构。
五、第二步:条款提取
目标:从合同中自动提取关键条款。
一份标准合同通常包含以下核心条款:
| 条款类型 | 需要提取的内容 |
|---|---|
| 违约责任 | 违约金比例、赔偿范围、免责情形 |
| 保密义务 | 保密期限、保密范围、违约责任 |
| 管辖法院 | 仲裁还是诉讼、管辖地 |
| 付款条款 | 付款时间、付款方式、发票要求 |
| 合同期限 | 生效日期、终止条件、续约方式 |
实现思路:
这一步不需要复杂的模型训练,用提示词+规则就能完成。
提示词示例:
text
请从以下合同中提取关键条款,输出JSON格式:
-
违约责任条款
-
保密义务条款
-
管辖法院条款
-
付款条款
-
合同期限
合同内容:[合同文本]
输出示例:
json
{ "违约责任": "任何一方违约,需向对方支付合同总金额20%的违约金",
"保密义务": "保密期限为合同终止后3年",
"管辖法院": "北京市朝阳区人民法院诉讼管辖",
"付款条款": "合同签订后7个工作日内支付50%",
"合同期限": "自2026年1月1日至2026年12月31日"}
六、第三步:风险匹配
目标:将提取的条款与风险规则库进行比对,识别风险点。
首先需要建立一份风险规则库。这是法务团队的核心知识资产。
风险规则示例:
| 风险项 | 规则 | 风险等级 |
|---|---|---|
| 违约金过高 | 违约金比例 > 20% | 高风险 |
| 管辖地不利 | 管辖法院不在公司所在地 | 中风险 |
| 保密期限不足 | 保密期限 < 2年 | 低风险 |
| 付款账期过长 | 付款时间 > 30天 | 中风险 |
匹配逻辑:
- 读取上一步提取的条款
- 逐条与风险规则进行匹配
- 匹配方式:关键词匹配 + 语义判断
- 输出每条规则是否触发,以及触发原因
输出示例:
text
【风险发现】
-
违约责任:违约金比例为20%,超过公司标准的15%,建议谈判降低
-
管辖法院:约定为北京朝阳法院,公司所在地为上海,建议改为上海
-
付款条款:账期30天,在可接受范围内
七、第四步:生成审阅报告
目标:将风险匹配结果汇总成一份结构化的审阅报告。
报告应包含以下内容:
- 合同基本信息:合同名称、签约方、日期
- 条款摘要:核心条款的提取结果
- 风险清单:按风险等级排序(高→中→低)
- 修改建议:每条风险对应的具体修改方案
- 综合结论:是否建议签署、需要谈判的事项
输出示例:
Text
【合同审阅报告】
合同名称:XX采购合同
签约方:A公司(甲方) vs B公司(乙方)
【风险清单】
高风险(2项)1. 违约金比例20% - 建议谈判降至10%
- 管辖法院在北京 - 建议改为上海
中风险(1项)
- 保密期限3年 - 符合要求,无需修改
低风险(0项)
【综合结论】建议谈判后签署。重点谈判:违约金比例、管辖法院。
八、第五步:人工复核
目标:AI完成初筛后,由法务人员进行最终确认。
这一步是必须的。AI的作用是提效,不是替代。
人工复核的内容:
- 确认AI提取的条款是否准确
- 确认风险判断是否合理
- 对AI未发现的特殊风险进行补充
- 最终签字确认
人机协作的分工:
| 环节 | AI负责 | 人工负责 |
|---|---|---|
| 文档解析 | ✅ | - |
| 条款提取 | ✅ | 复核修正 |
| 风险匹配 | ✅ | 复核确认 |
| 报告生成 | ✅ | - |
| 最终审批 | - | ✅ |
九、完整工作流示意图
text
┌─────────────────────────────────────────────────────────────┐│ 合同审查Agent工作流 │├─────────────────────────────────────────────────────────────┤│ ││ 合同上传 ──→ 文档解析 ──→ 条款提取 ──→ 风险匹配 ──→ 报告生成 ││ │ │ │ │ ││ ▼ ▼ ▼ ▼ ││ PDF解析 提示词调用 规则库匹配 结构化输出 ││ │ │ │ │ ││ └───────────┴───────────┴────────────┘ ││ │ ││ ▼ ││ 人工复核确认 ││ │ ││ ▼ ││ 最终审阅意见 │└─────────────────────────────────────────────────────────────┘
十、效果与收益
用Agent编排实现合同审查自动化后,那家法务团队的效率变化:
| 指标 | 之前 | 之后 | 提升 |
|---|---|---|---|
| 单份合同审查时间 | 40-60分钟 | 10-15分钟 | 70% |
| 法务每日处理量 | 3-5份 | 8-12份 | 150% |
| 风险漏判率 | 约5% | 约1% | 80% |
| 重复劳动时间 | 60% | 20% | 67% |
核心价值不是“替代法务”,而是让法务从重复劳动中解放出来,专注于真正需要专业判断的工作。
十一、技术选型参考
如果你正在考虑实现合同审查自动化,以下几个技术方向值得关注:
- 文档解析:支持PDF/Word的文本提取
- 提示词工程:设计稳定的条款提取提示词
- 规则引擎:风险规则的配置和管理
- Agent编排:多个Agent的串联和协同
目前开源生态(LangChain、AutoGen)和部分商业产品都在这些方向上探索。
生产环境参考实现可参考ZGI的Agent编排能力。ZGI支持可视化Agent工作流设计,内置RAG和多模型接入,可以快速搭建合同审查等自动化场景。
十二、延伸阅读
本文介绍的合同审查Agent编排流程——文档解析、条款提取、风险匹配、报告生成,与 ZGI 的Agent编排能力在思路上基本一致。ZGI提供可视化Agent工作流设计、多模型接入、知识库RAG等能力,感兴趣可以去 zgi.cn 看看。
写在最后
用Agent编排实现合同审查自动化,核心流程就五步:
- 合同上传(PDF/Word格式)
- 文档解析(提取纯文本)
- 条款提取(用提示词提取关键条款)
- 风险匹配(规则库比对,识别风险)
- 报告生成(结构化输出,人工复核)
这套流程的价值不是替代法务,而是让法务从80%的重复劳动中解放出来,专注于20%的高价值判断。
希望这篇文章能帮你快速上手Agent编排的实战应用。