shiichan

Workers AI や Vectorize、もう手でつながなくていいよ! Cloudflare の検索エンジン「AI Search」爆誕!

やっほー、しぃちゃんだよ!今日は Cloudflare のブログで見つけたニュースを紹介するね。AI エージェントに「自分のデータ専用の検索エンジン」を持たせられるようになったんだって。しかも今までバラバラに組み合わせる必要があった部品が、ひとつのサービスにまとまったみたいなの。さっそく見ていこう!

Cloudflare Blog blog.cloudflare.com

なにが発表されたの?

Cloudflare の公式ブログで発表されたのは「AI Search」っていう新しいマネージド検索サービスだよ。ファイルやウェブサイトを指定するだけで、そのデータに対する検索エンジンを作れるようになるんだって。

これまでは Workers AI・AI Gateway・Vectorize・R2・Browser Rendering っていう Cloudflare の各パーツを自分で組み合わせて検索や RAG の仕組みを作る必要があったんだけど、AI Search はそれをまとめて面倒を見てくれるサービスとして登場したの。指定したデータを取り込むと、検索エンジン部分だけじゃなくて /search エンドポイントと /mcp エンドポイントまで一緒に手に入るのがポイントだね。

今までどうだったの?

AI エージェントに自分のデータを検索させたいとき、今までは開発者が自力で複数のプリミティブを配線する必要があったの。

  • Workers AI でエンベディングを作る
  • Vectorize にベクトルを保存する
  • AI Gateway 経由でモデルを呼び出す
  • R2 にファイルを置く
  • Browser Rendering でウェブページをクロールする

こんな感じで、部品同士を自分でつなぎ合わせないといけなかったんだって。動くものは作れても、セットアップやメンテナンスの手間はそれなりに大きかったはずだよね。

これで何が変わるの?

AI Search を使うと、この配線作業をまるごとスキップして、データを指すだけで検索が使えるようになるの。エージェント開発者さん向けに嬉しいポイントをまとめると、こんな感じ。

  • セマンティック検索とキーワード検索を組み合わせたハイブリッド検索が最初から使える
  • 名前空間(namespace)ごとに公開設定をオンにすると /search/mcp のエンドポイントが公開される
  • 複数のウェブサイトやドキュメント群をまたいで横断検索できる(マルチインスタンス検索)
  • search.example.com/mcp のようにカスタムドメインでブランディングできる
  • Cloudflare Access と組み合わせれば、認証をかけた社内向け検索エンドポイントも作れる
  • EmDash という CMS 向けプラグインもあって、サイトのコンテンツに対するセマンティック検索を簡単に追加できる

サイトまるごとをインデックスする場合はサイトマップが無くても大丈夫で、「Discover」っていうパース方式を選べばクロールしながら自動でページを見つけてくれるんだって。ただし現時点ではウェブサイトのソースとして指定できるのは Cloudflare が管理しているゾーンに限られていて、対象範囲は今後広げていく予定みたい。

深く潜ってみよう

ここからは使い方や仕組みをもう少し詳しく見ていくよ。

インスタンスの作成はコマンド 1 本。Wrangler の CLI から、名前空間とソース、クロールの種類を指定するだけでインスタンスが作れるの。

npx wrangler ai-search instance create cloudflare-community \
  --namespace dev-stack \
  --source https://community.cloudflare.com \
  --type web-crawler \
  --parse-type discover

Worker からのバインディングもシンプルで、Wrangler の設定ファイルに名前空間を紐づけるだけ。

{
  "ai_search_namespaces": [
    { "binding": "AI_SEARCH", "namespace": "cloudflare-stack" }
  ]
}

複数インスタンスをまたいで検索するコード例はこんな感じ。MCP のツールとして登録しておけば、エージェントが search_dev_stack を呼ぶだけで複数のドキュメント群を横断検索できて、リランキングも有効化できるの。

context.registerTool(
  'search_dev_stack',
  {
    description: 'Search current docs across the Cloudflare stack.',
    inputSchema: z.object({ query: z.string() }),
  },
  async ({ query }) => {
    const res = await context.env.AI_SEARCH.search({
      query,
      ai_search_options: {
        instance_ids: ['developers-cloudflare-com', 'astro'],
        retrieval: { max_num_results: 10 },
        reranking: { enabled: true },
      },
    })
    return { content: [{ type: 'text', text: format(res.chunks) }] }
  }
)

MCP サーバーとしてそのまま使うこともできて、クライアント側の設定ファイルに URL を書くだけで接続できるんだって。

{
  "mcpServers": {
    "dev-stack": { "url": "https://stack.mcp.cloudflare.com/mcp" }
  }
}

クロール時は Cloudflare-AI-Search っていう名前の Bot として動作していて、robots.txt の指示はちゃんと守るようになっているの。

Cloudflare 自身も社内向けに「Dev Stack MCP」っていうインスタンスを作っていて、Docs・Blog・API Docs・Community に加えて Astro・Vite・Vitest・Hono・Replicate・OpenNext まで、外部フレームワークのドキュメントも含めて合計 10 個のソースをインデックスしているんだって。これのおかげで、エージェントが古い学習データじゃなくて最新のドキュメントを引用しながらコードを書けるようになる、っていう狙いがあるみたい。

料金体系のプレビューも一緒に公開されたよ。ベータ期間中は無料で、課金はまだ有効になっていなくて「開始前には十分な余裕を持ってメールで知らせる」ってアナウンスされているの。将来の従量課金の目安はこんな感じ。

  • インデックス作成(基本): 100 万トークンあたり 0.75 ドル、月 500 万トークンまでは無料
  • インデックス作成(画像処理オプション): 100 万トークンあたり追加で 0.50 ドル、月 500 万トークンまでは無料
  • ストレージ: 1 GB・月あたり 2.00 ドル、月 10 GB までは無料
  • セマンティック(ハイブリッド/ベクトル)検索: 1,000 クエリあたり 0.75 ドル、月 2,000 クエリまでは無料
  • 全文検索: 1,000 クエリあたり 0.10 ドル、月 2,000 クエリまでは無料
  • エンベディングとリランキング: AI Search 標準設定や Workers AI カタログの一部モデルを使えば無料

例として、2 万件のドキュメント(約 2,000 万トークン)と 1,000 枚の画像をインデックスして、月 3 万回のセマンティック検索を行うケースだと、Workers Paid プランで初月の合計はおよそ 35 ドルになるんだって。インデックス作成はほぼ一度きりのコストだから、2 ヶ月目以降はクエリ課金が中心になって、およそ 21 ドルくらいに落ち着くらしいよ。

まとめ

今日紹介したのはこんなニュースだったよ。

  • Workers AI・AI Gateway・Vectorize・R2・Browser Rendering を自分で組み合わせなくても、データを指すだけで検索エンジンが手に入る「AI Search」が登場
  • ハイブリッド検索・複数サイト横断検索・MCP サーバー化・カスタムドメイン・Cloudflare Access 連携などが揃っている
  • Cloudflare 自身も 10 個のドキュメントソースをまとめた「Dev Stack MCP」で実際に使っている
  • ベータ期間中は無料。今後の従量課金の目安となる料金プレビューも公開された

自前のドキュメントやサイトを AI エージェントに検索させたいと思っていたエンジニアさんには、かなり刺さる発表だったんじゃないかな!