2026法务AI工具:值得看的条款,39%压在合同后半本

🔧 AI工具 2026-11-07 约 22 分钟阅读

法务AI的演示用的是保密协议的前三页,看着很漂亮。我把510份真实商业合同里的每一条标注条款按字符位置放回原文,看这个演示到底读到了哪里:6702条条款里有39.4%落在合同后半本,27%的合同把管辖法律条款放在最后十分之一。只读前20页的工具,整体漏14%的条款,管辖法律漏23%。

📜 目录

法务AI的演示用的是保密协议的前三页:当事人、期限、一份漂亮的摘要。决定谁掏钱的那些条款,在二十页之后。

这个距离我没有靠辩论,而是在510份真实合同上量出来的。条款落在文件的哪个位置,是买家在付钱之前就能查的一件事实,但几乎没人查。

量的是什么

语料是CUAD:510份在美国SEC备案的商业合同,41类条款,20910组问答,其中6702条带有真实标注。全文2680万字符,约670万token。按每页3000字符折算(11磅字、一英寸页边距的保守估计),把每条标注按字符位置放回它自己的合同,再除以合同长度。下面的数全部在2026年11月7日算出,文末脚本可以在任何导出文件上复现。

典型文件并不短:中位数11页(8300token),九十分位41页(30700token),最长113页。一半的语料比大多数工具的单文件上限要长。

条款都住在哪

相对位置中位数,以及落在合同后半本的占比:

6702条标注里39.4%落在后半本,中位数在全文36%的位置。四分位占比是41.9%、18.7%、20.8%、18.6%,过了第一个四分之一之后基本是平的。

有一个极端值值得单独写一行:437份带管辖法律条款的合同里,119份(27%)把这一条放在最后十分之一。这恰好是AI摘要最容易错的一条,因为从合同开头写出来的摘要,没有东西可以抄。

这个顺序是起草习惯

商业合同的装订顺序基本跟着谈判顺序走:谁是当事人、交易是什么、定义、义务、法务争得最凶的风险分配、然后是样板条款。管辖法律、通知、转让、责任上限是最后起草的,也放在最后。只读前N页的流水线,读的是点名的部分,停下的位置正好在分钱之前。

页数上限就是产品本身

只读前10页、20页、40页时,标注的覆盖率:

10页上限能留住70%的条款,丢掉的30%不是随机样本,是文件后半本,责任和转让的语言就在那里,无上限责任的覆盖率掉到三分之一。标注的位置中位数在第4.3页,九十分位在第25.7页,所以长文件在这份语料里是常态,不是例外。

一份文件比汇总数更能说明幅度。语料里有一份27.3页的战略合作协议,带其中八类条款,八条里有七条在第19页之后,被引用页数的中位数是20.8。只读前半本的工具,八条里能返回一条。

关键词搜索救不了

在信任任何厂商之前我先跑了自己的基线:十个朴素正则,跑遍510份合同,按合同判分,也就是这条模式有没有在这份确实含该条款的文件里命中。召回率与准确率:

贵的条款正好是grep挂掉的那些。责任上限通常写成「任何情况下,任一方的累计责任不超过」,句子里既没有cap,也没有按顺序出现的limitation of liability;无上限责任把自己定义成「没有上限」,所以搜「上限」会搜到它的反面。这就是「搜PDF再粘进对话框」这套流程的坑:补救措施的词库和风险的词库基本不重叠。真决定一次违约扛不扛得住的那一条,召回3%,那不叫工具,那叫错觉。

切块是较小的问题

上下文窗口背了太多锅。算术给的是另一个答案。条款长度中位数194字符,整份语料里没有一条比一页更长;跨3000字符边界的条款只占8.5%,8000字符边界3.0%,32000字符边界0.4%。带一点重叠的切块完全扛得住。覆盖率死在页数上限和「先摘要」的流程上,这两个都是产品决定,跟模型能力没关系。

另一个该记住的数:这批合同的条款类型中位数13类,九十分位22类,最多32类。固定查五项风险的工具,在中等合同上连一半都没覆盖,模型再好也一样。

我现在用的验收法

六道检查,用厂商自己的试用版,每道一下午:

脚本

Python 3.8以上,只用标准库。把合同导成文本,把工具返回的引用做成两列CSV,表头clause,quote,然后运行 python3 coverage_check.py contract.txt citations.csv。

import csv, re, sys, statistics as st

PAGE = 3000

def locate(text, quote):
    q = re.sub(r"\s+", " ", quote.strip())
    if not q:
        return -1
    rx = re.compile(r"\s+".join(re.escape(p) for p in q.split(" ")), re.I)
    m = rx.search(text)
    return m.start() if m else -1

text = open(sys.argv[1], encoding="utf-8", errors="ignore").read()
rows = list(csv.DictReader(open(sys.argv[2], encoding="utf-8-sig")))
hit, miss, pos = [], [], []
print("%-30s %5s %6s %s" % ("clause", "page", "pos", "found"))
for r in rows:
    i = locate(text, r.get("quote", ""))
    if i < 0:
        miss.append(r["clause"])
        print("%-30s %5s %6s NO - quote not in contract" % (r["clause"][:30], "-", "-"))
        continue
    pg, rel = i / PAGE + 1, i / len(text)
    hit.append(pg); pos.append(rel)
    print("%-30s %5.1f %5.0f%% yes" % (r["clause"][:30], pg, rel * 100))

n = len(rows)
print("\ncontract: %.1f pages (%d chars) | citations: %d | verified: %d (%.0f%%)"
      % (len(text) / PAGE, len(text), n, len(hit), 100 * len(hit) / n))
if hit:
    print("median cited page: %.1f | deepest: %.1f | citations past half: %.0f%%"
          % (st.median(hit), max(hit), 100 * sum(1 for p in pos if p >= .5) / len(pos)))
    print("front-half-only tool would have shown %d of %d verified clauses"
          % (sum(1 for p in pos if p < .5), len(pos)))
if miss:
    print("UNVERIFIED: %s" % ", ".join(miss))

拿语料里那份27.3页的战略合作协议,八条引用取自标注原文,输出是这样:

clause                          page    pos found
Governing Law                   27.9    98% yes
Cap On Liability                19.7    68% yes
Anti-Assignment                 26.6    94% yes
Change Of Control               21.0    73% yes
Insurance                       19.5    68% yes
Termination For Convenience     21.2    74% yes
Expiration Date                 20.6    72% yes
Parties                          1.1     1% yes

contract: 27.3 pages (81926 chars) | citations: 8 | verified: 8 (100%)
median cited page: 20.8 | deepest: 27.9 | citations past half: 88%
front-half-only tool would have shown 1 of 8 verified clauses

found 那一列和页码一样重要。原文里找不到的引用,是把改写当证据交上来,跑一遍脚本就能抓住。

这些数说明不了什么

位置不等于正确。工具可以引对页、读错条,上面六道检查都抓不住「引用正确、结论错误」这种情况。CUAD是510份英文美国商业合同,来自SEC备案:没有诉讼文书,没有大陆法辖区,没有租赁和劳动合同。每页3000字符是折算,扫描件和双栏PDF的换算不一样。语料是公开的,这里的每个数都能自己重跑,不必信我。

如果真正的问题是先试哪几家,免费选项的对比在这篇:八款免费开源的法务AI工具,研究与审查用;带页码级输出的合同审查清单在这篇:五款免费合同审查工具。

相关文章

延伸阅读 · 含推广链接

免费额度适合验证想法,不适合跑常驻任务。按量付费按实际用量结算,比包年更不容易浪费。

对比按量与包年 →

相关文章
2026-07-26
2026年6款免费AI无代码应用构建工具
2026-07-14
2026年AI编程助手工具对比:9款免费开发利器实测
2026-08-22
2026 约翰内斯堡最佳 AI 辅导应用:6 款高考与大学预科工具
2026-08-14
AI SEO 内容写作工具 2026:6 个能排名不被惩罚的工具
2026-08-07
AI品牌名生成器:能出好名字的本地提示词框架
2026-08-29
你的贾维斯,已经上线了——Hermes v0.20.0 深度体验

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论