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

完全に理解した!生成AI自社プロダクトのアジャイル開発の進め方!/ Fully underst...

完全に理解した!生成AI自社プロダクトのアジャイル開発の進め方!/ Fully understood! Agile tips for developing our generative AI product!(AOAI Dev Day)

2024/7/25に開催されたAzure OpenAI Serivice Dev Dayで発表した資料です。
完全に理解した!生成AI自社プロダクトのアジャイル開発の進め方!

Junya Miyake

July 25, 2024
Tweet

More Decks by Junya Miyake

Other Decks in Technology

Transcript

  1. 3 KDDI Agile Development Center Corporation はじめに • 約1年間、⾃社プロダクトとして⽣成AIを活⽤したプロダクトを企画・開発 してきました︕

    • その中でやってみて良かったこと、改善した⽅が良いこと、未だ答えがない ことなど、実践から得たことを共有します︕ • ここまでの道のりは成功だけでなくしくじりも沢⼭あります。それも含めて みなさんの学びとして供養したいです😇
  2. 4 KDDI Agile Development Center Corporation はじめに • 対象🎯 ◦

    これから⽣成AIアプリを組織やチームで開発しようとしている⽅ ◦ 現在⽣成AIアプリを開発していて進め⽅に悩んでいる⼈ • このセッションのゴール🏁 ◦ ⽣成AIプロダクトにおけるシチュエーションごとのベストプラクティス、 バッドプラクティス、答えのないモヤモヤが分かる ◦ 定番の進め⽅がわかった上で、状況に応じて型を変えたり崩したりさまざ まな進め⽅をイメージできる
  3. 5 KDDI Agile Development Center Corporation まとめ ⽣成AIプロダクトをアジャイル開発・スクラムで進めてきた学び • やってみて良かったこと👍

    ◦ アジャイル開発・スクラムで⽣成AIアプリ開発を進めたこと ◦ ⽣成AI/LLMで先⾏していたAzureにゼロベースでチームでチャンレンジしてPoCや⾃社プロダクトを開発してみ たこと ◦ チームの⽅向性の道しるべとして最⾼におすすめなトレードオフスライダー • やってみて良くなかったこと😱 ◦ コスト増を理由に、プロダクトの価値向上につながりそうな新しいGPTモデルへの対応に慎重になりすぎてし まったこと ◦ ⾃動テストやCI/CDの優先度を落として開発を進めたこと • まだモヤモヤしていること🤔 ◦ 価値検証のスピードを重視︖ vs リサーチ&仮説検討にどこまで⽐重を置くか︖ • やると良さそうなこと🚀 ◦ ロール問わずまず動くものをラフに作ってみる • コードを書かなくてもOK︕AOAIのプレイグラウンドなどAzure OpenAI Studioをフル活⽤
  4. 6 KDDI Agile Development Center Corporation Who are we? KAGで⽣成AIの⾃社プロダクトをつくってる⼈たちです︕

    三宅 潤也(@jnymyk) KDDIアジャイル開発センター(KAG) スクラムマスター/ソフトウェアエンジニア ホームIoTサービス、XRサービス、MaaSサービスの 開発を経て、KAGで⽣成AI⾃社プロダクト企画・開 発チームのとりまとめを担当。 好きなAzureサービスはAOAIとContainer Apps 加藤 拓明(@hirobel) KDDIアジャイル開発センター(KAG) プロダクトオーナー/ソフトウェアエンジニア クラウドSIerにて⼈事系の⾃社プロダクトの企画開 発、QR決済サービスの技術サポートを経て、KAGで ⽣成AI⾃社プロダクト企画のとりまとめを担当。 好きなAzureサービスはAOAI
  5. 7 KDDI Agile Development Center Corporation KAGの⾃社⽣成AIプロダクトについて(⽣成AI標準プラン) Azure OpenAI Serviceを中⼼としたセキュアなAIチャットアプリケーション。

    お客様社内データに基づく⽂書作成や、さまざまなアイディアのブレストが可能となることでお客様業務を効率化しま す。 3つの特徴 1. Azure閉域環境内にRAGのAIチャットを構築することでセキュアな企業内データ活⽤を実現 2. Azureインフラのコード化(IaC)やご要望の多い機能をまとめたアプリのパッケージ化により、⽣成AIの企業内データ活⽤を⼿軽か つ短期間に実現 3. アジャイル開発による、お客様業務に応じた精度チューニングや追加開発可能な拡張性 AIとのチャット画⾯ チャットモード選択画⾯ 管理者による社内データ管理画⾯
  6. 8 KDDI Agile Development Center Corporation 企画・開発チームについて • フルリモートで全国から参加 ◦

    PO︓福島 ◦ SM︓東京 ◦ Dev︓沖縄、福井、東京、千葉 ◦ デザイナー︓東京、神奈川 • KDDIとの⽣成AIの技術サポート業務への活⽤PoC(デバサポAIチャット PoC)を対応していたSM、Dev、 デザイナーを中⼼にPoCで得られた知⾒をもとに外販を⽬指した⾃社プロダクトの企画・開発チームと して組成 ◦ Azure OpenAI Serviceを活⽤したデバサポAIチャット • プレスリリース: https://prtimes.jp/main/html/rd/p/000000009.000115171.html • エンジニアブログ: https://developers.kddi.com/blog/29moPnzUaqSPJsu0v2pKg9
  7. 9 KDDI Agile Development Center Corporation プロダクトのアーキテクチャ・技術スタックについて • アーキテクチャの特徴 ◦

    Azure上でセキュアな閉域上に⽣成AIアプリを 構築 ◦ AI Search、AOAIを⽤いたベーシックなRAG アーキテクチャ ◦ 商⽤プロダクトとしてのサービスレベルを実現 するための運⽤監視の仕組み • 技術スタックの特徴 ◦ TypeScriptでバックエンド・フロントエンドの ⾔語を統⼀ ◦ LangChainには極⼒依存せず必要最低限の箇所 のみ利⽤
  8. 10 KDDI Agile Development Center Corporation プロダクトのアーキテクチャ・技術スタックについて • 技術スタック詳細 ◦

    インフラ︓Azure • AOAI, AI Search, CosmosDB, Document Intelligence, App Service, Bing Search API, Blob Storage, Application Insights • IaC︓Bicep ◦ 開発⾔語︓TypeScript ◦ バックエンド︓Next.js(API, Server Actions) ◦ フロントエンド︓Next.js, Tailwind CSS ◦ CI/CD︓GitHub Actions
  9. 11 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • 開発の前提・背景(企画・開発の進め⽅) ◦

    開発の進め⽅は2週間スプリントのスクラム ◦ デイリースクラム、プランニング、リファインメント、レビューを2週間でくりかえし • [よかったこと] ◦ 進化のスピードが速く、不確実性の⾼い⽣成AI/LLMのプロダクト開発にはアジャイル開発・スク ラムは⾮常にフィットしていた ◦ 学びやエコシステムの進化をすぐに反映したり軌道修正できるしくみがあり柔軟に対応できた • [しくじり] ◦ 特になし👍
  10. 12 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • 開発の前提・背景(技術選定) ◦

    Azure未経験で元々AWSで⻑らくアプリ開発をしていたPO/SM/Devのチーム ◦ ゼロベースの学習コストとAzure活⽤で得られるものを天秤にかけてAzureに⼤きく舵を切った • [よかったこと👍] ◦ OpenAIの最新アップデートをガバナンスの効いたセキュアな環境ですぐつかえたこと(AOAIの GPT-4o対応爆速でした🙌❤🔥) ◦ クラウドの公式ドキュメントといえばポエム😇みたいな印象があったがMS Learnのドキュメント が素晴らしく読めば⼤体チームで⾃⼰解決できた • [しくじり😱] ◦ 他クラウドの⽣成AI/LLM関連サービスも進化が速くつい浮気しそうになった(ついつい横道に逸れ て技術調査や選定に余計な時間がかかる) • [こうすればよかった🚀] ◦ ⼀途な想いを強く持つ(細かいHowにとらわれずどんな価値を提供したいのか︖にフォーカスする)
  11. 13 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • リサーチ&価値の仮説検討 vs

    ⽣成AIのトレンド進化のスピード ◦ 機能要件・UIをデザインする前にUXリサーチ・デザインして、これから作ろうとしているもの本当 に価値があるものなのか仮説を⼗分検討してから進めたい ◦ AIのモデル・Azureなどのクラウドサービス・LangChainなど⽣成AI関連のツール類の進化、 M365 Copilotの動向から、昨⽇まで価値があるとされていた常識が1⽇でガラッと変わることも • [しくじり︖モヤモヤポイント] ◦ 市場やペルソナ、ユーザー体験のリサーチ・設計・検討は⾮常に重要なものの⽐重を置き過ぎたか も・・・ • [こうすればよかった︖モヤモヤポイント] ◦ ラフな仮説をもとに 実際に動くものベースで仮説検証してみてもよかったかも・・・ • [結果やってよかった🙌] ◦ OSSのUIそのままなAzure環境構築型のAIチャットプロダクトが多い中、UX検討から始めて考え抜 いて使いやすいUIのAIチャットプロダクトにできたこと。
  12. 14 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • 価値検証のサイクル・スピード ◦

    ラフにAIエージェント(Assistants API)を動かして試すならAzure OpenAI Studioのプレ イグラウンドでOK👍 ◦ コードを書くことやロールに捉われずにまずラフに動くものを作ってためしてみる
  13. 15 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • 価値検証のサイクル・スピード ◦

    早くユーザーに価値を届けて検証し、次の開発にフィードバックしてより良いものにしていく ◦ できるだけ1つ1つにこだわらずにこまかくこだわらずに量が質を産む • [しくじり😱] ◦ 性能・精度が向上、新機能が追加された新しいモデルへの対応に慎重になりすぎてしまった(GPT-4 Turbo, GPT-4 Vision, GPT-4o) ◦ GPT-3.5 Turboから料⾦が⼤きく上がるモデルはコスト重視のお客様に最新モデル対応のニーズが ないことから後回しにしてしまった • [こうすればよかった🚀] ◦ ⽣成AIプロダクトの価値のコアである最新モデルは即対応 ◦ 最新モデルAOAIのデプロイメントだけなら使わなければ料⾦が発⽣しないので即使える状態にして からどう使うか考えればOK ◦ コスト重視のお客様にはとにかく動くデモで最新モデルの価値とROIを体験いただく
  14. 16 KDDI Agile Development Center Corporation アジャイル開発・スクラムの⽣成AIアプリ開発ふりかえり • 価値検証のサイクル・スピード ◦

    早くユーザーに価値を届けて検証し、次の開発にフィードバックしてより良いものにしていく ◦ できるだけ1つ1つにこだわらずにこまかくこだわらずに量が質を産む • [しくじり😱] ◦ ⽣成AIプロダクトはユーザーもまだ体験したことがないことが多く、机上検討だけでは価値を感じ ずらかった。 ◦ いくら検討に時間を割いても明確な正解がなく、やる・やらないの⽅向性がまとまらず、時間だけ が過ぎてしまった。 • [こうすればよかった🚀] ◦ やる・やらないの⽅向性をまとめる基準をチーム&ステークホルダーで合意するべきだった ◦ ラフでも早く動くものを作る。この時点ではコードを書かなくてもOK︕ ◦ 早くリリースしてユーザーのフィードバックを集めることにフォーカスすると、価値検証に裏付け された実績のある機能をもっと盛り込めていた
  15. 17 KDDI Agile Development Center Corporation やってみて最⾼に良かったこと👍 • チームで優先順位をイメージしてトレードオフスライ ダーを合意

    ◦ 具体的なお題をもとにそのときチームでトレード オフとなる要素の何を優先して取り組むか︖ • トレードオフ要素を優先順に並び替え • 納期、スコープ、コスト、品質、 UI/UX、セキュリティ、回答の精度 • お題︓GPT-4oに対応するとき、プロダクト の何を優先するか︖ ◦ PO、SM、Dev、デザイナーそれぞれの⽴場から 優先順位の案を持ち寄りPOが最終判断 ◦ バックログの優先順位づけに迷ったときに⽴ち返 る『チームのみちしるべ』として活⽤
  16. 18 KDDI Agile Development Center Corporation [再掲]まとめ ⽣成AIプロダクトをアジャイル開発・スクラムで進めてきた学び • やってみて良かったこと👍

    ◦ アジャイル開発・スクラムで⽣成AIアプリ開発を進めたこと ◦ ⽣成AI/LLMで先⾏していたAzureにゼロベースでチームでチャンレンジしてPoCや⾃社プロダクトを開発してみ たこと ◦ チームの⽅向性の道しるべとして最⾼におすすめなトレードオフスライダー • やってみて良くなかったこと😱 ◦ コスト増を理由に、プロダクトの価値向上につながりそうな新しいGPTモデルへの対応に慎重になりすぎてし まったこと ◦ ⾃動テストやCI/CDの優先度を落として開発を進めたこと • まだモヤモヤしていること🤔 ◦ 価値検証のスピードを重視︖ vs リサーチ&仮説検討にどこまで⽐重を置くか︖ • やると良さそうなこと🚀 ◦ ロール問わずまず動くものをラフに作ってみる • コードを書かなくてもOK︕AOAIのプレイグラウンドなどAzure OpenAI Studioをフル活⽤