ultimate-search について
UltimateSearch は Pi/OpenClaw エージェント向けのウェブ検索スキルで、Grok AI 検索と Tavily の構造化結果・ページ抽出を組み合わせます。サイトマップ作成や、検索元の選択と検証の手順も備えています。
主な機能
- 01GrokとTavilyでの検索
- 022つの検索エンジンの並列実行
- 03ページ内容のMarkdown抽出
- 04ウェブサイトURLのマッピング
- 05検索計画と根拠の相互検証
活用シーン
- 01複数の検索元で最新情報を検証
- 02指定したウェブページの内容を取得
- 03ドキュメントサイトの構造を調査
- 04検索クエリを計画して複雑なテーマを調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ckckck/ ultimatesearchskill --skill ultimate-searchインストール後、Claude Code で/ultimate-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.env.example.gitignoredocker-compose.ymlREADME.mdREADME.en.mddocs/grok2api-legacy.mdarchitecture.mddocs/plans/2026-03-16-tavily-master-key-design.md2026-03-01-ultimate-search-skill.md2026-03-16-tavily-master-key-migration.mdllmdoc/index.mdllmdoc/overview/project-overview.mdllmdoc/reference/conventions.mdscripts/import-keys.shgrok-search.shsetup.shtavily-search.shweb-fetch.shdual-search.shweb-map.shtests/grok_search_auth_behavior_test.shgrok_search_fallback_policy_test.shgrok_search_openai_compatible_mode_test.shgrok_search_e2e_smoke_test.shgrok_search_request_shapes_test.shgrok_search_help_output_test.shgrok_search_response_parsing_test.shimport_keys_admin_fallback_test.shtavily_master_key_migration_test.sh詳細
UltimateSearch
Pi/OpenClaw エージェントに、2 つの検索エンジンを使ったウェブ検索機能を提供します:Grok AI 検索(リアルタイムのウェブ接続+AI 分析)+Tavily 検索(構造化された結果+ウェブページの取得)。
利用可能なツール
Bash で以下のスクリプトを呼び出します(PATH に追加し、.env を source していることを確認してください)。
| ツール | コマンド | 用途 |
|---|---|---|
| Grok 検索 | grok-search.sh --query "..." | AI 駆動の詳細検索。Grok が標準でウェブに接続し、総合的な分析を返します |
| Tavily 検索 | tavily-search.sh --query "..." | スコアと並べ替え付きの構造化検索結果 |
| ウェブページの取得 | web-fetch.sh --url "..." | 指定した URL の内容全体を抽出し、Markdown で返します |
| サイトマップ | web-map.sh --url "..." | ウェブサイトの構造を調べ、すべての URL を取得します |
| 2 つの検索エンジンで検索 | dual-search.sh --query "..." | Grok と Tavily を並行して実行し、相互検証します |
各ツールのパラメーターについては、--help を参照してください。
検索の判断フロー
検索が必要なリクエストを受け取った場合は、以下の手順で判断します。
第一步:検索が必要かどうかを判断する
検索が必要な場合:
- ユーザーが外部情報の検索や照会を明確に要求している
- 最新バージョン、最近の出来事、現在の価格など、リアルタイム性のあるデータを扱う
- 内部知識の正確性を確認する必要がある
- 特定の URL、プロジェクト、製品の最新状況を扱う
- 技術的な質問で、公式ドキュメントの最新版を参照する必要がある
検索が不要な場合:
- 純粋なコードの作成やデバッグタスク(十分なコンテキストがあり、外部 API やライブラリのバージョンに関係しない)
- ユーザーが検索不要と明確に述べている
- ⚠️ 一般的なプログラミング概念も古くなっている可能性があります。特定のバージョン、ベストプラクティス、API の使用方法に関わる場合は、検索して確認してください
第二步:ツールを選択する
| 場面 | 推奨ツール | 理由 |
|---|---|---|
| 簡単な事実の照会 | dual-search.sh | 2 つの情報源を相互検証し、正確性を確保します |
| 複雑な問題や見解が分かれる問題 | dual-search.sh | 2 つの検索エンジンで相互検証し、ハルシネーションを減らします |
| AI による詳細な分析が必要 | grok-search.sh | Grok が標準でウェブ検索を行い、総合的な分析レポートを返します |
| 特定のページを取得する必要がある | web-fetch.sh --url "..." | ページ全体の内容を抽出します |
| ウェブサイトの構造を調べる | web-map.sh --url "..." | ドキュメントや API のディレクトリー構造を見つけます |
| 最新ニュースが必要 | tavily-search.sh --topic news | Tavily のニュースモードは、この用途に特化して最適化されています |
| 高品質で詳細な結果が必要 | tavily-search.sh --depth advanced | 高度な検索で、多角的に照合します |
| 検索結果に重要なリンクがある | まず検索し、その後 web-fetch.sh | 検索で特定 → 取得して詳細を確認 |
第三步:検索の複雑さを評価する
-
Level 1(検索 2〜3 回):明確な質問が 1 つ
- 例:「FastAPI の最新バージョンは何ですか」
- 操作:
dual-search.shで 2 つの情報源から結果を取得する。または、まずtavily-search.shを使い、その後grok-search.shで相互確認する - ⚠️ 簡単な事実であっても、単一の情報源だけに頼って結論を出してはいけません
-
Level 2(検索 3〜5 回):複数の視点から比較し、複数の情報源による検証が必要
- 例:「2026 年、マイクロサービスに最適なのは Flask、FastAPI、Django のどれですか」
- 操作:
dual-search.shと、各フレームワークを個別に検索するtavily-search.shを併用します
-
Level 3(検索 6 回以上):詳細な調査テーマやレビュー形式の依頼
- 例:「2026 年の主要なベクトルデータベースをすべて比較して調査してください」
- 操作:まず
grok-search.shで概要を取得し、各製品を個別に検索した後、web-fetch.shで公式ドキュメントを取得します
検索計画のフレームワーク
Level 2 以上の複雑な検索では、実行前に構造化された計画を立てます。
フェーズ 1:意図の分析
- ユーザーの核心的な質問を一文にまとめる
- 質問の種類を分類する:事実型/比較型/探索型/分析型
- 時間的な敏感度を評価する:リアルタイム/最近/歴史的/該当なし
- 検証が必要な外部用語(順位付けや分類基準など)を特定する
フェーズ 2:クエリーの分解
- 問題を重複しないサブクエリーに分解する
- 各サブクエリーの範囲を明確にする(兄弟関係にあるクエリー同士は相互に重複しない)
- 依存関係を記す(先に完了させる必要があるサブクエリー)
- フェーズ 1 で検証が必要な用語が見つかった場合、前提となる検証クエリーを先に作成する
フェーズ 3:戦略の選択
- broad_first(広く調べてから深掘り):まず幅広く調査し、見つかった内容に基づいて深掘りします。探索型の問題に適しています
- narrow_first(絞り込んでから広げる):まず的を絞って検索し、不十分な場合に範囲を広げます。分析型の問題に適しています
- targeted(対象を絞った検索):情報源がわかっている場合に、直接特定します。事実型の問題に適しています
フェーズ 4:ツールの割り当て
- 各サブクエリーに最適なツールを選ぶ
- 並行実行または逐次実行の計画を決める
- 並行実行できるサブクエリーは同時に実行する(複数回の Bash 呼び出しで実行)
検索と証拠の基準
基本原則:検索結果を鵜呑みにしない
検索結果は第三者からの提案にすぎず、そのまま受け入れてはいけません。 Grok、Tavily のどちらから得たものかを問わず、検索で返された内容はすべて、事実としてユーザーに提示する前に相互検証する必要があります。権威があるように見える単一の情報源であっても、古くなっていたり、偏っていたり、誤っていたりする可能性があります。エージェントが内部知識を持っている場合でも、技術的な実装については最新の検索結果または公式ドキュメントを優先してください。
情報源の品質要件
- 事実に基づく結論はすべて、2 つ以上の独立した情報源で相互検証する必要があります(Level を問いません)
- 単一の情報源だけに頼る場合は、その制限を明示し、信頼度を Low とします
- 優先して使用する情報源:公式ドキュメント、Wikipedia、学術データベース、信頼できるメディア
- 使用を避ける情報源:出所不明の個人ブログ、SEO ファーム、AI 生成コンテンツ
矛盾への対応
- 情報源に矛盾がある場合は、双方の証拠を示し、信頼性と情報の新しさを評価します
- 信頼度を明記します:High(複数の情報源で一致)/Medium(情報源が少ない、または見解に相違がある)/Low(単一の情報源、または推測)
- 確認できない場合は、不確実であることを明確に説明します
引用形式
- 重要な事実ごとに情報源を付記する
- 形式:
[情報源のタイトル](URL) - 引用を捏造してはいけません。情報源がないことは述べないでください
出力規則
- 最も可能性の高い回答を先に示し、その後で詳細な分析を展開する
- すべての専門用語に簡潔な説明を付ける
- 標準的な Markdown 形式(見出し、リスト、表、コードブロック)を使用する
- コード例には言語識別子を指定する
- 比較を扱う質問は表で示す
よくある検索パターン
パターン 1:簡単な照会
tavily-search.sh --query "Python 3.13 新特性" --depth basic --include-answer
パターン 2:詳細検索+検証
# 先广泛搜索
dual-search.sh --query "LangChain vs LlamaIndex 2026"
# 再针对性抓取官方文档
web-fetch.sh --url "https://docs.langchain.com/docs/get_started/introduction"
パターン 3:技術ドキュメントの調査
# 先映射网站结构
web-map.sh --url "https://docs.example.com" --depth 2 --instructions "找到 API 文档"
# 再抓取目标页面
web-fetch.sh --url "https://docs.example.com/api/reference"
パターン 4:ニュースとリアルタイム情報
tavily-search.sh --query "AI 最新进展" --topic news --time-range week --include-answer
パターン 5:AI による詳細な分析
grok-search.sh --query "解释 Transformer 架构中注意力机制的数学原理" --platform "arXiv"