mcpField
Q
query

query

github.com/garrytan生産性31.3k333 回インストール今日更新
リポジトリ

query について

queryは、ブレインの情報から回答するエージェント向けのgbrain検索・統合スキルです。キーワード検索やハイブリッド検索、グラフ検索を組み合わせ、出典の引用、情報の不足、ソース間の矛盾を明示します。

主な機能

  1. 01キーワード検索とハイブリッド検索
  2. 02種類や条件によるページ絞り込み
  3. 03グラフによるエンティティ関係検索
  4. 04ページの根拠に基づく回答の統合
  5. 05引用・不足情報・ソースの矛盾を提示

活用シーン

  1. 01テーマに関するブレイン内の記録を検索
  2. 02人物や組織間の関係について回答
  3. 03複数ページの情報を引用付きで統合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/garrytan/gbrain --skill query

インストール後、Claude Code で/queryを入力して読み込まれたか確認します。

同梱ファイルrouting-eval.jsonl

詳細

クエリスキル

3 層検索と統合を使用して、brain の知識に基づいて質問に回答します。

メモリ動詞(MEMORY_VERBS v1、gbrain ≥ 0.43)。 MCP 経由で brain に接続している場合は、メモリ関連の作業に、固定された 7 つのメモリ動詞を優先して使用してください。出典情報と根拠が保持され、トークン予算がサーバーによって適用されます。

  • recall(query | entity, budget_tokens) — 予算に合わせてパックされたメモリ読み取りです。「X について保存した情報は何か」を確認する際は、単独の search の代わりに使用してください。
  • entity(name) — LLM を使わない人物/会社/プロジェクトのカードです(別名、最終更新日時、未解決のスレッド、主要なエッジ)。カードだけが必要な場合は、get_page と get_backlinks の代わりに使用してください。
  • synthesize(question) — ページをまたいだ回答に明示的にコストをかける操作です。query の高負荷版です。ページをまたいで根拠を組み合わせる必要がある場合にのみ使用してください。 動詞が公開されていない場合は、search/query/get_page に切り替えてください(0.43 より前のサーバーでは、--surface full を指定すると、ほかのすべての操作とともにこれらの動詞も含まれます)。docs/protocol/MEMORY_VERBS_v1.md を参照してください。

契約

このスキルでは、次のことを保証します。

  • すべての回答が brain のコンテンツに基づいていること(幻覚なし)
  • すべての主張に、特定のページスラッグへたどれる引用があること
  • 情報の欠落が明示されること(「brain には X に関する情報がありません」)
  • 情報源の優先順位が守られること(ユーザーの発言 > 編集済みの正情報 > タイムライン > 外部情報)
  • 情報源が矛盾する場合、両方の引用を示すこと

フェーズ

  1. 質問を分解し、検索戦略を立てます。
    • 特定の名前、日付、用語をキーワード検索する
    • 概念的な質問にはセマンティック検索を行う
    • 関係性に関する質問には、種類別一覧やバックリンクなどの構造化クエリを使う
  2. 検索を実行します。
    • 完全一致トークンや既知の名前には、gbrain の低コストなハイブリッド検索(search)を使う
    • 概念に関する質問には、gbrain の完全なハイブリッド検索(query)を使う(--expand を指定すると複数クエリへの拡張が追加されます)
    • 構造に関するクエリでは、gbrain のページを種類別に一覧表示するか、バックリンクを確認する
    • brain のチェックアウトを grep する代わりに、フィルターで絞り込みます。例:--types '["meeting"]'、 --match keyword、gbrain query "<q>" --since 2026-09-01 --until 2026-09-30、--source <id>。 コピーして使える例は、skills/conventions/brain-first.md の「検索:まず gbrain」を参照してください。
  3. 上位の結果を読みます。 gbrain の上位 3~5 件のページを読み、全体像を把握します。
  4. 引用付きで回答を統合します。すべての主張が特定のページスラッグへたどれるようにします。
  5. 情報の欠落を示します。 brain に情報がない場合は、幻覚で補うのではなく、「brain には X に関する情報がありません」と伝えてください。情報の欠落と判断する前に、結果の通知を確認してください(「失敗した場合」を参照)。結果の劣化や切り捨ては、情報の欠落を意味しません。

失敗した場合

gbrain のエラー code、終了コード、[AGENT] ブロック、または通知ブロックが発生した場合は、エージェントオペレータープロトコルに従ってください。このスキル固有の対応は次のとおりです。

  • 回答の前に、各検索結果の通知を確認してください。MCP では、最初の行が [gbrain notice empty_retrieval kind=degraded] のような追加テキストブロックと、_meta.gbrain_notices に反映された通知を確認します。CLI では、[AGENT] ブロック、search_degraded、または note: search degraded の行を確認します。
  • kind=degraded の empty_retrieval(または search_degraded: keyword_only_no_embedding_provider)の場合、結果が空でも、ユーザーのメモがない証拠にはなりません。ユーザーに「現在、brain はキーワードのみで検索しているため、X に関するメモを見落としている可能性があります」と伝え、gbrain search で正確な名前や同義語を試し、通知に示された解決策(通常は埋め込み機能の有効化)を案内してください。
  • empty_retrieval が「検索の劣化なし — 結果が見つからなかっただけ」を示している場合は、「brain には X に関する情報がありません」と伝えてください。
  • listing_truncated または budget_truncated の場合、一覧が途中で切り捨てられています。「最初の N 件を表示しています」と伝え、何かが存在しないと断言する前に、ページ分けするかクエリを絞り込んでください。
  • get_page で page_not_found が発生した場合、スラッグが誤っているか、別の情報源にあります。ページが見つからないと報告する前に、タイトルで検索し(--source も確認して)ください。

アンチパターン

  • ブレインに関連する内容があるのに、一般知識に基づいて回答する
  • ブレインにない事実を幻覚する
  • ソース間に矛盾があるのに、どれか一つを黙って選ぶ
  • 検索チャンクで十分なのに、ページ全体を読み込む
  • ソースの優先順位を無視する(ユーザーの発言が最も優先されます)

出力形式

回答には、次の内容を含めてください。

  • 質問への直接的な回答
  • 引用:「According to [Source: people/jane-doe, compiled truth]...」
  • 情報の欠落を示す注記:「ブレインには X に関する情報がありません」
  • ソース間に意見の相違がある場合は、その旨の注記

品質ルール

  • 幻覚は決して起こさないでください。ブレイン内の情報のみを使って回答してください。
  • ソースを引用してください:「According to concepts/do-things-that-dont-scale...」
  • 古い結果にはフラグを付けてください。検索結果に [STALE] と表示されている場合は、情報が古い可能性があることを伝えてください。
  • 「誰が」に関する質問では、バックリンクと型付きリンクを使ってつながりを見つけてください。
  • 「何が起きたか」に関する質問では、タイムラインの項目を使ってください。
  • 「何がわかっているか」に関する質問では、compiled_truth を直接読んでください。

トークン予算への配慮

検索結果として返されるのはページ全体ではなく、チャンクです。ページ全体を読み込むかどうかを決める前に、まず抜粋を読んでください。

限られた予算で保存済みのページ上の証拠について質問する場合は、budget_policy: "query_first" を指定して recall を明示的に選択してください。まず既存のランク付け済みページ結果に予算を割り当て、残りに直近/フィルター済みの事実を詰め込みます。これは任意で選べるパッキング方式であり、新しい関連性モデルではありません。無関係なページが、有用な事実を押しのける可能性があります。エンティティ優先、セッション/イベントでフィルターされた質問、事実に焦点を当てた質問には、従来どおり事実優先の経路を使ってください。context_pack や既存のサードパーティ呼び出しは変更しないでください。

gbrain recall --query 'zebra telescope' --budget-tokens 75 --budget-policy query_first --json

同等の MCP リクエスト:

{"name":"recall","arguments":{"query":"zebra telescope","budget_tokens":75,"budget_policy":"query_first"}}

エージェントへの指示:「ゼブラ望遠鏡に関する保存済みメモを、推定予算 75 トークン、クエリー優先のパッキングで想起してください。返された証拠を引用してください。最初のページが収まらない場合は、記憶にないものとして扱わず、その旨を伝えてください。」

通常どおり解決済みの brain とソースを使用してください。このオプションによって権限が拡大することはありません。 budget_packing には、実効ポリシーと、各アームの候補/保持/除外/使用数が報告されます。コストは正確なトークナイザーや JSON エンベロープのサイズではなく、ceil(fact.length/4) または ceil(title.length/4) + ceil(chunk.length/4) で推定されます。パッキングでは、サイズ超過の先頭アイテムを飛ばしたり、切り詰めたりすることはありません。必須のページが複数ある場合、収まりきらないこともあります。空白以外のクエリーがない場合、または正の有限予算がない場合、従来の動作が維持されます。条件を満たす正の予算が 1 トークン未満の場合、アームは空で返されます。小数予算との互換性については、プロトコルを参照してください。

このガイダンスや公開されているツールスキーマは、ネイティブハーネスで採用されていることの証明にはなりません。有効化されたと主張する前に、新しいハーネスの会話でクエリー優先の呼び出しが実際に行われたことを確認してください。確認できない場合は、採用状況は未確認と報告してください。

  • gbrain search / gbrain query は、コンテキストのスニペットを含むランク付け済みチャンクを返します。 多くの場合、これだけで質問に直接回答できます。
  • 会話ページ(セッション、トランスクリプト、会議、チャットログ)へのヒットは、デフォルトでセッション全体として返されます(return_unit: "auto"、デフォルト予算 24,000 トークン)。 その他の複数ページにまたがる質問や「X が変わったのはいつですか」のような、1 つのチャンクではなく前後の文章に依存する質問では、同じ呼び出しで証拠全体を求めてください。return_unit: "page"(ページ全体。token_budget で予算を設定、デフォルトは 6,000)または "window"(隣接するチャンク)を指定します。return_unit: "chunk" は全体の返却を無効にします。 各結果には、chunk_text と delivered ブロックに証拠が含まれます。証拠の返却方法を参照してください。 gbrain query "when did the launch move?" --return-unit page --token-budget 6000
  • チャンクからページが関連すると確認でき、さらにコンテキスト(例:統合された真実、タイムライン)が必要な場合に限り、gbrain get <slug> を使ってページ全体を読み込みます。
  • 「X について教えて」 — ページ全体を取得します(ユーザーは全体像を求めています)。
  • 「Y について誰か言及しましたか?」 — 検索結果で十分です(ユーザーが求めているのは、証拠を伴うはい/いいえの回答です)。
ソースの優先順位

複数のソースに矛盾する情報がある場合は、次の優先順位に従ってください。

  1. ユーザーの直接の発言(最も権威が高い — ユーザーから直接伝えられた内容)
  2. 統合された真実(脳が統合した、出典付きの理解)
  3. タイムラインの項目(生の証拠。新しいものから順に表示)
  4. 外部ソース(ウェブ検索、API による情報補完 — 最も権威が低い)

ソースが矛盾している場合は、両方を引用して矛盾を明記してください。一方を黙って選ばないでください。

回答での引用

回答で brain のページを参照する際は、インライン引用を引き継いでください。

  • ページを引用します:「[Source: people/jane-doe, compiled truth] によると……」
  • brain のページにインラインの [Source: ...] 引用がある場合は、ユーザーが事実の出典をたどれるよう、その引用も引き継いでください
  • 複数のページをもとに統合する場合は、すべてのソースを引用してください

グラフ探索(v0.10.1+)

関係性に関する質問(「Xで誰が誰を知っているか?」「AとBのつながり」「Acmeで働いているのは誰か?」「スタンドアップに参加したのは誰か?」など)には、全文検索ではなくグラフレイヤーを使用します。

  • gbrain graph-query <slug> --type <link_type> --depth N --direction in|out|both
  • 利用可能なリンクタイプ:attended、works_at、invested_in、founded、advises、mentions、source
  • --direction in は「Xを参照しているのは誰か?」に答えます(例:企業Xで働いているのは誰か)
  • --direction out は「Xが参照しているのは何か?」に答えます(デフォルト)
  • --depth N は複数ホップの探索範囲を指定します(デフォルトは5)

例:

  • 「Acmeで働いているのは誰か?」→ gbrain graph-query companies/acme --type works_at --direction in
  • 「Demo Day W26に参加したのは誰か?」→ gbrain graph-query meetings/demo-day-w26 --type attended --direction out
  • 「Emilyがアドバイスした企業は?」→ gbrain graph-query people/emily --type advises --direction out
  • 「Aliceが会った人は誰か(会議経由)?」→ gbrain graph-query people/alice --type attended --depth 2

意味的類似性とグラフ構造の両方が必要なクエリには、gbrain query と組み合わせます。検索結果は小さなバックリンクブーストで順位付けされるため、つながりの多いエンティティが上位に表示されます。

検索品質への注意

検索結果に問題がある場合(誤った結果、既知のページが見つからない、関連性のない結果など):

  • gbrain doctor --json を実行して、インデックスの状態を確認します
  • 埋め込みのカバレッジを確認します。埋め込みが不完全だと、ハイブリッド検索の品質が低下します
  • 同じクエリでキーワード検索(gbrain search)とハイブリッド検索(gbrain query)を比較し、問題が埋め込みに関連するものか切り分けます
  • 検索品質の問題は、メンテナンスワークフローで報告します(maintain スキルを参照)

使用するツール

  • gbrain のキーワード検索(search)
  • gbrain のハイブリッド検索(query)
  • gbrain のページを読み込む(get_page)
  • フィルターを指定して gbrain のページを一覧表示する(list_pages)
  • gbrain のバックリンクを確認する(get_backlinks)
  • gbrain のリンクグラフを探索する(traverse_graph)
  • gbrain のタイムラインエントリを表示する(get_timeline)

コメント