# Query

> 基于 笔记/Wiki/ 知识库回答问题。必须先读取 index.md 定位相关页面，再深度阅读，最后用双链引用回答。支持 Synthesis 自动发现、多页面交叉验证、回答质量 Calibration。禁止凭模型记忆回答。

- Skill: `dqtx760/query` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dqtx760/query`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dqtx760/query/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dqtx760 (https://skillmd.com/u/dqtx760)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dqtx760/query

---


# query 技能 v2.0

## 核心定位

Query 是知识工厂的**问答引擎**：只使用你的本地知识库回答问题，绝不凭模型记忆胡说八道。所有回答都带来源引用，高价值总结自动固化为 Synthesis。

**架构升级 v2.0：**
- ✅ 支持多页面交叉引用与一致性验证
- ✅ Synthesis 自动发现机制（无需用户问）
- ✅ Calibration 回答质量自检
- ✅ Memory 记住你问过的问题，避免重复回答

---

## 触发场景

| 触发方式 | 示例 |
|---------|------|
| `/query 问题` | `/query Claude Code 和普通 AI 有什么区别？` |
| 自然语言询问 | "我的笔记里关于 X 是怎么说的？"、"过去我对 Y 的决策是什么？" |
| 关键词触发 | 提及"wiki"、"知识库"、"笔记"、"记录" |

---

## 检索与综合流水线（v2.0 增强版）

### 前置检查：Memory 查询历史

**第一步永远检查 Memory：**
1. 查询该问题或相似问题是否已回答过
2. 已回答 → 直接给出上次的 Synthesis 链接，问是否需要更新
3. 未回答 → 继续流程，回答后记录到 Memory

---

### 步骤 1：查阅全局索引

**永远的第一步**：读取 `笔记/Wiki/index.md`

在 index.md 中定位与问题相关的：
- **Architecture**：架构、设计哲学
- **Tools**：工具、能力、最佳实践
- **Skills**：技能、工作流
- **Methodologies**：方法论、框架
- **Integrations**：集成方案
- **Sources**：来源摘要
- **Syntheses**：已有的综合分析

---

### 步骤 2：深度阅读 + 交叉验证

选取步骤 1 中找到的最相关页面，使用读取工具获取完整内容。

**v2.0 增强：多页面一致性校验**
- 如果 > 2 个页面提到同一话题，自动比对说法是否一致
- 发现不一致 → 明确标注："关于 X 有两种说法：A 页面说... B 页面说..."
- 标注每个主张的来源置信度

---

### 步骤 3：Calibration 质量自检

回答前必须通过自检：

| 检查项 | 通过标准 |
|-------|---------|
| ✅ 无编造 | 所有信息都能在本地页面找到原文 |
| ✅ 引用完整 | 每个主张都有对应的双链引用 |
| ✅ 冲突标注 | 页面间的不一致已明确标注 |
| ✅ 区分边界 | 通用知识 vs 知识库知识已明确划分 |

**未通过自检的处理方式：**
> ⚠️ 自检未通过：以下回答包含模型通用知识补充，本地知识库中未找到对应内容。

---

### 步骤 4：综合回答 + 双链引用

**回答规范：**
- 每当引用某个 Wiki 页面的信息，在文本中使用 `[[页面名称]]` 标注
- 整段引用同一页面：段落首尾各引用一次
- 引用特定原文：使用 Markdown 块引用 `> 原文内容`
- 发现不一致：用 `⚠️ 知识冲突` 标注

**降级策略（知识库无内容时）：**
> 本地知识库中未找到相关内容，以下为通用知识回答：
> [直接回答问题，但明确标注这是外部知识]

---

### 步骤 5：Synthesis 自动发现

**满足以下任一条件，主动询问是否保存：**

| 条件 | 说明 |
|------|------|
| 回答 > 2 个段落 | 内容较长，有保存价值 |
| 引用 > 3 个页面 | 跨页面综合，本身就是新知识 |
| 解决了知识冲突 | 对不一致的说法做了梳理 |
| 用户追问 > 2 次 | 迭代式问答，价值高 |

**询问话术：**
> 💡 这是一个有价值的综合分析，是否需要我将其保存为 Synthesis 页面？

**用户同意后：**
1. 在 `笔记/Wiki/syntheses/` 创建页面
2. 按照规范填写 Frontmatter
3. 在 `笔记/Wiki/index.md` 的 Syntheses 分类下注册
4. 在 Memory 记录该 Synthesis 的核心论点

---

### 步骤 6：记录操作日志

无论是否生成 Synthesis，查询结束后必须在 `笔记/Wiki/log.md` 末尾追加：

```markdown
## [YYYY-MM-DD] query | 用户问题简述
- **引用页面**: [[PageA]], [[PageB]], [[PageC]]
- **输出**: 即时回答未保存 / 已保存为 [[SynthesisName]]
- **发现冲突**: 无 / 发现 X 与 Y 在 Z 问题上不一致
```

---

## v2.0 增强特性

### 1. 多页面交叉验证
- v1.0：单页引用 → 可能片面
- v2.0：多页交叉 → 自动发现不一致，回答更可靠
- 自动标注置信度：多个页面一致 → high，单个来源 → medium

### 2. Synthesis 自动发现
- 不需要用户说"帮我总结一下"
- AI 主动判断回答的价值，提出保存建议
- 保存的 Synthesis 成为后续 query 的输入 → 知识飞轮

### 3. Memory 上下文延续
- 记住你问过的问题："上次你问过 X，这次是想补充 Y 吗？"
- 记住你的偏好：你喜欢对比分析、你喜欢列表格式
- 避免重复劳动

### 4. 渐进式回答
- 先给你 2 句话摘要
- 再给详细展开
- 最后问你：需要我深入哪个部分？

---

## 强制约束（红线）

1. ✅ **禁止凭记忆回答**：回答前必须检索知识库，必须能找到原文对应
2. ✅ **禁止静默回答**：知识库无内容时必须声明，不能假装知道
3. ✅ **禁止过度引用**：同一页面的信息在段落首尾引用一次即可
4. ✅ **禁止混淆边界**：必须明确区分"知识库内容"和"通用知识"
5. ✅ **冲突必须标注**：发现不一致时不能选边站，必须明确标注冲突

---

## 回答示例

```
关于 Claude Code 和普通 AI 的区别：

[[Claude_Code]] 的核心定位是"AI 原生开发环境"，而普通 AI（如豆包）是"对话式问答工具"。本质区别在于：普通 AI 给你建议，你自己动手；Claude Code 直接把活干了。

从能力维度看：
- 普通 AI 只有对话能力，没有操作权限
- Claude Code 有 100+ 内置工具，可以直接改代码、发消息、调 API [[Tool_System]]
- Claude Code 支持 Subagent 并行处理，一个顶五个 [[Agent_Architecture]]
- Claude Code 有持久化 Memory，跨会话记住你的偏好 [[Memory_System]]

⚠️ 知识冲突：[[摘要-5c-prompt-contracts-paper]] 说提示工程已死，
但 [[摘要-anthropic-prompting-best-practices]] 仍推荐使用简化提示。
两者的共识是：复杂 DSL 有害，简单自然语言提示效果最好。

💡 这是一个有价值的综合分析，是否需要保存为 Synthesis？
```

---

## 关联连接
- [[Skill_Ingest]] — 知识编译流水线，是 query 的上游
- [[Skill_Lint]] — 知识库质量门禁，确保 query 的数据源可靠
- [[Memory_System]] — 查询历史与用户偏好记忆
- [[Synthesis_Workflow]] — 综合分析页面的创建规范

