| name | legal-citation-verify |
| description | 法规引用验证技能。当用户写文章、报告时引用了法律法规、政策文件、司法解释等,需要对引用的准确性、有效性、合理性进行验证时触发。覆盖六大验证组(来源溯源、元数据核验、效力与版本、法理一致性、适用条件、引用质量)共18项检查,支持法律、行政法规、部门规章、司法解释、政策文件、地方性法规六类引用的差异化验证管道。核心工具链为北大法宝(pkulaw)、华宇元典(yuandian)、互联网检索(WebSearch),采用引用归并+三阶段渐进验证架构。 |
| agent_created | true |
法规引用验证技能
概述
对文章、报告中引用的法律法规、政策文件、司法解释等引用进行系统性验证,确保引用的法规真实存在、现行有效、条款准确、适用恰当。采用"引用提取 -> 分类路由 -> 六组并行验证 -> 汇总报告"的流水线架构,支持底线层(G1-G3)快速验证和深度层(G4-G6)按需启用两种模式。
触发条件
以下场景触发此技能:
- 用户写文章/报告时引用了法律法规或政策文件,要求验证引用准确性
- 用户要求核查AI生成内容中的法规引用是否准确
- 用户提到"验证引用""核查法条""检查法规准确性""法规是否有效"等
- 用户提交文档(docx/pdf/md)要求检查其中所有法规引用
- 用户在写作过程中主动触发,如"帮我验证这段法条引用"
前置条件
工具依赖
| 工具 | 用途 | 必需性 |
|---|
| pkulaw (北大法宝) | 法规检索、条文精确查询、效力状态查询 | 首选 |
| yuandian (华宇元典) | 法律向量检索、幻觉检测、司法解释检索 | 首选 |
| WebSearch / WebFetch | 官方政府网站交叉验证、最新政策核实 | 必需 |
当 pkulaw 或 yuandian 不可用时,启用降级模式:仅使用 WebSearch 检索,准确率下降,输出报告中标注"降级验证"。
输入格式
| 输入方式 | 处理方式 |
|---|
| 粘贴文本 | 直接处理 |
| 上传文件(.docx/.pdf/.md) | 先用 markitdown-skill 转为纯文本 |
| URL | 用 WebFetch 抓取页面内容 |
| 截图 | OCR 提取文字 |
工作流程
Pass 0:引用提取与分类
目标:从全文中提取所有法规引用,分类并归并。
步骤 1:引用提取
从文本中识别所有法规引用,包括标准引用和非标准引用:
- 标准引用模式(正则匹配):
《XX法》第X条 / 《XX条例》第X条第X款
《XX规定》(XXXX修订) / XX部令第X号
最高人民法院关于适用《XX法》若干问题的解释
- 非标准引用(LLM 语义识别):
- 口语化表述:"合同法里关于解除合同的那个条款"
- 简称引用:"劳动法第39条"(应为《中华人民共和国劳动法》)
- 隐式引用:上下文中提及"根据相关规定"但未明确法规名称
每条引用封装为 Citation 对象:
Citation {
id: "cit_001",
raw: "原始引用文本",
law_name: "法规标准名称",
law_name_variants: ["简称", "全称", "变体写法"],
article: "条款号(如 39 或 39.2)",
article_text: "AI概述的条款内容(如有,无则为空)",
implicit_summary: "从上下文提取的隐式概述(当article_text为空时自动填充,详见verification-engine.md G1-3)",
context: "引用所在上下文段落(引用前后2-3句)",
position: 原文中的字符位置,
doc_type: "分类类型(待Pass 0步骤2确定)",
version_hint: "版本提示(如 2018修正)"
}
步骤 2:引用分类
对每条 Citation 进行分类,分类规则详见 references/classification-rules.md。分类优先级:发文机关 > 文号格式 > 标题后缀。
| 类型 | 识别关键词 | 验证管道 |
|---|
| 法律 | "法"结尾 + 人大/主席令 | 全量 G1-G6 |
| 行政法规 | "条例" + 国务院令 | 全量 G1-G6 |
| 部门规章 | "办法/规定/细则" + 部令/局令 | G1-G5 + 部分 G6 |
| 司法解释 | 最高法/最高检 + "解释/规定/批复" | 特殊五步路径 + G1-G6 |
| 政策文件 | "通知/意见/决定/公告/函" + 无条款结构 | 仅 G1-G3 + G5 |
| 地方性法规 | 省/市/自治区 + 人大/政府 | 全量 G1-G6(加地方标记) |
分类不确定时,调用 pkulaw search_article 检索确认法规类型。
步骤 3:引用归并
将引用同一部法规(同一版本)的多条 Citation 归并为一个 CitationGroup:
CitationGroup {
law_name: "法规标准名称",
version: "版本标识",
citations: [Citation, Citation, ...],
doc_type: "分类类型"
}
归并策略:
- 同法规全称 + 同版本 → 归并为同一组
- 简称/变体写法 → 先通过 pkulaw 规范化为标准全称,再归并
- 同法规不同版本(如"劳动法"和"劳动法(2018修正)")→ 不归并,分别建组
归并后进入 Pass 1 的检索对象从"每条引用"降为"每个法规组"。
Pass 1:批量检索与缓存
目标:对每个 CitationGroup 执行一次检索,缓存原文和元数据。
对归并后的每个 CitationGroup,并行调用以下工具(每部法规仅调用一次):
- pkulaw
get_law_list:获取法规元数据(效力状态、制定机关、发布日期、修订历史)。适用于法律、行政法规、部门规章、司法解释、地方性法规。政策文件类如数据库无收录则跳过。
- pkulaw
get_article:获取引用条款的原文(仅对有条款号的引用)
- yuandian
law_vector_search:语义检索补充(当 pkulaw 无结果时)
- WebSearch(政策文件强制):对政策文件类引用,必须优先从制定机关官方门户网站检索原文(如中央文件 → gov.cn,海南文件 → hainan.gov.cn 及 wjk.hnftp.gov.cn,部委文件 → 对应部委官网)。官方门户检索是政策文件的第一优先级验证来源,不可跳过。检索策略详见
references/official-sources.md 中的"政策文件专用验证流程"。
- WebSearch(通用交叉验证):对法律/行政法规/部门规章类引用,在数据库检索完成后追加官方 gov.cn 交叉验证
检索结果缓存为 LawRecord:
LawRecord {
law_name: "法规标准名称",
official_title: "官方标题",
issuing_authority: "制定机关",
doc_number: "文号",
publish_date: "发布日期",
effective_date: "施行日期",
validity_status: "现行有效/已废止/已修订/尚未生效/部分失效",
revision_history: ["修订记录1", "修订记录2"],
articles: { "39": "条款原文", "40": "条款原文", ... },
official_source_url: "官方来源URL(如有)",
source_confidence: "high/medium/low",
source_type: "official_portal/database/web_multi_source" // 政策文件专用字段
}
当 pkulaw 和 yuandian 均无结果时,标记 source_confidence: "low" 并在 Pass 2 中加强 WebSearch 交叉验证。
政策文件特有标注:政策文件类引用在 LawRecord 中额外标注 source_type: "official_portal" | "database" | "web_multi_source",标明原文的实际获取来源。只有 source_type: "official_portal" 的引用才符合 G1-1 的最高通过标准。
Pass 2:六组验证引擎
目标:对每条 Citation,复用 Pass 1 缓存的 LawRecord 执行验证。
归并与验证的关系:Pass 0 的引用归并仅影响 Pass 1 的检索次数(同一部法规只检索一次,缓存为一份 LawRecord)。Pass 2 的验证仍逐条执行——每个 CitationGroup 内的每条 Citation 独立验证条款精确性(G2-1 条款号存在性)、原文比对(G1-3)和引用意图匹配(G6-1)等检查项,因为这些检查依赖于每条引用各自不同的条款号和上下文。归并优化的是"检索"环节,不是"验证"环节。
验证分两层执行:
底线层(默认启用,所有文章类型):
| 组 | 检查项 | 核心逻辑 |
|---|
| G1 来源溯源 | 官方渠道验证、非官方过滤、原文比对 | 确认原文来自制定机关官方渠道,非民间转载 |
| G2 元数据核验 | 文号格式、标题一致性、机关权责 | 文号、标题、发文机关三项齐全且逻辑自洽 |
| G3 效力与版本 | 效力状态、修订链、最新版本 | 确认法规现行有效,使用的是最新版本 |
G1 与 G2 的执行顺序说明:G1-1(官方渠道验证)所需的"制定机关"信息直接从 Pass 1 缓存的 LawRecord.issuing_authority 字段获取,不依赖 G2-3 的机关权责匹配结果。LawRecord 在 Pass 1 阶段已通过 pkulaw get_law_list 获取并缓存了制定机关信息,因此 G1 和 G2 之间不存在循环依赖,两组可并行执行。
深度层(按需启用,适用于政策报告/学术论文/政府公文):
| 组 | 检查项 | 核心逻辑 |
|---|
| G4 法理一致性 | 上位法一致性、同位法协调、内部逻辑自洽 | 检查引用条款与上位法是否冲突 |
| G5 适用条件 | 适用地区、适用对象、有效期限 | 确认法规适用于文章讨论的地区、对象和时间 |
| G6 引用质量 | 引用意图匹配、替代指引、兜底条款风险、地方法规特殊性 | 检查引用是否真正支撑论点 |
六组验证引擎的详细检查逻辑、工具调用方式和判定规则详见 references/verification-engine.md。
渐进验证开关:
对每条 Citation:
1. 先执行 G1 + G2 + G3(底线层)
2. 底线层全部通过 → 标记"基本可信"
- 普通文章(公众号/科普)→ 到此为止
- 严肃文章(政策报告/论文/公文)→ 继续执行 G4 + G5 + G6
3. 底线层任一告警 → 自动触发对应条目的深度层验证
司法解释特殊处理路径
司法解释的有效性寄生在母法上,需在常规验证前执行五步特殊检查:
- 解析母法:从司法解释标题中提取被解释的法律名称
- 标准格式:"关于适用《XX法》若干问题的解释" → 提取"XX法"
- 非标准格式:调用 LLM 从标题和内容中推断母法
- 追溯母法有效性:查询母法效力状态。母法已废止 → 司法解释标记"失效",终止验证
- 查新替代版本:检索同一母法下是否存在更新的司法解释
- 条款反查母法:验证司法解释引用的条款对应的母法条款是否存在
- 常规验证:通过前四步后,执行 G1-G6 常规验证
格式校验规则:
- 发文机关必须为"最高人民法院"或"最高人民检察院"
- 标题须包含"关于" + "解释/规定/批复/决定"关键词
- 不符合格式 → G2 直接标记"格式不规范"
Pass 3:汇总报告
目标:汇总所有验证结果,生成结构化报告。
报告格式:
## 法规引用验证报告
### 一、验证概览
- 引用总数:X 条
- 通过(底线验证):X 条 | 通过(基础结构检查):X 条 | 通过(深度法理分析):X 条 | 存疑:X 条 | 失效:X 条 | 错误:X 条
- 综合置信度:XX%
- 验证模式:底线层(G1-G3) / 全量(G1-G6) / 全量激进(G1-G6, 激进模式)
- 时间语境:明确 / 模糊 / 未检测到
### 二、逐条验证结果
| # | 引用原文 | 法规名称 | 条款 | 状态 | 验证深度 | 问题说明 | 修正建议 |
|---|----------|----------|------|------|----------|----------|----------|
| 1 | 《XX法》第39条 | XX法 | 39 | 通过 | 底线验证(G1-G3) | - | - |
| 2 | 《XX规定》第5条 | XX规定 | 5 | 失效 | 底线验证(G1-G3) | 已被XX号文件废止 | 替换为《XX办法》第X条 |
| 3 | 《XX条例》第12条 | XX条例 | 12 | 存疑 | 深度验证(G1-G6,保守) | 条款内容与原文存在差异 | 原文:"...";引用概述:"..." |
| 4 | 《XX法》第8条 | XX法 | 8 | 通过 | 深度验证(G1-G6,激进) | - | - |
### 三、需人工复核项
[列出所有"存疑"项的详细说明和复核建议]
### 四、降级验证说明(如适用)
[说明哪些引用因工具不可用而降级验证]
### 免责声明
本验证结果基于法律数据库和公开互联网信息生成,不构成法律意见。
法规效力状态以有权机关正式公告为准。建议对"存疑"及"失效"项进行人工复核。
状态码定义:
| 状态 | 含义 | 触发条件 |
|---|
| 通过(底线验证) | 法规有效、条款准确、适用恰当 | G1-G3 全部通过,深度层未执行 |
| 通过(基础结构检查) | 底线层 + 深度层结构化检查均通过 | G1-G6 全部通过,G4/G6 为保守模式(仅结构化检查,未执行深度法理分析) |
| 通过(深度法理分析) | 底线层 + 深度层语义分析均通过 | G1-G6 全部通过,G4/G6 为激进模式(LLM 深度语义分析通过) |
| 存疑 | 部分检查项存在不确定性 | 某些检查项置信度低于阈值,但未确认错误 |
| 失效 | 法规已废止/已修订/已过期 | G3 确认法规不再有效 |
| 错误 | 法规/条款不存在或内容严重不符 | 法规名称无法匹配,或条款号不存在,或内容严重偏离原文 |
重要提示:用户需注意"通过(基础结构检查)"与"通过(深度法理分析)"的区别。保守模式的"通过"仅表示条款号存在、关键词无表面矛盾,不代表无法理冲突。如需确认无法理冲突,应使用激进模式。
工具连接层
工具按以下优先级调用,支持降级:
pkulaw (首选法律数据库)
↓ 不可用时
yuandian (备用法律数据库)
↓ 不可用时
WebSearch (互联网检索,准确率下降)
pkulaw 工具映射
| 验证组 | 工具 | 用途 |
|---|
| G1, G2, G3 | mcp__pkulaw__mcp-law/get_law_list | 获取法规元数据和效力状态 |
| G2 | mcp__pkulaw__mcp-law-search-service/get_article | 精确查询条款原文 |
| G1, G2 | mcp__pkulaw__mcp-law-search-service/search_article | 语义检索(名称不规范时) |
yuandian 工具映射
| 验证组 | 工具 | 用途 |
|---|
| G2, G5 | mcp__yuandian-mcp__yuandian_law_vector_search | 法律向量语义检索 |
| G2 | mcp__yuandian-mcp__yuandian_hall_detect | 内容幻觉检测(原文 vs AI概述比对) |
| G4 | mcp__yuandian-mcp__yuandian_rh_fg_search | 法规检索(法理一致性比对) |
WebSearch 工具映射
| 验证组 | 用途 |
|---|
| G1 | 检索发文机关官网,交叉验证原文 |
| G3 | 检索最新废止/修订公告 |
| G5 | 检索政策文件的适用地区和对象 |
官方来源白名单和交叉验证逻辑详见 references/official-sources.md。
关键设计决策
1. 来源验证的两层架构
用户要求"必须从文件制定机关的官方渠道获取原文"。实际操作中,官方政府网站检索能力有限,且并非所有法规都能在官网找到原文。因此采用两层架构:
- 第一层(数据库检索):通过 pkulaw/yuandian 获取法规原文和元数据。这些数据库的文本来源于官方公报,具有较高可信度。
- 第二层(官方交叉验证):对"存疑"和"失效"状态的引用,以及政策文件类引用,通过 WebSearch 检索发文机关官网进行交叉验证。对"通过"状态的引用,抽检关键信息(如效力状态、施行日期)与官方信息比对。
报告中标注每条引用的来源置信度:
high:数据库 + 官方来源双重验证通过
medium:仅数据库验证通过,官方来源未找到或不一致
low:仅互联网检索,未经数据库验证
2. G4/G6 验证模式
G4(法理一致性)和 G6(引用质量)涉及实质性法律推理,准确率较低(50-75%)。默认采用保守模式:
- 保守模式(默认):G4 和 G6 仅做结构化检查(条款号存在、关键词重叠、兜底条款识别),不做深度语义推理。输出"建议人工复核"而非确定性结论。
- 激进模式(用户主动开启):G4 和 G6 使用 LLM 做深度语义分析,输出置信度 + 风险提示。适用于政策报告提交前、学术论文投稿前等高要求场景。
3. 政策文件特殊处理
政策文件(通知/意见/决定等)具有以下特殊性,验证管道需相应调整:
- 官方门户优先原则:政策文件必须优先从制定机关官方门户网站获取原文,不得仅依赖数据库摘要或非官方转载。这是政策文件验证的核心规则:
- 制定机关为国务院 → 从 gov.cn 获取
- 制定机关为海南省政府 → 从 hainan.gov.cn 获取
- 制定机关为海南自贸港相关 → 从 wjk.hnftp.gov.cn(自贸港法规政策库)获取
- 制定机关为其他省级/市级政府 → 从对应 .gov.cn 域名获取
- 官方门户无法找到原文 → 降级为数据库验证,报告中标注"官方门户未找到原文,以下验证基于数据库/互联网来源"
- 无条款结构:多数政策文件是段落式行文,没有"第X条"。G2 条款精确性检查默认跳过,改为段落级内容匹配。后置规则:如果引用文本中包含"第X条"等条款编号(部分政策文件如《国务院关于XX的若干规定》确有条款结构),则自动启用 G2 条款精确性检查,验证管道升级为"G1-G3 + G5 + G2 条款精确性"。详见
references/classification-rules.md 中的"后置规则——条款结构检测"。
- 有效期不明确:许多政策文件没有明确的有效期,也无正式废止公告。处理逻辑:
- 首先在官方门户检索是否有明确的废止/失效公告
- 搜索是否有替代性文件
- 标题含"暂行/试行/临时"且发布超过5年 → 标记"效力待定"
- 以上均无 → 默认"现行有效"但标注"未发现废止声明"
- 效力层级模糊:政策文件不属于正式法律体系层级,G4 上位法一致性检查降级为"合理性判断"。
4. 时间语境感知
引用的版本选择受文章时间语境影响:
- 提取文章中的时间线索(讨论的事件日期、"根据当时的规定"等表述)
- 如果文章讨论的事件发生在某法规修订前,引用该法规的旧版本是合理的
- 如果文章未指定时间语境,默认使用最新版本
- Pass 0 步骤1 中提取的时间线索写入 Citation 对象的
version_hint 字段
时间语境置信度评估(三级):
| 置信度 | 判定条件 | 处理方式 |
|---|
| 明确 | 文章中有具体年份/日期(如"2019年""2020年3月15日") | 按该时间点匹配适用版本 |
| 模糊 | 文章中有模糊时间词(如"近年来""此前""前几年") | 默认使用最新版本,同时验证最近一个旧版本,在报告中对比差异 |
| 未检测到 | 文章中无任何时间线索 | 默认使用最新版本,报告中标注"未检测到时间语境" |
模糊/未检测到的降级处理:
- 默认使用最新版本进行验证
- 同时检索该法规的修订历史,如果存在近年重大修订(如民法典施行导致的法律替代),在报告中额外标注"⚠️ 该法规近年有重大修订,当前验证基于最新版本。如文章讨论的是修订前事件,建议人工确认适用版本"
- 报告中的"验证概览"栏增加"时间语境"字段,标注为"明确 / 模糊 / 未检测到"三档之一
边界与免责
- 不构成法律意见:验证结果仅供引用核查参考,不构成法律意见。法规效力状态以有权机关正式公告为准。
- 准确率限制:底线层(G1-G3)硬错误检出率约90%以上;深度层(G4-G6)为置信度提示,不替代法律专业判断。
- 覆盖范围限制:国家级法律法规覆盖较好;地方性法规、部门规范性文件覆盖参差不齐,可能需要人工补充检索。
- 时效性限制:数据库更新可能滞后数周至数月,最新法规动态以官方发布为准。
资源文件
references/
classification-rules.md — 引用分类路由规则详解,包含6类引用的识别规则、优先级判定、模糊匹配策略、归并规则
verification-engine.md — 六组验证引擎详解,包含G1-G6共18项检查的详细逻辑、工具调用方式、判定阈值、准确率预估
official-sources.md — 官方来源白名单,包含各级机关官网清单、非官方来源黑名单、交叉验证逻辑
使用 references 文件时,先用 Grep 搜索定位相关内容,再按需 Read 加载到上下文。