AI Symfony:PHPコンポーネントでAI駆動アプリを構築
Symfony AIは、AI統合のための疎結合なPHPコンポーネント群で、プラットフォーム抽象化、ベクトルストア、エージェントフレームワーク、Symfony統合を提供。モデル推論、ストリーミング、音声、マルチモーダル、構造化出力、エージェント、ツール呼び出し、RAGなどの機能に加え、MCP PHP SDKとSymfony MateによるAI支援開発も可能。
Symfony AIは、AI機能の統合を簡素化するために設計された疎結合なPHPコンポーネント群です。各コンポーネントはフルフレームワークなしでも独立して動作し、基本層がサードパーティの詳細を抽象化します。
コンポーネントアーキテクチャは、Platform(AIプロバイダーの統一インターフェース)、Store(ベクトルデータベース抽象化)、Agent(AIエージェントフレームワーク)、そしてAI Bundle(Symfonyフレームワーク統合)で構成されています。
機能面では、モデル推論により単一のメソッド呼び出しで任意のAIモデルにプロンプトを送信し、応答を取得できます。Platformはプロバイダー間の差異を吸収し、OpenAI、Anthropic、Mistral、またはローカルモデル間をアプリケーションコードを変更せずに切り替えられます。ストリーミングにより、応答をトークン単位でリアルタイムに表示でき、ChatGPTのような体験を実現します。音声機能はテキストから音声への変換と音声からテキストへの文字起こしをサポートし、ElevenLabsやOpenAI Whisperなどのプロバイダーを利用して音声アシスタントやポッドキャスト文字起こしツールを構築できます。マルチモーダルは画像、PDF、音声をテキストとともに送信し、写真分析、文書データ抽出、録音処理などを可能にします。構造化出力はAI応答をPHPオブジェクトに直接マッピングし、自動逆シリアル化により型安全なオブジェクトを即座に利用できます。
エージェント機能では、推論、計画、マルチステップタスクの実行を行う自律エージェントを構築できます。Agentはモデルとツールをラップし、ツール呼び出し、結果の読み取り、次のアクションの決定を自動的にループ処理します。トークン使用量追跡は、各リクエストのプロンプトトークン、完了トークン、合計トークンを正確に記録し、コスト監視とプロンプト最適化に役立ちます。ツール呼び出しにより、AIモデルがPHP関数を呼び出してデータを取得したりアクションをトリガーしたりできます。ツールは単純なクラスとして定義し、フレームワークがスキーマ生成と引数受け渡しを自動処理します。サブエージェントは、エージェントを他のエージェントのツールとして使用することで複雑なワークフローを構成し、コーディネーターエージェントが数学、調査、翻訳などの専門タスクを専用のサブエージェントに委任できます。RAGはドキュメントをベクトルストアにインデックス化し、関連コンテキストを自動的に取得して、自社データに関する質問にAIが答えられるようにします。
Symfony AIには、チャットボットUI、RAGパイプライン、YouTube文字起こしボット、レシピボット、Wikipedia調査ボットなどのデモが用意されており、Composer create-projectで即座に開始できます。
さらに、PHP Foundationとの協力により開発された公式MCP PHP SDKが含まれており、ツールやリソースを公開するMCPサーバーを作成したり、既存のMCPサーバーに接続したりできます。Symfony MateはAI支援開発のためのMCPサーバーで、Claude Code、Copilot、CodexなどのAIアシスタントがSymfonyアプリケーションのプロファイラデータ、ログ、コンテナサービスに直接アクセスし、リアルタイムでデバッグや理解を支援します。
Symfony AIコミュニティは活発で、ドキュメント、Slackチャンネル、フィードバックの機会が提供されており、開発者の貢献を奨励しています。