| name | case-research |
| description | 类案检索与分析工作流。当用户提供一段案情 + 检索要求(案件数量/地域/法院级别等),需要在北大法宝判例库中检索类案、筛查、编码、并产出"类案分析报告 + Excel 清单"时使用本技能。覆盖检索前要素抽取、本主题动态争点体系搭建、关键词分层、多轮迭代检索、普通案例/经典案例双轨处理、相关度筛查、字段加工编码、样本量自适应的六维数据分析与统一主题出图、全文驱动的深度报告写作、以及居中/攻方/辩方三场景报告生成。 |
类案研究工作流(北大法宝 MCP)
本技能把一次完整的类案研究拆成三步、两个人工确认点。严格按顺序执行,不要跳步,不要在未获用户确认前进入检索或下载。
⚡ 铁律速查卡(执行中每步对照,全文细则见对应章节)
| # | 铁律 | 违反后果 |
|---|
| 1 | 案号/裁判内容只来自数据池;引用必带案号+法院+链接 | verify FAIL,返工 |
| 2 | 两个检查点必须停下等用户确认 | 流程无效 |
| 3 | 03→05 原始字段只追加不改写(apply_coding 强制保护) | Excel 空列 |
| 4 | 焦点/问题名全流程一字不差 | 聚合分裂,validate 报错 |
| 5 | 成品禁工序词(06_analytics/sheet/编码列…) | 返工 |
| 6 | 分组分歧受闸门裁定;小样本不下统计结论 | 伪差异,返工 |
| 7 | 深度由全文驱动;缺处〔全文补实〕占位不编造 | 内容失实 |
| 8 | 命名:实案=类案检索报告 / 学理=裁判规则研究报告 | 校验扫不到 |
| 9 | 编码后必跑:apply_coding→spot_check 抽检呈报→validate | 编码无信度 |
| 10 | 交付前必过:download_fulltext→verify_report | 禁止交付 |
总纲与两开关(开工先问)
项目总纲:实案研究 = 裁判规则研究的 plus 版本,只多不少——裁判规则研究的全部模块
(构成要件/争点逐节四段+理论展开、全国样本+地域呈现、新旧规演进、长表 Excel)整体内嵌为
实案报告的主体;实案模式在其之前额外做指定法院的四顺位类案深挖。任何模块进入实案模式后
深度不降一分。
开工时确认两个正交开关(四种组合均可):
开关一:研究模式
| 学理研究(默认) | 实案研究(plus) |
|---|
| 场景 | 裁判规则研究、论文/报告写作 | 手上有待决/拟诉案件,需可随案归档的类案检索报告 |
| 输入 | 纯主题(如"证券虚假陈述")或一段案情,二者皆可 | 案情 + 核心法院 |
| 检索范围 | 全国,不限法院(用户可自愿限定) | 全国检索(供全景章)+ 用户必须指定核心法院,按《最高人民法院关于统一法律适用加强类案检索的指导意见(试行)》(法发〔2020〕24号,下称《类案检索规定》)第四条四顺位标注深挖 |
| 筛查 | 基础筛查:剔除案由不符/纯程序性裁定/汇编报道条目,只留实体判决书;不做与基准案情的三档相似度定档 | 三要素量表三档定档 + 顺位内量化评分 |
| 争点纲目 | 五维默认纲(主体/行为/结果/因果/主观过错+程序补充维——法律关系的通用解剖框架),维下争点按主题实例化;极不适配的案由在检查点 1 呈报替代纲目 | 同左(全景章),另有四顺位深挖章 |
| 深度 | 全景各维更深展开:理论展开+学理争议与裁判立场对照(通说层面点出分歧与法院实际选择,不伪造文献引注)+新旧规演进+制度变迁总览小节 | 全景四段标准深度 |
| 报告 | 裁判规则研究报告:全景(四段+理论展开)+ 地域分布图 + 争点×地域观点矩阵;无控辩表 | 类案检索报告:新增「类案规则」章(逐顺位六件套深挖+相似性评分)→ 内嵌完整裁判规则全景 → 控辩要点+证据准备清单 → 第八条合规附录 |
| 产出命名 | <主题>-裁判规则研究报告-<YYYYMMDD> | <案件类别>-类案检索报告-<YYYYMMDD> |
实案四顺位(第四条):①最高法指导性案例 → ②最高法典型案例及裁判生效案件 → ③本省高院参考性案例及裁判生效案件 → ④上一级法院及本院裁判生效案件。默认全顺位检索,标注首个命中顺位。
第四条收尾句两半都要落地:①除指导性案例外,优先检索近三年(自检索日上溯三年)的案例或案件——检索排序与报告均体现近三年优先,逾三年者非不可用但应作次级;②已在前一顺位检索到类案的,可不再检索后续顺位。
开关二:案件形态(自动检测阀门,无须用户指定)
案件形态(散案/集团案)不由用户指定,由检索后的自动阀门判断:
阀门规则:运行 python3 scripts/general/fold_group_cases.py <research_dir> --detect——
若发现「同一被告 × 同一法院」存在成串相似判决(组规模 ≥4),即判定存在集团性诉讼
形态,去掉 --detect 重跑执行折叠:每串相似判决仅保留说理最完整的核心判决,
其余作平行判决留痕。检测与折叠结果在检查点 2 呈报用户校核分组。
| 散案(阀门未触发) | 集团/群体性案件(阀门触发) |
|---|
| 特征 | 个案彼此独立 | 一个共同事件派生大量平行、近似判决(如证券虚假陈述、产品责任集体维权、环境侵权) |
| 去重 | 按 Gid 去重 | fold_group_cases.py 按"被告主体+共同事件"三级键分组(标题公司名→正文公司名+法院→说理指纹),组内留核心判决(详见 methodology/core-judgment-and-comparison.md) |
| 深度管道 | scripts/general/* | 编码补 问题观点(争点分叉·抗辩↔裁判对应),走 scripts/securities/* 长表管道(三 sheet Excel) |
| 示范样例 | —— | 证券虚假陈述(五维 14 问体系见 methodology/issue-framework-secmisrep.md、模板 templates/report-secmisrep.md、启动提示词见 启动提示词-证券集团案示例.md);换领域保持机制、替换问题体系/事件口径/典型名录三处 |
模式×形态四种组合均已实战/演示验证:学理×散案、学理×集团案(全国证券裁判规则研究)、
实案×散案、实案×集团案(甲股份证券虚假陈述案)。
全局铁律(贯穿全程,违反即返工)
- 反幻觉:禁止凭记忆生成案号、案件、裁判内容;一切来自 MCP。引用案号必带
CaseFlag+审理法院+链接(链接入脚注)。search_case 仅作发现,正式数据以 get_case_list 全要素为准。
- 禁止泄露内部产物名与工序词:成品报告/Excel 中不得出现
06_analytics.json、05_enriched_cases、sheet、脚本、编码列、留痕、维度一/维度二…、焦点立场、自动标注、depth_mode 等任何工序词;数据出处统一写"数据来源:本报告样本(N=…)"。报告写结论体而非工序体。
- 深度由全文驱动:报告的实质说理须基于裁判文书全文(
scripts/download_fulltext.py 抓取)重构;缺全文处以〔全文补实:…〕显式占位,不得凭摘要一笔带过、亦不得编造。
- 样本量自适应:定量强度与定性深度均随样本量自适应——
run_analytics.py 经 scripts/common/stats_guard.py 写入 深度档/定量档/地域分歧 判定;小样本只做描述性、逐争点深挖,大样本由量化承载全景。分组分歧(地域/审级)由 divergence_gate 裁定,report=False 时不得单设分组分歧小节。
前置依赖
MCP 服务(须已在 .mcp.json 配置并连接):
mcp__pkulaw-case-keyword__get_case_list — 关键词检索,参数 title / fulltext(至少填一个),单次返回最多 10 条、每条 25+ 字段。这是数据骨干。
mcp__pkulaw-case-semantic__search_case — 语义检索,参数 text(自然语言案情)。返回轻量摘要,用于探索和兜底。
mcp__pkulaw-case-number__anhao_recognition — 案号识别验真,参数 text。用于反幻觉。
脚本(用 python3 运行;公共派生函数在 scripts/common/pkulaw_utils.py):
scripts/general/normalize_cases.py — 拍平 MCP 嵌套字段,派生法院层级/地域/年份。
scripts/general/run_analytics.py — 计算六维统计并接 stats_guard 写入样本自适应判定、用 chart_theme 出图 + manifest。
scripts/general/generate_excel.py — 生成 Excel 清单。
scripts/download_fulltext.py — 抓分析池判决全文(报告深度来源)。
scripts/build_report_docx.py — 报告转 Word(脚注/图表/封面)。
scripts/verify_report.py — 反幻觉收尾自检:扫描成品报告全部案号,逐一比对 03_raw_cases.json 样本池,引用了样本池外的案号即报错。
scripts/check_coverage.py / scripts/validate_pipeline.py — 覆盖率自检 / 数据契约校验。
scripts/common/court_hierarchy.py + data/court_hierarchy.json — 实案模式四顺位法院解析(直辖市多中院映射,提议制·检查点 1 确认)。
scripts/fetch_guiding_cases.py + data/guiding_cases/ — 实案模式顺位①:最高法官网指导性案例本地数据集(含裁判要点/基本案情/裁判理由全文,定期重跑增量更新)。
scripts/common/stats_guard.py / scripts/chart_theme.py — 共用:样本量自适应闸门 / 统一图表主题。
方法论:methodology/issue-framework.md(为本主题动态搭建争点体系)、methodology/keyword-strategy.md(三层关键词)、methodology/relevance-screening.md(相关度筛查)、methodology/analysis-dimensions.md(六维 + 样本自适应)。模板:templates/report-{neutral,plaintiff,defendant}.md、templates/excel-schema.md。
实践画像:每次开工前先读 CLAUDE.md,应用其中的报告文风、格式、署名等偏好。
关键事实(务必牢记)
- 只有普通案例条目,
Ascertain/Identified/RefereeBasis/RefereeResult 才有完整正文。 经典/参考/公报/典型/评析案例只返回 metadata,正文字段为空。
⚠️ MCP 格式变更(2026-06 起):关键词接口不再返回 Gid;CaseGrade/LastInstanceCourt/Category/DocumentAttr 由旧版嵌套 dict 变为 list(如 ["普通案例"],省级在首、具体法院在末);普通案例标识为中文 "普通案例" 而非 "07"。脚本层(fetch_cases 以 Url 合成 Gid、pkulaw_utils.flatten_*、pipeline_schema、generate_excel、check_coverage)已做向后兼容补丁,dict/list 两种格式皆可;新写脚本须沿用此兼容,勿再假设 dict/Gid/"07"。
- 因此采用双轨制:普通案例进分析管道;经典/评析案例进"权威案例附录"(仅记录案号+标题+URL)。
- 关键词策略铁律:案由/法律关系词放
title,方法论/技术性词放 fulltext。判决书标题极少含"算法推荐"这类方法论词,硬塞进 title 会命中评析类文章而非判决书。详见 methodology/keyword-strategy.md。
- 单次检索上限 10 条 → 必须多轮迭代累加,靠不同关键词组合扩大样本。
第一步:检索前准备
1.1 接收输入
用户会给:① 一段案情描述;② 检索要求(目标案件数量、地域范围、法院级别、时间范围、文书类型等,可能不全)。先确认研究模式(学理/实案);实案模式必须问到核心法院。把这些原样记入 research/<主题>_<日期>/00_input.md。
实案模式加做:运行 python3 scripts/common/court_hierarchy.py "<核心法院全称>" 得四顺位法院清单提议(直辖市多中院映射查 data/court_hierarchy.json,标〔待核〕处须核实;专门法院上诉关系特殊)。清单在检查点 1 呈用户确认,确认后落盘 <research_dir>/顺位法院.json(格式 {"顺位2_最高法":["最高人民法院"],"顺位3_本省高院":[…],"顺位4_上一级及本院":[…]}),供检索后过滤与 check_coverage.py 顺位覆盖统计。
1.2 案情要素抽取
从案情中抽出结构化要素,写入 01_elements.md:
- 主体(原告/被告身份及法律地位)
- 行为特征
- 关键情节
- 权利类型 / 法律关系
- 可能的争议焦点(预判,1-3 个)
- 可能的抗辩理由
- 标准化案由(用北大法宝的案由表述,如"侵害作品信息网络传播权纠纷")
1.3 本主题争点体系搭建
按 methodology/issue-framework.md 的套路,据案情要素与预研,为本主题构造一套争点体系,写入 01b_issues.md:3–6 个争议焦点(每个给出"争什么/为何重要/两端立场")、每个焦点的倾向标签取值集(离散互斥可穷举)、以及反复出现的抗辩理由清单。焦点名/标签/抗辩名一经定稿,全流程(编码 焦点立场/抗辩、脚本聚合、报告第二章)逐字沿用。这是本技能的脊柱——集团案形态可直接采用领域固定问题体系(证券示例:methodology/issue-framework-secmisrep.md 五维 14 问),散案/新主题须在此动态搭建。
1.4 A/B/C 三套关键词构建
按 methodology/keyword-strategy.md 构建三套检索要素写入 02_keywords.md:A 套(高贴合,高相关候选池,标识≈90%+)、B 套(概念放大,中相关候选池,标识≈80%+)、C 套(兜底扩展,仅 A+B 不足时经确认启用并特别提示)。每套给出 title/fulltext 具体取值并标注套别(候选池≠终判,终档由筛查三要素量表定,见 methodology/relevance-screening.md)。此拆解同时构成报告"案情要素拆解与检索映射表"的素材。
🛑 检查点 1(必须停下)
把 01_elements.md、01b_issues.md、02_keywords.md 的要点呈现给用户,请其作为律师审核:要素抽取是否准确、案由是否对、争点体系是否齐全、倾向标签是否合理、A/B 两套关键词是否合理。实案模式另须呈报四顺位法院清单(含直辖市多中院映射结果与〔待核〕项),用户确认后落盘 顺位法院.json。得到明确确认(如"可以""开搜")后才进入第二步。 若用户要改,改完再确认。
第二步:检索
2.1 迭代检索
从 A 套关键词开始调用 get_case_list,跑满后转 B 套。每轮后判断:
- 每一轮的结果都累加到样本池,不丢弃;按命中套别标
_query(供候选池分档与覆盖率自检)。
- 持续迭代直到普通案例数量达到用户目标(或达到上限轮次,见
methodology/keyword-strategy.md 的停止条件)。
- C 套兜底(含
search_case 语义探索)仅在 A+B 召回不足时经用户确认启用,结果标低相关并特别提示。
学理模式:不做法院过滤,全国样本直接入池。
实案模式(双轨样本):检索范围不限于顺位法院——全国命中均入分析池(供"裁判规则全景"章做整体把握、看其他地区怎么判);同时每轮按 LastInstanceCourt 与 顺位法院.json 比对,给顺位内案件标 _顺位(2/3/4),只有顺位内的高/中相关案进"类案规则"专章做深度比对。即:类案规则章=顺位子集,裁判规则全景章=全样本,两章样本口径在报告方法部分各自写明。顺位①指导性案例另查本地数据集 data/guiding_cases/index.json(标题/关键词与主题匹配者),列出编号/标题/链接并读取 cases/<编号>.json 全文供深度比对——引用前按《类案检索规定》第九条核查是否与新法冲突或被新指导性案例取代(可联网核对废止公告)。时间优先(第四条收尾句):除指导性案例外,类案规则章的顺位内排序与深挖优先取近三年(自检索日上溯三年)案件;逾三年案件仍可入池但在报告中标注并作次级参考。数据背书:check_coverage.py 输出 07_coverage.json 的 时效结构(近三年占比 + 逾三年清单 + 指导案例豁免数)——深挖逾三年案前先看此清单,报告附录"检索过程说明"可直接引该占比说明时效结构。实案模式另出 时效结构.顺位内 子集(仅命中四顺位目标法院者,需 顺位法院.json)——这才是「类案规则」章深挖候选的时效真值,近三年优先在此子集内执行;全景章用全池不受约束。
把每一轮的原始返回累加写入 03_raw_cases.json(数组,每条原样保留完整 MCP 字段,额外加一个 _query 字段记录命中它的关键词)。
⚠️ 字段保全铁律:从本步开始,03 → 04 → 05 的每一步都必须原样保留每条记录的全部 MCP 原始字段(Gid/Title/CaseFlag/Ascertain/Identified/RefereeBasis/RefereeResult/DefenseViewpoint/ControversialFocus/Category/LastInstanceCourt/CaseGrade/Url 等),只允许追加新字段,绝不可改写或删除原始字段。下游脚本依赖这些字段名生成 Excel;若被改名或丢弃,Excel 实质内容列会变空。脚本虽有按 Gid 回退到 03_raw_cases.json 的保护,但仍应从源头保全。
2.2 去重
按 Gid 去重(同一案件可能被多层关键词命中)。
2.3 双轨分流
CaseGrade 含 "07"(普通案例)且 Ascertain 非空 → 分析池。
- 其余(经典/评析等,正文字段空)→ 权威案例附录池,仅保留
CaseFlag/Title/CaseGrade/Url。
2.4 相关度筛查(按模式分支)
实案模式:对分析池逐条按 methodology/relevance-screening.md 的三要素比对量表(基本事实/争议焦点/法律适用——三要素出自《类案检索规定》第一条定义,比对动作是第六条要求)与基准案情比对定档:高(≈90%+ 标识)/中(≈80%+ 标识)保留,低剔除(留痕);每案记 相关度 + 相关度依据。仅当高+中为 0 时按兜底规则经确认纳入低相关并特别提示。
学理模式:不做三档定档(无基准案情可比),只做主题相关性基础筛查——剔除案由不符、纯程序性裁定(管辖/不予受理)、汇编报道条目,仅留实体判决书;剔除项留痕于 03。
两模式结果均写入 04_screened_cases.json。
2.5 检索覆盖率自检
运行 python3 scripts/check_coverage.py <research_dir>:生成 07_coverage.json(关键词命中矩阵含"独有命中"、案件等级/法院层级分布、年份跨度、去重审计、名录缺口——有 名录.json 时),并打印检查点 2 可直接引用的摘要。独有命中为 0 的关键词提示边际贡献存疑,可据此换词补检。本结果同时是报告附录"检索过程说明"的方法/结果底稿(法发〔2020〕24号第八条要素)。
🛑 检查点 2(必须停下)
向用户报告检索情况:用了哪些关键词、各层命中多少、去重后多少、普通案例多少、筛查后保留多少、权威案例附录多少,并附覆盖率自检摘要(含缺口如实呈报)。请用户确认是否对样本量做调整(放宽/收窄/增删)。得到确认后才进入第三步。
第三步:检索后分析
3.1 字段加工与编码
对分析池每条普通案例,做两类加工,结果写入 05_enriched_cases.json:
确定性派生(运行 python3 scripts/general/normalize_cases.py <research_dir>):法院层级、地域、裁判年份、拍平 Category/CaseGrade/LastInstanceCourt。
判断性编码(你来推理,逐条标注,追加到记录上,保留原始字段):
基本案情摘要:把 Ascertain 浓缩为 150 字内的中立案情概括(Excel 用这个,而非原文照搬)。
抗辩要点摘要:把 DefenseViewpoint 浓缩为 100 字内要点。
裁判要点摘要:把 Identified 浓缩为 150 字内核心裁判逻辑。
判赔金额 / 维权开支:从 RefereeResult 抽取数字(无则填 null)。
裁判结果分类:从 RefereeResult 归类为 驳回/全部支持/部分支持/撤销改判 之一。
- 每个争议焦点的
立场:从 Identified + RefereeResult 按 01b_issues.md 该焦点的倾向标签取值集判断,存入 焦点立场 对象 {"<焦点名>": {"立场": "<倾向标签>", "理由": "..."}}。焦点名须与 01b_issues.md 一字不差,否则脚本聚合不到、图表残缺。
- 各抗辩理由
是否被采纳:比对 DefenseViewpoint 与 Identified 的实际采信结果,存入 抗辩 数组 [{"理由": "<与 01b 抗辩清单一致>", "是否被采纳": true/false}]。
- 连续量(判赔金额、责任/扣除比例等)单列数值字段,勿塞进倾向标签。
相关度:高/中(已在筛查阶段定)。
编码产出的 基本案情摘要/抗辩要点摘要/裁判要点摘要 是给 Excel 的"浓缩汇总"列;原始长文本仍保留在记录里,脚本会优先用摘要、缺失时回退原文。
编码落盘(标准化):编码以纯 JSON 产出(编码.json,无需手写脚本),运行 python3 scripts/general/apply_coding.py <research_dir> 编码.json 合并入 05——受保护的 MCP 原始字段会被拒绝改写(字段保全铁律的机器强制)。
编码抽检(强制,不得跳过):运行 python3 scripts/general/spot_check_coding.py <research_dir> 生成"编码结论 vs 原文摘录"对照复核单(默认抽 ≥15%、至少 3 件),随最近的检查点呈报用户逐件确认;更正项写回 05 留痕。这是判断性编码的质量闸门。
编码完成后立即校验:运行 python3 scripts/validate_pipeline.py <research_dir>,对 03–06 做数据契约校验(字段类型/枚举/焦点名拼写一致性——拼写漂移会导致聚合分裂成多列)。有 error 必须修复后再进入 §3.2;run_analytics 也会在 warn 模式下复查。
3.2 六维统计分析(样本自适应 + 出图)
运行 python3 scripts/general/run_analytics.py <research_dir>,按 methodology/analysis-dimensions.md 计算六维(交叉关联、抗辩有效性、判赔金额、演进拐点、分歧地图、要素-结果影响度),输出 06_analytics.json。脚本同时:
- 接
stats_guard 写入 深度档(定性深挖/量化主导)、定量档(描述→卡方/Fisher→建模)、地域分歧/审级分歧(分组样本够不够才能下分歧结论),并为主交叉表附带 检验.phrasing 措辞。
- 用
chart_theme 出三张统一主题图到 output/_charts/(overview/issue_freq/result_year)+ manifest.json,供报告以 ![chart:key] 占位插图。matplotlib 缺失时优雅降级,仅跳过出图。
写报告前先看 深度档/定量档/地域分歧:它们决定本次报告写多深、能否做显著性检验、要不要写分组分歧。绝不为凑差异而编造分歧。
06 同时输出 分歧地图(同一争点对立立场并存的争点清单 + 各立场代表案对 + 地域观察)——这是报告"综合分析"分歧小节与 Excel「裁判分歧清单」sheet 的数据源;其中地域差异能否上升为结论仍由 地域闸门 裁定,措辞照抄其 措辞 字段口径(法发〔2020〕24号第十一条所指"法律适用不一致"情形的显性化)。
3.2b 抓分析池判决全文(报告深度来源;实案模式必做)
运行 python3 scripts/download_fulltext.py <research_dir> [--docx],把分析池每条普通案例的 MCP 全要素(Ascertain/Identified/RefereeBasis/RefereeResult/PlaintiffClaims/DefenseViewpoint/TrialAfter)按判决书结构拼成每案一份原文,写入 output/原文/(+ 00_索引.md)。这是报告第二章深度说理的全文来源——3.3 写作时据此重构法院论证链条、填实〔全文补实〕占位。正文要素全部来自 MCP、不抓 pkulaw 网页,每份附法宝链接溯源。
3.3 报告生成(三场景 × 双模式,v2 深度)
先问用户选哪个场景:居中 / 攻方(权利人)/ 辩方(平台)。加载对应模板——templates/report-neutral.md(居中,做满研报级深度,含双模式结构分支与"案情要素拆解与检索映射表"规范)/ report-plaintiff.md(攻方)/ report-defendant.md(辩方,后两者复用居中深度内核 + 各加一张策略表)。严格按模板的结构与笔法:
- 结构(学理模式):封面 → 执行摘要与核心发现 → 一、研究范围与方法(含案情要素拆解与检索映射表、地域分布图
![chart:region_dist])→ 二、裁判规则全景(按 01b_issues.md 的争议焦点逐节,节内"①争点界定 ②主流规则含代表案 ③例外与反向 ④小结"四段) → 三、综合分析(裁判规则地图表 + 争点×地域观点矩阵 ![chart:issue_region],不设控辩表)→ 四、结论 → 附录(权威案例索引 + 方法论与覆盖率说明)。
- 结构(实案模式):在裁判规则全景之前插入**「二、类案规则(依据《类案检索规定》)」——按四顺位逐档列顺位内高/中相关案件,每案:①三要素相似性比对(对照本案);②逐争议焦点拆解裁判逻辑;③效力标注(指导性案例"应当参照"并核查第九条例外,其余"可以参考")。「裁判规则全景」章保留且基于全样本(含全国)——给承办人五维/争点体系的整体把握、呈现其他地区裁判倾向;两章样本口径在方法部分分别写明("类案规则章:四顺位法院内 N₁ 件;裁判规则全景章:全国样本 N 件")。后续章节顺延;保留控辩指引表;地域分布图/观点矩阵基于全样本可选保留;附录"检索过程说明"逐项覆盖第八条**要素(检索主体/时间/平台/方法/结果/类案裁判要点/待决案件争议焦点/参照参考分析,数据源
07_coverage.json);检索方法项须写明第四条收尾句的落地——四顺位标注、除指导性案例外近三年优先、前一顺位命中可不再检索。
- 深度由
深度档 与全文驱动:qualitative_deep(小样本)时每焦点 500–1500 字真实说理,据 output/原文/ 重构法院论证链条、代表案细读、正反对称(2 正 + 2 反);quantitative_lead(大样本)时定性收敛、量化承载全景。缺全文处以〔全文补实:…〕占位。
- 引注入脚注:正文只出现「案件简称(案号·法院)」,案件全称/链接/法条条款入脚注;正文不得出现裸链接。
- 图表占位符:用
![chart:overview]/![chart:issue_freq]/![chart:result_year] 控制位置。
- 遵守全局铁律:禁工序词、结论体、分组分歧受闸门、推断措辞带
检验.phrasing。
报告文件命名(固定规范,按模式分化):实案模式写入 output/<案件类别>-类案检索报告-<YYYYMMDD>.md(合规归档语义,呼应第八条);学理模式写入 output/<主题>-裁判规则研究报告-<YYYYMMDD>.md(研究语义)。<案件类别>/<主题> 为简洁归纳(如"短视频侵权案件"),<YYYYMMDD> 为出具日期;攻方/辩方场景在类别后括注。Excel 清单两模式统一为 <类别>-类案检索清单-<YYYYMMDD>.xlsx。Markdown 开头须含封面元信息行(每行 **键**:值),务必含一行 **报告主题**:<简洁主题>(用作 Word 封面主标题,简洁凝练,如"算法推荐短视频侵权案件的类案检索",而非冗长全称),随后 报告人/报告日期/检索地域/分析样本 署名行(排在封面底部,默认取 CLAUDE.md)。
3.4 报告转 Word(排版精美的 .docx)
运行 python3 scripts/build_report_docx.py <research_dir> <案件类别>-类案检索报告-<YYYYMMDD>.md(第二个参数是报告文件名,不可省略),把上一步的 Markdown 报告渲染成中文法律文书排版的 Word:封面、目录、分级标题(黑体)、正文(宋体 1.5 倍行距首行缩进)、表格、[案名(案号·法院)](链接) 转脚注、在 ![chart:key] 占位符处插入 §3.2 生成的图表(读 output/_charts/manifest.json)、页码。输出 output/<案件类别>-类案检索报告-<YYYYMMDD>.docx(docx 名自动据 md 名派生)。Markdown 作为草稿保留,Word 是最终交付物。
3.5 Excel 生成
运行 python3 scripts/general/generate_excel.py <research_dir> --name "<案件类别>" [--date YYYYMMDD],按 templates/excel-schema.md 定义(固定字段 + 浓缩摘要列 + 动态争议焦点列)生成 output/<案件类别>-类案检索清单-<YYYYMMDD>.xlsx。脚本会按 Gid 从 03_raw_cases.json 回退补全任何缺失的实质字段。
分析案件判决原文已在 §3.2b 抓取到 output/原文/,作为报告深度来源;此处不再重复。
3.6 引用溯源+引文核验收尾自检(强制,不可跳过)
报告与 Excel 生成后,运行 python3 scripts/verify_report.py <research_dir>,两层校验:
①案号溯源——报告每个案号逐一比对样本池,池外案号即 FAIL,必须修复后才能交付;
②引文核验——报告中引号内的直接引文在判决全文语料中匹配,逐字引用判决原话者应当命中,未命中清单(转述归纳/法条原文)须人工抽核来源一致性。校验证明的是引用与引文可溯源性;转述质量由 §3.1 编码抽检与检查点把关——不得对外宣称"全部内容已被机器验证"。
反幻觉铁律(贯穿全程)
- 禁止凭记忆或想象生成案号、案件、裁判内容。 一切案件数据必须来自 MCP 返回。
- 报告/Excel 引用任何案号时,必须带
CaseFlag(标准化案号)+ 审理法院 + Url(pkulaw 链接)以便溯源。
- 输出案号用 MCP 的
CaseFlag,不要用可能不规范的原文写法。
- 对用户提供或不确定的案号,用
anhao_recognition 验真;验不到要明确告知"该案号未在北大法宝库验证到"。
- 区分判例权威性:
CaseGrade 为指导案例/公报案例的判例具参照效力,应优先引用并标注;普通案例不具强制力,引用时注明"参考类案"。
- 不同法院/不同年份判决可能不一致,多条引用时标注差异并给出主流裁判倾向。
本次研究产出文件清单
research/<主题>_<日期>/
├── 00_input.md 用户输入
├── 01_elements.md 案情要素
├── 01b_issues.md 本主题争点体系(焦点/倾向标签/抗辩清单,检查点1)
├── 02_keywords.md 三层关键词(检查点1)
├── 03_raw_cases.json 检索原始累加
├── 04_screened_cases.json 去重+筛查后(检查点2)
├── 05_enriched_cases.json 加工编码后
├── 06_analytics.json 六维统计 + 样本自适应判定 + 分歧地图(不在成品中提及其文件名)
├── 07_coverage.json 检索覆盖率自检(检查点2与附录"检索过程说明"底稿)
└── output/
├── _charts/ 统一主题图表 + manifest.json(报告占位符插图)
├── <案件类别>-类案检索报告-<YYYYMMDD>.md 工作草稿
├── <案件类别>-类案检索报告-<YYYYMMDD>.docx 最终交付(封面/目录/脚注/图表/页码)
├── <案件类别>-类案检索清单-<YYYYMMDD>.xlsx
└── 原文/ 分析案件判决原文,每案一份 + 00_索引.md(报告深度来源)