← 返回 2026-02-13

LawThinker:动态司法环境下的深度研究法律智能体 LawThinker: A Deep Research Legal Agent in Dynamic Environments

Xinyu Yang, Chenlong Deng, Tongyu Wen, Binyu Xie, Zhicheng Dou 📅 2026-02-12 👍 35 2026-07-13 08:35
推理验证 智能体 检索增强推理 法律AI 法律推理

通过探索-验证-记忆策略实现法律推理过程合规性的自主法律研究智能体

前置知识

大推理模型(Large Reasoning Models, LRMs)

大推理模型是具备多步推理能力的大语言模型,能够在数学、代码生成、科学推理等复杂任务中进行长链推理。与标准LLM相比,LRM通过链式思维(Chain-of-Thought)等机制显式地展开中间推理步骤,从而提升复杂问题的求解能力。代表模型包括OpenAI o1、DeepSeek-R1等。

LawThinker的核心动机是将LRM的推理能力引入法律领域,但法律推理对过程合规性的严格要求使得直接应用LRM面临独特挑战,这是理解本文研究动机的关键背景。

检索增强生成(Retrieval-Augmented Generation, RAG)

RAG通过在模型生成过程中引入外部知识检索来弥补模型参数知识的不足。当模型遇到知识缺口时,系统从外部知识库(如法律法规数据库、案例库)中检索相关信息,注入到推理上下文中。典型的RAG系统包括检索器和生成器两个组件,通过将检索结果与查询拼接作为模型输入来增强生成质量。

LawThinker的探索阶段本质上是一种面向法律领域的增强RAG机制,但传统RAG缺乏对检索结果的验证,本文正是针对这一缺陷提出改进。理解RAG的基本范式有助于把握本文的创新点。

自我反思(Self-Reflection)

自我反思是让LLM检查自身推理过程的一种技术。典型方法如Self-Refine,模型在生成初始回答后,以自己的输出作为输入进行批评和修改。这种方法无需外部信号,完全依赖模型的内在判断能力。然而,自我反思存在根本局限:当模型生成了错误信息(如伪造法条),它通常无法自行识别错误,因为错误源于其自身生成过程。

LawThinker的关键创新之一就是克服自我反思的局限——通过独立的DeepVerifier模块在隔离的上下文中进行验证,而不是让生成模型自我审查。理解自我反思的缺陷直接关系到对本文方法设计必要性的认知。

法律四要件分析(Four Constitutive Elements of a Crime)

在大陆法系刑法理论中,犯罪构成要件包括四个维度:犯罪主体(犯罪人身份和刑事责任能力)、犯罪客体(被侵害的法律保护对象)、主观方面(故意或过失等心理状态)、客观方面(犯罪行为及其造成的后果)。法律推理需要将具体案件事实与这四个要件逐一对照,判断法律适用是否正确。

LawThinker的DeepVerifier在验证事实-法律相关性(Fact-Law Relevance Check)时,正是通过四要件分析来判断检索到的法条是否真正适用于当前案件,这是验证模块的核心技术逻辑之一。

多轮交互式法律任务(Multi-turn Interactive Legal Tasks)

真实司法场景通常不是单轮问答,而是涉及多轮对话交互的动态过程。例如法律咨询需要逐步解答当事人疑问、文书起草需要多轮信息收集后整合、法庭模拟需要按程序阶段逐步推进。每一轮交互都依赖前面轮次积累的信息,早期推理错误会在后续轮次中放大,对信息保持和过程控制提出更高要求。

LawThinker专为这类动态场景设计,其记忆模块(Memory Module)就是为了支撑跨轮次的知识复用。理解多轮交互任务的特点是把握本文方法设计(特别是记忆机制)的前提。

研究动机

在法律推理领域,现有方法面临一个被长期忽视的核心缺陷:缺乏对中间推理步骤的显式验证机制。以论文中给出的具体案例为例,当用户询问'发现非亲生关系后已支付的抚养费能否追回'时,直接推理方法会基于表面关键词匹配错误地引用《民法典》第985条(不当得利),然后在错误的法律基础上构建出看似连贯的解释。虽然最终答案恰好是肯定的,但正确的法律依据应该是第122条。更严重的是,这种在法条选择阶段引入的错误不会被当前法律推理系统纠正,而是被后续推理步骤吸收,导致最终结论可能看起来推理严密却缺乏有效的法律基础。现有方法存在三个层面的不足:(1)纯参数知识推理频繁产生幻觉,包括伪造法条内容或将条文号与实际内容错误匹配;(2)引入外部检索的方法(如传统RAG)不验证检索信息的准确性和相关性,可能引入噪声;(3)现有的步级验证方法(如LegalReasoner)关注的是中间步骤是否导向正确结果,而非推理过程是否符合法定程序。此外,工作流方法(如ReAct、Plan-and-Solve)在文书起草场景中的过程导向指标甚至可能低于直接推理,说明未经验证的外部信息获取反而可能损害程序正确性。

本文的目标是本文的具体目标是设计一个面向动态司法环境的自主法律研究智能体,使其在完成法律推理任务时不仅能产出正确的最终结论,还能确保整个推理过程满足三个核心要求:知识准确性(引用的法条真实完整)、事实-法律相关性(法条适用于当前案件事实)、程序合规性(推理过程遵循法定程序)。论文追求的不仅是结果指标的提升,更是过程导向指标(如格式遵循分数FOR、程序遵循分数PFS)的显著改善,因为在司法实践中,一个基于不适用法条的判决可能在上诉中被推翻,无论其结果是否正确。在J1-EVAL动态基准上的具体目标是超越直接推理和工作流方法,并在三个静态法律基准上验证泛化能力。

与已有工作不同的是,本文的独特切入点在于提出了一个关键洞察:法律推理与数学、代码推理的根本区别不在于推理复杂度,而在于推理过程必须满足程序合法性。数学题只要答案正确即可,但法律推理中引用一条不适用的法条就足以使整个分析在法律上无效。基于这一洞察,本文抓住了三个被已有工作忽视的关键点:(1)验证应该是系统级强制的原子操作,而非依赖模型自主决定是否反思——这克服了自我反思无法访问外部真值和在相同推理上下文中容易固化错误假设的两个根本局限;(2)验证应该在独立的、隔离的提示上下文中进行——DeepVerifier使用与主推理代理不同的角色定义,避免继承推理假设;(3)已验证的知识应该被持久化存储并在后续推理轮次中复用——通过记忆模块避免在多轮交互中重复引入未验证的信息。这三个设计决策共同构成了Explore-Verify-Memorize策略的核心。

核心方法

LawThinker的核心设计思想可以用一个类比来理解:想象一个实习生在律师事务所工作。当他遇到不确定的法律问题时,他不是凭记忆猜测(直接推理),也不是随便在网上搜一个结果就直接用(传统RAG),而是会先查阅权威法规,然后让高级律师独立审查他找到的信息是否准确、是否适用于当前案件、是否符合程序要求,最后把经过验证的知识存入笔记以便后续复用。LawThinker正是按照这个'探索-验证-记忆'(Explore-Verify-Memorize)策略设计的。技术路线分为四个核心组件:(1)法律知识探索层——设计7类探索工具覆盖法规检索、案例检索、罪名扩展、模板检索、程序检索等,构建包含55,347条法条、346个标准化罪名、大量裁判文书的知识库;(2)DeepVerifier验证模块——在每次探索后强制激活,沿知识准确性、事实-法律相关性、程序合规性三个维度进行结构化验证;(3)记忆模块——维护法律知识记忆和案件上下文记忆两个子模块,支持跨轮次的已验证知识复用;(4)场景适配层——根据不同司法场景(法律咨询、文书起草、法庭模拟)调整工具组合和验证优先级。

LawThinker最本质的创新是将验证从模型的可选行为升级为系统级强制的原子操作。已有方法中,验证通常是模型的自发反思(如Self-Refine),但自我反思存在两个根本缺陷:第一,它无法访问外部真值——当模型伪造了一条法条,它没有办法从权威数据库中确认这个伪造;第二,自我反思在产生错误的同一推理上下文中运行,模型倾向于将自己的先前输出视为既定前提,不太可能质疑已被推理链吸收的假设。LawThinker通过两个具体机制解决这些问题:(1)基于外部知识库的事实锚定验证——Law Article Content Check直接查询权威法律数据库获取引用法条的完整文本,提供独立于模型参数知识的硬性事实约束;(2)独立上下文的分析验证——DeepVerifier虽然共享相同的基础模型,但使用独立的验证提示和不同的角色定义,从批判性视角评估每个探索结果,而不是延续主推理链的生成流。这种混合验证设计(部分工具做基于外部数据库的硬约束检查,部分工具做基于LLM推理的分析性验证)使得系统既能通过硬约束消除事实错误,又能处理需要深层推理的复杂法律判断。

方法步骤详情

LawThinker的完整工作流程如下:(1)任务接收与推理初始化——给定一个法律任务(如法律咨询、文书起草或法庭模拟),智能体开始推理链 R_t,在每一步 s_i 中可能调用探索工具获取结果 e_i。(2)知识探索——智能体根据推理过程中感知的知识缺口自主决定调用哪些工具和构建什么查询,无需预定义的触发规则或固定工具序列。探索工具分为三类:法规与罪名探索(如law_retrieval通过BGE密集检索器检索相关法条、law_recommendation通过语义和结构相似性发现相关条款、charge_expansion扩展候选罪名)、先例探索(case_retrieval通过SAILER检索器检索相似案例)、任务引导支持(template_retrieval检索文书模板、writing_plan_generation生成写作计划、procedure_retrieval检索法庭程序)。(3)系统拦截与强制验证——系统控制器在每次探索后拦截结果并激活DeepVerifier。DeepVerifier接收当前推理步骤 s_i、探索结果 e_i 和对话历史 H_t,沿三个维度进行验证:知识准确性(通过law_check查询权威数据库确认法条真实性、通过law_query_rewrite优化检索查询)、事实-法律相关性(通过fact_law_relevance_check检查法条四要件适用性、通过crime_law_consistency_check验证罪名-法条一致性)、程序合规性(通过procedure_check检查法庭程序阶段完成度、通过document_format_check检查文书格式完整性)。(4)反馈决策——验证结果 v_i = (a_i, rel_i, p_i) 反馈到主推理链,智能体自主决定是接受当前信息、修正分析还是重新探索。这个探索-验证循环在单轮对话中可能迭代多次,直到收集到足够的已验证知识。(5)记忆存储——主推理代理和DeepVerifier都可以写入记忆。法律知识记忆存储已验证的法条、相关罪名、先例和法律解释;案件上下文记忆存储对话历史、当事人身份、争议焦点、已收集证据和审判流程进度。后续推理轮次通过memory_fetch复用这些已验证的信息,避免重复探索。(6)最终输出——当任务目标达成时生成最终响应,包括法律咨询回答、正式法律文书或司法判决。

技术新颖性

LawThinker的技术新颖性体现在三个层面:第一,在系统架构层面,它是首个将'探索+验证'设计为强制原子操作的法律智能体框架。已有方法中,ReAct等只是在推理中交替调用工具但不验证结果,Search-o1在推理中动态检索但主要依赖自我反思,LegalReasoner有步级验证但关注的是步骤是否导向正确结论而非过程是否合规。LawThinker通过系统控制器强制拦截每次探索结果,确保没有未经检查的信息进入推理链。第二,在验证机制层面,DeepVerifier采用混合验证策略(grounded verification + analytical verification),部分工具(如law_check)通过查询外部权威数据库做硬约束检查,部分工具(如fact_law_relevance_check)通过专用LLM推理做分析性验证。这种混合设计既克服了自我反思无法访问外部真值的局限,又保留了处理复杂法律判断所需的推理能力。第三,在知识管理层面,双通道记忆写入机制(主代理存任务上下文、DeepVerifier存已验证法律知识)确保所有进入记忆的信息都经过验证,且后续检索不会重新引入未验证信息。这种设计直接解决了多轮交互任务中早期错误会在后续轮次中放大传播的核心问题。

LawThinker框架总览
Figure 2: LawThinker框架总览
探索、验证和记忆工具总览
Figure 3: 探索、验证和记忆工具总览

实验结果

论文在动态基准J1-EVAL和三个静态基准上进行了全面实验,核心发现如下:(1)在J1-EVAL动态基准上,LawThinker(基于Qwen3-32B)在所有场景中均取得最佳成绩。与直接推理相比,总体提升24%;与工作流方法相比,提升11%。在Level-I知识问答场景中KQ得分64.1(vs. Search-o1的63.5)、法律咨询LC得分52.4(vs. Search-o1的48.4);在Level-II文书起草中,起诉书起草CD的格式遵循分数FOR达到87.7(vs. 次优Gemma3-12B的57.2),辩护书起草DD的FOR为81.4(vs. 次优Qwen2.5-7B的26.5);在Level-III法庭模拟中,民事法庭的PFS为50.3、刑事法庭的PFS为41.5,均为所有方法最高。(2)过程导向指标的提升尤为显著。在Complaint Drafting场景中,工作流方法(如ReAct的FOR仅50.1)的过程导向得分甚至低于直接推理(Qwen3-32B的FOR为71.4),说明未经验证的外部信息获取反而损害程序正确性。而LawThinker通过显式验证有效避免了这一问题。(3)在三个静态基准上,LawThinker平均准确率达62.3%,相比直接推理基线提升约6.5个百分点(LawBench 62.0 vs. 52.0,LexEval 71.1 vs. 67.1,UniLaw-R1-Eval 53.7 vs. 48.3)。(4)法庭阶段完成率分析显示,LawThinker在民事法庭的准备阶段完成率19.4%(vs. 次优Search-o1的9.7%)、调查阶段38.7%(vs. 次优的23.7%)、辩论阶段67.7%、调解阶段72.0%,在刑事法庭的准备阶段10.1%、调查阶段65.2%,均为所有方法最高。大多数其他方法在准备和调查阶段的完成率低于25%,反映了细粒度过程中显式控制的缺乏。(5)消融实验表明,移除DeepVerifier导致所有场景性能一致下降(特别是在知识密集的KQ和LC场景以及需要严格程序合规的刑事法庭场景);移除记忆模块在文书起草和法庭模拟等长轮次任务中造成更严重的性能退化;移除完整的Explore-Verify-Memorize策略时性能退化最大,确认了三个组件协同工作的必要性。

J1-EVAL上的性能对比
Table 1: J1-EVAL上的性能对比
静态法律基准上的准确率评估
Table 2: 静态法律基准上的准确率评估
六个法律场景的消融实验
Figure 4: 六个法律场景的消融实验
结果导向与过程导向指标的综合分析
Figure 5: 结果导向与过程导向指标的综合分析
法庭阶段完成率热力图
Figure 6: 法庭阶段完成率热力图
查看结构化数据
任务指标本文基线提升
J1-EVAL Level-I 知识问答 (KQ) 综合得分 64.1 Search-o1 63.5 / Qwen3-32B直接推理 59.6 比直接推理+7.6%,比Search-o1+0.9%
J1-EVAL Level-I 法律咨询 (LC) 综合得分 52.4 Search-o1 48.4 / Qwen3-32B直接推理 47.4 比直接推理+10.5%,比Search-o1+8.3%
J1-EVAL Level-II 起诉书起草 (CD) 格式遵循分数 (FOR) 87.7 Qwen3-32B直接推理 71.4 +22.8%
J1-EVAL Level-II 辩护书起草 (DD) 格式遵循分数 (FOR) 81.4 Search-o1 42.7 +90.6%
J1-EVAL Level-III 民事法庭 (CI) 程序遵循分数 (PFS) 50.3 Plan-and-Execute 40.5 +24.2%
J1-EVAL Level-III 刑事法庭 (CR) 程序遵循分数 (PFS) 41.5 Search-o1 28.9 +43.6%
LawBench 准确率 (%) 62.0 Plan-and-Solve 57.9 / 直接推理 52.0 比直接推理+19.2%
LexEval 准确率 (%) 71.1 Search-o1 69.0 / 直接推理 67.1 比直接推理+6.0%
UniLaw-R1-Eval 准确率 (%) 53.7 Plan-and-Execute 52.0 / 直接推理 48.3 比直接推理+11.2%

局限与改进

尽管LawThinker取得了显著提升,但论文和我的观察都揭示了一些局限性:(1)法庭模拟场景的绝对性能仍然较低。民事法庭的程序遵循分数(PFS)为50.3、刑事法庭为41.5,意味着即使是最优方法也仅完成约一半的法定程序要求。民事法庭的准备阶段完成率仅19.4%、刑事法庭准备阶段仅10.1%,说明在信息收集和证据验证等精细过程中仍有大量遗漏。(2)在辩护书起草(DD)场景中,LawThinker的文档得分DOC为60.3,虽然高于所有基线,但仍有较大提升空间,说明验证机制主要改善了格式遵循而非内容质量。(3)法律专业LLM(ChatLaw2-7B、LawLLM-7B)在动态场景中表现极差,多个指标甚至无法完成任务(用'-'表示),反映出当前法律领域专用模型在交互能力和长上下文推理方面的严重不足。(4)实验仅使用中文法律数据和中国司法环境,未验证跨法域(如英美法系)的适用性,限制了结论的普适性。(5)DeepVerifier依赖GPT-4o进行基于LLM的评估指标计算,可能引入评估偏差。(6)所有基线方法的工具访问权限相同,但LawThinker的DeepVerifier引入了额外的工具调用开销,论文未讨论推理延迟和计算成本的增加。

独立分析的弱点

基于对论文的独立分析,我认为LawThinker存在以下弱点:(1)验证成本与延迟问题——每次探索后都强制激活DeepVerifier,意味着在复杂法庭模拟(最多60轮交互)中,验证工具调用次数可能远超探索工具调用次数。论文未报告推理延迟和token消耗的增加,但在实际部署中这可能是关键瓶颈。改进方向可以是设计自适应验证强度机制,根据当前任务阶段和已积累的验证信心动态调整验证深度。(2)验证模块的依赖性问题——DeepVerifier虽然使用独立的提示上下文,但与主推理代理共享相同的基础模型。如果基础模型在某个法律领域存在系统性知识缺陷(如对新出台的司法解释不熟悉),DeepVerifier同样无法准确验证。改进方向可以是引入多模型验证或结合符号推理引擎做硬约束检查。(3)知识库的时效性——法律知识库包含55,347条法条和案例,但法律是动态更新的(新法颁布、旧法废止、司法解释更新)。论文未讨论知识库的更新机制和对过时信息的处理策略。改进方向可以设计增量知识更新流水线和版本管理机制。(4)记忆模块的容量管理——在长时间多轮交互中,记忆可能积累大量信息,论文未讨论记忆的容量限制、过期淘汰策略或优先级排序机制,随着对话轮次增加,检索效率和相关性可能下降。(5)场景覆盖范围——虽然论文覆盖了知识问答、文书起草和法庭模拟三个层次,但真实司法实践中还有调解、仲裁、执行等更多场景,且不同法域(大陆法系vs.英美法系)的程序要求差异巨大。

未来方向

基于论文成果可以延伸的未来研究方向包括:(1)跨法域泛化——当前框架在中国司法环境下验证,将Explore-Verify-Memorize策略扩展到英美法系(判例法体系)将面临不同的验证逻辑(如需要验证先例的约束力层级),这对框架的通用性是很好的检验。(2)多智能体协同法律推理——当前框架是单智能体+DeepVerifier的双层结构,可以扩展为多智能体系统(如模拟合议庭的法官团讨论、原告/被告/法官三方交互),不同智能体独立验证后通过共识机制达成最终结论。(3)自适应验证策略——论文提到DeepVerifier每次都激活,未来可以设计学习型验证调度器,根据当前推理状态的风险评估决定是否需要深度验证,在性能和效率之间取得更好平衡。(4)结合法律知识图谱——当前的法律知识以文档形式存储,引入结构化的法律知识图谱(法条-罪名-案例-法律原则的多层图结构)可以支持更精确的关系推理和一致性检查。(5)人机协同验证——在高风险法律决策中,将DeepVerifier的验证结果以可解释的形式呈现给人类法律专家,实现人机协作的混合验证模式。

复现评估

论文提供了较好的复现条件:代码已在GitHub开源(https://github.com/yxy-919/LawThinker-agent),这大大降低了复现门槛。实验使用J1-EVAL基准(508个司法环境,6种场景类型)和三个静态基准(LawBench、LexEval、UniLaw-R1-Eval),这些基准均为公开可获取的中文法律评估数据集。法律知识库方面,法规语料库包含55,347条法条、346个标准化罪名,案例语料来自中国裁判文书网。计算资源方面,实验使用两张NVIDIA A800-80GB GPU,对多数研究团队而言可获取。主推理代理使用Qwen3-32B作为基础模型,环境中的非关键角色也由Qwen3-32B扮演。复现难度中等——核心框架逻辑清晰(探索-验证-记忆三阶段+15个工具),但DeepVerifier的验证提示设计(附录D中有详细prompt)和工具调用的精细工程可能需要较多调试。需要注意的是,LLM评估指标依赖GPT-4o,这可能引入API成本和评估一致性问题。