Communitygithub.com

本体知识库问答 (Ontology Notes)

基于本地本体知识库的问答技能,无需外部依赖即可进行检索和回答。

本体知识库问答 (Ontology Notes) 是什么?

该技能定义了一个严格的问答工作流,要求 AI 助手从本地本体知识库(而非模型参数记忆)中检索信息来回答问题。它通过解析 `SKILL.md` 所在目录下的 `scripts/ontology_kb.py` 脚本,提供了一套零外部依赖的命令行界面,用于搜索、展示笔记及其关联信息。工作流包含知识库定位、响应模式推理(如解释、比较、推荐等)以及多步骤检索流程,强调证据追溯与来源标注。技能支持多种平台,通过强制性的笔记引用、来源审计和版本/归档状态披露来确保回答的准确性和透明度。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add matthiasdebernardini/ontology-notes

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

本体知识库问答 (Ontology Chat)

基于本地本体知识库回答,而非依赖模型记忆。

定位知识库

解析相对于本 SKILL.md 的 scripts/ontology_kb.py。CLI 按如下顺序定位知识库根目录:

  1. 显式的 --root PATH
  2. ONTOLOGY_KB_ROOT 环境变量
  3. ~/.config/ontology-chat/config.json
  4. 当前目录及其父目录
  5. 技能源目录及其父目录

如果发现失败,需解释如何运行仓库中的 scripts/install.py 或设置 ONTOLOGY_KB_ROOT。不得基于已有知识静默回答。

在开始陌生会话时,首先执行:

python3 <skill-dir>/scripts/ontology_kb.py status --json

选择响应模式

根据问题推断模式:

  • 解释 (Explain): 定义一个概念,并将其与具体的标准或项目联系起来。
  • 比较 (Compare): 为每个被比较项检索证据,并按维度陈述差异。
  • 推荐 (Recommend): 从笔记中推导出评判标准,呈现权衡,并将最终推荐标注为编辑性建议。
  • 操作指南 (How-to): 根据文档化的工具和格式,组装出一个有依据的工作流程。
  • LLM 模式 (LLM patterns): 区分直接的 LLM 实现、编目提及、经典 ML、嵌入和通用知识图谱的使用。
  • 来源审计 (Source audit): 将声明从综合结论追溯到笔记,并在本地可用时追溯到抓取的文本或仓库文档。
  • 学习路径 (Learning path): 从基础概念到工具和高级模式,对阅读材料进行排序。
  • 探索 (Explore): 展现相关的条目、章节、注意事项和后续问题。

检索工作流

  1. 识别任何明确提到的项目、标准、本体或词汇表。首先运行 sources <名称> --json,以便在更广泛的搜索之前显示跳过的条目和已记录的证据缺口。如果条目被跳过,则以此限制作为开场;其他笔记中的间接提及仅可作为次要证据进行总结。
  2. 将剩余问题转化为两到四个简短、具体的搜索查询。如果已知,请包含被比较项的名称。
  3. 对每个查询运行检索:
python3 <skill-dir>/scripts/ontology_kb.py search "<查询>" --limit 8 --json

有用的过滤器包括 --section 和 --kind。 4. 合并结果,并打开最佳的四到八个 notes/<slug>.md 文件。不要将片段视为充分证据。 5. 对于比较,确保每个被命名的项都有其自己的笔记。如果检索未将其呈现,则使用 show <slug>。 6. 仅将 SYNTHESIS.md 用于定位和跨源结构。在重复其主张之前,需根据引用的笔记进行验证。 7. 对于有争议的、令人惊讶的或需要进行来源审计的主张,运行 sources <slug> --json。如果存在 sources/<slug>.txt 或 repos/<slug>/ 目录,请检查相关的源段落或 README/文档。公共安装可能省略了这些第三方制品;应披露此限制,而不是即兴编造。 8. 仅在确定了一个有用的锚点笔记后,才使用 related <slug> --limit 8 --json。

依据规则

  • 事实性声明必须基于已打开的笔记。不得从通用本体知识中填补空白。
  • 每个实质性的段落或列表项都必须附上仓库相对路径的 Markdown 链接,例如 [OntoLearner](notes/ontolearner.md)。
  • 将特定来源的声明归因于该来源。对于跨源结论,需使用多个引用。
  • 明确将基于证据组合的建议标注为 推荐 (Recommendation) 或 编辑性综合 (Editorial synthesis)。
  • 保留限定条件,包括版本时效、归档状态、不完整的文档、配置文件限制、规模限制以及仅限目录的证据。
  • 不得将“列出了指南”当作指南内容的证据。
  • 不得将普通的图数据库、嵌入、符号推理或经典机器学习称为“LLM 集成”。
  • 如果一个明确命名的条目被跳过,请在回答开头说明,并引用或密切改写其记录的 skip_reason。不得用间接提及替代不存在的专用笔记,也不得编造其内容。
  • 如果知识库不支持该回答,请说明原因,并指出缺失的证据。

默认回答结构

使用最轻量级的合适结构:

  1. 直接回答
  2. 基于证据的解释或比较
  3. 重要的注意事项
  4. (可选)后续问题或阅读建议

除非用户要求审计,否则避免转储检索分数或内部搜索步骤。优先使用少量强有力的引用,而不是冗长的参考书目。

CLI 参考

ontology_kb.py search <查询> [--limit N] [--section TEXT] [--kind KIND] [--json]
ontology_kb.py show <slug或名称> [--json]
ontology_kb.py related <slug或名称> [--limit N] [--json]
ontology_kb.py sources <slug或名称> [--json]
ontology_kb.py status [--json]

选项可以出现在子命令之前或之后。该 CLI 是确定性的、无外部依赖的,且不执行任何网络请求。

相关技能