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
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
Search
Kenji KONDO
April 24, 2024
Technology
6
1.3k
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
Kenji KONDO
April 24, 2024
Tweet
Share
More Decks by Kenji KONDO
See All by Kenji KONDO
AI ChatBot 開発 Tips-近藤憲児
kenjikondobai
0
65
最適ワークスとAI-近藤憲児
kenjikondobai
0
11
LLMの評価-近藤憲児
kenjikondobai
1
270
スカイディスクの LLM の取り組み-近藤憲児
kenjikondobai
0
220
Spring Cloud Data Flow で構成される IIJ IoTサービス
kenjikondobai
0
38
Other Decks in Technology
See All in Technology
Observabilityジャーニーを実現するためのAWSサービス:CloudWatch編
o11yfes2023
0
120
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
200
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
670
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
360
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
10
1.2k
Documentação de Produtos: Artefatos essenciais na prática
rigolon
1
270
TDD - Test Driven Drupal
opdavies
0
3k
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
180
DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
bobtani
1
120
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
yanaemon
6
1.2k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
170
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
1.6k
Featured
See All Featured
Happy Clients
brianwarren
92
6.4k
Why Our Code Smells
bkeepers
PRO
331
56k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
How GitHub (no longer) Works
holman
305
140k
The Invisible Side of Design
smashingmag
294
49k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Writing Fast Ruby
sferik
622
60k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Typedesign – Prime Four
hannesfritz
36
2.1k
Transcript
プロンプトエンジニアリングで がんばらない − Agentic Workflow へ −
- LLM アプリの品質(出力の安定性、速度など)を上げる手段として、 プロンプトエンジニアリング以外の手段があるということ - この手段に隣接した領域として Agentic Workflow と呼ばれるデザインパター ンがあること
- さわりだけご紹介 今日お伝えしたいこと
「Discord で雑に共有された記事をなんでも要約する」自作アプリ • YouTube の動画 • arXiv の論文 •
SpeakerDeck のスライド • Web 上の記事 • … “Summarize Anything”
• Router で何の要約を求められているかを判断 • 判断に基づいて、専用の Summarizer に要約を任せる “Summarize Anything” のアーキテクチャ
Router YouTube Summarizer Web Summarizer arXiv Summarizer どの Summarizer に 委譲すべきかを判断 … ページに アクセスして本 文を取得して 要約 委譲
Router でやりたいこと • そもそも要約を必要とする文章 なのかを判断する • URL の文字列を抽出 • その
URL が YouTube なのか arXiv なのかの判断 • これら結果を JSON として出力 させる(以下はその例) Router の実装(昔) { "summary_required": true, "url": "https://arxiv.org/pdf/2402.05120.pdf", "method": "arXiv" }
問題 • 品質が全然安定しない。体感 3 割失敗 する ◦ JSON の所定のフォーマットになら ない
◦ URL があるのにそれを抽出しない ◦ … → プロンプトエンジニアリングを頑張ったが、 すぐに限界を感じた Router の実装(昔)
処理を分けた Router の実装(今) URL 抽出 URL から委 譲先を 選択 →
動作が劇的に安定した。ほぼ 100 % 間違わない。 URL の文字列 “論文 https://arxiv.org…” “arXiv” Router
さらに LLM の性能を落 とした Router の実装(今) URL 抽出 URL から委
譲先を 選択 → 品質に変化なし。むしろ速度上がるし、コスト下がるしで、嬉しい Router gpt-4 → gpt-3.5-turbo gpt-4 → gpt-3.5-turbo
• 「zero-shot で巧妙にプロンプトエンジニアリングをして頑張る」よりも「命令をシン プルにしたタスクを多量に LLM に依頼する」ほうがよい • 「zero-shot で gpt-4
や claude-3-opus のような賢い LLM を使う」よりも 「gpt-3.5-turbo や claude-3-haiku のような賢くないけど軽量でコスト低い LLM を 細かく使う」ほうが、品質も速度もコストも満足いく この手法は普遍性があるな、と思っていた。 他にも例えば、要約した文章が日本語じゃなかったり、制約条件をちゃんと守っていなかったりした ときも、もう一度 LLM を call してそれを添削してもらう、ということをすると、およそ満足の行く品質 で安定して出力された。 あと、自然とモジュール化の考え方になっているので、それぞれのモジュール別に改善やテストな どがやりやすい。 「LLM を call しまくる」という戦略
“Agentic Workflow” 単なる経験則に過ぎなかったけども、最近 Andrew Ng がまさにこれに関連したこ とを言っている動画を見つけた そこでは Agentic Workflow
という名前で、 LLM アプリの性能を上げる方法を説明 していた
“Agentic Workflow” 「エッセイをバックスペース無しではじめから最後まで間違えの無いように書いて」と 依頼するよりも、「アウトラインを抽出して」「それに対してドラフトを書いて」「それを 添削して」... と分けて依頼するアイディア https://youtu.be/sal78ACtGTc?si=vFpxwR47DoNaQqiz
“Agentic Workflow” zero-shot の GPT-4 よりもAgentic Workflow を適用し た GPT-3.5
のほうが良い評価を得ている。 https://youtu.be/sal78ACtGTc?si=vFpxwR47DoNaQqiz 上の 4 つのデザインパターンについて述べられてい る。 → Agentic Workflow や Agent については、今いろいろ実装して試している(そして苦労し ている)。役に立ちそうなこと見つけたら、また共有します!