ツール検索
tool_searchにより、モデルは遅延/Codemode公開で登録され、現在の宣言ではアクティブでない利用可能ツールを探せます。毎回のリクエストに全スキーマを入れずに、間接的なカタログを利用可能にします。検索自体は一致したツールを実行しません。
検出を有効にする
tool_searchは既定で非アクティブとして登録されます。次のように明示的に選択します。
anyy --tools '+tool_search'
anyy --resume SESSION_ID --tools '+codemode,+tool_search'
既存Sessionの明示的な選択変更は、待機中で保留入力がない場合に限ります。+規則はProfileの既定値から開始し、設定を書き込んだり、再開したSessionの現在のアクティブ一覧を増分編集したりしません。会話の選択を参照してください。
MCPの遅延公開によっても、現在の選択規則に従ってツール検索が自動的に有効になる場合があります。明示的な除外と親の制限が優先されます。Codemodeとツール検索は独立しており、Codemodeを無効にしても、許可されているアクティブなtool_searchは無効になりません。ツール検索専用のDashboard設定フォームはありません。
検索して結果を使う
必要な機能をAnyyに依頼します。例:
Find the configured documentation-search tool. Inspect its inputs, then use it to find the release notes.
モデルツールは次の入力を受け取ります。
{"query":"documentation search","limit":3}
queryは空白だけでない必須文字列です。limitは任意の正の整数で、既定値は8です。検索は名前、説明、入力スキーマ、名前空間メタデータで対象カタログを順位付けします。具体的なタスクの語やサーバー名を使ってください。一致するツールがないことは正常な結果です。
一致した非アクティブツールは、既存の名前を維持したままSessionのアクティブ名に追加されます。結果は読み込まれたツールを示します(details.loadedにも含まれます)。宣言は、検索結果がループに戻った後の次のモデルリクエストで利用可能になります。準備済みのリクエストにその場で新スキーマが追加されることはありません。その後モデルは、返された宣言で有効な呼び出しを行えます。通常の範囲、認証、検証はすべて適用されます。
検索対象は非アクティブな遅延/Codemodeツールだけです。アクティブなツール、直接公開専用ツール、非表示ツール、モデル専用宣言は除外されます。検索で無効なサーバーを復活させたり、未登録ツールを作ったり、親のアクセスを拡大したりはできません。サーバーが設定済みでも、使用できるライブカタログがまだない場合があります。関連結果が出ない場合は接続を確認します。
Codemodeとの関係
| 仕組み | 変わるもの |
|---|---|
モデルのtool_search | 一致した宣言を次のリクエスト用にアクティブとして読み込む |
CodemodeのsearchTools(query, options) | 宣言を有効にせず、現在のスクリプト呼び出し可能なスナップショットを検索 |
CodemodeのdescribeTool(name) | 呼び出さずに現在の宣言を1つ読む |
このため、呼び出し可能なMCPツールは、直接のモデル宣言にする前でもCodemode内で利用できます。リモート名はサニタイズや衝突回避の接尾辞が付く場合があるため、検出が返した名前とスキーマを使います。CodemodeとMCPの公開を参照してください。
検索で何も見つからない場合
同じProfile、サーバーの有効化と準備状態、exposure/順序付きtoolExposure、現在Sessionの除外、親の制限を確認します。すでにアクティブなツールは再検索せず、既存の宣言で呼び出します。非表示ツールには意図的な設定変更が必要で、検索語を変えても公開されません。