Ontology Chat
ローカルのオントロジー知識ベースから回答します。記憶から回答することはありません。
知識ベースの場所を特定する
この SKILL.md からの相対パスで scripts/ontology_kb.py を解決します。CLIは以下の順序で知識ベースのルートを特定します。
- 明示的な
--root PATH ONTOLOGY_KB_ROOT~/.config/ontology-chat/config.json- カレントディレクトリとその親ディレクトリ
- スキルソースディレクトリとその親ディレクトリ
特定に失敗した場合は、リポジトリの scripts/install.py を実行する方法、または ONTOLOGY_KB_ROOT を設定する方法を説明します。事前知識から暗黙的に回答することは避けてください。
新しいセッションは以下のコマンドで開始してください。
python3 <skill-dir>/scripts/ontology_kb.py status --json
応答モードを選択する
質問からモードを推論します。
- 説明: 概念を定義し、具体的な標準やプロジェクトと関連付けます。
- 比較: 比較対象の各アイテムについてエビデンスを取得し、次元ごとに差異を示します。
- 推奨: ノートから基準を導き出し、トレードオフを提示し、最終的な推奨事項を編集者注釈としてラベル付けします。
- 手順: 文書化されたツールとフォーマットから、根拠のあるワークフローを組み立てます。
- LLM パターン: 直接的なLLM実装と、カタログでの言及、古典的なML、埋め込み、汎用的なナレッジグラフの使用を区別します。
- ソース監査: 主張を統合からノートへ、そしてローカルで利用可能な場合は取得したテキストやリポジトリのドキュメントへとトレースします。
- 学習パス: 基礎概念からツール、高度なパターンへと、読む順序を整理します。
- 探索: 関連するエントリ、セクション、注意点、およびフォローアップの質問を表面化させます。
検索ワークフロー
- 明示的に名前が指定されたプロジェクト、標準、オントロジー、または語彙を特定します。まず
sources <name> --jsonを実行して、スキップされたエントリや記録されたエビデンスのギャップが広域検索の前に表示されるようにします。スキップされている場合は、その制限を最初に伝えます。他のノートでの間接的な言及は、二次的なエビデンスとしてのみ要約できます。 - 残りの質問を、2~4つの短く具体的な検索クエリに変換します。比較対象のアイテム名がわかっている場合はそれらを含めます。
- 各クエリに対して検索を実行します。
python3 <skill-dir>/scripts/ontology_kb.py search "<query>" --limit 8 --json
便利なフィルターは --section と --kind です。
4. 結果をマージし、最適な4~8個の notes/<slug>.md ファイルを開きます。スニペットを十分なエビデンスとして扱わないでください。
5. 比較の場合、名前が挙がったすべてのアイテムに専用のノートがあることを確認します。検索で見つからなかった場合は show <slug> を使用します。
6. SYNTHESIS.md は、概要とクロスソース構造の理解のためにのみ読みます。その主張を繰り返す前に、引用されたノートに対して検証します。
7. 議論のある、驚くべき、またはソース監査の主張については、sources <slug> --json を実行します。sources/<slug>.txt または repos/<slug>/ が存在する場合は、関連するソースの一節またはREADME/docsを調査します。パブリックインストールではこれらのサードパーティアーティファクトが省略されている場合があります。その場合は、代わりにその制限を開示し、即興で対応しないでください。
8. related <slug> --limit 8 --json は、有用なアンカーノートを特定した後にのみ使用します。
根拠付けルール
- 事実に基づく主張は、開かれたノートに基づきます。一般的なオントロジー知識でギャップを埋めることは決してしないでください。
- 実質的な段落や箇条書きごとに、リポジトリ相対のMarkdownリンク(例
[OntoLearner](notes/ontolearner.md))を使用して引用します。 - ソース固有の主張は、そのソースに帰属させます。クロスソースの結論には複数の引用を使用します。
- エビデンスから組み立てられたアドバイスには、明示的に 推奨 または 編集者による統合 とラベル付けします。
- バージョンの古さ、アーカイブステータス、不完全なドキュメント、プロファイルの制限、スケーリングの制限、カタログのみのエビデンスなど、限定事項を保持します。
- 「ガイドがリストされている」ことを、ガイドの内容のエビデンスにしないでください。
- 通常のナレッジグラフ、埋め込み、記号推論、古典的なMLを「LLM統合」と呼ぶことはしないでください。
- 明示的に名前が指定されたエントリがスキップされている場合は、最初にその旨を述べ、記録された
skip_reasonを引用するか、密接に言い換えます。間接的な言及を、存在しない専用ノートの代わりに使用したり、その内容を捏造したりしないでください。 - 知識ベースが回答をサポートしていない場合は、その旨を述べ、欠落しているエビデンスを特定します。
デフォルトの回答形式
最適な最も軽量な構造を使用します。
- 直接的な回答
- エビデンスに基づく説明または比較
- 重要な注意点
- オプションの次の質問または読書提案
ユーザーが監査を要求しない限り、検索スコアや内部検索手順をダンプすることは避けてください。長い参考文献リストよりも、少数の強力な引用を優先します。
CLI リファレンス
ontology_kb.py search <query> [--limit N] [--section TEXT] [--kind KIND] [--json]
ontology_kb.py show <slug-or-name> [--json]
ontology_kb.py related <slug-or-name> [--limit N] [--json]
ontology_kb.py sources <slug-or-name> [--json]
ontology_kb.py status [--json]
オプションはサブコマンドの前後どちらにも配置できます。CLIは決定論的で、依存関係がなく、ネットワークリクエストを実行しません。