
导言
法律是 Agent 落地对"可引用性"要求最严苛的赛道——法官不会采信"AI 大概这么认为",律师不能拿"幻觉条款"去开庭。
前 几 天我们走过了 医疗、金融,制造,媒体等行业,今天切到第五个行业——法律 (Legal)。高频考点集中在三点:长文档处理(100+ 页合同)、RAG 检索精度、可引用性(幻觉控制)。法律 Agent 的核心矛盾,是 "法律推理的不确定性"与"判决/合同条款的精确性"之间的工程张力。
一、合同审查:100+ 页并购合同如何让 Agent 既能"读得完"又能"标得准"?
题目:律所并购业务部每季度审 200+ 份 SPA(股权收购协议),平均 150 页、800+ 条款。传统人工审阅一份需 6-8 小时,且容易遗漏"对赌条款"中的隐性风险。请你设计一个 合同审查 Agent,输入是一份 PDF 合同 + 审查清单,输出是结构化风险报告(条款定位 + 风险等级 + 修改建议)。
答案要点:
整体架构(5 层流水线)
- 文档解析层(Document Parsing)
用 Unstructured / PyMuPDF + pdfplumber 处理 PDF,保留章节层级(Part → Article → Section → Clause),章节标题作为 metadata,便于后续精确引用"第 X 章第 Y 条第 Z 款"。 - 条款切分层(Clause Segmentation)
这是法律场景的"特产"——把连续正文按"句号 + 编号模式"切成独立条款,每条带 clause_id、page_num、char_range。常用规则:^\s*\d+(\.\d+)*[\.、\s]或训练 Clause-BERT 模型。 - 法律 NLP 层(Legal NLP)
用 LegalBERT / ChatLaw / 律呗等中文法律模型做条款分类(违约责任 / 争议解决 / 对赌 / 陈述保证 / 管辖法院等 20+ 类),输出结构化 JSON。 - 风险评估层(Risk Scoring)
基于审查清单(checklist)做 RAG + 规则引擎双驱动——RAG 检索"高院判例 + 同类合同范本",规则引擎匹配"必备条款缺失""数字异常""权责不对等"等硬规则。 - 报告生成层(Report Generation)
输出双栏对照报告——左栏是原文(带高亮),右栏是风险说明 + 修改建议(参考条款库),每条风险强制带 clause_id 引用,点击能跳转原文位置。 三大工程难点
- 超长文档处理
100 页 ≈ 25 万 token,超过任何 LLM 上下文窗口。解法:层级摘要 + 按需检索——先用 LLM 生成每章摘要入库(chunk_size=500,overlap=50),审查时按章节动态加载;或用 LongLoRA / Yarn 等长上下文模型(Qwen2.5-1M、GLM-Long)。 - 隐性条款识别
明面条款("违约金 30%")易识别,隐性条款("陈述保证条款中的'重大不利变化"定义过宽")难发现。解法:条款关联图谱——把"定义条款 → 陈述保证 → 违约责任 → 赔偿上限"建图,Agent 发现"赔偿上限缺失"时主动关联"陈述保证过宽"这一根因。 - 中英双语合同
涉外并购合同中英双语混排,条款编号体系不同(如中文"第十一条"vs 英文"Article 11")。解法:双语对齐模型(mBERT 法律领域微调)+ 翻译后处理(保留原文术语不译)。 面试加分项
提 "版本对比(Redline)":合同谈判需要"红头对比",Agent 要能 diff 两个版本(新增/删除/修改),并标注"删除条款的影响评估"——这是 Legal-Tech 真正的杀手锏功能。 提 "可解释性与律师问责":风险标注不能直接给客户,必须经承办律师在 Web UI 上逐条确认/修改,符合律师执业规范(《律师执业行为规范》明确"律师对法律意见负责")。
二、法律咨询:法律条文 RAG 如何避免"法条幻觉"和"过期失效"?
题目:某法律科技公司上线"AI 法律咨询"小程序,用户问"劳动仲裁时效是多久?",Agent 必须从 200+ 部劳动法律、5000+ 条法规、10 万+ 司法解释中检索并给出带法条引用的答案。但 LLM 容易"编造法条"("根据《劳动法》第 38 条…"实际并不存在),且法律会修订/废止(《民法典》2021 年生效后《合同法》等 9 部法律同时废止)。请设计 Agent 的检索架构。
答案要点:
三库分离架构(必备)
- 现行法律库
存储仍在生效的法律、行政法规、司法解释,标注 effective_date/expiry_date,检索时自动过滤失效条款。 - 历史法律库
存储已废止法律(用于"新旧对比"和"溯及力"分析,如"借款利率上限从 24% 降到 LPR 4 倍")。 - 判例库
存储最高法指导案例、公报案例、典型案例,标注"参考效力"(指导案例有"应当参照"效力,普通案例仅参考)。 三库通过 metadata 统一字段( law_id、article_num、effective_date、jurisdiction)关联,Agent 检索时强制三库交叉验证——结论必须能落到具体法条 ID。四阶段检索(防幻觉核心)
- Stage 1:Query 改写
用户口语化提问("老板拖欠工资怎么办?")→ 改写成法律术语检索式("劳动争议 / 工资支付 / 劳动仲裁时效 / 劳动合同法第 30 条 / 第 85 条")。 - Stage 2:混合检索(BM25 + 向量)
法律检索不能只用向量——"民法典第 1062 条"这种精确编号 BM25 检索准确率更高;语义相似度用 BGE / BGE-Law 做。两者结果取并集 + RRF 重排。 - Stage 3:法条级精排
检索到的 top-50 候选法条,用 Cross-Encoder(monoT5 / BCE-Reranker)精排到 top-5,重点关注"是否被修订/废止/被新法替代"。 - Stage 4:答案生成 + 强制引用
LLM 生成答案时必须输出引用列表( [1] 民法典第 1062 条;[2] 最高人民法院关于审理劳动争议案件适用法律若干问题的解释(一)第 50 条),前端 UI 上法条可点击跳转原文。 三大工程难点
- 法条幻觉(hallucination)
LLM 容易"捏造法条编号"或"张冠李戴"。解法:强制结构化输出(必须输出 law_name + article_num + effective_date三元组)+ 后置校验(三元组必须命中法律库,否则拒绝回答)。 - 法律修订/失效
法律是动态变化的,今天对的答案明天可能错。解法:法律库每日增量更新(爬取全国人大、国务院、最高法官网公告)+ 答案时间戳("本答案基于 2026-06-25 现行有效法律,最新法规请以官方公告为准")。 - 跨法域问题
用户可能问"美国劳动法",Agent 不能用中国法律答。解法:管辖权识别——从用户 IP / 提问语言 / 关键词识别管辖权,只在对应法域库检索;混合管辖权问题明确告知"建议咨询当地律师"。 面试加分项
提 "司法解释层级":中国法律体系下,法律 > 行政法规 > 司法解释 > 地方性法规,Agent 要理解"上位法优于下位法、新法优于旧法、特别法优于一般法"的适用规则。 提 "免责声明与人工兜底":法律咨询 Agent 绝对不能替代律师——按《律师法》非律师不得提供诉讼代理或辩护,所有答案必须显著标注"本回答仅供参考,不构成法律意见,复杂案件请咨询执业律师"。
三、文档审阅:尽调 Agent 如何在 1000+ 文件中精准找到"重大风险线索"?
题目:IPO 项目法律尽调,律所团队要在 2 周内审阅 1000+ 份文件(公司章程、股东会决议、关联交易合同、诉讼判决、行政处罚、知识产权证书等),输出尽调报告。请设计一个 尽调 Agent,说明它和"普通文档 RAG"的区别。
答案要点:
多模态文档统一接入
- 文档类型异构
PDF(合同/判决)、Word(决议/章程)、Excel(财务底稿)、图片(营业执照/证书)、扫描件(盖章文件)。解法:统一解析层——PDF 用 pdfplumber,Word 用 python-docx,Excel 用 openpyxl,扫描件用 PaddleOCR + 表格识别。 - 元数据标准化
每份文件入库时强制填写元数据( doc_type、company_name、doc_date、related_party、version),便于后续"按主体聚合"和"按时序回溯"。 三类 Agent 协作
- Extractor Agent(抽取)
从单份文件抽取关键事实(如"公司 X 在 2023 年有 1 起诉讼,涉案金额 500 万"),输出结构化 JSON。这是"看一份文件"的 Agent。 - Correlator Agent(关联)
跨文件做"主体-时间-事件"三维关联——把"公司 X 的股东会决议(2023-03 增资)"+"关联交易合同(2023-05 与关联方交易)"+"诉讼判决(2023-08 被起诉)"按时间线串起来,发现"关联交易披露前后存在未披露诉讼"这类隐性风险。这是"看 100 份文件"的 Agent。 - Reporter Agent(汇报)
基于 Extractor + Correlator 的输出,自动生成尽调报告草稿,按"公司沿革 / 股权结构 / 重大资产 / 关联交易 / 诉讼仲裁 / 行政处罚 / 合规建议"七章生成,每条事实带源文件 ID + 页码。 三大工程难点
- 关联发现(correlation)
1000 份文件中"同一事件散落在多份文件"是常态。解法:知识图谱——把每份文件的关键实体(公司、人、金额、日期)抽取出来,建实体-关系图,用图查询(Neo4j Cypher)发现"关联交易环""一致行动人""抽屉协议"等复杂关系。 - OCR 准确率
老旧扫描件、盖章覆盖文字、表格错位是尽调常见痛点。解法:多模型投票(PaddleOCR + Tesseract + GPT-4o 视觉,结果不一致时人工复核)+ 关键数字交叉验证(同一金额在 3 份文件中出现时自动对齐校验)。 - 数据保密与权限
尽调文件极度敏感(包含客户商业秘密、未公开财务数据)。解法:私有化部署(vLLM + Qwen2.5)+ 细粒度权限(按承办律师 IP/账号隔离,不同项目组数据物理隔离)+ 完整操作审计日志(满足律协执业规范和客户保密义务)。 面试加分项
提 "持续尽调(Continuous Diligence)":IPO 申报后还要持续披露,Agent 可以持续监控监管处罚、诉讼、舆情,发现新增风险主动 push 给项目组——这是 Legal-Tech 的高阶应用。 提 "知识沉淀":尽调 Agent 跑过 100 个项目后,会沉淀大量"行业风险模式"(如"教培行业监管风险"+"地产行业关联交易风险"),这些结构化知识库是律所的核心资产——这是 Legal Agent 区别于"一次性工具"的护城河。
🎯 今日重点总结
法律 Agent 是面试中最能体现"长文档工程能力 + 合规底线意识"的题目。三个核心考点:
| 长文档处理 | ||
| RAG 检索精度 | ||
| 可引用性 | ||
| 合规底线 |
面试时反复强调一句话:"法律 Agent 不是替代律师,而是把律师从'每天 8 小时的机械比对'中解放出来,让律师专注在'需要人类判断的诉讼策略和谈判'上——但所有 AI 输出都必须可追溯、可引用、可审计,且 AI 不能独立对外提供法律意见。" 这句话几乎适用于所有法律 AI 面试。

夜雨聆风