Knowledge Base Manager について
Knowledge Base Managerは、AIシステムやチーム向けのナレッジベースを設計・構築・維持するためのスキルです。ドキュメント型、グラフ型、ハイブリッド型を扱い、キュレーション、出典管理、品質検証、バージョン管理を案内します。
主な機能
- 01ドキュメント型・グラフ型・ハイブリッド型の比較
- 02情報源の監査と構成の設計
- 03情報の整理と出典の追跡
- 04ストレージと検索方式の選定
- 05品質・矛盾・古い情報の確認
- 06バージョン管理と継続保守の計画
活用シーン
- 01AIシステムの検証可能な根拠の構築
- 02複数の情報源の統合と重複・矛盾の解消
- 03知識の変更追跡とロールバック
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ daffy0208/ ai-dev-standards --skill knowledge-base-managerインストール後、Claude Code で/knowledge-base-managerを入力して読み込まれたか確認します。
同梱ファイルREADME.mdmanifest.yaml
詳細
ナレッジベースマネージャー
AI システムと人間が利用する、高品質なナレッジベースを構築、維持します。
基本原則
ナレッジベース = 構造化された情報 + 高品質なキュレーション + アクセシビリティ
ナレッジベースは単なるデータのダンプではありません。質問に答え、推論を可能にするために設計された、キュレーション、検証、バージョン管理済みの情報です。
ナレッジベースを使用する場面
ナレッジベースを使用する場合:
- ✅ 事実に関する質問に一貫して答える必要がある
- ✅ 情報が頻繁に変わり、バージョン管理が必要である
- ✅ 複数の情報源を統合し、照合する必要がある
- ✅ 出典情報と引用の追跡が重要である
- ✅ 根拠があり、検証可能な情報を必要とする AI システムを構築する
- ✅ 組織の知識を保存し、検索可能にする必要がある
- ✅ 相互につながる概念を含む複雑な分野を扱う
ナレッジベースを使用しない場合:
- ❌ 静的なドキュメントで十分である(ドキュメントと検索を使用)
- ❌ 維持・更新する人がいない(知識の劣化が避けられません)
- ❌ シンプルな FAQ ですべての質問に対応できる(50 項目未満)
- ❌ 情報が変化しない(静的サイトのほうが高速で低コスト)
- ❌ チームにキュレーションのリソースがない
ナレッジベースの種類:判断の枠組み
1. ドキュメントベースのナレッジベース(RAG)
概要: 意味検索のために分割・埋め込みされたドキュメントのコレクション
最適な用途:
- 技術ドキュメント
- サポート記事、FAQ
- ポリシードキュメント
- 研究論文
- ブログコンテンツ
- ユーザーマニュアル
長所:
- 新しいドキュメントを簡単に追加できる
- 完全な文脈を保持できる
- テキスト中心のコンテンツに適している
短所:
- 関係性に関する質問(「誰がどこで働いているか?」)への問い合わせが難しい
- ドキュメント間で情報が重複する
- 事実の一貫性を保つのが難しい
使用するもの: rag-implementer スキル + vector-database-mcp
2. エンティティベースのナレッジベース(ナレッジグラフ)
概要: 関係性でつながったエンティティ(人、場所、物)のネットワーク
最適な用途:
- 組織図
- 関係性を含む製品カタログ
- ソーシャルネットワーク
- レコメンデーションシステム
- 不正検知
- サプライチェーンの追跡
長所:
- 「X と Y はどのような関係か?」という問い合わせに最適
- 事実の一貫性が保たれる(信頼できる唯一の情報源)
- 強力な探索が可能(「友達の友達」)
短所:
- 事前のモデリングが必要(オントロジー設計)
- 非構造化情報の追加が難しい
- グラフクエリの習得に時間がかかる
使用するもの: knowledge-graph-builder スキル + graph-database-mcp
3. ハイブリッドナレッジベース(RAG + グラフ)
概要: 非構造化知識にはドキュメントを、構造化されたエンティティや関係性にはグラフを使用します
最適な用途:
- エンタープライズのナレッジマネジメント
- 引用や関係性を含む研究
- 医療システム(ドキュメント + 患者・薬剤間の関係性)
- 法律システム(判例 + 先例 + エンティティ)
- E コマース(製品 + 仕様 + 関係性)
長所:
- 両方の方式の長所を活用できる
- さまざまな種類の知識に柔軟に対応できる
- 豊富なクエリ機能を備える
短所:
- 構築と維持が最も複雑
- RAG とグラフの両方に専門知識が必要
- インフラコストが高い
使用するもの: rag-implementer と knowledge-graph-builder の両方のスキル
判断ツリー:どの種類のナレッジベースを選ぶか?
What kind of knowledge do you have?
├─ Mostly unstructured text (docs, articles, content)?
│ └─ Document-Based KB (RAG)
│ Use: rag-implementer skill
│
├─ Mostly structured entities with relationships?
│ └─ Entity-Based KB (Graph)
│ Use: knowledge-graph-builder skill
│
└─ Mix of both?
└─ Hybrid KB (RAG + Graph)
Use: Both skills + This skill for integration
ナレッジベース実装の 6 フェーズ
フェーズ 1:ナレッジの監査とアーキテクチャ
目標:どのようなナレッジが存在し、どのように構成するかを把握します
アクション:
-
既存のナレッジソースを一覧化する
- 内部:データベース、ドキュメント、ウィキ、Slack、メール
- 外部:公開データ、API、サードパーティのソース
- 暗黙知:専門家へのインタビュー、録音された会話
-
ナレッジの種類を分類する
- 事実:検証可能な事実(「製品 X の価格は 50 ドルです」)
- 手順:方法に関するナレッジ(「デプロイ方法」)
- 概念:定義と説明
- 関係:エンティティ間のつながり
-
ナレッジベースのアーキテクチャを選択する
- ドキュメントベース?エンティティベース?ハイブリッド?
- 決定:上記のフレームワークを使用します
-
ナレッジスキーマを定義する
- ドキュメントの場合:メタデータフィールド(ソース、日付、作成者、カテゴリ)
- エンティティの場合:オントロジー(エンティティの種類、関係の種類、プロパティ)
検証:
- すべてのナレッジソースを一覧化し、優先順位を設定済み
- ナレッジベースのアーキテクチャを選択し、その根拠を明確化済み
- スキーマを定義し、ユーザーとともに検証済み
- 成功指標を設定済み
フェーズ 2:ナレッジのキュレーションと取り込み
目標:生の情報を高品質なナレッジに変換します
アクション:
-
ソースからナレッジを抽出する
- 自動:スクレイピング、API による取り込み、ファイルの解析
- 手動:専門家の知見、アノテーション、検証
-
クリーンアップして正規化する
- 重複を削除する
- 形式を標準化する
- 不整合を修正する
- メタデータを付与する
-
ナレッジを構造化する
- ドキュメントの場合:意味上の境界に沿って適切に分割する
- エンティティの場合:エンティティ、関係、プロパティを抽出する
-
来歴情報を追加する
- ソース URL または参照情報
- 最終更新日時
- 作成者/貢献者
- 信頼度スコア(該当する場合)
キュレーションのベストプラクティス:
- 単一の信頼できる情報源:各質問に対して正規の回答を 1 つ用意します
- 重複排除:類似するナレッジ項目を統合します
- 競合の解決:ソース間で意見が異なる場合は、優先順位のルールを定めます
- 豊富なメタデータ:メタデータが多いほど、フィルタリングと検索の精度が向上します
検証:
- ナレッジを抽出し、構造化済み
- 品質指標がしきい値を上回っている(精度 >95%)
- すべての項目の来歴情報を追跡済み
- サンプルクエリで関連性の高い結果を取得可能
フェーズ 3:ストレージと検索のセットアップ
目標:ナレッジにアクセスするための技術インフラを実装します
アーキテクチャパターン:
ドキュメントベースのナレッジベースの場合:
// Vector database for semantic search
interface DocumentKB {
store: 'Pinecone' | 'Weaviate' | 'pgvector'
chunks: {
content: string
embedding: number[]
metadata: {
source: string
title: string
updated_at: string
category: string
}
}[]
}
エンティティベースのナレッジベースの場合:
// Graph database for relationship queries
interface EntityKB {
store: 'Neo4j' | 'ArangoDB'
nodes: {
id: string
type: 'Person' | 'Organization' | 'Product' | 'Concept'
properties: Record<string, any>
}[]
relationships: {
from: string
to: string
type: string
properties: Record<string, any>
}[]
}
ハイブリッド型ナレッジベースの場合:
// Both vector DB + graph DB
interface HybridKB {
vectorDB: DocumentKB
graphDB: EntityKB
linker: {
// Links documents to entities mentioned in them
linkDocumentToEntities(docId: string): string[]
// Links entities to documents that mention them
linkEntityToDocuments(entityId: string): string[]
}
}
アクション:
-
データベースを選択する
- ドキュメント:Pinecone、Weaviate、pgvector
- エンティティ:Neo4j、ArangoDB
- ハイブリッド:両方と、それらをつなぐレイヤー
-
検索/クエリレイヤーを実装する
- ベクトル類似性検索(ドキュメント向け)
- グラフ探索(エンティティ向け)
- ハイブリッドクエリ(両方を組み合わせる)
-
キャッシュと最適化を追加する
- 頻繁に実行されるクエリをキャッシュする
- 一般的なアクセスパターンに合わせて最適化する
検証:
- データベースをデプロイし、アクセス可能
- 検索/クエリ機能が動作
- パフォーマンスが要件を満たしている(ほとんどのクエリで <100ms)
フェーズ 4:品質管理と検証
目標:ナレッジベースの正確性と信頼性を確保します
品質指標:
- 正確性:テスト用の質問に対する正答率
- 網羅性:回答可能なユーザーの質問の割合
- 鮮度:ナレッジの平均経過期間
- 一貫性:矛盾がある情報の割合
- 情報源の品質:権威ある情報源に基づく情報の割合
検証戦略:
1. テスト用質問セット 正解が分かっているテスト用の質問を 100 件以上作成します:
interface TestQuestion {
question: string
expected_answer: string
category: string
difficulty: 'easy' | 'medium' | 'hard'
}
2. 人によるレビュー
- ナレッジ項目を無作為に抽出して確認します
- 分野の専門家による検証を行います
- ユーザーフィードバックのループを作ります
3. 自動チェック
- 重複の検出:ほぼ同一の項目を見つけます
- 矛盾の検出:矛盾する事実を見つけます
- 陳腐化の検出:古くなった情報にフラグを付けます
- 引用の検証:情報源が現在も存在することを確認します
4. 継続的なモニタリング
interface KBHealthMetrics {
accuracy_score: number // 0-100
coverage_score: number // % questions answered
freshness_score: number // avg days since update
consistency_score: number // % no conflicts
user_satisfaction: number // feedback rating
}
アクション:
- テスト用質問の検証を実行します(目標:正確性 >90%)
- 人によるレビューを実施します(項目の 10% を抽出)
- 検出された問題(重複、矛盾、陳腐化)を修正します
- モニタリングダッシュボードを構築します
検証:
- テスト用質問の正確性が 90% 超
- ユーザーの質問の 80% 超を網羅
- 矛盾する情報が 5% 未満
- モニタリングダッシュボードが稼働中
フェーズ 5:バージョン管理と進化
目標:時間の経過に伴うナレッジの変更を追跡し、ロールバックを可能にします
バージョン管理が重要な理由:
- ナレッジは変化します(事実の更新、ポリシーの変更など)
- 監査証跡が必要です(誰が、いつ、何を変更したか)
- ロールバック機能が必要です(問題のある更新を取り消すため)
- 過去の問い合わせに対応できます(「2023 年時点での X に関するポリシーは?」)
バージョン管理戦略:
1. スナップショットによるバージョン管理
interface KnowledgeEntry {
id: string
content: string
version: number
created_at: string
updated_at: string
updated_by: string
changelog: string
previous_version?: string // ID of prior version
}
2. イベントソーシング
interface KnowledgeEvent {
event_id: string
entity_id: string
event_type: 'created' | 'updated' | 'deleted'
timestamp: string
changes: {
field: string
old_value: any
new_value: any
}[]
author: string
}
3. Git 形式のバージョン管理
- ナレッジをコードのように扱います
- コミットベースで変更を管理します
- 実験的なナレッジ用にブランチを作成します
- 検証後にマージします
アクション:
- バージョン追跡を実装します
- すべての更新に変更履歴を追加します
- ロールバックの仕組みを作成します
- バージョン比較ツールを構築します
検証:
- すべての変更がバージョン付きで追跡されている
- ロールバックのテストが完了し、正常に動作する
- 過去の問い合わせに対応できる
- 監査証跡が完備されている
フェーズ 6:メンテナンスとガバナンス
目標:ナレッジベースを長期にわたって健全に保ちます
メンテナンス作業:
毎日:
- エラーや障害を監視します
- ユーザーフィードバックを確認します
- 緊急の修正に対応します
毎週:
- 新しいコンテンツの投稿を確認します
- 時間に依存するナレッジを更新します
- 自動品質チェックを実行します
毎月:
- ナレッジの鮮度を監査します
- 矛盾を確認して解決します
- 利用パターンを分析します
- 古くなったコンテンツを更新します
四半期ごと:
- 包括的な品質監査
- スキーマ/オントロジーのレビュー
- パフォーマンスの最適化
- ユーザー満足度調査
ガバナンスフレームワーク:
1. 役割と責任
- ナレッジオーナー:コンテンツを担当する分野の専門家
- キュレーター:変更を確認して承認します
- 投稿者:新しいナレッジを提出します
- 利用者:ナレッジを利用し、フィードバックを提供します
2. 変更プロセス
Submit → Review → Approve → Publish → Monitor
3. 品質基準
- 情報源の品質に関する最低要件
- 引用に関する要件
- 更新頻度に関する要件
- 矛盾の解決プロセス
アクション:
- メンテナンススケジュールを策定します
- 役割と責任を割り当てます
- ガバナンスに関するドキュメントを作成します
- プロセスについてチームをトレーニングします
検証:
- メンテナンススケジュールが設定されている
- ガバナンスが文書化され、周知されている
- チームがプロセスについてトレーニングを受けている
- 品質が向上傾向にある
ナレッジベースのアンチパターン
❌ アンチパターン 1:キュレーションなしのデータ投入
問題:品質によるフィルタリングを行わず、すべてを取り込むこと
影響:シグナル対ノイズ比が低下し、検索結果の品質が悪化し、ユーザーの不満につながります
解決策:取り込む前にキュレーションします。量より質を重視します
❌ アンチパターン 2:バージョン管理がない
問題:ナレッジが変更されても、履歴が追跡されないこと
影響:変更を監査できず、誤りをロールバックできず、説明責任も果たせません
解決策:フェーズ 5 からバージョン管理を実装します
❌ アンチパターン 3:古いナレッジ
問題:ナレッジベースが古くなっていても、誰も気づきません。
影響:AI システムが古い情報を使って幻覚を起こし、ユーザーに誤った回答を返します。
解決策:鮮度のモニタリングと定期的な更新
❌ アンチパターン 4:情報の重複
問題:同じ事実が複数の場所にあり、内容に食い違いが生じます。
影響:回答が矛盾し、ユーザーが混乱します。
解決策:重複の排除と信頼できる唯一の情報源の確立
❌ アンチパターン 5:出典がない
問題:出典の引用がないナレッジ
影響:正確性を検証できず、エラーの原因を追跡できません。
解決策:出典、タイムスタンプ、作成者を必ず記録します。
他のスキルとの連携
rag-implementer との連携
- ハイブリッド KB のドキュメントベース部分に使用します
- RAG の実装フェーズに従います
- ベクトル検索を KB クエリと統合します
knowledge-graph-builder との連携
- ハイブリッド KB のエンティティベース部分に使用します
- グラフ設計パターンに従います
- グラフの走査を KB クエリと統合します
data-engineer との連携
- ETL パイプライン(ナレッジの抽出、変換、読み込み)に使用します
- データ品質のモニタリングに使用します
- パフォーマンスの最適化に使用します
quality-auditor との連携
- 品質チェックの自動化に使用します
- テストと検証に使用します
- 継続的なモニタリングに使用します
technical-writer との連携
- ナレッジのドキュメント化に使用します
- KB の使用方法に関するユーザーガイドに使用します
- ガバナンスに関するドキュメントに使用します
ツールとテクノロジー
ドキュメントベース KB スタック
- ベクトル DB:Pinecone、Weaviate、pgvector
- 埋め込み:OpenAI、Cohere、カスタム
- 検索:セマンティック検索とキーワード検索のハイブリッド
エンティティベース KB スタック
- グラフ DB:Neo4j、ArangoDB
- クエリ:Cypher、AQL
- 可視化:Neo4j Bloom、Gephi
キュレーションツール
- 重複排除:カスタムアルゴリズム、ファジーマッチング
- 競合検出:ルールベース、ML ベース
- 検証:テスト質問セット、人によるレビュー
モニタリング
- メトリクス:カスタムダッシュボード(Grafana)
- ロギング:クエリ/更新の構造化ログ
- アラート:鮮度、正確性、エラー率のアラート
成功指標
ナレッジの品質
- 正確性:テスト質問で 90% 超
- 網羅率:ユーザーの質問の 80% 超に回答
- 鮮度:平均経過日数 30 日未満
- 一貫性:矛盾する情報が 5% 未満
ユーザー満足度
- 関連性:クエリ結果の 85% 超が関連性ありと評価
- 有用性:ユーザーの 80% 超が KB を有用と評価
- 速度:クエリ時間の中央値が 100 ms 未満
運用の健全性
- 稼働率:99.9% 超
- 更新頻度:最低でも週 1 回
- チームの参加状況:継続的な貢献
よくある落とし穴と解決策
落とし穴 1:「作れば使ってもらえる」
問題:ユーザーによる検証がなく、KB がニーズを満たしていません。
解決策:ユーザー調査から始め、継続的に検証します。
落とし穴 2:完璧主義
問題:KB が「完璧」になるまで公開を待ちます。
解決策:網羅率 80% で公開し、利用状況に基づいて改善を繰り返します。
落とし穴 3:過剰なエンジニアリング
問題:シンプルなドキュメントで十分なのに、複雑なハイブリッドシステムを構築します。
解決策:シンプルに始め、必要になった場合にのみ複雑さを加えます。
落とし穴 4:メンテナンスの軽視
問題:一度構築した後、更新しません。
解決策:初日からメンテナンスのスケジュールを確立します。
クイックスタートチェックリスト
開始前:
- このスキル全体を読む
- ドキュメント KB を使用する場合は
rag-implementerを確認する - エンティティ KB を使用する場合は
knowledge-graph-builderを確認する - ユースケースと成功指標を明確にする
フェーズ 1 - アーキテクチャ(第 1 週):
- ナレッジソースを棚卸しする
- KB の種類(ドキュメント/エンティティ/ハイブリッド)を選ぶ
- スキーマ/オントロジーを定義する
- インフラストラクチャをセットアップする
フェーズ 2 - 初期構築(第 2~3 週):
- 初期ナレッジを取り込み、キュレーションする
- 検索/クエリ機能を実装する
- テスト質問セットを作成する
- ユーザーとともに検証する
フェーズ 3 - 改善(継続):
- 利用状況に基づいてナレッジを追加する
- 品質指標をモニタリングする
- 発見した問題を修正する
- メンテナンスの頻度を確立する
関連リソース
- スキル:
rag-implementer、knowledge-graph-builder、data-engineer、quality-auditor - MCP:
vector-database-mcp、graph-database-mcp、knowledge-base-mcp、semantic-search-mcp - パターン:
STANDARDS/architecture-patterns/rag-pattern.md、knowledge-base-pattern.md(近日公開) - インテグレーション:
INTEGRATIONS/pinecone/、INTEGRATIONS/graph-databases/neo4j/
さらに詳しく
覚えておいてください: ナレッジベースの品質は、キュレーションの質によって決まります。初日から品質に投資し、メンテナンスのプロセスを確立し、ユーザーからのフィードバックに基づいて改善を繰り返してください。目標は、すべての知識を網羅することではありません。_適切な_知識を整理し、簡単にアクセスできるようにすることです。