9K Views
November 18, 23
スライド概要
今回のテーマはGenerative Agentsについて取り上げました
大規模言語モデルをコアにエージェントによるデジタルオートマタシステムはSF的でありまさに生成系AIの大本命と目しています。
今回はゲストにエンジニアの武藤様にご登場を頂き、そもそもGenerative Agentsとはなんなのか、どんな事ができるのか。
そしてGenerative Agentsは近い将来どのように機能するのかを考察しました。
Generative Ai Study Group Master
Generative AI Study Group
Agenda
Agenda
Introduction • 今日のパネラー紹介 • Theme発表者 • システムエンジニア 武藤雅基様 • 勉強会貢献メンバー
Introduction • 前回の振り返り • Web更新 • https://www.ai-tech-c.jp/generative-ai-study-group-gasg/ • アンケート結果 • 今回のアンケート
Introduction •進捗 • アルファブロガー hoge様 • 新企画検討 • アイディアソン??ハッカソン??
Introduction • 参加者名簿 • 個別にご連絡をさせていただくため活用させていただく場合があ りますので、是非。 • Form • https://forms.gle/eRmeGtfkQMkDrs7K9
Introduction •AITeCに是非ご入会をご検討ください 😀 •驚きの安さ!! •なんと年間10万円ポッキリ!! •安い! 楽しい! 凄い! AITeC!!
Introduction • AITeC会員限定 • Mattermost • • 情報 / 企画 / ビジョン • 厳選とれたて新鮮Info from bookmarks • 僕が一番ChatGPTをうまくつかえるんだぁー!!大会 • ChatGPT相談室 • 疑似人格 • AIを使った社会実験 • Generative Agents • 新AIパラダイム時代の生き方論 • Deparure of Computable Fundamentalism ABCI利用 • スーパーエンジニアが親切にサポート (予定
Agenda
本発表資料の内容の大半は、ChatGPTおよびDALL-E 3で生成されています。
Theme • Contents • エキスパートシステム • エージェントシステム • マルチエージェントシステム • LLMマルチエージェントシステム • AutoGen • ChatDev
エキスパートシステム エキスパートシステムは、特定の専門分野に関する人間 の専門家の判断能力を模倣することを目的としたコン ピューターベースのシステムです。これらは人工知能の サブフィールドである知識工学の一部として開発されま した。 エキスパートシステムの中核は知識ベースであり、特 定の専門分野のルール、事実、推論ロジックがエンコー ドされています。この知識は専門家から得られるもので、 通常、if-thenルールの形式で表されます。 エキスパートシステムは、医療診断、金融分析、製造プ ロセス、地質調査など、多くの分野で利用されています。 しかし、これらのシステムは静的な知識と固定された推 論ルールに依存しているため、常識的な推論や未知のシ ナリオに対処することは苦手としています。また、専門 家の直観や経験に完全に匹敵することはできません。エ キスパートシステムは人間の専門家を補完するツールと して有用ですが、それに取って代わるものではありませ ん。
エージェントシステム エージェントシステムは、人工知能(AI)の領域において、自律 性を持ち、環境内で活動し、目標を達成するために継続的に学習 し、適応する能力を持つシステムです。 エージェントは、ユーザーからの直接の指示や介入なしに、独立 して操作を行う能力を持っています。これは、エージェントが環 境の変化に応じて自らの行動を決定し、調整することを意味しま す。 また、エージェントは他のエージェントやユーザーと通信し、協 力してタスクを完了する能力を持つことがあります。 さらに、単に反応的ではなく、積極的に目標を追求し、計画を立 てる能力を持ち、目的達成のために自発的に行動を起こすことも あります。 エージェントシステムは、自動化された顧客サービス、個人アシ スタント、ロボット工学、電子商取引、ゲーム、複雑なシミュ レーションなどの多様な応用が可能です。エージェントはその環 境についての知識を持ち、それを使用して決定を下すため、エキ スパートシステムよりも柔軟性と適応性があります。また、エー ジェントシステムは、一般により動的な環境での使用に適してお り、エキスパートシステムよりも複雑なタスクを実行できます。
マルチエージェントシステム マルチエージェントシステムは、複数の自律的なエージェント が互いに協力または競争しながら、一つ以上の問題を解決する ために設計されたコンピュータベースのシステムです。これら のエージェントは独立して動作し、独自の知識や目標を持ち、 環境内で自発的に行動を起こします。彼らは環境の変化に対応 し、他のエージェントとの通信や交渉を通じて、複雑なタスク やプロセスを実行するための計画を立てます。 マルチエージェントシステムの主な特徴はその分散性にありま す。システム全体が一つの中央集権的なコントローラに依存す るのではなく、個々のエージェントがローカルな情報に基づい て意思決定を行うことで、より柔軟で耐障害性のあるソリュー ションを提供します。これは特に、交通管理、自動化された取 引、オンラインオークション、ロボット工学など、複数のアク ターが同時に動作する状況において有効です。 マルチエージェントシステムは、個々のエージェントが持つ能 力を統合することで、単一のエージェントでは達成できないよ うな高度な問題解決やタスク実行を可能にします。これらのシ ステムは、エージェント間の相互作用の複雑さと、それによっ て生じる集合的な知性によって特徴付けられます。
Reference: https://medium.com/scisharp/understand-the-llm-agent-orchestration-043ebfaead1f
LLMマルチエージェントシステム LLM(Large Language Models、大規模言語モデル)を使用した マルチエージェントシステムは、複数のエージェントがそれ ぞれ大規模言語モデルを利用して情報を処理し、意思決定を 行い、タスクを実行するシステムです。LLMを利用することで、 これらのエージェントは自然言語でのコミュニケーションや 複雑な問題解決能力を持つことができます。 エージェントは、例えば顧客からの問い合わせに答えたり、 複数のソースから情報を収集して分析したりする際にLLMを使 用します。マルチエージェントシステム内で、エージェント はそれぞれ独立して動作するだけでなく、他のエージェント と情報を共有したり、共同で問題解決を行ったりすることが できます。これにより、システム全体としてより高度な課題 に取り組むことが可能になります。 LLMを用いることの利点は、エージェントがより人間らしい対 話を行い、複雑な言語に基づくタスクを理解し処理する能力 を得られる点です。これは顧客サービス、データ分析、自然 言語処理など、多くの応用分野での使用が想定されます。
LLMマルチエージェントシステムフレームワーク ここでは、具体的にAutoGenとChatDevという 2つのフレームワークを試した結果を紹介します。 どちらも、自然言語で指示を与えるだけで、 LLMマルチエージェントが自動的に協議を行い 目的達成に向けて提案をおこなったり、 プログラムコードの生成をおこなってくれます。 AutoGen https://microsoft.github.io/autogen/ ChatDev https://github.com/OpenBMB/ChatDev
AutoGen
import autogen
AutoGenは、複数のAIエージェントが相互に会話
しながらタスクを解決するためのAIフレームワー
クで、Microsoft、Penn State University、および
Washington大学の共同研究によって開発されまし
た。このフレームワークはLLMを利用し複数の
エージェントが互いに会話することでタスクを解
決するシステムです。Microsoft Researchによって
発表されたこの開発フレームワークはコード実行
環境としても機能し、その最大の特徴はマルチ
エージェントシステムを簡単に利用できることで
す。例えば、プログラム開発においてコーダーと
チェッカー、健康管理ではシェフと医師など、特
定の役割を持ったAIエージェントを設定し、相談
を通じてタスクを解決できます。
このフレームワークは様々な状況に適用可能であ
り、各AIエージェントをカスタマイズしたり、人
間との協力も可能です。AutoGenによるAIエー
ジェント同士の連携は、複雑なタスクを処理する
ことができます。
config_list = autogen.config_list_from_json(
"OAI_CONFIG_LIST",
file_location=".",
filter_dict={
"model": ["gpt-4", "gpt-4-32k", "gpt-4-32k-0314", "gpt-4-32k-v0314"],
},
)
llm_config={
"request_timeout": 600,
"seed": 42,
"config_list": config_list,
"temperature": 0,
}
# create an AssistantAgent instance named "assistant"
assistant = autogen.AssistantAgent(
name="assistant",
llm_config=llm_config,
)
# create a UserProxyAgent instance named "user_proxy"
user_proxy = autogen.UserProxyAgent(
name="user_proxy",
human_input_mode="TERMINATE",
max_consecutive_auto_reply=10,
is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),
code_execution_config={"work_dir": "web"},
llm_config=llm_config,
system_message="""そのタスクが完全に満足のいく形で解決された場合は、TERMINATEと答える。
そうでなければ、CONTINUEか、タスクがまだ解決していない理由を答えなさい。"""
)
# the assistant receives a message from the user, which contains the task description
user_proxy.initiate_chat(
assistant,
message="""
冷蔵庫にある材料で夕飯を作りたいです。
冷蔵庫には、卵、トマト、玉ねぎ、にんじん、じゃがいも、豚肉があります。
""",
)
ChatDev python run.py --task "[description_of_your_idea]" --name "[project_name]" 実際のコマンド python run.py --task “develop a desktop application that displays a specified character image on the desktop alongside a clock. The application should possess a timer functionality. The character image and clock should be displayed in a welldesigned, intuitive user interface. The timer functionality should allow users to set a countdown or stopwatch, with the ability to start, stop, and reset the timer. The application should be designed to run on various operating systems, ensuring a consistent user experience across different platforms. The user interface should be user-friendly and visually appealing, allowing users to interact with the character, clock, and timer effortlessly.” --name “sample_project” ChatDevは、複数の知的エージェントが最高経営責任者やプログラ マーといった様々な役割を担い、ソフトウェア開発を行う仮想のソ フトウェア会社として機能するフレームワークです。CEOやCTO、 プログラマ、テスターなどが在籍する仮想のソフトウェア会社の形 を取っています。 このフレームワークは、ChatGPTの技術を利用しており、実際のソ フトウェア開発における役割分担とコミュニケーションを模倣して います。ユーザーがアプリケーションの概要をChatDevに提供する と、内部のエージェントが設計、コーディング、テスト、ドキュメ ント作成といったソフトウェア開発の各ステップを自動的に行って くれます。ソフトウェア開発のプロセスは、設計、コーディング、 テスト、文書化の4つのフェーズに分けられており、これらは一般 的なウォーターフォールモデルに基づいています。 ChatDevは、大規模言語モデルを用いた新しいソフトウェア開発の パラダイムを提示しており、自然言語によるコミュニケーションを 用いて効率的に各タスクを処理することができます。これにより、 特別なモデルを必要とせずに、設計からコーディング、テスト、ド キュメント作成に至るまでのプロセスを効率化し、コストを削減す る可能性を持っています
AI Agents: https://github.com/e2b-dev/awesome-ai-agents/ https://github.com/e2b-dev/awesome-sdks-for-aiagents
Theme • QA and Discussion • Open AI • Assistant API • https://platform.openai.com/docs/assistants/overview • Assistant APIの概要 - OpenAI Cookbook|npaka https://note.com/npaka/n/n7d71310b66de • Langchain • langchain-ai/opengpts https://github.com/langchain-ai/opengpts • Hugging Face • Transformers Agents https://huggingface.co/docs/transformers/transformers_agents
Theme • QA and Discussion • Development and Integration • AI Agents vs Developers https://tinyurl.com/ys8eocxb • The future of Agents computing • AI is about to completely change how you use computers | Bill Gates https://www.gatesnotes.com/AI-agents • ω Meta-sphere Future vision • Multi Meta-sphere world system
Agenda
Study contents • Coming soooooooon!
Agenda
News • みんなで生成系AIブックマーク • 新企画です!! 皆様の気になった生成系AIの情報をその場で募集して ディスカッションします。 • 募集はこちら https://forms.gle/kKVsb9jDwMTm2Rkk6 から事前投稿も受 け付けています。 • リスト • https://docs.google.com/spreadsheets/d/1bjJfAhfEvNMSuxAszCiSo0qdE89s p86ooAyBdRVuDO0/edit?usp=sharing
Agenda
Next • アンケートの結果とコメント • 次回 • みんなで生成系AIブックマーク" 継続 • Theme引き続き募集 • Study contents • GPTs • Fine tuning • ChatGPT Plugins • オープンソース各種 • Langchain,LlamaIndex, 他 • Business向けコンテンツ
EOF https://www.linkedin.com/in/kunihiro-sugiyama-49b0372a/ https://www.ai-tech-c.jp/generative-ai-study-group-gasg/