Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIエージェントをちゃんと作る/How to build agentic AI

吉田真吾
June 26, 2024
1.2k

AIエージェントをちゃんと作る/How to build agentic AI

吉田真吾

June 26, 2024
Tweet

More Decks by 吉田真吾

Transcript

  1. 「AI」からの大規模言語モデルの位置付け 人工知能(Artificial Intelligence, AI) 機械学習(Machine Learning, ML) 深層学習(Deep Learning, DL)

    生成モデル(Generative Model)≒ 生成AI 言語モデル(Language Model) 大規模言語モデル(Large Language Model) OpenAI ChatGPT(GPT-3.5, GPT-4) スパムフィルタ、信用スコアリング(ローン審査)、商品推薦エンジン 画像認識を用いた生体認証(Face ID、指紋認証など)、音声認識を用いた議事録生成、自動運転車の物体検知・認識 商品画像の自動生成、音楽・動画の自動生成、デザイン案の自動生成 文法・スペルチェック、品詞タグ付け、固有表現認識、音声認識の補助 高度な文章生成、質問応答、要約・翻訳、プログラムコードの生成
  2. A Survey of Large Language Models https://arxiv.org/abs/2303.18223 特定のタスクの 補助 典型的な自然言語

    処理タスクの解決 文脈を考慮した 様々なタスク解決 現実世界のタスクの 汎用的解決 統計的手法の活用 ニューラルネットワークの 導入 事前学習モデルの登場 汎用性の獲得と プロンプトベースの生成
  3. おおむね便利です 文書生成AI 画像生成AI 音声生成AI 適当に話した内容を整理してまとめてく れる/検討中のイシューの相談に乗って くれる/論文要約をしてくれる/あらゆ る言語で書かれた文献を翻訳してくれる 絵が描けなくても「こんな絵を描いて」 とお願いするだけで、その絵を生成して

    くれる/何度でもリテイクできる/生成 される映像のクオリティはプロ並に高い 人間と同じような音声を生成してくれる /アナウンサー、声優に頼まなくても無 限に読み上げ原稿を生成できる/無限に リテイクできる/プロ並に読み上げ可能
  4. 課題1:プロンプトを使いこなすのが大変 (Ultrarealistic:1. 3), (Award Winning Photo:1. 3), a man stands

    near a massive lonely magic (glowing tree:1. 3) in the middle of the snow field, (branches radiated a soft warm glow:1. 3), full moon, winter night, deep snow everywhere, (otherworldly glow:1. 2), (on a background of starry night:1. 3), masterpiece, (realism:1. 2), high contrast, (photorealism digital art:1. 3), Intricate, 8k HD high definition detailed, HDR, hyper detailed, best quality, (Photorealism:1. 3), (Vivid:1. 3), (Highly Detailed:1. 3), ((raytracing)), ((cinematic lighting)), (trending on Artstation:1. 3), <lora:add_detail:1> <lora:t3xtn:0. 4> <lora:galaxy_gods:0. 5> あなたは、プロンプトエンジニアです。 あなたの目標は、私のニーズに合わせて最高のプロンプトを作成することです。そのプロン プトは、ChatGPTで使用されるものです。 次のプロセスに従ってください。 1. まず最初に、何についてのプロンプトであるかを私に確認してください。 私が質問の答えを提供するので、次のステップを経て、継続的な反復を通じて改善してくだ さい。 2. 私の入力に基づいて、3つのセクションを生成します。 a) 改訂されたプロンプト(書き直したプロンプトを提示してください。明確、簡潔で、簡 単にあなたが理解できるものしてください) b) 提案(プロンプトを改善するために、プロンプトを含めるべき詳細について提案してく ださい) c) 質問(プロンプトを改善するために必要な追加情報について、関連する質問をしてくだ い) 3. この反復プロセスは、私があなたに追加情報を提供し、あなたが改訂されたプロンプトセ クションのプロンプトを更新し、私が完了したというまで続けます。 望みのプロンプトを生成してくれる
  5. LLMエージェントの位置付け エージェント AIエージェント LLMベースの AIエージェント (LLMエージェント) 自律的に動作し目的達成を目指すソフトウェアの総称。ルールベースのエキ スパートシステムから、AIを活用する高度なエージェントまで幅広く含む。 機械学習アルゴリズムを用いて訓練されたモデルを活用するエージェント。 教師あり学習や強化学習などの手法により、パターン認識や意思決定を行

    う。適応性と汎用性に優れる。 大規模言語モデル(LLM)を活用し、自然言語処理を高精度で行う最先端のAIエー ジェント。大量のテキストデータを用いた自己教師あり学習により、言語に関 する広範な知識を獲得し、複雑なタスクを処理できる。LLMの登場により、言 語に関わる幅広い分野でAIエージェントの性能が飛躍的に向上している。 ※エキスパートシステム: 特定分野の専門知識をルールベースで表現し、推論を行うシステム。 ※教師あり学習: 入力データとそれに対応する正解ラベルを用いてモデルを訓練する機械学習の手法。 ※自己教師あり学習: ラベル付けされていない大量のデータを用いて、モデル自身が入力データの一部をマスクし、 マスクされた部分を予測することで、言語の構造や文脈を学習する手法。正解ラベルを明示的に必要としない。
  6. MAGIS: LLM-Based Multi-Agent Framework for GitHub Issue Resolution (2024.3) •

    GitHubのイシュー解決は複雑な課題である。その理由は、新しいコードの導入と既存機能の 維持どちらも重要なため。 • LLMはリポジトリレベルでのコード変更には課題があると考えられてきた →LLMがGitHubのイシューを解決できない理由と影響要因を実証的に研究し、分析した https://arxiv.org/abs/2403.17927v1 ▪計画フェーズ 1. リポジトリカストディ アンエージェント 2. マネージャーエージェ ント →キックオフミーティングで開 発計画 ▪コーディングフェーズ 3. 開発者エージェント 4. QAエンジニアエージ ェント →レビューとマージ GPT-4の8倍のイシュー解決率‼
  7. MRKL Systems: A modular, neuro-symbolic architecture that combines large language

    models, external knowledge sources and discrete reasoning (2022.5) • MRKLのアーキテクチャ ◦ 小規模で特殊な言語モデルや数学計算、通貨変換、データベー スなどへの接続APIをモジュールとして構成し、LLMによって 入力を最適なモジュールにルーティングする構成とし、最新情 報や独自の知識を出力に利用したり、複雑な入力に対して多段 階に処理をおこなうことで、専門性の高い出力を処理できるよ うになる • Jurassic-X (MRKLを実装したシステム) ◦ 実際に複雑な質問に対して外部知識や計算処理をおこなった結 果を多数評価 → 現在も試験運用中 https://arxiv.org/abs/2205.00445
  8. ReAct: Synergizing Reasoning and Acting in Language Models (2022.10) •

    ReAct (Reasoning and Acting) ◦ 大規模言語モデル (LLM) の推論能力と行動生成能力を組み合わせたアプローチ ◦ タスクに関連する推論と行動を交互に生成することで、両者の相乗効果を引き出すことが可能 • Reasoning(推論トレース)工程について ◦ 行動計画の作成、維持、調整をおこなう (reason to act) • Acting(行動)工程について ◦ 外部環境 (例: Wikipedia) とのインタラクションを通じて、推論に必要な追加情報を取り込んだ り、目的の外部実行をおこなう (act to reason) https://arxiv.org/abs/2210.03629
  9. ReAct: Synergizing Reasoning and Acting in Language Models (2022.10) •

    検証パターン a. Reasonなし、Actなし b. Reasonのみ c. Actのみ d. Reasonあり、Actあり (ReAct) • Apple Remoteのほかに、Apple Remoteがもともと相互作用するよう に設計されたプログラムを制御できる デバイスはありますか? →ReActのみ正解 https://arxiv.org/abs/2210.03629
  10. ReAct: Synergizing Reasoning and Acting in Language Models (2022.10) •

    検証パターン a. Actのみ b. Reasonあり、Actあり (ReAct) • ALFWorld:テキストベースによる 周辺環境認識の評価フレームワーク 行動(Act)→観察(Obs)→…を繰り返 してReActは引き出し1に胡椒入れを 格納成功 https://arxiv.org/abs/2210.03629
  11. Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models

    (2023.5) • LLMに「計画を立てて(タスクをサブタスクに分割して)から、計画に従ってサ ブタスクを実行してください」と指示する手法 https://arxiv.org/abs/2305.04091 Zero-shot-CoT Plan-and-Solve
  12. An LLM Compiler for Parallel Function Calling (2023.12) • 計画したサブタスクの依存関係を整理して、並列でアクションを実行

    https://arxiv.org/abs/2312.04511 • ReActより1.8倍高速 • LlamaIndexやLangGraphで実装済み・利用可能
  13. その他 • DB-GPT: Empowering Database Interactions with Private Large Language

    Models (2023.12) ◦ データベースとのやり取りにおいて、SQLなどの構造化クエリ言語ではなく、LLMによる自然 言語インターフェースが期待されているが、LLMでどのようにデータベース操作し、アプリケ ーションを構築するかが課題 ◦ フレームワークとして「RAG」「適応学習メカニズム」「サービス指向マルチモデルフレーム ワーク(SMMF)」「データ駆動型エージェント」を用いてText-to-SQLタスクとRAGメカニ ズムのQAパフォーマンスを評価 ◦ ほとんどの評価指標で競合アプローチを上回る https://github.com/eosphoros-ai/DB-GPT
  14. 生成AIによって変化する ビジネスモデルについて レポートして ユーザー AIエージェント プログラムコードの生成/実行 インターネットや データベースからの情報収集 大規模言語モデルによる思考 ファイルの読み込み/書き出し

    アウトプットとなる 成果物 生成AIによって変化する ビジネスモデルは以下の 通りです... 人間は ミッション or タスク を与える ミッション達成に 向けて自律的に行動 成果を アウトプットする
  15. タスク分解 カレーライスをつくる 下準備 調理 仕上げ つくるカレーのレシピを決める レシピに必要な材料をリストアップする 必要な材料を購入する 必要な調理器具を準備する 野菜を洗い、皮をむく

    野菜を切る 肉を一口大にカットし、下味をつける 鍋に火をかけて温める 油を鍋にひき、温まったら玉ねぎを炒める 玉ねぎを透明になるまで炒めたら、肉を加えて炒める 肉の色が変わったら、他の野菜を加えてさらに炒める 指定の量の水を加え、沸騰させる 水が沸騰したらカレー粉を加え、次にトマトピューレを加える 火を弱めて蓋をし、40分間煮込む 最終的な味の確認(味を見て、足りない調味料を加える) カレーとご飯を皿に盛り付ける お米を洗い、炊飯器にセットする
  16. Code Generation with AlphaCodium: From Prompt Engineering to Flow Engineering

    コード生成タスクにおいて、段階的循環的フローで生成した結果が一貫して 単一の最適化プロンプトの結果を上回った。 https://arxiv.org/abs/2401.08500 初版: 2024/1/16 【前処理を行う】 • 問題の目的・入力・出力・制約条件などを箇条書きで 整理する • Public Tests(回答検証用のテスト)を用意する • 複数の回答(コードではなくテキストのアルゴリズ ム)を生成する • PublicTestsを検証する(各テストケースの入力と出力 の関係を説明する • AIテストを生成する(Public Testsではカバーされてい ないケースや側面を考慮する) 【反復する】 • コードベースの回答を生成する • 回答をPublic Testsで試す • エラーが発生した場合は修正を行う(繰り返し) • AIテストを使用して更に反復して洗練する ※競技プログラミングの問題を元に設計され、性能が検証されているため、実用のソフトウェア開発などにおける有用性は別途確認が必要。
  17. Self-Organized Agents: A LLM Multi-Agent Framework toward Ultra Large-Scale Code

    Generation and Optimization https://arxiv.org/abs/2404.02183 初版: 2024/4/2 複数のエージェントに協力させ、大規模で複雑なコードを生成 (および改善)を行う方法を提案。各エージェントが扱うコード の量を一定に保ちつつ、問題の複雑さに応じてエージェントを自 動的に増殖させることで、生成されるコード全体を理論的には無 限に拡張できるとしている。 主要コンポーネントは(1)Child agentと(2)Mother agent (1)Child agent - 与えられた関数のdocstringに基づいて実装を行う。 - LLMとメモリを持ち、コードの生成と改変を行う。 - Mother agentの状態を観察し、その情報を使って自律的にコードを改善する。 (2)Mother agent - Child agentと同様に、docstringに基づいて関数を独立して実装する。 - 問題の複雑さに応じて複数のChild agentを生成し、実装の一部をこれらのエージェ ントに委譲する。 - 抽象的なプロセスの実装に集中し、生成されたChild agentは具体的なプロセスの実 装を担当する。 また、プロセスは(A)コード生成と(B)コード改変にフェーズ分けされる (A)コード生成プロセス - エージェント間の階層的な組み合わせによって、単一の大規模なコードベースが効 果的に構築される。 (B)コード改変フェーズ - すべてのエージェントの実装が組み合わされ、最終的な実装が作成される。 - フィードバックがルートのMother agentから生成され、Child agentに伝播される。
  18. The FOXY Method ユーザーからゴールが渡される 過去の振り返り結果を参照 タスクリストを生成 タスク1を実行 タスク2を実行... 最後のタスクを実行 タスクの実行結果を出力

    タスク実行の振り返り ゴール、タスクリスト、振り返り 結果、実行日時の組み合わせをデ ータベースに保存 振り返りデータベース 今から取り組もうとしているゴー ルに近しい取り組みをデータベー スから探し、その振り返り結果を 参考情報にする。
  19. ツリー構造のイメージ クラウス・ミューラーは ジェントリフィケーションに 関する研究に専念している リフレクション クラウス・ミューラーは 研究に専念している リフレクション クラウス・ミューラーは研究 活動に専念している

    リフレクション クラウス・ミューラーは 研究に専念している リフレクション 2月13日水曜日の予定:起床し朝のルー チンを完了させるのは7:00、研究のため の読書とノート取りは7:00から、12:00に 昼食、13:00にアイデアのメモや根本的な 解決策ためのブレインストーミング... 計画 クラウス・ミューラーは 記事間の関連を見出している 観察 クラウス・ミューラーは 記事を読みながら ノートを取っている 観察 図書館のテーブルは研究材料 を調べ、記事間の関連を見出 すために使われている 観察 クラウス・ミューラーは 課題図書を読んでいる 観察 クラウス・ミューラーは 何時間も読書に 時間を費やしている リフレクション 図書館のテーブルは研究資料 についての議論のために使わ れている 観察 クラウス・ミューラーは図書 館員の助けを借りて関連記事 を探している 観察 クラウス・ミューラーは図書 館員とさらに研究を進めるた めに協力している 観察 クラウス・ミューラーは図書 館員と研究について話し合っ ている 観察
  20. その他 / マルチエージェントによる協調動作フレームワーク • HuggingGPT: Solving AI Tasks with ChatGPT

    and its Friends in Hugging Face (2023.3) https://github.com/microsoft/JARVIS • Generative Agents: Interactive Simulacra of Human Behavior (2023.4) https://github.com/joonspk- research/generative_agents • CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society (2023.5) https://github.com/camel-ai/camel • Communicative Agents for Software Development (2023.7) https://github.com/OpenBMB/ChatDev • AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation (2023.8) https://github.com/microsoft/autogen • AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors (2023.8) https://github.com/OpenBMB/AgentVerse • MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework (2023.8) https://github.com/geekan/MetaGPT
  21. Generative Agents, Inc. AWS Serverless Heroとして日本におけるサーバーレスの普 及を促進。 「ChatGPT/LangChainによるチャットシステム構築[実 践]入門」(技術評論社)共著、「Azure OpenAI

    Serviceで はじめるChatGPT/LLMシステム構築入門」(技術評論社) 共著、「AWSによるサーバーレスアーキテクチャ」(翔泳 社)監修、「サーバーレスシングルページアプリケーショ ン」(オライリー)監訳、「AWSエキスパート養成読本」 (技術評論社)共著。 ChatGPT Community(JP)主催 大規模言語モデルを組み込んだアプリケーションやAIエージ ェントの開発を実施。 個人ではエンジニア向けの勉強会開催や教材作成など。オン ラインコースUdemyではベストセラー講座多数。 「ChatGPT/LangChainによるチャットシステム構築[実 践]入門」(技術評論社)共著。 勉強会コミュニティStudyCo運営。 事業会社の顧問CTOとして活動するソフトウェア開発のスペ シャリスト。AIエージェントを経営に導入することにより、 あらゆる業種業態の生産性を高めるための活動に尽力してい る。 「その仕事、AIエージェントがやっておきました。 ――ChatGPTの次に来る自律型AI革命」(技術評論社)単 著、Software Design「実践LLMアプリケーション開発」 (技術評論社)連載。 西見 公宏(にしみ まさひろ) 吉田 真吾(よしだ しんご) 大嶋 勇樹(おおしま ゆうき) 代表取締役CEO / Founder 取締役COO / Co-founder 取締役CTO / Co-founder
  22. 会社情報 会社名 株式会社ジェネラティブエージェンツ (英文:Generative Agents, Inc.) 役員構成 CEO 西見 公宏

    COO 吉田 真吾 CTO 大嶋 勇樹 設立年月 2024年3月14日 事業内容 AIエージェントによるBPaaSの提供/生成AIを活用し たソフトウェア開発/技術顧問、AIエージェントに関 わるコミュニティ運営、法人向けコンサルティング AIエージェントによるBPaaSの提供 複雑な業務管理を自律的におこなうLLMエージェントサービスを提供しま す。独自のワークフローエンジンと複数プロフィールを設定したマルチエ ージェントシステムが御社のワークフォースとして業務を遂行します。 生成AIを活用したソフトウェア開発支援 AIエージェントの開発技術をコアに、生成AIを活用したソフトウェア開発 をレンタルCAIO(最高AI責任者)として支援します。 法人向けメンバーシップの提供 キャッチアップの難しいAIエージェント活用のリサーチ・事例・プロダク ト情報を提供します。AIエージェントの活用を考えている企業同士のネッ トワーキングもサポートすることで、日本におけるAIエージェント活用を 積極的に後押しします。 AIエージェント研究コミュニティの提供 AIエージェントに興味関心のある個人に向けて、学びあえるコミュニティ を提供します。