论文标题:
ContractScrub: A benchmark for final review of legal contracts
发表日期:
2026年08月
发表单位:
Thomson Reuters Foundational Research, London, UK, Imperial College London, UK
原文链接: https://arxiv.org/pdf/2608.20204v1.pdf
法律合同终审,AI大模型能否胜任?
想象一下这个场景:一笔并购交易历经数月谈判,终于在截止日前夜敲定了最终条款。此时,一位律师揉着布满血丝的眼睛,逐行核对一份几百页的合同——不是在看条款对不对,而是在找"错别字"级别的硬伤:某个大写术语在这里为什么没大写?第42条引用的"第7.3节"其实应该是"第7.2节"?定义部分明确说过"公司"仅指"母公司",后面的保密条款怎么又把它当成了全体子公司?这种工作,法律圈有个专门的黑话,叫做合同终审(Contract Scrubbing)。说人话就是:在合同签署之前做最后一遍"通读挑刺",把所有不起眼但可能引发灾难的错误和前后矛盾全部揪出来。它极其无聊、极其耗时,但极其重要——美国缅因州当年就因为法条里少了一个牛津逗号,导致劳资双方对加班费条款产生歧义,最后公司掏了上千万美元和解。这种活儿,听起来不正是大语言模型(LLM)的菜吗?长上下文理解、一致性检查、命名实体识别,全都是前沿模型的招牌能力。那么问题来了:让GPT-5.5、Claude Opus 4.7、Gemini 3.1 Pro这些顶级大模型去干合同终审,效果到底行不行?最近,汤森路透基础研究院(Thomson Reuters Foundational Research)联合帝国理工学院的团队,带来了业界首个专门评估LLM合同终审能力的基准——ContractScrub。结果多少有点打脸:表现最好的GPT-5.5,宏观平均召回率也就0.750,所有模型F1分数全部低于0.650。换句话说,哪怕是最强模型,合同终审这活儿,每四个真实错误里大概有一个发现不了。图1:合同终审流程中应当发现的错误示例
要评估模型找茬能力,先得定义"茬"长什么样。ContractScrub把合同终审中需要发现的缺陷分成九个大类,涵盖一个定义术语提取类别和八个起草错误类别。这些类别不是拍脑袋定的,而是由具备商业、公司及合同法实战经验的执业律师共同设计的,覆盖了交易实践中最高频、最有实际影响的错误。表1:合同终审检查类别。每份被测合同包含不同类型的错误。这九个类别具体包括:定义术语(Defined Terms),即合同正式定义并赋予特定含义的词语或短语;未定义的大写术语(Undefined Capitalized Terms),指被当成定义术语大写但从未定义过的词;未大写的定义术语(Uncapitalized Defined Terms),就是该大写却写成小写了;上下文中错误大写(Incorrectly Capitalized Terms in Context),指的是虽有定义但当前语境下不该当定义术语用时却大写了;未使用的定义术语(Unused Defined Terms),定义完就再也没用过;定义多次的术语(Terms Defined Multiple Times),同一个术语在合同中被定义了不止一次;错误的内部引用(Incorrect Section/Article/Paragraph References),交叉引用指向了错误的条款;错误的当事方引用(Incorrect Party References),把甲方写成了乙方或者张冠李戴;以及不一致语言(Inconsistent Language),合同不同位置的说法直接打架。可能有人觉得这都是"文字洁癖"级别的吹毛求疵。但从法律角度看,每种错误都可能带来实打实的麻烦。举个最直观的例子:合同定义"代表(Representative)"仅指公司高管和外聘律师,可后面保密条款里却写成了小写的"representative"——按照普通含义,这个词可以被理解为包括经销商、合作伙伴甚至任何接触信息的第三方。如果对方故意抓住这个不一致做文章,把敏感信息透露给合同方根本不想给的一群"代表",那保密条款就等于形同虚设。
如果说整体分数还不够刺激,那类别层面的分析才真正揭示了问题的本质。不同错误类别的难度差距之大,简直像隔了一个次元。平均召回率最高的"定义术语"类别(0.835)和最低的"未定义的大写术语"类别(0.351)之间,差距高达0.484,这已经不是一个量级的概念了。仔细看各类别,规律相当清晰。显式词法信号驱动的任务,比如"定义术语""未使用的定义术语""定义多次的术语",模型普遍表现不错,因为这些任务本质上是模式匹配:看到大写加粗的词去定义区查一遍,没有就标注。但需要语境推理的任务,比如"未定义的大写术语""上下文中错误大写""错误当事方引用",模型就集体拉胯了。哪怕是最强的GPT-5.5,在"未定义的大写术语"上召回率也只有0.514,在"错误当事方引用"上仅0.562。为什么这么难?以"未定义的大写术语"为例,模型需要在阅读全文的过程中动态维护一份"内部定义注册表",然后时刻记着哪些大写词不在表里。更要命的是,法律合同里并不是所有大写都有法律意义——一些在标题、开头或者法定名称里的大写是常规写法,不该被当成错误。判断"这个大写是否有法律意义",需要的是对合同整体结构和法律惯例的深层理解,而这恰恰是当前模型最薄弱的环节。图3a:各子任务性能的相关性分析。任务类别之间存在聚集,定义相关任务内部相关性较高,其他类别之间相关性较弱(皮尔逊相关系数R)。论文还对各类别之间的表现做了相关性分析(图3a),结果很有意思:九个类别的成绩之间相关性整体偏低,只有"未大写定义术语""未使用定义术语""上下文错误大写""错误引用"等定义相关任务聚成了一个弱集群。换句话说,这些任务测的几乎是一组互相独立的能力,而不是某个单一的"文本理解能力"。一个模型定义追踪能力强,不代表它引用检查能力也强;反过来也一样。另一个值得关注的发现是长距离引用问题。论文抽取了一半的"错误内部引用"样本,人工标注了引用点和被引用点之间的字符距离,然后按距离分组分析召回率。结果不出所料——问题出在"远"上。图3b:长距离引用问题。各模型的召回率随引用距离增加而变化。从图3b可以清楚看到,当引用点和被引用点之间的距离超过约一万个字符(差不多5到6页纸)时,几乎所有模型的召回率都显著下滑。这意味着GPT-5.5在120页的合并协议里,要发现"第18页的定义在第96页被写错",往往就心有余而力不足了。还有一个关键变量:推理模式。论文对比了GPT-5.5和Claude Opus 4.7在开启和关闭推理增强时的表现。结果发现,推理模式确实有增益:GPT-5.5的召回率从0.643涨到0.750,Claude Opus 4.7从0.526涨到0.616。但推理不是万能的——打开推理后,增益主要集中在"需要跨全文做术语一致性核验"的任务上,比如未大写定义术语、术语定义多次、错误内部引用;而在"未定义大写术语""错误当事方引用"这类需要真正法律推断的任务上,增益非常有限。也就是说,推理模式更像是帮模型多翻了几遍词典,而不是让它真正理解了合同背后的商业逻辑。图4:两个模型在开启与关闭推理模式下的类别召回率对比。实线表示各任务的分段召回率,虚线表示各条件的平均召回率。这些发现叠加起来,指向一个更根本的结论:合同终审并不是长上下文、NER(命名实体识别,Named Entity Recognition)、一致性检查这几个能力的简单加和,而是一种需要把众多子能力在同一份超长文档上同时激活的复合任务。传统基准如Stanford LegalBench、LEXam测的是"某个条款是不是在这里"的阅读理解,而ContractScrub问的是"整份合同到底哪里不对"的端到端找茬——前者模型已经玩得很溜,后者还远没到能放心交班的水平。
[1] Bang, Y., Fielding, K., Oliver, B., Birke, B., Seedat, N., Bean, A. M. ContractScrub: A benchmark for final review of legal contracts. arXiv preprint arXiv:2608.20204, 2026.[2] Hendrycks, D., Burns, C., Chen, A., Ball, S. CUAD: An expert-annotated NLP dataset for legal contract review. In NeurIPS, 2021.[3] Guha, N., et al. LegalBench: A collaboratively built benchmark for measuring legal reasoning in large language models. In NeurIPS, 2023.[4] Dataset: ContractScrub on Hugging Face. https://huggingface.co/tri-fair-lab/contract_scrub