概要
ナレッジベースは実験的機能で、ファイル、ディレクトリ、テキストコンテンツを保存し、セマンティック検索で効率的に情報を取得できます。
有効化
# 実験機能として有効化
/experiment
# または設定で有効化
q settings chat.enableKnowledge true
基本コマンド
1. コンテンツの追加
/knowledge add <path> # ファイルまたはディレクトリを追加
例:
/knowledge add README.md # 単一ファイル
/knowledge add ./docs # ディレクトリ全体
/knowledge add ./src/**/*.py # パターンマッチング
2. ナレッジベースの表示
/knowledge show # 保存されている内容を表示
3. コンテンツの削除
/knowledge remove <path> # 特定のパスを削除
/knowledge clear # 全削除
4. コンテンツの更新
/knowledge update <path> # ファイル/ディレクトリを更新
5. バックグラウンド操作の管理
/knowledge status # 処理状況確認
/knowledge cancel # バックグラウンド処理キャンセル
実践的な使用例
プロジェクトドキュメントの管理
# プロジェクト全体のドキュメントを追加
/knowledge add ./docs
/knowledge add README.md
/knowledge add CHANGELOG.md
# 後でQに質問
> このプロジェクトのAPI仕様について教えて
# ナレッジベースから関連情報を自動検索・参照
コードベースの理解
# ソースコードを追加
/knowledge add ./src
/knowledge add ./tests
# 後で質問
> 認証機能はどのように実装されていますか?
# 関連するコードファイルから情報を取得
設定ファイルの管理
# 設定関連ファイルを追加
/knowledge add ./config
/knowledge add docker-compose.yml
/knowledge add .env.example
# 後で質問
> 開発環境のセットアップ手順は?
# 設定ファイルの内容を参照して回答
設定オプション
デフォルトパターン設定
# 含めるファイルパターン
q settings knowledge.defaultIncludePatterns '["*.md", "*.py", "*.js", "*.ts"]'
# 除外するファイルパターン
q settings knowledge.defaultExcludePatterns '["node_modules/**", ".git/**", "*.log"]'
パフォーマンス設定
# 最大ファイル数
q settings knowledge.maxFiles 1000
# テキストチャンクサイズ
q settings knowledge.chunkSize 1000
# チャンク重複サイズ
q settings knowledge.chunkOverlap 200
# インデックスタイプ
q settings knowledge.indexType "semantic"
ワークフロー例
新しいプロジェクトでの活用
# 1. プロジェクト開始時
/knowledge add README.md
/knowledge add ./docs
# 2. 開発中に追加
/knowledge add ./src/auth
/knowledge add ./api-spec.yaml
# 3. 定期的な更新
/knowledge update ./docs
/knowledge update ./src
# 4. 質問・活用
> 認証APIの使用方法は?
> エラーハンドリングのベストプラクティスは?
既存プロジェクトの理解
# 1. 重要なファイルを一括追加
/knowledge add README.md
/knowledge add ./docs
/knowledge add ./src
# 2. 段階的な理解
> このプロジェクトの概要を教えて
> アーキテクチャの特徴は?
> 主要な機能は何ですか?
# 3. 詳細な調査
> データベース設計について
> API仕様の詳細
> テスト戦略について
ベストプラクティス
効果的な情報管理
- 段階的追加: 重要なファイルから順次追加
- 定期更新:
/knowledge updateで最新状態を維持 - 適切な除外: 不要なファイル(ログ、キャッシュ)は除外
- 構造化: 関連ファイルをまとめて管理
パフォーマンス最適化
- ファイル数制限:
maxFiles設定で処理量を調整 - パターン活用: 必要なファイルタイプのみ含める
- 定期クリーンアップ: 不要な情報は
/knowledge remove
セキュリティ考慮
- 機密情報除外: 秘密鍵、パスワードファイルは除外
- パス確認: 追加前にファイル内容を確認
- アクセス制御: 適切なファイル権限設定
トラブルシューティング
ナレッジベースが動作しない
# 機能が有効か確認
/experiment
# または
q settings chat.enableKnowledge
検索結果が不正確
- インデックス再構築: ファイルを削除して再追加
- チャンクサイズ調整:
knowledge.chunkSizeを変更 - 除外パターン確認: 重要なファイルが除外されていないか確認
パフォーマンス問題
- ファイル数削減: 不要なファイルを除外
- チャンクサイズ最適化: 小さすぎる/大きすぎるチャンクを調整
- バックグラウンド処理:
/knowledge statusで処理状況確認
関連機能
- エージェント: プロジェクト固有のナレッジベース設定
- TODO管理: ナレッジベースの情報を活用したタスク管理
- コンテキスト管理:
/contextコマンドとの連携