从 0 到 1 搭一个合同审查 Agent:流程、Prompt、规则库全拆解
一个做法务的朋友跟我诉苦。
他们公司法务团队一共5个人,每天要审查50-80份合同。下半年更多,采购合同、销售合同、保密协议、NDA……每份合同都要逐条看条款、找风险点、写审阅意见。
最关键,现在外面“企业Agent合同审查化智能系统”报价7W~10W,
我觉得AI时代,企业有场景,只要是重复性,固定场景都可以自己搭建,不是省钱,关键自己了解自己需求才是真的。
合同审查,是一个非常适合做 AI Agent 工作流的场景。
原因很简单:它不是一个“自由聊天”任务,而是一个高度流程化的任务。
一份合同拿过来,法务通常要做这些事:
1、看合同类型;
2、读合同正文;
3、提取关键条款;
4、判断有没有风险;
5、给出修改建议;
6、整理审阅报告;
7、最后人工确认。
这些步骤里,很多工作是重复的。
比如:采购合同、销售合同、NDA、劳动合同、服务合同、租赁合同,虽然合同类型不同,但审查动作大体类似:都要看付款、违约、保密、期限、解除、管辖、责任边界这些内容。
所以,合同审查智能化的重点,不是让 AI 直接替代法务,而是用 Agent 工作流,把重复、固定、规则明确的部分自动化。
这篇文章直接讲实操:如何搭一个合同审查 Agent 工作流。
一、合同审查为什么适合 Agent 工作流?
合同审查有几个特点:
1、流程固定
大部分合同审查都绕不开这些步骤:
1、文档解析;
2、条款提取;
3、风险识别;
4、修改建议;
5、报告生成;
6、人工复核。
这天然适合拆成多个 Agent。
01
2、重复劳动多
法务每次都要看类似条款:
1、违约责任;
2、付款条款;
3、保密义务;
4、争议解决;
5、合同期限;
6、解除条件;
7、知识产权;
8、验收标准。
这些内容不一定难,但很耗时间。
AI 最适合先处理这种重复审查。
02
3、风险规则相对明确
比如:
1、违约金比例过高;
2、付款账期过长;
3、管辖法院对我方不利;
4、保密期限太短;
5、验收标准不清;
6、解除条件缺失。
这些都可以沉淀成规则库。
03
4、结果需要结构化输出
合同审查不是让 AI 写一段感想,而是要输出:
1、合同基本信息;
2、核心条款摘要;
3、风险清单;
4、风险等级;
5、修改建议;
6、人工复核重点;
7、综合初审意见。
这种结构化任务,也非常适合 Agent 编排。
04
5、必须保留人工复核
合同涉及法律责任,不能让 AI 直接拍板。
正确的定位是:
AI 做初审,人工做终审。
AI 负责提效,法务负责判断。
二、整体工作流怎么设计?
合同审查 Agent 工作流可以拆成 7 步:
1、合同上传;
2、文档解析;
3、合同分类;
4、条款提取;
5、风险匹配;
6、报告生成;
7、人工复核。
标准流程如下:
【流程图位置:合同审查 Agent 工作流】
图片说明:展示“合同上传 → 文档解析 → 条款提取 → 风险匹配 → 生成审阅报告 → 人工复核 → 最终审阅意见”的完整流程。
这里的关键不是让一个大模型从头到尾自由发挥。
而是把任务拆开,每个 Agent 只负责一个明确动作。
三、Agent 怎么分工?
一个基础版合同审查系统,可以拆成 6 个 Agent 或节点。
Agent 名称
负责内容
输入
输出
文档解析 Agent读取 PDF、Word、TXT 合同内容 合同文件 合同纯文本
合同分类 Agent判断合同属于哪一类 合同文本 合同类型
条款提取 Agent提取关键条款 合同文本 + 合同类型 条款 JSON
风险匹配 Agent对照规则库识别风险 条款 JSON + 风险规则库 风险清单
报告生成 Agent生成合同审阅报告 条款摘要 + 风险清单 审阅报告
人工复核节点提醒法务确认关键风险 审阅报告 最终审阅意见
这里有一个经验:
Agent 分工越清楚,系统越稳定。
不要指望一个 Prompt 同时完成“读合同、提条款、判风险、写报告、给结论”。
更好的方式是:每一步都结构化输出,下一步只处理上一步的结果。
四、第一步:合同上传
合同上传节点要解决的是输入问题。
支持格式建议包括:
1、PDF;
2、Word;
3、TXT;
4、扫描 PDF;
5、合同附件;
6、补充协议。
上传时最好保留这些信息:
{
“file_name”: “XX采购合同.pdf”,
“file_type”: “pdf”,
“upload_time”: “2026-05-28”,
“business_owner”: “采购部”,
“review_purpose”: “签署前审查”
}
五、第二步:文档解析
文档解析的目标是:
把合同文件变成结构清楚的纯文本。
这一步很关键。
很多合同审查系统效果不好,不是因为大模型不行,而是一开始文档解析就乱了。
常见问题包括:
1、PDF 换行混乱;
2、表格内容丢失;
3、页眉页脚干扰正文;
4、扫描件无法识别;
5、条款编号丢失;
6、附件没有合并进正文。
文档解析节点的输出建议是:
{
“contract_name”: “XX采购合同”,
“raw_text”: “合同全文文本”,
“paragraphs”: [
{
“index”: “1”,
“title”: “合同主体”,
“content”: “甲方:……乙方:……”
},
{
“index”: “2”,
“title”: “付款方式”,
“content”: “合同签订后7个工作日内支付50%……”
}
],
“tables”: [
{
“table_name”: “付款计划”,
“content”: “第一期:50%;第二期:50%”
}
]
}
文档解析要尽量做到三点:
1、保留段落编号;
2、保留表格内容;
3、保留原文位置。
因为后面生成审阅报告时,最好能引用原合同表述,方便人工复核。
六、第三步:合同分类
合同类型不同,审查重点不同。
至少可以先覆盖这 6 类:
1、采购合同;
2、销售合同;
3、NDA / 保密协议;
4、劳动合同;
5、服务合同;
6、租赁合同。
合同分类 Agent 的作用是:先判断合同属于哪一类,再加载对应的提取字段和风险规则。
合同分类 Prompt 可以这样写:
你是一个合同分类助手。
请根据合同文本判断该合同属于以下哪一类:
1、采购合同
2、销售合同
3、NDA / 保密协议
4、劳动合同
5、服务合同
6、租赁合同
7、其他
请严格输出 JSON:
{
“合同类型”: “”,
“判断依据”: “”,
“置信度”: “高/中/低”
}
要求:
1、不要编造合同内容;
2、如果合同类型不明确,输出“其他”;
3、如果置信度为低,需要提示人工确认。
合同文本:
{{合同文本}}
输出示例:
{
“合同类型”: “采购合同”,
“判断依据”: “合同中多次出现采购货物、交付、验收、付款等内容”,
“置信度”: “高”
}
如果置信度低,最好不要继续自动审查,而是进入人工确认。
七、第四步:条款提取
条款提取是合同审查 Agent 的核心步骤之一。
这一步要把合同里的关键信息提取成结构化 JSON。
通用字段可以包括:
1、合同名称;
2、签约主体;
3、合同类型;
4、合同金额;
5、付款条款;
6、交付条款;
7、验收条款;
8、违约责任;
9、保密义务;
10、知识产权;
11、合同期限;
12、解除条件;
13、争议解决方式;
14、管辖法院或仲裁机构;
15、其他特殊条款。
条款提取 Prompt 可以这样写:
你是一个合同条款提取助手。
请从以下合同文本中提取关键条款,并严格输出 JSON。
需要提取的字段包括:
1、合同名称
2、签约主体
3、合同类型
4、合同金额
5、付款条款
6、交付条款
7、验收条款
8、违约责任
9、保密义务
10、知识产权
11、合同期限
12、解除条件
13、争议解决方式
14、管辖法院或仲裁机构
15、其他特殊条款
要求:
1、不要编造合同中没有的信息;
2、如果合同中没有对应内容,填写“未约定”;
3、尽量保留原文关键表述;
4、每个字段给出对应原文依据;
5、如果某个字段存在多处约定,需要合并说明。
输出 JSON 格式:
{
“合同名称”: “”,
“签约主体”: “”,
“合同类型”: “”,
“合同金额”: “”,
“付款条款”: “”,
“交付条款”: “”,
“验收条款”: “”,
“违约责任”: “”,
“保密义务”: “”,
“知识产权”: “”,
“合同期限”: “”,
“解除条件”: “”,
“争议解决方式”: “”,
“管辖法院或仲裁机构”: “”,
“其他特殊条款”: [],
“缺失信息”: [],
“原文依据”: {
“付款条款”: “”,
“违约责任”: “”,
“管辖法院或仲裁机构”: “”
}
}
合同文本:
{{合同文本}}
这里最重要的是两点:
1、没有的信息必须写“未约定”;
2、重要结论必须带原文依据。
否则后面风险识别会变成模型猜测。
八、第五步:建立风险规则库
风险规则库,是合同审查 Agent 的核心资产。
模型负责判断,规则库负责告诉模型什么叫风险。
一个基础版规则库可以这样设计:
风险规则库可以从简单开始。
第一版不用追求覆盖所有法律问题,可以先覆盖高频风险:
1、付款;
2、违约;
3、保密;
4、管辖;
5、验收;
6、解除;
7、知识产权;
8、责任限制。
后续再根据法务复核结果不断补充规则。
九、第六步:风险匹配
风险匹配 Agent 的任务是:
把条款提取结果和风险规则库逐条比对,输出风险清单。
这里可以用两种方式结合:
1、规则判断;
2、语义判断。
比如:
1、违约金比例 > 20%,这是规则判断;
2、验收标准是否模糊,这是语义判断;
3、管辖地是否对我方不利,需要结合公司所在地判断;
4、保密范围是否过宽或过窄,需要语义判断。
风险识别 Prompt 可以这样写:
textCopy
你是一个合同风险审查助手。 请根据“合同条款提取结果”和“风险规则库”,识别合同中的风险点。
要求:
1、逐条对照风险规则;
2、说明是否触发风险;
3、给出风险等级;
4、说明触发原因;
5、引用原合同表述;
6、给出修改建议;
7、不要做最终法律结论,只输出供人工复核的初审意 见;
8、如果信息不足,请标记为“需人工确认”。
输出 JSON 格式:
{
“风险清单”: [
{ "风险项": "", "风险等级": "高/中/低", "是否触发": "是/否/需人工确认", "触发原因": "", "原合同表述": "", "修改建议": "", "是否需要人工重点复核": "是/否" } ], "综合判断": "", "人工复核重点": [] }合同条款提取结果:
{{条款JSON}} 风险规则库: {{风险规则库}}补充信息:
我方所在地:{{我方所在地}}
我方角色:{{甲方/乙方/采购方/销售方/出租方/承租方}}
这里建议增加两个变量:
1、我方所在地;
2、我方角色。
因为很多风险判断都和立场有关。
比如同样是付款账期,销售方和采购方的风险感受不一样。
十、第七步:生成审阅报告
报告生成 Agent 不负责重新判断风险。
它只负责把前面提取和识别的结果整理成报告。
审阅报告模板可以这样写:
textCopy
【合同审阅报告】
一、合同基本信息
1、合同名称:
2、合同类型:
3、签约主体:
4、合同金额:
5、合同期限:
6、我方角色:
二、核心条款摘要
1、付款条款:
2、交付 / 服务内容:
3、验收条款:
4、违约责任:
5、保密义务:
6、知识产权:
7、解除条件:
8、争议解决方式:
三、风险清单
高风险:1、风险项:
原文表述: 触发原因: 修改建议: 是否需要人工重点复核: 中风险:1、风险项:
原文表述: 触发原因: 修改建议: 是否需要人工重点复核: 低风险:1、风险项:
原文表述: 触发原因: 修改建议: 是否需要人工重点复核:四、人工复核重点
1、 2、 3、五、综合初审意见
本报告为 AI 初审结果,仅供法务人员复核参考。
建议结论: □ 可以签署 □ 修改后签署 □ 不建议签署 □ 需进一步人工判断
报告生成 Prompt 可以这样写:
textCopy
你是一个合同审阅报告生成助手。 请根据“条款提取结果”和“风险识别结果”,生成一份结构化合同审阅报告。
要求:
1、语言简洁;
2、按高风险、中风险、低风险排序;
3、每个风险都要包含原文表述、触发原因和修改建 议;
4 、不要新增前面结果中没有的风险;
5、结论必须标注为“AI 初审意见,仅供人工复核”。
条款提取结果: {{条款JSON}} 风险识别结果: {{风险JSON}}十一、不同合同类型怎么体现 AI 提效?
要体现合同审查智能化的价值,不能只讲一种合同。
可以把不同合同类型的高频痛点放出来。
这些合同虽然类型不同,但底层流程是一样的。
区别只在于:
1、条款提取字段不同;
2、风险规则库不同;
3、审查重点不同;
4、人工复核重点不同。
也就是说,搭好一个基础工作流之后,可以通过更换规则库,扩展到不同合同类型。
提示词是json结构,需要提示词评论区“提示词”
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
