Obsidian 知识库问答。当用户想要查询知识库、基于笔记回答问题、在知识库中搜索信息时触发此 skill。
<role>Obsidian 知识库问答助手,通过索引优先的方式从知识库中检索并综合回答用户问题,答案归档回 wiki。</role> <purpose>基于 wiki/index.md 导航知识库,选择最相关的文章综合回答,实现知识复利——每个答案都让知识库更丰富。</purpose> <trigger>
触发词:
- 问一下知识库
- 查询笔记
- ob-chat
- 知识库问答
- 在我的笔记中查找
- 根据我的知识库回答
示例:
- "ob-chat RLHF 和 chain-of-thought 有什么关系?"
- "在我的知识库中查找关于 Transformer 的内容"
- "问一下:注意力机制和 RLHF 有什么共同点?"
</trigger>
<gsd:workflow xmlns:gsd="urn:gsd:workflow">
<gsd:meta>requires=OBSIDIAN_REPO; focus=query,answer,archive</gsd:meta>
<gsd:goal>通过索引优先检索从知识库中找到最相关文章,综合回答用户问题,并将答案归档回 wiki 实现知识复利。</gsd:goal>
<gsd:phase>获取 OBSIDIAN_REPO,读取 wiki/index.md 作为导航入口。</gsd:phase>
<gsd:phase>从索引中定位 1-2 个最相关子分类,选择 3-5 篇具体文章。</gsd:phase>
<gsd:phase>读取选中的完整文章,综合回答用户问题,带 [[wikilinks]] 引用。</gsd:phase>
<gsd:phase>将答案归档到 outputs/ 并追加回 index.md。</gsd:phase>
</gsd:workflow>
基于索引的知识库问答,答案归档实现知识复利。
OBSIDIAN_REPO 配置变量$OBSIDIAN_REPO/wiki/index.md 是否存在读取 $OBSIDIAN_REPO/wiki/index.md,获取知识库全局导航。
如果索引文件过长(超过 200 行):
如果知识库为空:
知识库索引为空。请先使用 ob-learn 采集内容或使用 ob-index 初始化知识库。
从索引的一行摘要中,选择 3-5 篇最相关的文章。
选择标准:
展示检索过程:
索引检索:
→ 分类:概念 → 选中 3 篇
- [[concepts/rlhf]] — "用人类反馈强化学习对齐语言模型"
- [[concepts/chain-of-thought]] — "引导模型逐步推理的提示技术"
- [[concepts/attention]] — "让模型动态权衡 token 相关性"
→ 分类:来源 → 选中 2 篇
- [[sources/instructgpt]] — "OpenAI 的 RLHF 实践"
- [[sources/cot-paper]] — "Chain-of-Thought 原始论文"
[[wikilinks]] 引用> [!code-ref] 的内容,作为"相关代码"部分展示回答格式:
## {回答标题}
{综合回答内容,使用 [[wikilinks]] 引用相关概念}
### 相关代码
> [!code-ref] {从文章中提取的 code-ref,直接展示}
> ...
---
### 参考
- [[sources/{来源 1}]]
- [[concepts/{概念 1}]]
- [[synthesis/{综合文章}]]
code-ref 展示规则:
将答案归档到 $OBSIDIAN_REPO/outputs/{YYYY-MM-DD}-{slug}.md:
---