🛺

AutoGen! 複数のAgentAIを楽に作れる!会話が大切

2024/10/06に公開

前書き

  • 複数のエージェントのシステムの実装に興味があったところにAutoGenの勉強会があり、参加した。
  • その時はピンと来なかったが、後でMicrosoftが作ってるし、注目と思い、論文を読みました。
  • いろんなweb記事の例やTutorialや勉強会等で動かしました。プログラム作成、実行するtoolも充実してることに気づけたのも良かった。

話すこと

  • 複数のAgentのシステム作成を簡単にするAutoGenの解説
  • 論文読んで、自分が理解した内容です。違うとかありましたらご指摘願います。

読者対象

  • ChatDevやAIScientistを読んで、そんなシステムを作りたい人。
  • 複数のAgentのシステムをLangChianやLnagGraphで作ってるけど他のtoolも探している人。

1. どんなもの?

  • 論文構成は、概要、始めに、フレームワーク(会話Agent、会話プログラム)、アプリ例、議論
  • 複数のAgentのシステム作成Open-sourceのフレームワーク
  • 図の左のように エージェントはカスタマイズが可能で、複数エージェントで会話し さらに会話のパターンも柔軟である
  • 図の左はタスクを解決するために エージェントが会話してるところ。
  • 以下の6つが例として記載。
  • 数学の問題の解決
  • RAGでのコード生成・質問回答
  • 意思決定
  • 複数エージェントによるコーディング
  • グループチャットでの動的タスク解決
  • チェスの対局

2. 先行研究と比べてどこがすごいの?

  • ChatDevやAIScientistは、特定の用途に比べて、汎用的にシステムが作れる。
  • MicroSoftが作っているし、エコシステムが充実、さらに成長しそう。
  • LangGraphや他のツールとの使い分けは気になる。
  • 会話重視、モジュール化、いろんな会話型を用意

3. 技術や手法の"キモ"はどこにある?

  • 複数エージェントの協業する上で、どのような個別のエージェントのデザインが、能力
    、カスタマイズ性、再利用性、効率性でいいかを考えた。
  • また、幅広いエージェントの会話パターンに対応する良いインターフェースを考えて以下の実装が生まれた。
  • ConversableAgentは会話できるエージェント、抽象クラスのAgentを継承、サブクラス化できる
  • 図は上段:AssistantAgent、UserProxyAgent、GroupChatManagerがサブクラスとして用意されている。中断:プログラム例、下段:実行時の会話例
  • 統一的な会話インターフェースを持ち、メッセージの送受信、応答の生成、カスタム返信関数の登録ができる。
  • 自然言語制御やPythonコード制御で会話の流れを柔軟に変えられる。

4. どうやって有効だと検証した?

  • (a): 数学問題解決タスク,(b): Q&Aタスク(RAG) ,(c):ALFWorld(テキスト理解?),(d): コーディングタスクで、強い結果、複数エージェント化の良さを確認できる。

5. 議論はあるか?

  • コミュニケーションの仕方を試す場としてもいいなと思った。
  • 例えば最近みたyutubeでbuddicaの中野さんは会議では報連相の相談だけでいいと言っていた。それを全員守る場合になにが起きるか?とか社会的にも今の一般常識から外れた理想のものを生むためのtoolにもなる?

6. 次に読むべき論文はあるか?

-A Survey on Large Language Model based Autonomous Agents これもそのうち記事書きます。
-ALFWorld: Aligning Text and Embodied Environments for Interactive Learning

論文情報・参考資料・次に読む?記事

あとがき

記事よかったら、いいね♡ 押してね!フォローも嬉しい!

Discussion