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

同じ苦労をしないでほしい!生成AI活用システムの開発体験談

 同じ苦労をしないでほしい!生成AI活用システムの開発体験談

私が初めてマルチエージェントシステムをプロトタイプしたときにハマってしまった落とし穴や教訓についてお話した際の資料です。

Avatar for Ryo Machida

Ryo Machida

August 02, 2024

Other Decks in Programming

Transcript

  1. 初めてのパブリックな場でのLTです 🎉 生成AIについて色々お話聞けると嬉しいです 👂✨ 初めてのプロトタイプ開発の中で僕がハマってしまった落とし穴の話や、やってよかったことを お話します 町田 凌 フルスタックエンジニア ~2023年 2023年~

    大阪出身。大学院までずっと関西。特にAIとは深く関わらず過ごす BIPROGY(旧: 日本ユニシス)入社、現在新卒2年目。 自社サービスのアジャイル開発の後、 現在は、設計書をインプットとするソースコード生成システムの開発を担当
  2. いざ初めてのプロトタイプ! コード生成の既存ツールから、ふるまいや実装を勉強 GitHub Copilot / Cursor Devin / OpenDevin (OSS)

    / Devika (OSS) ⇒大抵エージェント要素があるので、マルチエージェント で作ろう!
  3. 生まれたプロトタイプ Devikaを拡張し、エージェントを数種類実装 Planner君 タスクを読み解いて 皆に仕事を与えます < DependencyFetcher君 依存関係 教えるよ <

    SimilarityFetcher君 似た実装 探してくるよ < WebResearcher君 Web検索 するよ < Coder君 コード 書くよ < Patcher君 テスト実行して コード修正するよ < 基本的に左から右へ仕事が受け渡される
  4. Planner君内部での とあるプロンプト による生成結果 コード生成は以下のステップで行います Step 1: ネット検索 ... Step N:

    コード書き込み 次にテストは以下のステップで行います Step 1: テストケース作成 ... Step N: テスト実行 僕 あれ?ステップが二種類生成してる 実装者はこういう場合を想定してたんだろうか? プロンプトを修正すべきか?整形処理を拡張すべきか? エージェントの動きに悩まされたとき...
  5. テストデータ ステップが数件の場合 期待値 Step 1: Web検索 ... Step M: コード生成

    Step M+1: テストコード生成 ... Step N: テスト実行 僕 テストデータではステップのセットは1つだな! プロンプトは過去から変更がないので、モデルの違いが原因か 実例に即したテストデータは理解を助ける