ここ数か月、私は SaaS 製品への AI エージェントの統合をより高いレベルに押し上げるために懸命に取り組んできました。これは非常に長い道のりであり、最初の実験から 1 年以上も前に始まりました。AI 駆動型システムのすべての可動部分を理解するのは、決して簡単なことではありませんでした。 PHP 開発者として、私は多くの苦労をしました。主な理由は、PHP エコシステムが、この種の「エージェント」機能を既存のアプリケーションに開発するのに、他のテクノロジーほど高度で豊富ではないからです。 Python と Javascript が「バスを運転」しており、当然ながら、他のプログラミング言語で作業する他の開発者も、自分たちの旅を始める機会を得るために成果物を作成しています。 6 か月前、この章に取り組み始めたとき、私は や など、注目を集めていたいくつかのパッケージを検討しました。これらのパッケージの背後には多くの開発があり、すでに多くのことが実装されています。しかし、私のニーズにとって、これらのライブラリでこの章の基盤を構築することを検討するには、これらのライブラリには重大な弱点があります。Prism は Laravel 専用であるため、ロックインされてしまいます。また、LLPhant にはさまざまなクラスがあり、フレームワークというよりもライブラリのように見えます。また、メモリ、チャット履歴、可観測性などの機能も欠けています。 LLPhant Prism 持続不可能な道 最初から、他のプログラミング言語に目を向けることはできないと気付きました。それは持続可能ではありません。そして、特定のテクノロジーを専門とするほとんどの開発者にとっても同じだと確信しています。 PHP アプリケーションを使用している場合、JavaScript や Python でエージェントを実装することはできません。これは、エージェントが魔法を生成するためにアプリケーションのデータとコンテキストが必要になるためです。このデータとコンテキストを別の言語で記述された外部エンティティに転送すると、多くのコードの重複や、持続可能ではない技術的な制約が発生します。 苦労しているのは私だけなのか、それとも他の PHP 開発者も同じ気持ちなのか、興味があります。 少なくとも自分にとって、自分のために作ったツールは本当に素晴らしいものだと思い始めました。 そこで、私はこの内部ツールをオープンソース プロジェクトとしてリリースすることにしました。Neuron 、フル機能の AI エージェントを既存の PHP アプリケーションに統合するためのオープンソース フレームワークです。 AI は https://neuron.inspector.dev オープンソースにすることにした理由 私が探求したい旅は、完全なオープンソースツールキットを使用して、PHPアプリケーションにエージェントエンティティを作成する力を人々に与えるLangChainに触発されています。また、Inspector.devが提供するプロフェッショナルな監視およびデバッグサービスにより、サポートと長期的な可視性を提供します。 同時に、PHP 開発者がより強固な基盤を持って「AI バスに飛び込む」のに本当に役立つと信じています。 これは私にとっては明らかなチャンスに思えました。皆さんが好みのプログラミング言語で素晴らしいソフトウェアを今後も構築していくために、この機会が皆さんの求めている答えを得られることを願っています。 システムの構成は次のとおりです。 重要な概念 Neuron AI は、AI 駆動型アプリケーションを実装するための完全なツールキットを提供するように設計されており、既存のシステムに簡単に統合できます。 ほとんどの Neuron AI フレームワーク コンポーネントはアクティブ コンストラクターを実装せず、独自のエージェント動作を実装するための機能を提供するだけです。最も重要な 2 つのクラスである と は、特定の実装を作成するために拡張できるように設計されています。これらがスタンドアロン オブジェクトとして使用されることはほとんどありません。 Agent RAG これにより、すべての可動部分が単一のエンティティにカプセル化され、アプリケーション内の任意の場所で実行できるようになるため、エージェント実装の移植性が保証されます。 namespace App\Agents; use NeuronAI\Agent; use NeuronAI\Providers\Anthropic; use NeuronAI\Tools\Tool; class SEOAgent extends Agent { public function provider(): AIProviderInterface { // return an AI provider instance (Anthropic, OpenAI, Mistral, etc.) return new Anthropic( key: 'ANTHROPIC_API_KEY', model: 'ANTHROPIC_MODEL', ); } public function instructions() { return "Act as an expert of SEO (Search Engine Optimization). ". "Your role is to analyze a text and provide suggestions on how the content can be improved to better rank on Google search."; } public function tools(): array { return [ Tool::make( "get_file_content", "Use the url to get the content in plain text." )->addProperty( new ToolPropertry( name: 'url', type: 'string', description: 'The URL of the article you want to analyze.', required: true ) )->setCallable(function (string $url) { return file_get_contents($url); }) ]; } } エージェントに相談する use NeuronAI\Chat\Messages\UserMessage; $response = SEOAgent::make($user) ->chat( new UserMessage("Give me your feedback about this article: https://inspector.dev/introduction-to-neuron-ai-create-full-featured-ai-agents-in-php/") ); echo $response->getContent(); // It seems like a good job has been done on the article, // however I can give you some tips to improve SEO:... パッケージの依存関係 Neuron は外部依存関係をできるだけ排除して構築することを意図的に決めました。パッケージには依存関係が 1 つだけ含まれています: “guzzlehttp/guzzle”: “^7.0” アプリケーション内に多数の依存関係を持ち込まなければ、Web アプリケーション フレームワーク (Laravel、Symfony、CodeIgniter など) などの現在のアーキテクチャを新しいバージョンにアップグレードしたり、新しい依存関係を統合したりする必要がある場合でも、Neuron からロックアウトされるリスクはありません。 私たちの経験から言うと、依存関係のチェーンが悪ければ、手遅れになってから非常に不愉快な驚きを味わうことになるかもしれません。AI インタラクションの実装にすでに多大な労力を費やしているのに、依存関係が原因でシステムの残りの部分をアップグレードして進化させることが不可能になり、突然ボトルネックになってしまうのです。 Neuron AI ではそうではないことを知っていただきたいと思います。 拡張性 フレームワークの各コンポーネントは、独自のインターフェースに依存しています。これにより、各コンポーネントの新しい具体的な実装を作成して外部システムとやり取りし、自信を持ってエージェントに渡すことができるようになります。 コンポーネントのドキュメントには、基本的にインターフェースを拡張して新しいコンポーネントを実装する方法を説明した専用セクションがあります。 新しい や を実装したいですか? ドキュメントに従って、新しいモジュールを PR でお気軽にお送りください。ファースト パーティのサポートとメンテナンスを確実に行うために、フレームワークの一部として統合させていただきます。 Vector Store Embeddings Provider AIエージェントの可観測性 Neuron は、エージェントと RAG の実装を監視可能にする組み込みシステムを使用して設計されています。たった 1 行のコードで、エージェントのアクティビティとパフォーマンスの監視を開始できます。 の専用セクションをご覧ください。 監視可能性セクション ニューロン AI ツールキット 完全に機能する AI エージェントを作成するには、いくつかの要素を連携させる必要があります。LLM とは別に、エージェントに最新の情報を提供するために、データを継続的に処理し、埋め込みを作成して保存する必要があります。 このプロジェクトの目的は、これらすべての領域に簡単に実装および拡張できるソリューションを提供することです。 ローンチ後の次は何? Inspector では、有機的な成長を重視しています。そのため、エッジケース、新しいニーズ、そしてもちろんバグ修正を発見するための最初のエージェントを開発者が作成できるよう支援したいと考えています。 私たちはすでに、現在エージェントを開始している 10,000 人を超える PHP 開発者からなる社内ユーザー ベースで作業を開始しており、これから多くのエキサイティングなことが生まれます。 実際の使用事例がフレームワークの進化の原動力となるため、当社の経験から知識を得たい場合は、遠慮なくご連絡ください。私たちはお手伝いいたします。 結論 顧客からアプリケーションに AI 機能を実装するように求められている場合は、Neuron をお試しください。最初のフル機能エージェントを実装するには、わずか数行のコードしか必要ありません。 この記事をお読みいただきありがとうございます。ご質問やご興味、フィードバックなどがありましたら、ぜひご連絡ください。また、このツールが他の PHP 開発者にとって役立つと思われる場合は、ブログ、ソーシャル メディア、YouTube チャンネルで共有してください。 インスペクターの詳細については、次の Web サイトをご覧ください: https://inspector.dev 最高、 ヴァレリオ