# 律师法规检索

> 中国法规检索技能。检索中国法律法规，支持智能Query改写、法规总结洞察。TRIGGER when: (1) 用户提及"查法规"、"查法律"、"法条检索"、"法律规定"、"法律依据"、"相关法条"等关键词，(2) 用户咨询涉及法律问题需要引用具体法条，(3) 用户询问法律责任、权利义务等问题，(4) 用户需要确认某项行为的法律后果，(5) 用户需要查找特定法律法规的具体条文。NOT for: 类案检索（应使用 律师类案检索与报告）、合同审查（应使用 律师合同预审）、企业信息查询（应使用 律师企业尽调报告）。输出：法规洞察总结 + 相关法规清单（默认10条）。

- Skill: `ahang1598/skill-139` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add ahang1598/skill-139`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/skill-139/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/skill-139

---


# 中国法规检索

检索中国法律法规，支持智能 Query 改写、法规总结洞察。

## 约束原则

### 1. 真实性约束
法规洞察总结必须严格基于检索返回的实际法规数据生成，严禁编造法条、司法解释或法律规定 — 虚构的法条会导致律师在法庭上引用不存在的法律依据，后果极其严重。

### 2. 时效性标注
对检索结果中已废止/部分废止/已被修改/尚未生效的法规，必须在洞察总结与法规清单中明确标注其时效性状态并提示用户注意。

### 3. 法条引用格式（统一口径，与交付门禁脚本对齐）
本技能所有输出（洞察总结、法规清单、示例、结论段）中引用法条时，**必须**写成：

```
《法规全称》第X条
```

- 法规名称**必须带书名号**，条号紧跟在 `》` 之后，中间不加逗号/空格/破折号；
- 条号用中文数字（如 `第四十六条`）或阿拉伯数字（如 `第46条`）均可，同一份交付物内保持一致；
- 同一部法规多个条文可并列写作 `《中华人民共和国民法典》第五百七十七条、第五百八十四条`；
- 带款项时写作 `《中华人民共和国劳动合同法》第四十七条第一款`；
- 常用简称可括注在书名号之后，如 `《中华人民共和国劳动合同法》（简称《劳动合同法》）第四十六条`，但**首次出现必须给出带书名号的全称 + 条号**；
- 检索结果为整部法规（无具体条号）时，只写 `《法规全称》`，不得凭推测补条号。

**原因**：交付前门禁脚本 `scripts/verify_laws.py` 按 `《法规名》第X条` 提取被引法条并回溯检索结果，格式不符会导致提取到 0 条引用而被拦截。

## 不适用场景

本技能**不适用于**以下场景：
- **类案检索** → 使用 `律师类案检索与报告`
- **合同审查** → 使用 `律师合同预审`
- **企业信息查询** → 使用 `律师企业尽调报告`

## 输出约定

**默认条数**：10 条法规

**用户指定条数**：以用户为准（如"查 5 条关于 XX 的法规"→返回 5 条）

**结果筛选策略**：
1. 连接器返回相似度/相关度分数时按其降序排列；**未返回相似度时保持连接器自身的相关度顺序**，并在报告中说明"本次数据源未返回相似度分数，按数据源默认相关度排序"
2. 展示时**强制标注时效性**（现行有效/已废止或失效/部分废止或失效/已被修改/尚未生效/待核实），**默认不按时效性过滤**（详见「时效性策略」）
3. 用户指定 N 条时，取排序后的前 N 条

## 时效性策略（统一口径）

1. **默认不传时效性过滤入参**：全部返回并逐条强制标注时效性。律师需要知道"这条已废止"这件事，静默过滤会掩盖风险。
2. 用户明确要求"只看现行有效"时，才传时效性过滤入参（按工具枚举值映射）。
3. **主动覆盖工具默认值（强制）**：用 `qwenwork_mcp_tool_get` 查看 schema 时，若时效性入参**自带默认值**（如默认 `"现行有效"`），不传即等于静默过滤——此时必须**主动传空字符串 `""` 覆盖默认值**，取得完整时效性光谱（现行有效 + 已废止 + 已被修改）；空字符串不被接受时，改传最宽泛的枚举值（如"待核实"）再本地筛选。
4. **例外声明**：上述覆盖尝试失败、工具确不可关闭默认过滤时，保持工具默认值，并在报告「检索说明」中显式声明："本次数据源默认仅返回现行有效法规，未覆盖已废止/尚未生效条目"。
5. 洞察总结中的**结论与执行建议**应优先建立在现行有效条文上；已废止/被修改条文可以出现（且必须标注），但不得作为现行义务的唯一依据。

## 工作流程

```
用户输入 → 判断触发 → Query 改写 → 连接器法规检索 → 归一化并落盘 JSON
→ 总结洞察 → 生成 Markdown 交付物 → 运行交付门禁 → 展示/按需转 Word
```

### Step 1: 判断是否需要检索法规

- 用户明确要求 → 进入检索流程
- 用户问题涉及法律概念/责任/权益 → 进入检索流程
- 纯事实性问题 → 不触发

### Step 2: Query 改写与关键词提取

使用 [查询改写提示词](references/query-rewrite-prompt.md) 处理用户输入：

1. 提取核心要素：法律关系、主体身份、行为、金额/时间等
2. 生成检索 Query：**长度按所匹配工具的检索类型决定**——语义检索类工具支持自然语言长句描述，不必压缩字数；关键词/布尔检索类工具用 2-4 个法律术语短语组合
3. 提取 3-5 个关键词（供关键词检索类工具或作为语义 query 的补充）
4. 如用户明确指定法律，提取到 `lawName` 用于按法规名称过滤或精确取条

**输出格式：**
```json
{
  "scene": "法条检索",
  "original_intent": "...",
  "query": "改写后的法条检索 query",
  "keywords": ["..."],
  "lawName": "可选：法律名称过滤",
  "tips": "..."
}
```

**多主题拆分规则（强制）**：用户输入含多个独立争议焦点/主题时（如"设计人义务 + 设计费支付 + 设计周期违约"），**每个主题单独输出一组上述标准 JSON**，多组并列呈现，再分别映射到检索调用（嵌套对象型工具可用对象数组做多路并发）。**禁止**把多主题合并为一组自定义文本/注释格式，也禁止偏离上述 JSON 字段结构。

### Step 3: 调用法规检索连接器

**执行门禁（必须遵守）**：在向用户输出任何具体法规名称、条号或条文摘要之前，必须先在本任务中按下方「数据源获取」流程实际调用「法规检索」连接器并成功取得检索结果 JSON（或明确记录调用失败原因并重试）。**禁止**仅用 `search_skills` 或未执行检索就凭记忆罗列法条。输出报告时须在开头追加一小段 **「检索说明」**：本次检索 query、keywords、返回条数、执行时间，四项值均不得为空或写成占位符。

#### 数据源获取（三段式探测）

本技能需要**「法规检索」**能力：输入检索 query/关键词，返回法规/法条清单（含法规名称、条号、条文原文、时效性、效力级别等）。

**探测**：
调用 `qwenwork_mcp_tool_list`，keyword 逐个尝试以下关键词（覆盖能力中英文表述与供应商标识）：
`法规 / 法条 / 法律法规 / fatiao / law / article / statute / regulation / flfg / pkulaw / fabao / 北大法宝 / yuandian / 元典 / 法智`

**匹配**（按工具语义判定，不写死任何工具名）：
- 在返回工具中，匹配工具名或 description 含「法规检索」「法条检索」「statute/law search」「article」等语义的工具；
- **必须**对候选工具调用 `qwenwork_mcp_tool_get` 取回参数 schema 并验证后，才能发起调用；不得凭工具名或本文示例猜测入参名与类型（这是连接器三铁律的硬性防护）；
- 依据 schema 将下方「入参语义映射」适配到实际参数，**只传该工具 schema 支持的参数**，schema 未定义的参数一律不传。

**调用**：
用 `qwenwork_mcp_tool_call` 执行；多家连接器可用时按探测命中顺序依次尝试，首选调用失败（报错/超时/鉴权失败）时切换下一家。

**检索路由速查表**（多家工具可用时按需求选路；工具类型以实际探测到的能力为准）：

| 检索需求 | 推荐路径 | 原因 |
|---|---|---|
| 法律法规条文（多主题） | 结构化多路并发（嵌套对象数组） | 各主题独立命中、去重合并 |
| 法律法规条文（语义模糊） | 语义检索（自然语言长句） | 召回面广 |
| GB/IEC/ISO 技术标准 | 语义检索查发布公告 + 检索强制性标准约束条款 | 法规库不含标准全文（见「常见错误」表） |
| 已废止/历史版本 | 先按时效性策略第 3 条关闭默认过滤，再检索 | 工具默认过滤会静默丢弃废止条文 |
| 精确取条（已知法规名+条号） | 结构化精确查询（法规名+条款编号子字段） | 一次命中、无需筛选 |

#### 降级策略（A 档：权威法条拒绝降级）

探测不到任何「法规检索」连接器时：
- **停止执行**，并告知用户："本技能需要「法规检索」能力，请前往千问办公 设置 → 连接器，搜索并启用法规检索类连接器后重试。"
- 不硬跑：**禁止**用 WebSearch 或其他网页搜索编造法条，**禁止**凭模型记忆罗列法条替代权威检索结果。

**入参语义映射（Query 改写输出 → 连接器入参语义，不绑定具体参数名）：**

连接器入参形态有两类，先用 `qwenwork_mcp_tool_get` 判定属于哪类，再按对应列填写：
- **扁平入参型**：检索文本、条数、过滤项各自是独立的顶层参数；
- **嵌套对象型**：必填参数是一个结构化对象（例如由「法规名称 / 条款编号 / 主题关键词」三个子字段组成的 query 对象，或该对象的数组用于多路并发检索），且往往**不提供**条数、效力级别、发布机关、日期范围、分页等过滤入参。

| Query 改写输出 | 入参语义 | 扁平入参型工具 | 嵌套对象型工具 | 工具不支持时的处理 |
|---|---|---|---|---|
| `query` | 查询文本 | 必传，映射到工具的检索文本参数（语义检索类可传自然语言长句；关键词检索类按其分词规则传短语组合） | 填入对象的「主题关键词/内容」子字段；多个独立争议焦点可用对象数组做多路检索 | — |
| `keywords` | 辅助关键词 | 工具有独立关键词参数时传入，**分隔方式以该工具 schema 为准**（如按空格拆分并用 AND/OR 拼接、或本身就是自然语言文本）；无独立参数时并入查询文本 | 无独立关键词入参，合并进「主题关键词」子字段 | 并入查询文本 |
| `lawName`（如有） | 法规名称过滤 / 精确取条 | 映射到工具的「法规名称」过滤参数，或「法规名+条号」精确取条能力 | 填入对象的「法规名称/title」子字段；已知条号时同时填「条款编号/item」子字段 | 将法律名称并入查询文本（如"劳动合同法 期满终止 经济补偿"） |
| 条数意图（默认 10） | 返回条数 | 传工具的条数参数；超出 schema 上限时分批检索后合并去重 | **无条数入参**：按工具返回的全部结果本地截取前 N 条，并在报告中说明"条数为本地截取" | 本地截取 + 说明 |
| 时效性要求 | 时效性过滤 | 默认不传（见「时效性策略」）；用户明确要求时按工具枚举值映射（注意枚举文本各家不同，如「废止或失效」/「失效」/「尚未施行」/「尚未生效」） | 传工具的效力状态参数；若自带默认值，先按「时效性策略」第 3 条主动覆盖，覆盖失败再按第 4 条声明 | 本地按归一化 `timeliness` 字段筛选并说明 |
| 效力级别要求 | 效力级别过滤 | 用户明确指定时才传（法律/行政法规/司法解释/部门规章/地方性法规等），枚举值以 schema 为准 | **无该入参**：改为检索后按归一化 `potencyLevel` 字段本地筛选，并声明"该数据源不支持效力级别过滤，已按返回结果本地筛选" | 本地筛选 + 声明能力受限 |
| 发布机关要求 | 发布/制定机关过滤 | 用户明确指定时才传 | **无该入参**：按归一化 `issuingOrgan` 本地筛选并声明 | 本地筛选 + 声明能力受限 |
| 日期范围要求 | 发布/施行日期范围 | 用户明确指定时才传；日期格式按 schema 要求（如 `YYYY-MM-DD` 或 `YYYY.M.D`） | **无该入参**：按归一化日期字段本地筛选并声明 | 本地筛选 + 声明能力受限 |
| 结果不足需扩量 | 分页 / 多路检索 | 工具支持分页时按其 schema 翻页；仅支持条数上限时提高条数或换关键词分批检索后合并去重 | 无分页：改用「多路并发检索」对象数组或多次单路检索（换不同主题词/法规名）后合并去重 | 换检索词分批检索 + 合并去重 |

**调用示意（入参语义级，实际参数名与结构以 `qwenwork_mcp_tool_get` 返回的 schema 为准）：**

```text
// 扁平入参型
qwenwork_mcp_tool_call(
  tool: <匹配到的「法规检索」工具>,
  args: {
    <查询文本>: "网络购物 七日无理由退货",
    <返回条数>: 10
    // 时效性过滤默认不传；用户明确要求时才按 schema 枚举值传入
  }
)

// 嵌套对象型
qwenwork_mcp_tool_call(
  tool: <匹配到的「法规检索」工具>,
  args: {
    <结构化检索对象>: { <法规名称>: "", <条款编号>: "", <主题关键词>: "七日无理由退货" }
    // 无条数/效力级别/发布机关/日期/分页入参 → 检索后本地筛选与截取，并在报告中声明
  }
)
```

**关键注意事项（必须遵守）：**
1. **入参形态与分隔方式以 schema 为准**：查询文本是自然语言语义检索、还是按空格/逗号拆分的关键词串，一律以 `qwenwork_mcp_tool_get` 返回的参数说明为准；不得跨工具照搬分隔约定，也不得自行给关键词加入 schema 未要求的分隔符。
2. **查询文本长度按检索类型决定**：语义检索类工具支持自然语言长句（可直接描述法律问题），不必压缩字数；关键词/布尔检索类工具宜用 2-4 个法律术语短语，避免整句降低命中率。
3. **术语规范化**：使用"七日"而非"七天"，使用"解除合同"而非"取消合同"等法律专业术语。
4. **AI 在本地生成洞察总结**，无需额外调用。
5. **条数处理**：用户指定条数时优先传工具的条数入参；工具无条数入参或存在上限时，分批检索/本地截取并在报告中说明。
6. **lawName 处理规则**：匹配到的连接器有独立「法规名称过滤」或「法规名+条号」精确取条能力时，将 lawName 单独传入（或走精确取条能力）；嵌套对象型工具填入其「法规名称」子字段；均不支持时并入查询文本。
7. **不得写死工具名/供应商命令**：运行时按探测结果决定调用哪家。

**空结果自动重试策略：**
若首次检索返回 0 条结果，按以下顺序自动重试（与「异常处理 → 检索无结果」为同一套规则）：
1. **第一次重试**：精简查询文本为 2-3 个核心法律术语（不超过 10 字），关键词减至 2-3 个
2. **第二次重试**：替换同义词/上位概念（如"退货"→"退款"，"网购"→"网络交易"）；语义检索类工具可反向改为更完整的自然语言描述
3. **第三次重试**：切换下一家已探测到的法规检索连接器
4. **仍无结果**：向用户提示调整检索条件，不得编造法规

### Step 4: 处理返回结果并落盘

不同连接器返回结构各异，须先将检索结果归一化为 [返回数据结构](references/response-schema.md) 的统一契约（原始返回可整体保留在 `_raw` 备查），再做总结。洞察总结中的每一条法规，应能溯源到归一化 JSON 中的字段（如 `lawName`、`lawOrder` 等）；**禁止**将未出现在本次返回中的条文当作「已检索」引用。现行有效条文尽量写明施行日期或修订信息；检索结果已含时效字段的从结果照录。

统一契约字段详见 [返回数据结构](references/response-schema.md)。

重点关注字段：
- `lawDomain.lawName` - 法规名称
- `lawDomain.lawOrder` - 条款编号
- `lawDomain.lawTitle` - 条款标题
- `lawDomain.lawSourceContent` - 条款原文
- `lawDomain.timeliness` - 时效性
- `lawDomain.potencyLevel` - 效力级别
- `similarity` - 匹配相似度（连接器未返回时填"未提供"）

#### 落盘约定（门禁前置条件）

归一化完成后，将统一契约 JSON **写入文件**，供交付门禁核验：

```
outputs/law-search-<时间戳>.json        # 时间戳格式 YYYYMMDD-HHmm，如 outputs/law-search-20260810-1430.json
```

- `outputs/` 目录不存在时先创建；同一次任务的 JSON 与交付物使用**同一个时间戳**便于配对。
- 落盘内容必须是归一化后的统一契约（含 `source/query/keywords/size/searchedAt` 与 `data.lawResult`），不要只落原始返回。
- **门禁只认专用字段**：法规完整名称必须写入 `lawName`、条号必须写入 `lawOrder`；门禁不从 `lawSourceContent`/`lawTitle` 或 JSON 原文里找条号，也不读 `name`/`title` 等通用键。契约不合规会被门禁直接判为「检索结果未按归一化契约落盘」并拦截。

**运行时不允许写文件时的退化路径**（QwenWork 运行时是否允许技能写中间文件尚未实测确认）：
- 优先尝试落盘并运行脚本门禁；
- 若写文件被运行时拒绝（无写权限/沙箱限制），**不得无声跳过门禁**，改为执行「对话内人工核对」：把归一化结果以 JSON 代码块完整贴出，然后逐条比对交付物中每一处 `《法规名》第X条` 是否出现在该 JSON 中，并在交付物末尾显式声明：
  > 门禁说明：本次运行环境不支持写入中间文件，未能运行 `scripts/verify_laws.py`；已在对话内逐条核对全部 N 处法条引用与检索结果 JSON 一致，核对明细见上文。
- 人工核对中发现任何一条无法溯源，按门禁失败处理：先补检索或删除该引用，再交付。

### Step 5: 生成法规洞察总结

使用 [法规总结提示词](references/summary-prompt.md) 对检索结果进行洞察分析。总结中所有法条引用必须使用「约束原则 3」的 `《法规名称》第X条` 格式。

输出结构：
```markdown
## 法规体系洞察
- **法律依据图谱**：核心上位法及配套规章
- **核心行为准则**：义务性条款和禁止性条款
- **实质性要求**：时限、金额、资质、程序等门槛
- **法律责任预警**：违反后果（民事/行政/刑事）
- **新旧/效力变化**：失效新规或效力冲突
```

### Step 6: 生成交付物 → 运行门禁 → 交付

**交付顺序（必须按此顺序，不得跳步）：**

1. **落 Markdown 交付物**：把「检索说明」+ 洞察总结 + 法规清单写入
   ```
   outputs/regulation-report-<时间戳>.md      # 与 Step 4 的 JSON 同时间戳
   ```
2. **运行交付门禁**（见下方「交付前强制门禁」），退出码 0 才继续；
3. **在对话中展示**该 Markdown 内容；
4. **按需转 Word**：用户要求 Word 交付时，在门禁通过后再把这份 md 转为 `.docx`（转换过程不得增删或改写任何法条引用；如转换后有内容调整，须重跑门禁）。

**交付物结构（Markdown）：**

```markdown
# 法规检索报告

## 检索说明
- **query**：<本次检索文本，不得为空>
- **keywords**：<本次关键词，不得为空>
- **返回条数**：<实际返回条数>
- **执行时间**：<YYYY-MM-DD HH:mm>
- **数据源**：<实际调用的法规检索连接器/工具>
- **能力受限声明**：<如条数本地截取、效力级别本地筛选、数据源默认仅返回现行有效等；无则写"无">

## 法规体系洞察
<Step 5 的洞察总结>

## 相关法规清单
<下方法规列表格式>
```

**法规列表输出格式（每条必须包含以下字段）**：

```markdown
### [序号]. 《[法规全称]》第X条

- **效力级别**：[法律/行政法规/司法解释/部门规章/地方性法规等]
- **时效性**：[现行有效/已废止或失效/部分废止或失效/已被修改/尚未生效/待核实]
- **相似度**：[数据源返回的相似度分数；未返回时写"未提供（按数据源默认相关度排序）"]
- **条款内容**：[条款原文]
```

- 标题中书名号与条号紧连（`《中华人民共和国劳动合同法》第四十六条`），不得写成"劳动合同法 第46条"这类无书名号或拆分形式；
- 结果为整部法规（无具体条号）时标题只写 `### [序号]. 《[法规全称]》`；
- 空字段标注"未提供"，不得省略。

### 交付前强制门禁（必须执行）

在向用户交付任何含法条引用的报告前，**必须运行** `scripts/verify_laws.py`，传入 Step 4 落盘的归一化 JSON 与 Step 6 生成的 Markdown 交付物：

```bash
python3 scripts/verify_laws.py \
  --json outputs/law-search-<时间戳>.json \
  --doc  outputs/regulation-report-<时间戳>.md \
  --require-citations
```

- **必须带 `--require-citations`**：本技能的交付物按定义就是法条清单，一条引用都提取不到说明格式错了或根本没检索，必须拦截。
- **唯一例外**：本次检索结果确实只命中整部法规、没有任何条号（如只调了「法规列表」类能力）时，才去掉该开关，并在交付物中说明"本次仅命中法规级结果，未取具体条文"。
- 脚本以 `.md`/`.txt` 为主要支持格式（平台口径：先出 Markdown 过门禁，再按需转 Word）；`.docx` 为可选支持，依赖 `python-docx`。

脚本逐条核对被引法条（按 `《法规名》第X条` 提取）是否在检索结果的法规名/条号字段中，并检查「检索说明」块四要素（query/keywords/条数/执行时间）是否有实值。**脚本未通过（退出码非 0）时禁止交付**，须先修正引用格式、删除不可溯源引用或补检索，不得以免责声明替代。

若运行时不允许写文件导致脚本无法运行，按 Step 4「运行时不允许写文件时的退化路径」执行对话内人工核对并显式声明，**禁止无声跳过门禁**。

## 异常处理

以下异常情况必须按对应方案处理：

### 未探测到法规检索连接器
按 Step 3「降级策略（A 档）」处理：停止执行并提示用户在千问办公启用法规检索类连接器；禁止用 WebSearch 或模型记忆编造法条。

### 检索调用失败
若连接器调用失败（报错/超时/鉴权失败等）：
- 还有其他可用的法规检索连接器时，切换下一家重试
- 全部失败时，告知用户检索服务暂时不可用，建议稍后重试；期间不得输出任何具体法条

### 检索无结果
若检索返回空结果（归一化后 `lawResult: []` 或 `totalCount: 0`），执行 Step 3「空结果自动重试策略」（精简为 2-3 个核心词/不超过 10 字 → 换同义词或改自然语言描述 → 换连接器）。仍无结果时：
1. 建议用户手动调整检索条件（扩大范围、调整法律关系描述、确认是否存在对应法规）
2. 明确告知用户本次检索无结果，不得编造法规信息

### 门禁拦截
脚本报「引用不可溯源」：删除该引用或补一次针对性检索（可用「法规名+条号」精确取条能力）后重跑；
脚本报「未提取到任何引用」：先检查交付物法条格式是否为 `《法规名》第X条`（见约束原则 3），修正格式后重跑；
脚本报「检索说明缺要素」：补齐 query/keywords/size/执行时间四项真实值后重跑。

## 参考文件说明

本技能包含以下参考文件与脚本，各文件用途如下：

| 文件 | 用途 | 何时使用 |
|------|------|----------|
| references/query-rewrite-prompt.md | 查询改写提示词 | 优化用户检索关键词时参考 |
| references/response-schema.md | 返回数据结构说明（归一化统一契约 + 时效性枚举映射） | 解析检索返回、归一化落盘时参考 |
| references/summary-prompt.md | 法规总结提示词 | 生成法规洞察总结时参考 |
| scripts/verify_laws.py | 交付前法条引用核验门禁（防幻觉/防缺漏） | Step 6 交付前必须运行 |

## 注意事项

**法律引用原则**：洞察总结与结论应优先依据现行有效法律（如《中华人民共和国民法典》及其配套司法解释），不得把已废止法律当作现行依据。检索结果中出现已废止/被修改法规时，**照实展示并强制标注时效性状态**（默认不过滤），并提示用户该条已失效、应以现行有效条文为准。

1. **时效性标注**：展示时逐条标注时效性，默认不过滤（详见「时效性策略」）
2. **排序**：连接器返回相似度时按其降序；未返回时保持连接器默认相关度顺序并在报告中说明
3. **结果扩量**：结果不足时，工具支持分页则按其分页入参续查；不支持分页时提高条数上限、换检索词分批检索或用多路检索对象数组，合并后去重
4. **空结果处理**：严格执行 Step 3 中的空结果自动重试策略
5. **交付顺序**：归一化 JSON 落盘 → md 交付物 → 门禁 → 展示/按需转 docx

## 常见错误及避免方法

| 错误类型 | 错误示例 | 正确做法 | 影响 |
|---------|---------|---------|------|
| 法条引用漏书名号或拆开写 | `劳动合同法 第46条`、`### 3. 劳动合同法 第四十六条` | `《中华人民共和国劳动合同法》第四十六条` | 门禁提取到 0 条引用，交付被拦截 |
| 跨工具照搬关键词分隔约定 | 给只接受自然语言文本的参数塞 `消费者,退货,网购` | 先用 `qwenwork_mcp_tool_get` 看 schema，按该工具要求的形态传（自然语言长句 / 空格分词 / 结构化对象） | 命中率骤降或返回 0 条 |
| 对语义检索类工具压缩字数 | 把完整问题砍成 `退货` 再检索 | 语义检索传自然语言描述：`网络购物中消费者七日无理由退货的条件与例外` | 语义信息丢失，召回变差 |
| 对关键词检索类工具传整句 | `网络购物七天无理由退货的法律规定是什么` | `网络购物 七日无理由退货` | 分词后 AND 条件过严，无结果 |
| 使用口语化词汇 | `七天退货` | `七日无理由退货` | 无法匹配法条原文 |
| 未落盘就想跑门禁 | 直接在对话里出报告，跳过 `verify_laws.py` | 先落 `outputs/law-search-*.json` 与 `outputs/regulation-report-*.md` 再跑脚本；确实无法写文件时走对话内人工核对并声明 | 幻觉法条无人拦截 |
| 给嵌套对象型工具传扁平参数 | 传 `size`/`effectiveness` 等该工具 schema 里不存在的参数 | 只填其结构化对象子字段，条数与过滤项改为本地处理并声明能力受限 | 调用报错或参数被忽略 |
| 对技术标准编号跑法规结构化检索 | 把 GB50736-2012、GB/T 50326 等标准号当法规关键词多路检索 | GB/IEC/ISO 等技术标准**不是法律法规**，法规库不含其全文：①用语义检索查标准的发布公告（标准编号、施行日期、强制性条文清单）；②同时检索法律层面对"工程建设强制性标准"的约束条款（如《实施工程建设强制性标准监督规定》）；③在报告中声明"技术标准全文需另行向标准出版机构获取" | 多路检索全部落空、浪费调用且无产出 |

## 最佳实践示例

### 示例 1：七天无理由退货查询
**用户输入**："网络购物七天无理由退货的法律规定"

**Query 改写**：
```json
{
  "scene": "法条检索",
  "original_intent": "网购七天无理由退货规定",
  "query": "网络购物 七日无理由退货",
  "keywords": ["网购", "退货", "消费者"],
  "tips": "使用'七日'而非'七天'，符合法律术语；若命中的是语义检索类工具，可直接传完整问题描述"
}
```

**连接器调用（入参语义，实际参数名以 `qwenwork_mcp_tool_get` 返回的 schema 为准）**：
```text
qwenwork_mcp_tool_call(
  tool: <匹配到的「法规检索」工具>,
  args: {
    <查询文本>: "网络购物 七日无理由退货",   // 语义检索类工具可传："网络购物中消费者七日无理由退货的条件与例外"
    <返回条数>: 10
  }
)
```

**交付物片段（格式即门禁口径）**：
```markdown
# 法规检索报告

## 检索说明
- **query**：网络购物 七日无理由退货
- **keywords**：网购、退货、消费者
- **返回条数**：10
- **执行时间**：2026-08-10 14:30
- **数据源**：<实际调用的法规检索工具>
- **能力受限声明**：无

## 相关法规清单

### 1. 《中华人民共和国消费者权益保护法》第二十五条

- **效力级别**：法律
- **时效性**：现行有效
- **相似度**：0.92
- **条款内容**：<检索返回的条文原文>
```

### 示例 2：劳动合同补偿查询
**用户输入**："劳动合同到期公司不续签要给多少补偿"

**Query 改写**：
```json
{
  "scene": "法条检索",
  "original_intent": "劳动合同期满补偿标准",
  "query": "劳动合同期满 经济补偿",
  "keywords": ["劳动合同", "期满终止", "经济补偿"],
  "lawName": "劳动合同法",
  "tips": "预期命中《中华人民共和国劳动合同法》第四十六条、第四十七条，检索后据实核对，不得预先写入报告"
}
```

**连接器调用（入参语义，实际参数名与结构以 schema 为准）**：
```text
// 扁平入参型
qwenwork_mcp_tool_call(
  tool: <匹配到的「法规检索」工具>,
  args: {
    <查询文本>: "劳动合同期满 经济补偿",
    <法规名称过滤>: "劳动合同法",   // 无此入参时并入查询文本
    <返回条数>: 10
  }
)

// 嵌套对象型
qwenwork_mcp_tool_call(
  tool: <匹配到的「法规检索」工具>,
  args: {
    <结构化检索对象>: { <法规名称>: "中华人民共和国劳动合同法", <条款编号>: "", <主题关键词>: "劳动合同期满 经济补偿" }
  }
)
```

**门禁执行**：
```bash
python3 scripts/verify_laws.py \
  --json outputs/law-search-20260810-1430.json \
  --doc  outputs/regulation-report-20260810-1430.md \
  --require-citations
```
退出码 0 → 展示交付物；非 0 → 按「异常处理 → 门禁拦截」修正后重跑。

## 可选套件上下文（不影响独立使用）

1. 工作目录根存在 `套件运行规则.md` 时必须先读取并执行；不存在时以本技能硬规则为准，不影响独立使用。
2. 工作目录根存在 `办案画像.md` 时，只读取与当前任务有关的诉讼立场、风险偏好和文书风格；不存在时按本技能默认运行，不追问、不报错。
3. 仅当用户明确切换到某案或提供唯一案件路径时，读取 `cases/{案件简称}/案件画像.md`；不得猜测案件，不得跨案带入。
4. 画像只影响表达与偏好，不得覆盖事实、法律依据、必备结构、验证结果或本技能硬规则。
5. 已明确绑定唯一案件且案件管家可用时，成果完成后提交标准案件事件；无案件不建档、不回写，回写失败不得阻塞成果交付。

