## 关键词扩展与分阶段检索

关键词检索默认是精确匹配，用户搜索"刑事案件管辖权"不会自动命中"知识产权管辖权"等相关概念。本节说明 AI 应如何主动扩展检索范围、分阶段提炼精准结果。

### 关键词扩展原则

AI 在执行关键词检索前，应先分析用户查询是否涉及可扩展的法律概念：

1. **上位概念扩展**：将具体概念扩展到上位概念。例如"商标侵权"→ 同时检索"知识产权侵权"
2. **并列概念扩展**：关联同一层级的平行概念。例如"管辖权异议"→ 同时考虑"管辖权转移""指定管辖"
3. **程序-实体关联**：从实体法关键词关联到程序法关键词。例如"正当防卫"→ 也关注"防卫过当""紧急避险"

### 扩展关键词工作流

当 AI 判断用户查询涉及可扩展概念时，按以下流程操作：

1. **识别核心关键词**：从用户查询中提取核心法律概念
2. **生成扩展词列表**：基于上述原则，列出 2-5 个相关关键词
3. **分阶段检索**：
   - **第一阶段（广撒网）**：用核心关键词执行一次检索（使用 `--search-mode or` 扩大命中范围）
   - **第二阶段（精提炼）**：根据第一阶段结果，提炼更精准的关键词组合再检索一次
4. **结果合并与去重**：将两次检索结果合并，按相关性排序展示
5. **扩展方向提示**：检索完成后，向用户建议可能相关的扩展检索方向

### 脚本参数支持

关键词检索、案例检索和法规检索新增 `--expand` 参数，用于一次性传入多个扩展关键词：

```bash
# 法条关键词扩展检索
scripts/yd-run keyword "刑事案件 管辖权" --expand "知识产权管辖,级别管辖,专门管辖" --search-mode or

# 案例关键词扩展检索
scripts/yd-run case "买卖合同 瑕疵担保" --expand "质量纠纷,违约责任" --search-mode or

# 法规关键词扩展检索
scripts/yd-run regulation "民法典 合同" --expand "买卖合同,租赁合同" --search-mode or
```

`--expand` 参数的行为：
- 将扩展关键词追加到原始查询中；未显式传入 `--search-mode` 时，自动使用 `or` 模式检索
- 如果显式传入 `--search-mode and`，尊重用户指定，仍按 AND 模式检索
- 等效于将原始关键词与扩展关键词用空格连接后以 OR 模式检索
- 不带 `--expand` 时保持原有的精确匹配行为（默认 `and`）

### 分阶段检索示例

用户问："关于刑事案件管辖权有哪些规定？"

**第一阶段（广撒网）**：
```bash
scripts/yd-run keyword "刑事案件 管辖权 级别管辖 地域管辖 专门管辖" --search-mode or --sxx 现行有效
```

**分析第一阶段结果**：发现大量结果涉及"级别管辖"和"地域管辖"两个核心分支

**第二阶段（精提炼）**：
```bash
scripts/yd-run keyword "级别管辖 中级法院" --search-mode and --sxx 现行有效
scripts/yd-run keyword "地域管辖 犯罪地" --search-mode and --sxx 现行有效
```

### 扩展方向提示

检索完成后，AI 应根据检索结果向用户建议相关的扩展方向。提示格式：

```
本次检索完成了对"刑事案件管辖权"的查询，消耗 XX 积分。

💡 相关的扩展检索方向：
1. 级别管辖 —— 中级/高级/最高法院的管辖分工
2. 地域管辖 —— 犯罪地、被告人居住地的管辖规则
3. 专门管辖 —— 军事法院、知识产权法院等专门管辖
如需深入了解某个方向，请告诉我。
```

### 策略兼容性

关键词扩展行为与三种检索策略的关系：

| 策略 | 扩展行为 | 分阶段检索 | 积分控制 |
|------|----------|-----------|----------|
| **balanced** | AI 判断是否需要扩展，主动执行 | 可执行两阶段检索 | 第二阶段前告知用户将额外消耗积分 |
| **economical** | 不主动扩展，仅用户要求时执行 | 不执行，一次检索完成 | 仅扩展时提示积分消耗 |
| **aggressive** | 自动扩展所有相关概念，不等待确认 | 自动执行多阶段检索 | 不限制，追求最大覆盖面 |
