摘要 本研究以《民法典》第580条第二款及《九民纪要》第48条引发的“违约方解除合同”司法争议为背景,尝试运用数字人文方法,对2024年至2025年间97份相关民事判决书进行实证分析。研究采用大语言模型(DeepSeek)辅助阅读与信息提取,结合自动化脚本进行数据整理。研究发现,在违约方解除争议中,租赁合同为高发案由,“合同僵局”与“继续履行显失公平”成为支持解约的主要理由。在方法上,我们验证了大模型辅助文本分析在提升研究效率方面的潜力,但同时,在小样本、未进行人工训练与校验的情况下,单纯依赖大模型进行研究存在局限。未来希望能迈向更严谨、规模化的法律实证研究。
关键词 违约方解除;合同僵局;数字人文
1. 引言
1.1. 研究背景
《中华人民共和国民法典》(下称《民法典》)第580条第二款规定:“有前款规定的除外情形之一,致使不能实现合同目的的,人民法院或者仲裁机构可以根据当事人的请求终止合同权利义务关系,但是不影响违约责任的承担。”此条文被普遍解读为在特定情形下,对“合同僵局”的突破。
然而“合同僵局”的认定标准应如何把握?为了统一裁判尺度,《全国法院民商事审判工作会议纪要》(法〔2019〕254号,简称《九民纪要》)第48条对此进行了回应,明确符合三项条件时,可支持违约方通过起诉方式解除合同。但这种表述仍然有一定的抽象性,给司法裁量留下了空间。
与此同时,学界观点认为,违约方解约所要保护的利益,通过现有制度,也可实现,为此单独创设规则可能多余。因此在“违约方解约”的问题上,立法、司法与理论界尚未形成完全共识。这构成了本研究的起点。
1.2. 问题提出
本研究旨在通过分析判决书,回应以下问题:
(1)探究整体司法态度,从宏观上把握司法实践对《民法典》第580条及《九民纪要》第48条的回应基调。
(2)提炼核心裁判理由,揭示司法实践中所形成的、超越成文规范的具体裁判逻辑。
(3)寻找是否存在裁判差异,理解规则适用的具体情境,以便未来进一步类型化处理。
(4)方法如何实现自动化,达到从非结构化文本到结构化数据的转化?
通过探究以上问题,我们希望深入探究违约方解除合同的司法实践,同时在方法上借助大语言模型等数字人文工具,从传统文献阅读迈向司法大数据实证研究。
1.3. 研究意义
本研究的意义体现在方法论与实践价值两个层面。
在方法论上,法学实证研究中存在传统人工阅读方法效率低、样本量受限的瓶颈,本研究尝试用大语言模型(DeepSeek)作为辅助分析工具,并结合Python脚本进行数据预处理与整理,为处理更大规模的司法文本数据提供一种可能的、低成本的入门方案。同时在法学领域现有实证研究的文献中,通常仅采用文字进行描述性分析,至多绘制简单表格。本研究希望通过对数据的可视化,提升研究结论信息传达的效率。


图1、2:两篇在CNKI判决书实证研究中下载量排名前50的论文,
其数据呈现方式均使用文字进行描述性分析、或匹配常规统计表。
在实践价值上,通过对最新判决的梳理,本研究能够观测“违约方解除合同”的现状,对法院态度、高频理由、案由差异的深入分析。同时,为后续实证研究的确定初步的方法和流程。
诚恳地说,本研究可能并不能得出确定的结论,而仅是希望走通一种方法,从而为法学研究方法的发展和自身学术能力的提升做出一小步努力。2. 研究方法与技术路径
2.1. 数据来源与样本筛选
在“北大法宝”数据库适用第580条的判决书中,我们检索了全文关键词“违约方解除”、案件类型为“民事”,初步选择了2024年1月1日至2025年12月之间121份文本,以保证流程的可操作性。
2.2. 研究流程总览
本研究大体上可以概括为:获取判决书文本 → 尝试自动化元数据提取与内容分析→ 转向大模型辅助的结构化信息提取 → 人工复核与数据整理 → 统计分析与可视化。

图3:研究流程
2.3. 初始技术尝试与挫折
首先,我们借助AI编写Python脚本,从判决书文本中批量提取基础元数据,如案号、审理法院、裁判日期等,并将文件批量重命名。

第二步,原本计划使用自然语言处理(NLP)模型对判决书正文进行深度的信息抽取(例如识别原被告、违约认定、解除请求等)。在尝试本地部署一个轻量化模型(Qwen2.51.5BInstruct)时遇到了重重阻碍:首先是网络代理配置问题导致无法正常下载模型;随后尝试通过Ollama安装,又因Windows系统未启用WSL(Linux子系统)而失败;最后虽找到模型文件,却因文件不完整导致加载失败。
2.4. 大模型辅助的结构化阅读
鉴于上述困难,我们将方案调整为借助大语言模型的自然语言文本理解能力,进行结构化的“人工阅读”。为了减轻工作量,我们先用代码把每一份判决书中最重要的“本院认为”部分截取出来。接着人工阅读部分案例,确定典型的裁判态度与说理模式,由此形成一份高度结构化的提示词:
请逐一分析以下判决书说理段落,提取"违约方解除合同"相关信息:
判决书见附件
提取以下6个字段:
1. **案件涉及核心问题**(只输出字母A、B、C):
A. 违约方解约争议(明确讨论违约方是否有权解约)
B. 违约后续处理(已确认解除,主要讨论责任承担)
C. 其他合同争议(不涉及违约方解约问题)
2. **违约方是否提出解除合同**:是/否/未提及
3. **法院对违约方解约的态度**:
- 完全支持
- 部分支持/附条件支持
- 不支持
- 不涉及此问题
4. **主要裁判理由**(最多选2个,用逗号分隔):
- 合同僵局/履行不能
- 继续履行显失公平
- 非违约方违反诚信/拒绝协商
- 违约方非恶意违约
- 不可抗力/情势变更
- 其他(请用3-5字说明)
5. **违约方解约后的责任承担**:
- 支付违约金(注明金额/计算方式)
- 返还已付款项(注明金额)
- 赔偿损失(注明金额)
- 不予支持任何请求
- 未涉及
6. **是否考虑减损义务**:是/否/未提及
请根据案件类型调整提取重点:
- A类案件:重点关注裁判理由和法院态度
- B类案件:重点关注责任承担和减损义务
- C类案件:简单提取即可
**请严格按以下格式输出,每个案例一行,用竖线"|"分隔,不要有任何额外文字或解释**:
案例115|A|是|完全支持|合同僵局,非恶意违约|支付违约金(3个月租金)|是
随后将说理和提示词一并提交给DeepSeek模型。Prompt的核心是要求模型扮演法律分析角色,从指定段落中提取关键字段。将97份判决逐一处理,将所有输出结果手工整理到一个Excel表格中,从而将非结构化的判决文本转换为可供统计分析的结构化数据。


图5、6:摘取“本院认为段落”,按字数将121个段落分为43组TXT文件后,
与提示词一并提供给Deepseek
2.4. 数据处理与可视化
获得结构化数据后,我们使用Python的Pandas库进行数据清洗(如统一文本格式、纠正明显错误)和基础统计。最后我们进行可视化,主要通过PyEcharts库提供的开源代码,将我们的数据和代码提供给AI进行代码输出,生成描述性统计(如法院层级、地域分布)和关联性分析(如案由与裁判理由的交叉)的可视化图表。
3. 研究结果与可视化分析
3.1. 样本基本特征描述
3.1.1 审理法院层级分布
在97份有效判决书中,由基层人民法院作出的判决共55份,占总数的56.7%;由中级人民法院作出的判决共40份,占比41.2%;由高级人民法院和知识产权法院作出的判决各1份。这一分布与我国民事案件的级别管辖实践基本吻合:绝大多数一审案件由基层法院审理,而上诉案件主要由中级法院处理。

3.1.2 地域分布
样本覆盖了除港澳台地区以外的23个省级行政区。案件数量出现次数排名前三的省份依次为:江西(20次)、海南(10次)、江苏(10次)。案件数量最少的省份为新疆、天津、山西等,均仅出现1次。考虑到样本量较少的情况,我们暂不推断其成因。

表2:97份判决书地域分布
3.1.3 案由分布
根据判决书载明的案由进行归类,主要合同类型分布如下:
租赁合同纠纷:共49件,占比50.5%。其中进一步细分为:房屋租赁合同24件,商铺租赁合同18件,场地租赁合同4件,设备租赁合同1件,经营权承包合同2件。
买卖合同纠纷:共22件,占比22.7%。包括房屋买卖合同15件,一般买卖合同5件,商品房预售合同2件。
服务合同纠纷:共6件,占比6.2%。主要为教育培训合同和一般服务合同。
其他合同纠纷:共20件,占比20.6%。包括承揽合同、合伙合同、特许经营合同、艺人经纪合约、联营合同纠纷等。

表3:97份判决书一级、二级案由
3.2. 法院对违约方解除合同请求的处置态度
在法院对违约方解除请求进行实体审理的案件中,支持(包括完全和部分支持)的比例高达80%。这一数据表明,在近两年的司法实践中,当违约方主动起诉请求解除合同时,法院在实体审理后予以准许的概率较高。这在一定程度上反映了司法机关倾向于运用《民法典》第580条及《九民纪要》第48条所提供的规则,以打破“合同僵局”的现实立场。
表4:法院态度
3.3. 高频裁判理由分析
我们对模型提取的“裁判理由”标签进行了频次统计和归类整理。在支持与不支持两类案件中,理由的分布呈现出明显差异。
在支持违约方解除的案件中(68件),最常被法院采纳的理由如下:
词语 | 频次 |
合同僵局/履行不能 | 69 |
继续履行显失公平 | 37 |
违约方非恶意违约 | 11 |
债务不适于强制履行 | 6 |
公共利益 | 5 |
表5:97份判决书中出现频次前五的裁判理由


表6:裁判理由分类及对应支持率
支持理由集中在实体因素:合同履行障碍(82次)、继续履行不合理(52次),不支持理由集中在程序/形式因素:解除条件不满足、程序性要求,说明法院更多基于实体公平而非形式要件做判断。

表7:不同案由责任承担类型占比
不同合同类型在解除后的责任处理上呈现出显著特点:
租赁合同:责任形式最为多样,包括支付违约金、赔偿损失、支付租金等多种形式,且近28%的案件“未涉及”具体金钱责任,反映出租赁合同纠纷在损失认定上的复杂性。
买卖合同:责任高度集中于“返还已付款项”和“支付违约金”,解约后的处理逻辑清晰。
服务合同:在支持解除的案件中,责任形式100%为“返还已付款项”,体现了法院在处理此类合同解约时,倾向于恢复原状而非支持惩罚性赔偿的审慎态度。
其他合同:虽样本量小,但“支付违约金”的比例极高,显示出对于非典型合同,约定违约金条款是划分责任的重要依据。
3.4.3 减损义务的提及与影响
在全部97份判决书中,有56份(57.3%)明确提及了守约方的“减损义务”。而该义务并未在法条中有明确规定,是处理文本时模型帮我们观察到的实践衡量标准——法院在确定违约方赔偿范围时,会考虑守约方是否采取了合理措施。这印证了即使在违约方解除的特殊情境下,合同法的基本原则依然在发挥着调节双方利益、避免损失不当扩大的重要作用。
4. 讨论与反思
4.1. 研究不足
本研究作为一次初步的方法探索,存在以下多方面不足:
在样本层面,首先,97份判决书的样本规模对于全司法实践体量过小,难以支撑具有普遍意义的论断,同样可能存在2024-2025年的判决未上传至“北大法宝”数据库的情形。此外,考虑到观察最新动态和初次尝试确保可操作性和完成度的需求,我们仅选取了2024-2025两年的判决,数据可能无法揭示司法态度随时间的演变趋势。因此,本研究的发现主要是“北大法宝数据库中近两年部分涉及‘违约方解除’争议判决”的特征描述。
在结构化输出阶段,将法院态度归类为“完全支持/部分支持/不支持”等少数标签,容易导致分析较为粗糙。正如结题报告时老师提出的,我们没有预先通过人工精读构建一个高质量的参考数据集进行训练或检验,而仅仅是读了几份判决书就开始批量阅读。模型的判断完全基于其对提示词的理解,成为一个无法解释和验证的“黑箱”。此外由于时间限制,我们未对全部97条模型输出进行人工复核,无法评估其错误率与偏差方向。
在分析层面,受限于上述样本与方法的约束,当前的分析主要停留在描述性统计,未能对判决书的文本进行更深度的挖掘,使得结论仍然较为浅显。
4.2. 未来展望
基于本次探索的经验教训,未来的研究可在以下方向深化:
方法上,首先不能偷懒,需要人工精读足够数量的判决,制定详细的、多层次的分类与标注规则,并完成标注,形成高质量的小型训练集。然后再利用该训练集对大模型进行微调、打磨提示词来提升其判断的准确性。获得模型处理的结果后,还应当设定固定比例的人工复核,以评估和监控模型处理结果是否可靠。
在有了科学可靠的工作流后,就可以扩大样本的时间跨度和数量或深化类型化与精细化研究。可以聚焦于某一高发案由(如房屋租赁合同),详细剖析该类案件中“合同僵局”的具体认定标准、违约金与损失赔偿的计算方法等实务难题。
5. 结语
总的来说,本次研究在数字人文或法学实证研究的成果方面可能只是很微小的一步,但我们在过程中掌握了数字人文方法和实证分析思路,对我们的自主探索、实践能力都是一次跃升,为我们未来的学术研究打开了新世界的大门。