← ガイドトップに戻る

概要

ナレッジベースは実験的機能で、ファイル、ディレクトリ、テキストコンテンツを保存し、セマンティック検索で効率的に情報を取得できます。

有効化

# 実験機能として有効化
/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仕様の詳細
> テスト戦略について

ベストプラクティス

効果的な情報管理

  1. 段階的追加: 重要なファイルから順次追加
  2. 定期更新: /knowledge updateで最新状態を維持
  3. 適切な除外: 不要なファイル(ログ、キャッシュ)は除外
  4. 構造化: 関連ファイルをまとめて管理

パフォーマンス最適化

  1. ファイル数制限: maxFiles設定で処理量を調整
  2. パターン活用: 必要なファイルタイプのみ含める
  3. 定期クリーンアップ: 不要な情報は/knowledge remove

セキュリティ考慮

  1. 機密情報除外: 秘密鍵、パスワードファイルは除外
  2. パス確認: 追加前にファイル内容を確認
  3. アクセス制御: 適切なファイル権限設定

トラブルシューティング

ナレッジベースが動作しない

# 機能が有効か確認
/experiment
# または
q settings chat.enableKnowledge

検索結果が不正確

  1. インデックス再構築: ファイルを削除して再追加
  2. チャンクサイズ調整: knowledge.chunkSizeを変更
  3. 除外パターン確認: 重要なファイルが除外されていないか確認

パフォーマンス問題

  1. ファイル数削減: 不要なファイルを除外
  2. チャンクサイズ最適化: 小さすぎる/大きすぎるチャンクを調整
  3. バックグラウンド処理: /knowledge statusで処理状況確認

関連機能