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

プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児

プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児

Kenji KONDO

April 24, 2024
Tweet

More Decks by Kenji KONDO

Other Decks in Technology

Transcript

  1. 「Discord で雑に共有された記事をなんでも要約する」自作アプリ
 • YouTube の動画 
 • arXiv の論文
 •

    SpeakerDeck のスライド 
 • Web 上の記事
 • …
 “Summarize Anything”

  2. • Router で何の要約を求められているかを判断
 • 判断に基づいて、専用の Summarizer に要約を任せる
 “Summarize Anything” のアーキテクチャ


    Router
 YouTube Summarizer
 Web
 Summarizer
 arXiv
 Summarizer
 どの Summarizer に 委譲すべきかを判断 … ページに アクセスして本 文を取得して 要約 委譲

  3. Router でやりたいこと
 • そもそも要約を必要とする文章 なのかを判断する
 • URL の文字列を抽出
 • その

    URL が YouTube なのか arXiv なのかの判断
 • これら結果を JSON として出力 させる(以下はその例)
 Router の実装(昔)
 { "summary_required": true, "url": "https://arxiv.org/pdf/2402.05120.pdf", "method": "arXiv" }
  4. 問題
 • 品質が全然安定しない。体感 3 割失敗 する
 ◦ JSON の所定のフォーマットになら ない


    ◦ URL があるのにそれを抽出しない
 ◦ …
 → プロンプトエンジニアリングを頑張ったが、 すぐに限界を感じた
 Router の実装(昔)

  5. 処理を分けた
 Router の実装(今)
 URL
 抽出
 URL から委 譲先を
 選択
 →

    動作が劇的に安定した。ほぼ 100 % 間違わない。
 URL の文字列
 “論文 https://arxiv.org…”
 “arXiv”
 Router

  6. さらに LLM の性能を落 とした
 Router の実装(今)
 URL
 抽出
 URL から委

    譲先を
 選択
 → 品質に変化なし。むしろ速度上がるし、コスト下がるしで、嬉しい
 Router
 gpt-4 → gpt-3.5-turbo
 gpt-4 → gpt-3.5-turbo

  7. • 「zero-shot で巧妙にプロンプトエンジニアリングをして頑張る」よりも「命令をシン プルにしたタスクを多量に LLM に依頼する」ほうがよい
 • 「zero-shot で gpt-4

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

  8. “Agentic Workflow”
 zero-shot の GPT-4 よりもAgentic Workflow を適用し た GPT-3.5

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