Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第50回 Tokyo Jazug Night/react-deepdive
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Noriyuki TAKEI
December 19, 2024
Technology
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第50回 Tokyo Jazug Night/react-deepdive
Noriyuki TAKEI
December 19, 2024
More Decks by Noriyuki TAKEI
See All by Noriyuki TAKEI
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
380
RAG構築のためのAzure OpenAI Serviceリファレンスアーキテクチャ詳解/wakarimiragarchitecture
noriyukitakei
0
290
生成AI時代の検索手法〜スターウォーズの登場人物で紐解くベクトル/セマンティック/ハイブリッド検索〜/wakarimiaisearch
noriyukitakei
0
100
Prompt flowでブログ記事紹介ツイートアプリをラクチン開発/wakarimipromptflow
noriyukitakei
0
69
世界一わかりみの深いAzure OpenAI Service/wakarimiaoai
noriyukitakei
1
930
AIとペアプロ!! ChatGPTとGitHub Copilotで ToDoアプリを爆速ライブコーディング/wakarimigithubcopilot
noriyukitakei
0
100
世界一わかりみの深いApplicationGateway/wakarimiappilicationgateway
noriyukitakei
0
410
クラウドデザインパターンを使ってクールな設計をしよう/jazug12th
noriyukitakei
1
430
アウトプットはいいぞ!!〜人生折り返し地点からの情報発信で学びが楽しくなった話〜/outputisgood
noriyukitakei
0
220
Other Decks in Technology
See All in Technology
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
420
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
430
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
2
430
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
0
170
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.6k
穢れた技術選定について
watany
18
5.7k
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
4k
複数プロダクト組織のAIネイティブ化における戦略 / AICon2026_kude
rakus_dev
0
160
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
230
Kaggleで成長するために意識したこと
prgckwb
2
420
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
0
140
知らん間に、回ってる
ming_ayami
0
740
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Design in an AI World
tapps
1
260
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Building Applications with DynamoDB
mza
96
7.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Unsuck your backbone
ammeep
672
58k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
None
Noriyuki TAKEI Ҫ ٓߦ Information • サイオステクノロジー株式会社 • Microsoft MVP
for AI Platform Favorites • Azure • スカッシュ • スキー • ライブ配信 • ⽢いもの • ⾛ること • ストリートファイター6 blog https://tech-lab.sios.jp/ core skill Azureによるクラウドネイティブな アプリ開発 Twitter @noriyukitakei
世界⼀わかりみの深いAIエージェント https://tech-lab.sios.jp/archives/42867
͍·ੈؒΛΘ͍ͤͯΔ ͱʁ
LLMの知識だけでは解決できないことを ⾃律的にタスクを実⾏ 外部データやツールと連携し 問題を解決するAIシステムのこと AIエージェントとは︖
以下を例に考えてみる。 ミッキーマウスの次の誕⽣⽇にケーキをプレゼントしたいです。 彼の年齢分のろうそくを購⼊するための⾦額を計算してください。 ろうそくは⼀本100円です。
ミッキーマウスの誕⽣⽇は、1928年11⽉18⽇であり、 今⽇の⽇付は2024年12⽉18⽇なので、 現時点で96歳。 次の誕⽣⽇のケーキに必要なローソクの合計⾦額は 97歳 × 100円 = 9,700円
AIエージェントでない場合 LLM ミッキーマウスの次の誕⽣⽇に ケーキをプレゼントしたいです。 彼の年齢分のろうそくを購⼊する ための⾦額を計算してください。 ろうそくは⼀本100円です。 ① LLMへの指⽰ ②
回答の提⽰ ミッキーマウスの誕⽣⽇は1928年11⽉18⽇です。 2021年現在の年齢は92歳です。 次の誕⽣⽇である2022年11⽉18⽇までには、ミッ キーマウスは93歳になるので、93本のろうそくが 必要です。 よって、93本 × 100円/本 = 9,300円が必要な⾦ 額です。 LLMの持つ知識のみから回答し ているので間違っている。(ミッ キーマウスは2024年11⽉6⽇時 点で95歳)
LLM インターネット 計算機 ② まずミッキーマウスの誕 ⽣⽇をインターネットで検 索してみよう。 ① ミッキーマウスの次の誕⽣⽇に ケーキをプレゼントしたいです。
彼の年齢分のろうそくを購⼊する ための⾦額を計算してください。 ろうそくは⼀本100円です。 ① LLMへの指⽰ ③ インターネットで検索 ⑨ 計算機で計算実⾏ ⑧ ミッキーマウスの誕⽣⽇と 今⽇の⽇付から、ミッキーマ ウスの年齢が96歳だとわかっ たので、今度は、次の誕⽣⽇ のケーキに必要なろうそくの 購⼊⾦額を計算してみよう ⑫ 最終回答の提⽰ ⑪ 最終回答は、9,700円です。 ④ 結果を返却 ミッキーマウス 誕⽣⽇ ミッキーは1928年誕⽣… 97 * 100 ⑩ 結 果 を 返 却 9700 AIエージェントの場合 時計 ⑥ 現在の⽇付を調査 ⑦ 現在の⽇付を返却 2024年12⽉18⽇ ⑤ ミッキーマウスの誕⽣⽇ は1928年11⽉18⽇のよう だ。今、何歳かを知りたい ので、今⽇の⽇付を調べよ う。
AIエージェントの実装⽅法 ⼈間 AI プログラム ツール (Web検索など) ツールとプロンプトをAIに与える 回答を⽣成し、 プログラムに渡す プロンプト
あなたはWeb検索と天気取得APIのツー ルが使えます。ミッキーの誕⽣⽇を知る ために必要なツールと⼊⼒値を提⽰して ください⋯(続く) ツールと⼊⼒値 使えるツールと⼊⼒値は以下のとお りです。 ツール: Web検索 ⼊⼒値: ミッキー 誕⽣⽇ 回答をパース ⼊⼒値を渡して ツール(Web検索)を実⾏ ミッキー 誕⽣⽇ 11⽉18⽇はミッキーの誕⽣ ⽇。ミッキーのスクリーン デビュー95周年… 検索結果を返す AIに検索結果を返し 回答が要求を 満たしているか 思考させる 11⽉18⽇はミッキーの誕⽣ ⽇。ミッキーのスクリーン デビュー95周年… 思考する 回答を⽣成し、 プログラムに渡す ツールと⼊⼒値 最終回答が出るまでN回繰り返す 最終回答 ミッキーの誕⽣⽇は 11⽉18⽇です。 最終回答を返す
۩ମతͳࣄྫͰ Λ ߟ͑Δ
以下の質問に回答するためのプロンプトを考えてみる。 ミッキーマウスの次の誕⽣⽇にケーキをプレゼントしたいです。 彼の年齢分のろうそくを購⼊するための⾦額を計算してください。 ろうそくは⼀本100円です。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います - 計算ツール︓計算するときに使います - 今⽇の⽇付取得ツール︓今⽇の⽇付を取得するときに使います。 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 思考︓次に何をすべきかを常に考える
⾏動︓実⾏するアクションは、「計算ツール」「検索ツール」「今⽇の ⽇付取得ツール」のいずれかである必要があります。 ⾏動の⼊⼒︓アクションへの⼊⼒(ツールによっては⾏動の⼊⼒が不要 の場合がありますので、その場合は「無し」にしてください) 観察︓⾏動の結果 ...(この思考/⾏動/⾏動の⼊⼒/観察はN回繰り返すことができま す) 最終的な答えがわかったら以下を出⼒します。 思考︓今、最終的な答えが分かりました 最終回答︓元の⼊⼒質問に対する最終回答 計算ツールを使うときの⾏動の⼊⼒は、計算式を⼊⼒してください。 例︓52 * 100 例︓100 – 1 質問︓ミッキーマウスの次の誕⽣⽇にケーキをプレゼントしたいです。 彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろう そくは⼀本100円です。 さぁ始めましょう。 思考︓ AIが⾏動のときに使うツールをAIに与えてあげる必要がある。実装 では、検索ツールはGoogleCustomSearchというインターネット 検索のPythonライブラリを利⽤し、計算ツールはPythonのeval関 数を使っている。 ReActのコンポーネントである「質問」「思考」「⾏動」「⾏動の ⼊⼒」「観察」「最終回答」について定義しています。「⾏動」で 使うツールについては、明⽰的に「計算ツール」と「検索ツール」 と「今⽇の⽇付取得ツール」のいずれかを使うように指⽰をしてい ます。 計算ツールの⼊⼒式の例を⽰しています。Pythonのeval関数で処理 するので、eval関数が期待する値でないとエラーになるので、この ようにしています。 質問の内容を明記し、思考から開始するように指⽰しています。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 思考(1回⽬) 先のプロンプトに対するLLMの出⼒結果が⻩⾊の部分です。プロンプトの内容から、 LLLMがしっかり思考をして、段取りを組んでいるのがわかります。 その結果、⾏動として「検索ツール」、⾏動の⼊⼒として「ミッキーマウスの誕⽣⽇」を 返しています。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓ ⾏動(1回⽬) 検索ツール(PythonのGoogleCustomSearchライブラリ)を使って、「ミッキーマウスの 誕⽣⽇」を追加したのが、⽔⾊の部分になります。 これをLLMモデルの⼊⼒として渡して、再度思考させます。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓検索の結果から、ミッキーマウスの誕⽣⽇は1928年の11⽉18⽇であるとわかった。次に、現在の年から1928を引くことで、次の誕⽣⽇で ミッキーマウスが何歳になるかを計算する必要がある。 ⾏動︓今⽇の⽇付計算ツール ⾏動の⼊⼒︓無し 思考(2回⽬) 緑⾊の部分がLLMの出⼒になります。「観察」の部分に記載されている、インターネット から検索したミッキーマウスの誕⽣⽇に関する情報をもとに、ミッキーマウスの誕⽣⽇を 考え出しています。そして、⾏動には次のアクションである「今⽇の⽇付計算ツール」設 定しています。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓検索の結果から、ミッキーマウスの誕⽣⽇は1928年の11⽉18⽇であるとわかった。次に、現在の年から1928を引くことで、次の誕⽣⽇で ミッキーマウスが何歳になるかを計算する必要がある。 ⾏動︓今⽇の⽇付計算ツール ⾏動の⼊⼒︓無し 観察︓2024-12-18 22:36:19.047181 思考︓ ⾏動(2回⽬) 思考(2回⽬)の結果である⾏動から、Pythonのdatetimeモジュールを使って、現在の⽇時 を出しています。この結果をもとに再度LLMに思考させます。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓検索の結果から、ミッキーマウスの誕⽣⽇は1928年の11⽉18⽇であるとわかった。次に、現在の年から1928を引くことで、次の誕⽣⽇で ミッキーマウスが何歳になるかを計算する必要がある。 ⾏動︓今⽇の⽇付計算ツール ⾏動の⼊⼒︓無し 観察︓2024-12-18 22:36:19.047181 思考︓ミッキーマウスは1928年11⽉18⽇に初登場したため、次の誕⽣⽇で97歳となります。⼀つのローソクが100円なので、この価格で必要な ローソクの総額を計算する必要があります。 ⾏動︓計算ツール ⾏動の⼊⼒︓97 * 100 思考(3回⽬) ⾚⾊の部分がLLMの出⼒になります。「観察」の部分に記載されている現在⽇付と、以前検索して取 得したミッキーマウスの誕⽣⽇をもとに、ミッキーマウスの次の誕⽣⽇に迎える年齢を考え出してい ます。そして、⾏動には次のアクションである「計算ツール」を、⾏動の⼊⼒として、計算式「96 * 100」を出しています。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓検索の結果から、ミッキーマウスの誕⽣⽇は1928年の11⽉18⽇であるとわかった。次に、現在の年から1928を引くことで、次の誕⽣⽇で ミッキーマウスが何歳になるかを計算する必要がある。 ⾏動︓今⽇の⽇付計算ツール ⾏動の⼊⼒︓無し 観察︓2024-12-18 22:36:19.047181 思考︓ミッキーマウスは1928年11⽉18⽇に初登場したため、次の誕⽣⽇で97歳となります。⼀つのローソクが100円なので、この価格で必要な ローソクの総額を計算する必要があります。 ⾏動︓計算ツール ⾏動の⼊⼒︓97 * 100 観察︓9700 思考︓ ⾏動(3回⽬) 思考(3回⽬)の結果である⾏動と⾏動の⼊⼒から、ミッキーマウスの誕⽣⽇に必要なろう そくの合計本数を計算しています。Pythonのeval関数を使って算出した結果が観察に書 いてあります。このプロンプトをLLMに⼊⼒し、さらに思考を重ねます。
次の質問にできる限り答えてください。次のツールにアクセスできます。 - 検索ツール︓検索するときに使います ...(省略)... 次のフォーマットを使⽤します。 質問︓回答する必要がある⼊⼒質問 ...(省略)... 質問︓次のミッキーマウスの誕⽣⽇にケーキをプレゼントしたいです。彼の年齢分のろうそくを購⼊するための⾦額を計算してください。ろうそく は⼀本100円です。 さぁ始めましょう。
思考︓まず、ミッキーマウスの次の誕⽣⽇を探し、彼の年齢を計算する必要があります。次に、その年齢分のろうそくを購⼊するにはいくら必要か を計算します。最初にミッキーマウスの誕⽣⽇を調べます。 ⾏動︓検索ツール ⾏動の⼊⼒︓ ミッキーマウスの誕⽣⽇ 観察︓11⽉18⽇はミッキーの誕⽣⽇。ミッキーのスクリーンデビュー95周年をお祝いしよう♪. ミッキーマウス. ミッキーとミニーの誕⽣⽇…(略) 思考︓検索の結果から、ミッキーマウスの誕⽣⽇は1928年の11⽉18⽇であるとわかった。次に、現在の年から1928を引くことで、次の誕⽣⽇で ミッキーマウスが何歳になるかを計算する必要がある。 ⾏動︓今⽇の⽇付計算ツール ⾏動の⼊⼒︓無し 観察︓2024-12-18 22:36:19.047181 思考︓ミッキーマウスは1928年11⽉18⽇に初登場したため、次の誕⽣⽇で97歳となります。⼀つのローソクが100円なので、この価格で必要な ローソクの総額を計算する必要があります。 ⾏動︓計算ツール ⾏動の⼊⼒︓97 * 100 観察︓9600 思考︓今、最終的な答えが分かりました 最終回答︓ミッキーマウスの次の誕⽣⽇に彼の年齢分のろうそくを購⼊するためには、9700円必要です。 思考(4回⽬) 今までの結果からミッキーマウスの年齢分のろうそくの値段がわかったので、これ以上の 思考はせず、LLMが最終回答を出しました。
AIエージェントをもっと簡単に実現する⽅法 Function Calling 事前に定義された関数の中から、プロンプトに対する回答を作成するために 必要な関数とその引数を返してくれる。 1 LangChain LLMを使⽤したアプリケーションを開発するためのオープンソースのフレー ムワークであり、AIエージェントを実現するための様々な機能も備えている。 2
Semantic Kernel Microsoftが発表したOSSであり、LangChainと同様に、LLMを使⽤したア プリケーションを開発するためのオープンソースのフレームワークの機能を 提供する。 3
世界⼀わかりみの深い on #wakarimiazure
࠷ޙ·Ͱ͝ਗ਼ௌ͖ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ