- Published on
マイクロソフトがAIエージェントフレームワークAutoGen 0.4を発表:インテリジェントエージェントの再構築
AutoGen 0.4の主なハイライト
マイクロソフトは、オープンソースのAIエージェントフレームワークであるAutoGenの大幅なアップデート、バージョン0.4をリリースしました。この刷新されたライブラリは、コードの安定性、堅牢性、汎用性、およびスケーラビリティが強化されており、開発者が最先端の高度なAIエージェントアプリケーションを作成できるようにします。
非同期メッセージング
エージェントは非同期メッセージングを使用して通信するようになり、他のエージェントからの応答を待たずにタスクを進めることができます。これは、エージェントが特定のトリガーに反応するイベント駆動型アプリケーションに特に有益です。従来のリクエスト/レスポンスモデルもサポートされています。
モジュール性と拡張性
ユーザーは、カスタムエージェント、ツール、メモリ、およびモデルを組み合わせて、特定のビジネスニーズに合わせたエージェントシステムを構築できます。これには、特定な自動化目標を達成するために、さまざまなエージェントタイプとツールを登録することが含まれます。
可観測性とデバッグ
メトリック追跡、メッセージトレース、およびデバッグ用の組み込みツールにより、エージェントの相互作用とワークフローの監視と制御が可能になります。大規模なモデル呼び出し、ツール使用、中間出力、メモリ状態、プロンプトテンプレートなど、エージェントのワークフローのすべてのステップを明確に記録できます。これは、医療、法律、金融など、エージェントの操作の正確な追跡を必要とする業界にとって非常に重要です。
スケーラビリティと分散
複雑な分散エージェントネットワークは、組織の境界を越えてシームレスに動作するように設計できます。分散アーキテクチャにより、さまざまなサーバーまたはクラウドプラットフォームへのエージェントの展開が容易になり、リソースの割り当てと利用が最適化されます。
組み込みおよびコミュニティ拡張機能
フレームワークの機能は、高度なモデルクライアント、エージェント、マルチエージェントチーム、およびエージェントワークフローツールを備えた拡張機能によって強化されています。コミュニティサポートにより、開発者は独自の拡張機能を管理し、カスタムエージェントまたはツールを作成および共有できます。開発者は、これらの拡張機能を一般的なニーズに使用できるため、開発の複雑さと障壁が軽減されます。
クロス言語サポート
AutoGenは、Pythonや.NETなど、異なるプログラミング言語で記述されたエージェント間の相互運用をサポートするようになりました。この機能により、AutoGenのアプリケーション範囲が広がり、言語の違いに起因する障害が解消されます。
これらの新機能に加えて、マイクロソフトはAutoGenの基盤を再構築しました。これは、コア、エージェントチャット、および拡張機能で構成されています。コアは、イベント駆動型エージェントシステムのベースとして機能します。コア上に構築されたエージェントチャットは、タスク管理、グループチャット、コード実行、および事前に構築されたエージェント用の高度なAPIを備えています。拡張機能は、AzureコードエグゼキューターやOpenAIモデルなどのサービスとのサードパーティ統合を容易にします。
UIの強化
ユーザーインターフェースも大幅に改善されました。
- UIを介したインタラクティブなフィードバックにより、ユーザーエージェントはチーム操作中にリアルタイムの入力とガイダンスを提供できます。
- メッセージフローの視覚化により、エージェントの通信を理解するための直感的なインターフェースが提供され、メッセージパスと依存関係がマッピングされます。
- 視覚的なドラッグアンドドロップインターフェースにより、ユーザーはコンポーネントとその関係とプロパティを配置および構成することにより、エージェントを設計できます。
Magentic-Oneとの統合
マイクロソフトによる別のオープンソースのマルチレベル汎用AIエージェントであるMagentic-Oneが、AutoGenに統合されました。Magentic-Oneは、Orchestrator、WebSurfer、FileSurfer、Coder、およびComputerTerminalの5つのAIエージェントで構成される多層アーキテクチャを持っています。各スペシャリストエージェントは、独自のスキルセットと知識ベースを備えており、それぞれの分野で効果的に作業できます。ただし、これらのエージェントは単独で作業するのではなく、Orchestratorがそれらの活動を調整して、一貫性があり、全体的な目標を満たすようにします。
Orchestratorの役割
Orchestratorは、タスクの計画、進捗状況の追跡、およびエラー回復を担当します。タスクを受け取ると、要件を徹底的に分析し、他の4つのエージェントにサブタスクを割り当てます。これらのスペシャリストエージェントは、特定のタイプのタスクを処理するのに熟練しています。
- WebBrowserAgent: Webブラウジングを処理します。
- FileNavigatorAgent: ローカルファイルシステムナビゲーションを管理します。
- CodeWriterAgent: Pythonコードスニペットを記述および実行します。
- ComputerTerminal: オペレーティングシステムレベルのコマンドを実行して、より高レベルのタスクをサポートします。
非同期イベント駆動型動作
Magentic-Oneアーキテクチャの重要な特徴は、非同期イベント駆動型動作です。同期リクエスト/レスポンスモデルとは対照的に、非同期メソッドでは、システムコンポーネントが同時に実行され、他の機能を停止することなく、いつでも新しい入力を受信したり、アクションをトリガーしたりできます。たとえば、OrchestratorがWebページからの情報のダウンロードと抽出を含むタスクを割り当てると、WebBrowserAgentはページのロードを開始できます。一方、Orchestratorと他のエージェントは他のタスクを続行します。ページがロードされ、必要なデータが抽出されると、WebBrowserAgentはOrchestratorに通知し、結果を返します。この戦略により、Magentic-Oneはリソースをより効率的に管理し、待ち時間を短縮し、高同時実行シナリオにより効果的に対応できます。
モジュール設計
非同期アーキテクチャに加えて、Magentic-Oneは高度にモジュール化された設計によって際立っています。各エージェントは、明確な責任とインターフェイス定義を持つ独立した機能ユニットです。このアプローチにより、開発者は他のコンポーネントとの相互作用の詳細を気にすることなく、単一のエージェントの機能に集中できるため、システムの構築が簡素化されます。モジュール性により、コードの再利用と技術の共有も促進され、既存のエージェントを新しいプロジェクトで使用したり、最小限の変更で異なるアプリケーションに適応させたりできます。Magentic-Oneのモジュール設計は、大幅なスケーラビリティも提供します。テクノロジーの進歩やビジネス要件の変化に応じて、新しいエージェントを追加したり、既存のエージェント機能を大規模なシステムオーバーホールなしに更新したりできます。たとえば、特定のドメインのタスクがより複雑になった場合、専門のエージェントを追加することでシステムを強化できます。