在企业法务和合规管理场景中,合同审查是最耗时也最容易遗漏疏漏的工作之一。每一份合同都涉及大量的权利与义务条款——违约金、付款条件、免责条款、违约责任、争议解决等,任何一个对己方不利或表述含糊的条款,都可能在未来引发法律纠纷或造成经济损失。传统方式依赖法务人员逐条阅读、手工标注,一份几十页的合同往往需要数小时,且不同人员的审查标准也不统一。
对比传统SDK API处理
| 传统 Spire.Office for .NET API | Spire.Agent.Office | |
|---|---|---|
| 驱动方式 | 编写代码逐条解析条款:加载文档→遍历段落→正则匹配关键词→判断风险→高亮批注,每步需代码控制 | 自然语言描述审查目标,AI 自动识别并标注风险条款 |
| 代码量 | 需大量代码维护条款风险规则库、关键词匹配和批注逻辑 | 仅需配置代码 + 1 条自然语言指令 |
| 风险规则 | 风险判断依赖硬编码关键词,新风险类型需改代码 | AI 基于语义理解条款,可识别规则未覆盖的新型风险 |
| 审查立场 | 每类合同的审查逻辑需单独开发 | 指令中一句"站在我方角度"即可切换审查立场 |
| 维护性 | 风险规则库需持续人工维护 | 审查范围和规则可用自然语言随时调整 |
本文介绍如何使用 Spire.Agent.Office Word AI 能力对合同进行条款审查与风险标注。您可以自由选择在原合同上高亮标注并添加批注,也可以批量审查后输出结构化风险审查报告,满足不同规模、不同场景的合同审查需求。
有关产品安装和 SpireToken 配置,请参考 在 .NET 项目中集成 Spire.Agent.Office。以下示例默认已安装 Spire.Agent.Office 并完成 SpireToken 配置。
风险条款高亮标注
风险条款高亮标注适合对重要合同进行深度审查。其核心思路是:让 AI 逐条审查合同条款,识别对己方不利或存在法律风险的条款,在原位置高亮标黄并添加批注,法务人员直接在合同上查看风险点即可。
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
// 待审查合同文件路径
string inputPath = "E:\\输入\\软件系统采购及技术服务合同.docx";
// 保存路径
string savePath = "E:\\输出\\审查.docx";
// 输出目录
string OutDir = "E:\\输出";
// SpireToken Key
string key = "xxxxx";
// 自然语言指令
string instruction =
"审查当前合同文档中的所有条款,识别其中对采购方不利或存在法律风险的条款,包括但不限于:" +
"违约金金额过高、付款条件严苛、免责条款范围过大、缺少违约责任约定、管辖法院约定不利、知识产权归属不清等。" +
"对每处风险条款执行以下操作:1. 将风险条款文本高亮标黄;2. 在原位置添加批注,注明风险点、风险等级(高/中/低)和修改建议。" +
"处理完成后保证同原文档布局样式,字体等,最终保存输出DOCX格式";
// 调用Word文档处理函数
AIResult result = ExecuteDemoWord(instruction, inputPath, savePath, key, OutDir, null);
// 执行Word文档AI处理
static AIResult ExecuteDemoWord(string instruction, string inputPath, string savePath, string key, string output, string[] attachmentPaths)
{
// 创建AIOptions选项配置对象
AIOptions options = new AIOptions();
// 设置工作目录为输出目录
options.WorkDir = output;
// 设置SpireToken Key
options.SpireToken = key;
// 使用Document对象处理Word文档
using (Document doc = new Document())
{
// 从文件加载合同文档
if (!string.IsNullOrEmpty(inputPath) && File.Exists(inputPath))
{
doc.LoadFromFile(inputPath);
}
// 创建AI文档处理器
AIDocumentProcessor processor = doc.AI(options);
// 执行AI指令
return processor.ExecuteInstruction(doc, instruction, savePath, attachmentPaths);
}
}
AI 高亮标注并添加批注后的合同

审查后的合同中,风险条款被高亮标黄,批注中清楚写明风险点和修改建议,法务人员无需逐条阅读原文,直接定位到高亮位置即可快速复核,并可直接基于批注内容与业务方沟通修改方案。
批量审查与审查报告
对于大批量合同的快速筛查(如合同续签、供应商资质审查),更适合批量审查并输出结构化审查报告。其核心思路是:让 AI 逐份审查多份合同,将每份合同的风险条款汇总为一张风险清单,输出为 MD 报告,便于统计、跟踪和分级处理。
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Doc;
// 多个待审查合同文件路径
string[] attachments = new string[] {
"E:\\输入\\采购合同.docx", // 采购合同
"E:\\输入\\销售合同.docx", // 销售合同
"E:\\输入\\劳动合同.docx" // 劳动合同
};
// 保存路径(此处为null,将使用下面设置的输出文件夹路径)
string savePath = "E:\\输出\\结构性审查输出.md";
// 输出目录
string OutDir = "E:\\输出";
// SpireToken Key
string key = "xxxxx";
// 自然语言指令
string instruction =
"逐份审查附件中的合同文档,提取风险条款,输出为 Markdown 审查报告:" +
"报告包含一张表,列固定为:合同名称 | 条款序号 | 条款原文 | 风险等级(高/中/低) | 风险类型 | 风险说明 | 修改建议。" +
"按风险等级从高到低排列,条款原文取合同原句,超 80 字截断加…,不得臆造。";
// 调用Word文档处理函数
AIResult result = ExecuteDemoWord(instruction, savePath, key, OutDir, attachments);
// 执行Word文档AI处理
static AIResult ExecuteDemoWord(string instruction, string savePath, string key, string output, string[] attachments)
{
// 创建AIOptions选项配置对象
AIOptions options = new AIOptions();
// 设置工作目录为输出目录
options.WorkDir = output;
// 设置SpireToken Key
options.SpireToken = key;
// 使用Document对象处理Word文档
using (Document doc = new Document())
{
// 创建AI文档处理器
AIDocumentProcessor processor = doc.AI(options);
// 执行AI指令
return processor.ExecuteInstruction(doc, instruction, savePath, attachments);
}
}
AI 输出的合同风险审查报告

审查报告中每行对应一条风险条款,包含条款原文、风险等级、风险类型和修改建议,法务人员可按风险等级排序优先处理高风险条款,也可将报告导出用于合同管理系统的风险台账跟踪。
常见问题
风险条款识别不准确
原因:AI 对"不利条款"的判断依赖审查立场,同一条款站在己方和对方角度,风险判断可能完全相反。
解决:在指令中明确审查立场,如"站在采购方角度审查",并补充关注的风险类型清单,AI 将严格按此立场和范围执行。
高亮标注后文档样式改变
原因:AI模型处理时,自动修改或添加了内容。
解决:在指令中添加"保证同原文档布局样式,字体等"的描述。
审查报告与合同条款对应不准确
原因:条款序号不统一,或同一条款内容分散在合同多处,导致报告中的条款原文与合同对不上。
解决:在指令中要求 AI 引用条款原文,并注明条款序号来源,便于人工核对定位。
获取SpireToken Key
- 联系 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。或访问 https://www.e-iceblue.com/TemLicense.html获得试用/商业 API 密钥
在代码中配置:
AIOptions options = new AIOptions();options.SpireToken = key;









