Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

コンポーザブル AI アーキテクチャ

最終更新 Markdown で表示Agent セットアップ

はじめに

AI 市場は、技術の急速な進歩に後押しされて、速い速度で変化しています。ブレークスルーが頻繁に起きるため、競争力を保つには最新のイノベーションを追う必要があります。短い反復サイクルと機敏さは、この環境では不可欠です。企業は新しい AI 技術をすばやく取り入れ、活用できます。

この変化の激しい環境では、コンポーザビリティ(組み合わせやすさ)、データポータビリティ、標準 API が、AI エコシステムの複雑さを乗りこなすうえで重要になります。

  • コンポーザビリティとは、さまざまな AI コンポーネントを組み立てて、自社向けのソリューションを作る能力です。組織はニーズに合わせて技術を組み合わせられます。
  • データポータビリティは、異なる AI システムやプラットフォーム間でデータをスムーズにやり取りし、相互運用性を確保してデータサイロを防ぐうえで重要です。
  • 相互運用のための標準 API は、多様な AI コンポーネントを統合する要です。異なるシステム間の通信と連携を可能にします。

コンポーザビリティ、データポータビリティ、標準 API は、ベンダーロックインを減らし、柔軟性を高めるうえで特に重要です。これらの原則を取り入れると、単一ベンダーへの依存を避け、要件に最も合うソリューションを選ぶ方針を取れます。全体として、より機敏で適応しやすく、将来の変化にも耐える AI エコシステムにつながります。

Cloudflare の AI プラットフォームは、これらの原則を踏まえて設計されています。アーキテクチャ図は、AI アプリケーションを Cloudflare 上でエンドツーエンドに構築する方法、または個々のサービスを外部インフラやサービスと連携する方法を示します。

コンポーザブル AI インフラストラクチャ

図 1: コンポーザブル AI アーキテクチャ
図 1: コンポーザブル AI アーキテクチャ
  1. コンピュート: コンピュート層はアプリケーションの中核です。ビジネスロジックと、他コンポーネントの利用はここで定義します。コンピュート層は、推論サービス、ベクトル検索、データベース、データストレージなどの他サービスとやり取りします。Cloudflare Workers のようなサーバーレスソリューションは、速い反復と自動スケーリングを提供するため、開発者はインフラ管理ではなくユースケースに集中できます。コンポーザビリティで重要なのは HTTP や TCP などの標準インターフェイスへの対応です。Workers ランタイムは、それぞれ fetch() APIconnect() API で両方をサポートします。
  2. 推論: AI 推論は、アプリケーションの AI 機能を担います。運用モデルは、モデルの自己ホストと、Workers AI のような Inference-as-a-Service の利用に分かれます。後者では、REST API により、任意のサービス / クライアントから推論サービスと簡単にやり取りできます。Workers と他サービスのやり取りに Bindings などのプラットフォーム固有の連携を使うと、認証などの複雑さが抽象化され、開発が簡単になります。
  3. ベクトル検索: RAG などの一部のユースケースでは、類似度マッチングにベクトル検索を使います。運用モデルは、データベースの自己ホストと、Vectorize のようなベクトル特化の DBaaS(database-as-a-service)の利用に分かれます。後者では、REST API により、任意のサービス / クライアントから簡単にやり取りできます。Workers と他サービスのやり取りに Bindings などのプラットフォーム固有の連携を使うと、認証などの複雑さが抽象化され、開発が簡単になります。
  4. データとストレージ: データベースとデータストレージは、AI アプリケーションに状態を加えます。ユーザー管理、セッション保存、データの永続化は、AI アプリケーションでよくある要件です。ユースケースに応じて、リレーショナルデータベースやオブジェクトストレージなど、異なるソリューションが必要です。自己ホストとマネージドの両方に、さまざまな選択肢があります。Cloudflare では、たとえば D1R2 です。REST API により、任意のサービス / クライアントからこれらのサービスと簡単にやり取りできます。Workers とデータ / データベースサービスのやり取りに Bindings などのプラットフォーム固有の連携を使うと、認証などの複雑さが抽象化され、開発が簡単になります。

関連リソース

役に立ちましたか?