对 wiki 提问,综合检索相关页面后回答,好的回答可 crystallize 回 wiki
Scanned 6/5/2026
Install via CLI
openskills install Lambenthan/empiricalwiki---
description: 对 wiki 提问,综合检索相关页面后回答,好的回答可 crystallize 回 wiki
argument-hint: <question>
---
# /ask
> 对 wiki 知识库提问。LLM 读取 context_brief.md 获取全局上下文,检索相关页面,
> 综合回答并附带引用。好的回答可以 crystallize 回 wiki——写入 outputs/ 或创建新的
> concept/claim 页面,让探索成果像 ingest 一样持续积累。
## Inputs
- `question`:自然语言问题(如 "LoRA 和 Adapter 的核心区别是什么?")
- `--crystallize`(可选):若指定,将回答 crystallize 回 wiki(默认仅回答不写入)
- `--format`(可选):输出格式,默认 `markdown`,可选 `table` / `timeline` / `bullets`
## Outputs
- **始终**:终端输出综合回答(含 `[[slug]]` 引用)
- **若 crystallize**:
- `wiki/outputs/{query-slug}.md` — 查询结果页面(默认 crystallize 目标)
- 或 `wiki/concepts/{slug}.md` — 若回答揭示了新的跨论文概念
- 或 `wiki/claims/{slug}.md` — 若回答发现了可验证的新断言
- 更新的 `wiki/graph/edges.jsonl`(crystallize 产生的关系)
- 更新的 `wiki/index.md` 和 `wiki/log.md`
## Wiki Interaction
### Reads
- `wiki/graph/context_brief.md` — 全局压缩上下文(claims, gaps, failed ideas, papers, edges)
- `wiki/index.md` — 页面目录,用于定位相关页面
- `wiki/graph/open_questions.md` — 开放问题,辅助判断问题是否涉及已知知识缺口
- `wiki/papers/*.md` — 与问题相关的论文页面
- `wiki/concepts/*.md` — 与问题相关的概念页面
- `wiki/claims/*.md` — 与问题相关的 claim 页面
- `wiki/topics/*.md` — 与问题相关的 topic 页面
- `wiki/people/*.md` — 若问题涉及特定研究者
- `wiki/ideas/*.md` — 若问题涉及研究想法或 failed ideas
- `wiki/experiments/*.md` — 若问题涉及实验结果
- `wiki/Summary/*.md` — 若问题涉及领域全景
### Writes(仅 crystallize 模式)
- `wiki/outputs/{query-slug}.md` — CREATE(查询结果页面)
- `wiki/concepts/{slug}.md` — CREATE(新发现概念)或 EDIT(补充已有概念)
- `wiki/claims/{slug}.md` — CREATE(新发现断言)或 EDIT(补充 evidence)
- `wiki/graph/edges.jsonl` — APPEND(crystallize 产生的关系)
- `wiki/graph/context_brief.md` — REBUILD(若 crystallize 创建了新页面)
- `wiki/graph/open_questions.md` — REBUILD(若 crystallize 创建了新页面)
- `wiki/index.md` — EDIT(若 crystallize 创建了新页面)
- `wiki/log.md` — APPEND
### Graph edges created(仅 crystallize)
- `output → paper`: `derived_from`(回答引用的论文)
- `output → concept`: `derived_from`(回答引用的概念)
- `output → claim`: `derived_from`(回答引用的 claim)
- `concept → paper`: `supports`(若新概念从论文中归纳)
- `claim → paper`: `supports`(若新 claim 从论文中提取)
## Workflow
**前置**:确认工作目录为 wiki 项目根(包含 `wiki/`、`raw/`、`tools/` 的目录)。
设 `WIKI_ROOT=wiki/`。
### Step 1: 加载全局上下文
1. 读取 `wiki/graph/context_brief.md`——获取 wiki 当前知识的压缩快照(claims, gaps, papers, edges)
2. 读取 `wiki/graph/open_questions.md`——了解已知的开放问题和知识缺口
3. 若两者都不存在,先重建:
```bash
python3 tools/research_wiki.py rebuild-context-brief wiki/
python3 tools/research_wiki.py rebuild-open-questions wiki/
```
### Step 2: 检索相关页面
1. 读取 `wiki/index.md`,基于 question 关键词匹配相关 slugs
2. 从 context_brief.md 中提取与 question 语义相关的 claims 和 papers
3. 按相关性排序,选取 top-K 页面(K ≤ 15,避免上下文过长)
4. 读取选中页面的完整内容
5. 若 question 涉及关系(如 "X 和 Y 的区别"),额外读取 `wiki/graph/edges.jsonl` 中连接 X 和 Y 的边
### Step 3: 综合回答
1. 基于收集的页面内容,综合回答用户问题
2. 回答要求:
- **有引用**:每个关键论断必须附带 `[[slug]]` wikilink 指向来源页面
- **有结构**:根据 `--format` 参数组织输出(markdown / table / timeline / bullets)
- **识别不确定性**:对 wiki 中证据不足的部分明确标注 "wiki 中尚无充分证据"
- **标注知识缺口**:若问题触及 open_questions.md 中的已知缺口,明确指出
- **引用 claim confidence**:涉及 claim 时注明其 confidence 和 status
3. 若问题超出 wiki 当前知识范围,坦诚告知并建议:
- 需要 ingest 哪些论文来填补
- 可能的搜索方向(arXiv 关键词、Semantic Scholar 查询)
### Step 4: 评估 crystallize 价值
1. 判断回答是否值得写回 wiki(即使用户未指定 `--crystallize`,也给出建议)
2. Crystallize 值得的信号:
- 回答综合了多篇论文的信息,形成了新的跨论文洞察
- 回答揭示了一个 wiki 中尚未显式记录的概念
- 回答发现了一个可验证的新断言(claim)
- 回答回应了 open_questions.md 中的一个已知缺口
3. Crystallize 不值得的信号:
- 回答只是复述了单一页面的内容
- 问题是简单事实查询(如 "LoRA 是哪年发表的?")
- 回答主要依赖推测而非 wiki 中的证据
4. 在回答末尾附带 crystallize 建议:
```
💡 Crystallize 建议:[值得/不必要] — [原因]
```
### Step 5: Crystallize 回 wiki(若用户确认或指定了 --crystallize)
根据回答内容选择 crystallize 目标:
**Case A — 写入 outputs/(默认):**
1. 生成 slug:`python3 tools/research_wiki.py slug "<query-summary>"`
2. 创建 `wiki/outputs/{query-slug}.md`:
```yaml
---
title: ""
slug: ""
query: "" # 原始问题
source_pages: [] # 回答引用的所有页面 slugs
date_created: YYYY-MM-DD
---
```
正文为回答内容(保留 wikilinks)
3. 为每个引用的源页面添加 graph edge:
```bash
python3 tools/research_wiki.py add-edge wiki/ --from outputs/<slug> --to papers/<source-slug> --type derived_from --evidence "query answer"
```
**Case B — 创建新 concept:**
1. 若回答揭示了新概念:按 CLAUDE.md concept 模板创建 `wiki/concepts/{slug}.md`
2. maturity: emerging
3. key_papers: 从回答引用中提取
4. 添加 graph edges(concept → papers)
5. 在相关 paper 页面的 `## Related` 追加反向链接
**Case C — 创建新 claim:**
1. 若回答发现新断言:按 CLAUDE.md claim 模板创建 `wiki/claims/{slug}.md`
2. status: proposed(从查询综合得出,非直接实验证据)
3. confidence: 基于引用 evidence 的强度设置初始值
4. source_papers: 从回答引用中提取
5. 添加 graph edges(claim → papers)
6. 在相关 paper 页面的 `## Related` 追加反向链接
### Step 6: 更新导航与图谱(仅 crystallize)
1. **index.md**:在对应分类下追加新建页面条目
2. **log.md**:
```bash
python3 tools/research_wiki.py log wiki/ "ask | <question-summary> | crystallized: <target-path>"
```
若未 crystallize:
```bash
python3 tools/research_wiki.py log wiki/ "ask | <question-summary> | answer-only"
```
3. **重建 graph 派生文件**(仅 crystallize 创建了新页面时):
```bash
python3 tools/research_wiki.py rebuild-context-brief wiki/
python3 tools/research_wiki.py rebuild-open-questions wiki/
```
### Step 7: 报告给用户
输出摘要,包含:
- 检索的页面数量和列表
- 回答(带引用和格式)
- 知识缺口标注(若有)
- Crystallize 建议或执行结果
- 后续建议(推荐 ingest 的论文、相关的 open questions)
## Constraints
- **不得虚构**:回答必须基于 wiki 中的实际内容,不得凭 LLM 预训练知识编造
- **引用必须存在**:每个 `[[slug]]` 必须指向 wiki 中实际存在的页面
- **raw/ 只读**:不得修改 `raw/` 下的文件
- **graph/ 仅通过 tools 维护**:不得手动编辑 `graph/` 下的文件
- **Crystallize 需确认**:除非用户显式指定 `--crystallize`,否则仅建议但不执行写入
- **上下文限制**:检索页面数量 ≤ 15,避免超出上下文窗口
- **claim confidence 引用**:涉及 claim 时必须注明其 confidence 值和 status
- **gap 标注**:若问题涉及 open_questions.md 中的已知缺口,必须明确指出
- **outputs/ frontmatter 必须包含 query 和 source_pages**:确保可追溯
## Error Handling
- **context_brief.md 不存在**:运行 `python3 tools/research_wiki.py rebuild-context-brief wiki/` 重建后重试
- **wiki 为空**:告知用户先运行 `/init` 或 `/ingest` 建立知识基础
- **无相关页面匹配**:坦诚告知 wiki 中无相关内容,建议搜索和 ingest 方向
- **crystallize slug 冲突**:追加数字后缀(如 `query-result-2`)
- **index.md 不存在**:运行 `python3 tools/research_wiki.py init wiki/` 初始化后重试
## Dependencies
### Tools(via Bash)
- `python3 tools/research_wiki.py slug "<title>"` — slug 生成
- `python3 tools/research_wiki.py add-edge wiki/ --from <id> --to <id> --type <type> --evidence "<text>"` — 添加 graph edge
- `python3 tools/research_wiki.py rebuild-context-brief wiki/` — 重建压缩上下文
- `python3 tools/research_wiki.py rebuild-open-questions wiki/` — 重建知识缺口地图
- `python3 tools/research_wiki.py log wiki/ "<message>"` — 追加日志
- `python3 tools/research_wiki.py init wiki/` — 初始化 wiki(fallback)
### Skills(via Skill tool)
- `/ingest` — 若建议用户补充知识时引用
### Shared References
- `.claude/skills/shared-references/citation-verification.md`(Phase 3 创建)
No comments yet. Be the first to comment!