Slide 1

Slide 1 text

プロンプトエンジニアリングで
 がんばらない
 − Agentic Workflow へ −

Slide 2

Slide 2 text

- LLM アプリの品質(出力の安定性、速度など)を上げる手段として、
 プロンプトエンジニアリング以外の手段があるということ
 - この手段に隣接した領域として Agentic Workflow と呼ばれるデザインパター ンがあること
 - さわりだけご紹介
 今日お伝えしたいこと


Slide 3

Slide 3 text

「Discord で雑に共有された記事をなんでも要約する」自作アプリ
 ● YouTube の動画 
 ● arXiv の論文
 ● SpeakerDeck のスライド 
 ● Web 上の記事
 ● …
 “Summarize Anything”


Slide 4

Slide 4 text

● Router で何の要約を求められているかを判断
 ● 判断に基づいて、専用の Summarizer に要約を任せる
 “Summarize Anything” のアーキテクチャ
 Router
 YouTube Summarizer
 Web
 Summarizer
 arXiv
 Summarizer
 どの Summarizer に 委譲すべきかを判断 … ページに アクセスして本 文を取得して 要約 委譲


Slide 5

Slide 5 text

Router でやりたいこと
 ● そもそも要約を必要とする文章 なのかを判断する
 ● URL の文字列を抽出
 ● その URL が YouTube なのか arXiv なのかの判断
 ● これら結果を JSON として出力 させる(以下はその例)
 Router の実装(昔)
 { "summary_required": true, "url": "https://arxiv.org/pdf/2402.05120.pdf", "method": "arXiv" }

Slide 6

Slide 6 text

問題
 ● 品質が全然安定しない。体感 3 割失敗 する
 ○ JSON の所定のフォーマットになら ない
 ○ URL があるのにそれを抽出しない
 ○ …
 → プロンプトエンジニアリングを頑張ったが、 すぐに限界を感じた
 Router の実装(昔)


Slide 7

Slide 7 text

処理を分けた
 Router の実装(今)
 URL
 抽出
 URL から委 譲先を
 選択
 → 動作が劇的に安定した。ほぼ 100 % 間違わない。
 URL の文字列
 “論文 https://arxiv.org…”
 “arXiv”
 Router


Slide 8

Slide 8 text

さらに LLM の性能を落 とした
 Router の実装(今)
 URL
 抽出
 URL から委 譲先を
 選択
 → 品質に変化なし。むしろ速度上がるし、コスト下がるしで、嬉しい
 Router
 gpt-4 → gpt-3.5-turbo
 gpt-4 → gpt-3.5-turbo


Slide 9

Slide 9 text

● 「zero-shot で巧妙にプロンプトエンジニアリングをして頑張る」よりも「命令をシン プルにしたタスクを多量に LLM に依頼する」ほうがよい
 ● 「zero-shot で gpt-4 や claude-3-opus のような賢い LLM を使う」よりも 「gpt-3.5-turbo や claude-3-haiku のような賢くないけど軽量でコスト低い LLM を 細かく使う」ほうが、品質も速度もコストも満足いく
 この手法は普遍性があるな、と思っていた。
 他にも例えば、要約した文章が日本語じゃなかったり、制約条件をちゃんと守っていなかったりした ときも、もう一度 LLM を call してそれを添削してもらう、ということをすると、およそ満足の行く品質 で安定して出力された。
 あと、自然とモジュール化の考え方になっているので、それぞれのモジュール別に改善やテストな どがやりやすい。
 「LLM を call しまくる」という戦略


Slide 10

Slide 10 text

“Agentic Workflow”
 単なる経験則に過ぎなかったけども、最近 Andrew Ng がまさにこれに関連したこ とを言っている動画を見つけた
 そこでは Agentic Workflow という名前で、 LLM アプリの性能を上げる方法を説明 していた


Slide 11

Slide 11 text

“Agentic Workflow”
 「エッセイをバックスペース無しではじめから最後まで間違えの無いように書いて」と 依頼するよりも、「アウトラインを抽出して」「それに対してドラフトを書いて」「それを 添削して」... と分けて依頼するアイディア
 https://youtu.be/sal78ACtGTc?si=vFpxwR47DoNaQqiz

Slide 12

Slide 12 text

“Agentic Workflow”
 zero-shot の GPT-4 よりもAgentic Workflow を適用し た GPT-3.5 のほうが良い評価を得ている。 
 https://youtu.be/sal78ACtGTc?si=vFpxwR47DoNaQqiz 上の 4 つのデザインパターンについて述べられてい る。
 → Agentic Workflow や Agent については、今いろいろ実装して試している(そして苦労し ている)。役に立ちそうなこと見つけたら、また共有します!