Share
Embed
Transcript
39 slides
-
2 福岡⼤学応⽤数学科、九州⼤学⼤学院で数理学を学 び、IIJでインフラ‧バックエンドやKubernetesプロ ジェクトを推進。その後、スカイディスクでAI開 発、SaaSプロダクト設計に従事。2024年4⽉よりス タディストでAIエンジニアリング室室⻑としてAI技 術活⽤をリード中。 株式会社スタディスト 開発本部 AI
エンジニアリング室室⻑ 近藤 憲児 KONDO Kenji 図 Udemy 講師、認定スクラムマスター 近藤憲児事務所 | Office Kondo Kenji 近藤憲児 (@kondokenjibai) / X -
4 4 AI Agent とトレンド AI Agent 実装の設計論 1 2
本⽇の内容 AI Agent 実装の具体例 - Cline を中⼼に - 3 -
6 「センサーを通じて環境を知覚し、アクチュエーターで環境に働きかけるシステム」 引用: https://aima.cs.berkeley.edu/figures.pdf “An agent is anything that can
be viewed as perceiving its environment through sensors and SENSOR acting upon that environment through actuators.” AI Agent とは(古典的な「 Agent 」の定義) -
8 • 検索キーワードを自分で組み立てる、ツール (検索)を複数回 呼び出す、自動で再検証する、といったフローが Agent らしい Deep Research 代表的サービス
AI Agent のトレンド:インターネット検索 × LLM 環境 = インターネット、LLMが「検索 → 結果を観測 → 回答⽣成」の流れを⾏う 環境 インターネットの記事、 リソース Agent その情報に基づいて回答を生成する -
9 AI Agent のトレンド:Coding Assistant コードベース‧ターミナルを“環境”とみなし、ファイルを読み込み‧編集、コマンドを実⾏ しながら提案を⾏う 代表的サービス • 「ソースコードを解析する」「再度コードを読む」
などAgent 的振る舞い 環境 コードベース・ターミナル Agent ファイルを読み込み・編集、 コマンドを実行 -
10 AI Agent のトレンド:AI Scientist 新しい研究アイデアを⽣成し、⽂献検索し、実験⽤コードまで書いて実⾏結果を論⽂形式にまとめる 「超‧⾃律的エージェント」 AI Scientistの象徴的な処理フロー •
環境が「論⽂」「Python実⾏環境」「LaTeXファイ ル」など多岐に渡り、何⼗〜百回もLLM呼び出しを ⾏う。 • マルチステップ+マルチツールの究極形に近い 環境 「論文」「Python実行環境」「LaTeXファイ ル」 etc Agent アイディアの種を膨らませて、 実際に実験を⾏い、 論⽂として出⼒する -
12 引用: ReAct: Synergizing Reasoning and Acting in Language Models
AI Agent をどう作るか:3つの設計⼿法 ReAct Agentic Workflow Agent Design Pattern Catalogue 引用: What's next for AI agentic workflows ft. Andrew Ng of AI Fund - YouTube 引用:Agent Design Pattern Catalogue – Software Systems -
13 AI Agent をどう作るか:3つの設計⼿法 ReAct Agentic Workflow Agent Design Pattern
Catalogue 引用:Agent Design Pattern Catalogue – Software Systems 引用: ReAct: Synergizing Reasoning and Acting in Language Models 引用: What's next for AI agentic workflows ft. Andrew Ng of AI Fund - YouTube -
14 AI Agent をどう作るか(ReAct) ReActは、Reasoning(推論)とActing(⾏動)の頭 ⽂字を取った名称で、 GPT 3.5 が登場した時期に⼀気 に注⽬されたプロンプト設計⼿法。
単⼀のLLMが「推論(Thinking) → ⾏動(Acting) → 観察 (Observation) → 推論…」というサイクルを⾃律的に 回し、最終的にゴールへたどり着く。 対⽐して、素朴な ChatGPT は Reasoningのみ をして いる。 引用: ReAct: Synergizing Reasoning and Acting in Language Models -
16 AI Agent をどう作るか:3つの設計⼿法 ReAct Agentic Workflow Agent Design Pattern
Catalogue 引用:Agent Design Pattern Catalogue – Software Systems 引用: ReAct: Synergizing Reasoning and Acting in Language Models 引用: What's next for AI agentic workflows ft. Andrew Ng of AI Fund - YouTube -
17 Andrew Ng ⽒が提案しているフレームワーク LLMを活⽤する際の4つの主要テクニックをまとめている AI Agent をどう作るか(Agentic Workflow) 引用:
What's next for AI agentic workflows ft. Andrew Ng of AI Fund - YouTube -
18 AI Agent をどう作るか(Agentic Workflow) 「⼀度で出⼒の⽣成を完結させるのではなく、LLMが反復的にタスクをこなし、出⼒を改善させ る」という考え⽅を核としている • Reflection(⾃⼰改善) ◦
LLMが⾃⾝の出⼒を評価し改善する。推論の質を段階的に向上させる • Tool Use(ツール活⽤) ◦ LLMの能⼒を外部ツールで拡張する。APIやデータベースなど、様々なツールの統合 • Planning(計画⽴案) ◦ 複雑なタスクを段階的に分解する。⽬標達成のための戦略を⽴案する • Multi-agent collaboration(協調) ◦ 専⾨化された複数のAgentの連携。タスクの分担と統合 -
19 AI Agent をどう作るか:3つの設計⼿法 ReAct Agentic Workflow Agent Design Pattern
Catalogue 引用:Agent Design Pattern Catalogue – Software Systems 引用: ReAct: Synergizing Reasoning and Acting in Language Models 引用: What's next for AI agentic workflows ft. Andrew Ng of AI Fund - YouTube -
20 AI Agent をどう作るか(Agent Design Pattern Catalogue) Anthropic、 Yue Liu
らによって提案された「18のエージェントデザインパターン」 引⽤元: https://arxiv.org/abs/2405.10467 ⽬標設定と計画⽣成 エージェント間の協調 推論と確実性の向上 ⼊出⼒制御 ⼤きく4つにカテゴライズされる -
24 • コーディング支援の vscode の拡張プラグイン • 似たようなやつで言えば Cursor また Devin
Cline とは なぜ Cline に注⽬するのか point 01 実際に役に立ってるAgent アプリ point 02 ソースコードが公開されて いる -
25 Cline のコードの特徴 1 2 3 コードベースはシンプル 学びやすい ⼀つのエージェントを使いまわしている マルチエージェントの複雑さがない
⼀つのエージェントに⾊々なことを任せている 故にプロンプト長い -
26 Cline はコード⾒てみるとシンプル 2つの ファイルをみればだいたいわかる 解説 system.ts Cline.ts system.ts 巨⼤なシステムプロンプトが
書いてある 1. Cline.ts ほとんどの処理は ここに書いてある 2. -
28 Cline の実装のポイント Clineには4つの技術的なポイント point 02 Plan-and-Solve point 03
Chain-of-Thought point 04 Tool Use point 01 ReAct -
29 ポイント①:ReAct Cline は ReAct型 のエージェントフロー ユー ザー リ ク
エ ス ト LLM に問 い合 わせ プラ ン作 成 ツー ル実 ⾏ 実⾏ 結果 結果 を パー ス 結果 を含 めて 必要 に応 じて LLM に問 い合 わせ 完了 -
36 ポイント④: Tool Use Cline では、ツール(ファイルの読み書きやコード⽣成などの API を呼び出す機能)を操作するフェーズに おいて、XML のようなタグ形式を⽤いて「どのツールをどの引数で呼び出すか」を明⽰する記述を、
XML-like なタグを⽤いて誘導している プロンプト例 アウトプット例 -
37 ポイント④: Tool Use 実際の Cline での parse 処理。 LLM
からの response を⼀⽂字ずつ蓄積して、所定の⽂字列が⼊っている かを⾒ている -
38 まとめ Cline をみれば簡単にできそう。 最後に紹介した4つまでのテクニックを押さえるのが重要 point 02 Plan-and-Solve point
03 Chain-of-Thought point 04 Tool Use point 01 ReAct