AutoGenの論文


## はじめに

AutoGenはMicorsoftが開発した高レベルの抽象としてのマルチエージェント会話フレームワークを提供します。これは、マルチエージェントの協力、教育可能性、およびパーソナライゼーションを有効にするためのオープンソースライブラリです。このフレームワークを使用すると、ユーザーはLLMワークフローを構築できます。エージェントのモジュラリティと会話ベースのプログラミングは、開発を簡素化し、開発者の再利用を可能にします。エンドユーザーは、複数のエージェントが独立して学習し、彼らのために協力することから利益を得ることができ、それによって彼らはより少ない作業でより多くのことを達成できます。

AutoGenによるマルチエージェントアプローチの利点には、さまざまなLLM構成に基づくエージェントが含まれます。コード生成と実行を通じたツール使用の一般的な形式のネイティブサポート。そして、人間のフィードバックと関与をさまざまなレベルで簡単に統合できる特別なエージェント、Human Proxy Agentがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/1a852633-2055-1abb-0b8d-89dc473fbeb6.png)



https://arxiv.org/abs/2308.08155

この論文から、6つの活用例を説明します。

A1: AutoGenは、LLMアプリケーションの数学問題解決の開発を容易にし、他の方法よりも自動数学問題解決のシナリオでの性能を向上させ、人間がループ内での問題解決プロセスを可能にします。
「AutoGenは、LLMアプリケーションの数学問題解決の開発を促進し、他の方法を上回る自動数学問題解決のシナリオを提供し、人間がループ内の問題解決プロセスを有効にします。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/f50e3099-6c97-8720-9830-94a0b704e063.png)

A2: AutoGenは、外部ドキュメントを取り込むことで質問応答とコード生成の能力を強化するRetrieval-Augmented Generationシステムを作成するために使用され、対話型の検索機能を導入します。
「AutoGenは、外部ドキュメントを組み込むことで質問応答とコード生成の能力を向上させるRetrieval-Augmented Generationシステムの作成に利用され、対話型の検索機能を導入します。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/708a39d5-c6bb-0d15-dacb-b6f03a859efe.png)

A3: AutoGenは、ALFWorld環境での対話型意思決定のアプリケーションの開発に使用され、常識の知識を提供するグラウンディングエージェントの導入により、性能が向上します。
「AutoGenは、ALFWorld環境の対話型意思決定アプリケーションの開発に使用され、グラウンディングエージェントの導入により、常識的な知識を提供して性能を向上させます。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/436bbf64-d95c-dbca-22b2-4aa67b8bbd43.png)

A4: AutoGenは、OptiGuideというマルチエージェントコーディングシステムの開発を簡素化し、コードの作成、チェック、実行のプロセスを合理化し、マルチエージェントデザインの単一エージェントアプローチに対する利点を示します。
「AutoGenは、OptiGuideというマルチエージェントコーディングシステムの開発を簡素化し、コードの書き込み、確認、実行のプロセスを合理化し、マルチエージェントデザインが単一エージェントアプローチよりも優れていることを示します。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/d9753292-a1c0-d530-a30c-ffcbb4c61a2b.png)


A5: AutoGenは、エージェントが事前に定義された順序なしで会話できるダイナミックグループチャットをサポートし、ロールプレイスタイルのプロンプトが会話の効果性を向上させます。
「AutoGenは、エージェントが事前に定義された順序なしで対話するダイナミックグループチャットをサポートし、ロールプレイ風のプロンプトが対話の効果を高めることが確認されました。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/e4612121-4d88-8cf9-a465-22e8b159c875.png)


A6: AutoGenを使用して開発されたConversational Chessは、組み込みエージェントを備えた自然言語インターフェースゲームであり、標準ルールに基づいて情報を提供し、移動を検証する第三者のボードエージェントを特長としています。
「AutoGenを使用して開発されたConversational Chessは、組み込みエージェントを持つ自然言語インターフェースゲームで、標準的なルールに基づいて情報を提供し、手を検証する第三者のボードエージェントが特徴です。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/2cfe5abd-b42a-195a-4c5b-c80e53ded910.png)


## 結果

A1-A4の四つのアプリケーションにおけるパフォーマンス。 (a) は、AutoGenエージェントが数学の問題解決タスクで最も競争力のあるパフォーマンスを達成するために即座に使用できることを示しています；(b) は、AutoGenを使用して効果的な検索増強を実現し、Q&Aタスクのパフォーマンスを向上させるための新しい対話型の検索機能を実現できることを示しています；(c) は、AutoGenを使用して、ALFWorldのパフォーマンスを向上させるためのグラウンディングエージェントを備えた3エージェントシステムを導入できることを示しています；(d) は、保護が必要なコーディングタスクのパフォーマンスを向上させるために、マルチエージェントデザインが有効であることを示しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/40756e7b-5469-bc2b-4690-2e2426dd378e.png)

## まとめ
Microsoftが開発したAutoGenは、マルチエージェント会話をサポートするフレームワークで、オープンソースライブラリとして提供されています。このフレームワークを使用することで、ユーザーはLLMワークフローを簡単に構築でき、エージェントのモジュラリティと会話ベースのプログラミングを活用して、効率的な開発が可能です。特に、Human Proxy Agentのような特別なエージェントを通じて、人間のフィードバックを統合することができます。

このフレームワークの具体的な活用例として、以下の6つが挙げられます：

- 数学問題解決のためのLLMアプリケーションの開発。
- 外部ドキュメントを取り込むことで質問応答とコード生成の能力を強化するシステムの作成。
- ALFWorld環境での対話型意思決定アプリケーションの開発。
- OptiGuideというマルチエージェントコーディングシステムの開発。
- ダイナミックグループチャットのサポート。
- Conversational Chessという自然言語インターフェースゲームの開発。

結果として、AutoGenは数学問題解決やQ&Aタスク、コーディングタスクなど、さまざまなアプリケーションでの性能を向上させることが確認されています。


----
参照：
- Github:　https://github.com/microsoft/autogen
- サイト:　https://microsoft.github.io/autogen/
- 論文:　https://arxiv.org/abs/2308.08155