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

ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-p...

ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming

開発生産性カンファレンス2025
2025-07-03 10:45-11:25 ホールC
ペアプロ × 生成AI :現場での実践と課題について

More Decks by コドモン開発チーム

Other Decks in Programming

Transcript

  1. 6

  2. 12 生成AI導入の変遷 • 2023年 5月  Github Copilot導入 • 2025年 3月  Cline トライアル実施

    2025  4月  Cline 全面導入 2025年 5月  Devin トライアル実施 2025年 6月  Claude Code トライアル中
  3. 13 • 2023年 5月  Github Copilot導入 • 2025年 3月  Cline トライアル実施 2025 

    4月  Cline 全面導入 2025年 5月  Devin トライアル実施 2025年 6月  Claude Code トライアル中 生成AI導入の変遷
  4. 価値 • コミュニケーション • シンプルさ • フィードバック • 勇気 •

    リスペクト 原則 • 人間性:みんなが自分らしくいられるチームで • ふりかえり:起きたことから学んで、再現性を  ハンドリング • ベイビーステップ:小さく始める、小さく進める                    など プラクティス • 受け入れテスト • 持続可能なペース • TDD • ペアプログラミング         など 開発手法 ユーザに価値を素早く届け続けるため XP(エクストリーム・プログラミング)に則り、 アジャイルなチームを目指す 15
  5. 29 ペア+AIエージェントで ずっと1つのタスクを進めていると ナビゲータが手持ち無沙汰になることがある 生成AIエージェントに色々と お願いをしているだけだと ペアの片方が暇になる時もあった ペア同士で理解をすり合わせるため の材料として、AIの提案を使える。 思考の幅が広がる。

    明確な作業はさくさく進みます ペアプロ & AIエージェントの場合は作業が偏るので楽しくはない。 個別に使う分にはさくさく進むので楽しさは増えている。 最初は「ペアプロ中もAIエージェントフル活用しよう!」みたいなテンションだったが、 楽しさが半減したため「ネガティブにならない範囲で使う」みたいなマインドに落ち着いた
  6. 31 生成AIの活用方法 壁打ちモード 「どういう設計パターンがある?」 「もっと効率のいいやり方はある?」 「ホワイトボックス観点で漏れているテ ストケースはある?」               etc. ドライバーモード 「hoge関数を実装して」

    「fugaファイルを参考しながら実 装して」             etc. ✖ 主にペアプロ時に利用 主にソロプロ時に利用 AIに実装を任せる AIと壁打ちをして 方針を決めていく
  7. 32 生成AIの活用方法 壁打ちモード 「どういう設計パターンがある?」 「もっと効率のいいやり方はある?」 「ホワイトボックス観点で漏れているテ ストケースはある?」               etc. ドライバーモード 「hoge関数を実装して」

    「fugaファイルを参考しながら実 装して」             etc. ✖ 主にペアプロ時に利用 主にソロプロ時に利用 AIに実装を任せる AIと壁打ちをして 方針を決めていく どちらのパターンでいくか見極め続ける
  8. 34 AIが書いたほうが早そう? AI?人間? ペアプロフローチャート 自分たちで実装 ゴールが見えている? 理解を深めるため、手を動かしたい? 暗黙的な 文脈理解が必要? AIがドライバー

    AIで壁打ち etc. この場合、ペアでやる必要のない タスクであることも多く、 ソロ + AIに切り替えることがある プロダクション コードの保守? 実装に個性/こだわ りを出したい? YES NO
  9. 36 • コンテキスト理解が少ない小さい タスク ◦ 簡単なCRUD • パターン化できるもの ◦ テストデータの作成

    ◦ DTOへの詰め替え ◦ バージョンアップ作業 ◦ ボイラープレート ◦ ...etc • 広いコンテキスト理解が必要 なもの • 自分たちが完成系をイメージ できていないもの 向いている 向いていない 生成AIエージェントにドライバーを任せるもの
  10. 42 エディタ エディタ いままでのペアプロ 
 Code With Me
 / Live

    Share
 こうしよう
 こういう
 のもあり?

  11. 43 エディタ エディタ いままでのペアプロ 
 Code With Me
 / Live

    Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう

  12. 44 エディタ エディタ いままでのペアプロ 
 Code With Me
 / Live

    Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、
 いい感じ!

  13. 45 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 AIとのモブプロ 
 おぉ、
 いい感じ!
 コミュニケーションが活発
  14. 46 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 これやって
 AIとのモブプロ 
 おぉ、
 いい感じ!

  15. 47 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 AIとのモブプロ 
 おぉ、
 いい感じ!

  16. 48 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 どうです?
 AIとのモブプロ 
 おぉ、
 いい感じ!

  17. 49 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 どうです?
 AIとのモブプロ 
 …
 おぉ、
 いい感じ!

  18. 50 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 どうです?
 ほほぅ
 AIとのモブプロ 
 …
 おぉ、
 いい感じ!

  19. 51 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 どうです?
 ほほぅ
 AIとのモブプロ 
 よさそう
 おぉ、
 いい感じ!

  20. 52 エディタ エディタ エディタ AI エディタ いままでのペアプロ 
 Code With

    Me
 / Live Share
 こうしよう
 こういう
 のもあり?
 いいね!
 じゃあここはこう しよう
 おぉ、いい
 感じ!
 はい!
 これやって
 どうです?
 ほほぅ
 AIとのモブプロ 
 よさそう
 おぉ、
 いい感じ!
 これじゃない感
  21. コード
 AI
 ちょっとこの処理
 微妙だよね
 たしかにー
 クラスを
 わけちゃう?
 そうだね、
 コンストラクタで
 渡すようにしよう


    どうせわけるならこ こまで別クラスにし ない?
 そのほうがこのク ラスの役割がはっ きりするね

  22. 67 • ペアは議論を経てやりたいことを100%理解しているが、 AIに頼むと50~70%程度の成果しか出ない ◦ まるで、「話を聴いていないモブ」が一人いるみたいな感覚 ◦ ※音声認識で議論した内容がAIへのプロンプトになれば解消 できる可能性はあり •

    人間2人の脳内にはコードレベルで浮かんでいる ◦ それを指示文にする時間+実行待ち時間でコードを直せる ◦ ※最初の頃は全てをAIに書いてもらわないとダメだという固 定観念に縛られていた ねぇねぇ、話きいてた?
  23. 70 ◦ 属人化の排除 ◦ 知識の循環 ◦ 共同所有の意識 ◦ 形式的なコードレビューの排除 ◦

    フィードバックを迅速に得る ◦ 気が散るのを防ぐ ◦ 勇気を持って進める ペアプロで受けたい恩恵
  24. 73 ◦ 属人化の排除 ◦ 知識の循環 ◦ 共同所有の意識 ◦ 形式的なコードレビューの排除 ◦

    フィードバックを迅速に得る ◦ 気が散るのを防ぐ ◦ 勇気を持って進める ペアプロで受けたい恩恵 これら失ってない...?
  25. 74 ◦ 属人化の排除 ◦ 知識の循環 ◦ 共同所有の意識 ◦ 形式的なコードレビューの排除 ◦

    フィードバックを迅速に得る ◦ 気が散るのを防ぐ ◦ 勇気を持って進める ペアプロで受けたい恩恵
  26. 75 ◦ 属人化の排除 ◦ 知識の循環 ◦ 共同所有の意識 ◦ 形式的なコードレビューの排除 ◦

    フィードバックを迅速に得る ◦ 気が散るのを防ぐ ◦ 勇気を持って進める ペアプロで受けたい恩恵
  27. 86 AIが書いたほうが早そう? AI?人間? ペアプロフローチャート 自分たちで実装 ゴールが見えている? 理解を深めるため、手を動かしたい? 暗黙的な 文脈理解が必要? AIがドライバー

    AIで壁打ち etc. この場合、ペアでやる必要のない タスクであることも多く、 ソロ + AIに切り替えることがある プロダクション コードの保守? 実装に個性/こだわ りを出したい? YES NO
  28. 94 ペアプロ アーキテクチャ 設計 ドメイン ロジック実装 簡単な CRUD実装 データ変換 スクリプト

    テスト データ作成 定型作業 2021 複雑な 業務フロー 暗黙的なコン テキストの理 解が必要な箇 所 ドキュメン ト作成 ひな形 作成 高リスク領域
  29. 95 ペアプロ アーキテクチャ 設計 ドメイン ロジック実装 簡単な CRUD実装 データ変換 スクリプト

    テスト データ作成 定型作業 2025 複雑な 業務フロー 暗黙的なコン テキストの理 解が必要な箇 所 ドキュメン ト作成 ひな形 作成 高リスク領域 ソロプロ
  30. 113 (ただし、人間 > AI の時代においては) ペアプロ 2025年 2026年 20XX年 ??

    ペアプロを続ける 人間が「正」の時代 ここを考えても 仕方がないよね 人間 > AI AI > 人間
  31. 115 • 単に「いま動く」ではない (AIはこれが得意?) • エンジニアリングはプログラムに時間の概念を加えたもの • 来年も、5年後も、10年後も価値を提供し続ける プログラミング +

    持続可能性 = エンジニアリング ソフトウェアエンジニアリングとは 時間で積分したプログラミングである。 「Googleのソフトウェアエンジニアリング」P.3
  32. 116 プログラミングとエンジニアリング テスト ペアプロ 設計 実装 リリース 計画 AI プロセス全体をカバー

    部分的に実施 XP • 人間(ペアプロ)はXPのプロセス全体を意識 → エンジニアリング • AIは部分最適のようなイメージ → プログラミング
  33. 130 コドモンにあって、AIにないもの、なーんだ? コドモンには 組織力/協働力/学習能力 がある • 例えば、チームにテックリードが加わると… ◦ チームメンバーはペアプロの機会を得て、成長する ◦

    このような実体験はAIから学ぶことは難しそう つまり、ペアプロにより エンジニアリング能力やチーム力を高める活動ができている
  34. 133 成長の方程式 学ぶのは 「プログラミング」 だけではない → エンジニアリング ・行動 ・考え方 ・AIの使い方

    ・他にもたくさん ペアプロ テックリード + エンジニア = 成長↑↑ 開発力 \愛(AI)のある/ \意欲的な/ \圧倒的/
  35. 141 老子: 人に魚を与えるより、魚の釣り方を教えよ • どのような組み合わせでもあてはまるはず ◦ シニア↔ジュニア ◦ シニア↔シニア ◦

    ジュニア↔ジュニア 教学相長(きょうがくあいちょうず) 教えることと学ぶことは互いを高め合う
  36. 153 大きな開発と小さな開発、並行できますか? CSS Database ? \ ◯◯◯◯ / ? •

    DBのテーブル定義を考えつつ、CSSのことを考えられる? • エンジニア「◯◯◯◯」
  37. 157 開発タスクを分類する 文字が見切れる アイコンが小さい 外部API連携 ボタンが押しにくい マイクロサービス化 認証基盤の構築 DB負荷改善 お問い合わせ調査

    ゴールを探す 量より質 慎重さが重要 システム価値 ゴールが明確 質より量 早さが重要 ユーザー価値 作業方針が明確なタスク 探索的なタスク 性質が異なる
  38. 159 AI活用の理想 作業方針が明確なタスク 探索的なタスク AIが自走 人間 + AIで しっかりペアプロ クラウド環境で開発

    AIは昼夜働ける スケールする 持続可能なペース スケールしないのは 仕方がない
  39. 160 AI活用の現実 クラウド環境で開発 AIは昼夜働ける スケールする 持続可能なペース スケールしないのは仕 方がない • まだ検証中であり、実現には至っていない

    • (技術的負債の規模が大きい環境では難しかった) • ノウハウお持ちの企業の方、おしえてください🙏 作業方針が明確なタスク 探索的なタスク AIが自走 人間 + AIで しっかりペアプロ
  40. 169 ペアプロ アーキテクチャ 設計 ドメイン ロジック実装 簡単な CRUD実装 データ変換 スクリプト

    テスト データ作成 定型作業 2025 複雑な 業務フロー 暗黙的なコン テキストの理 解が必要な箇 所 ドキュメン ト作成 ひな形 作成 前半 高リスク領域 ソロプロ
  41. 170 ペアプロ アーキテクチャ 設計 ドメイン ロジック実装 簡単な CRUD実装 データ変換 スクリプト

    テスト データ作成 定型作業 複雑な 業務フロー 暗黙的なコン テキストの理 解が必要な箇 所 ドキュメン ト作成 ひな形 作成 2025 後半 高リスク領域 ソロプロ
  42. 171 ペアプロ アーキテクチャ 設計 ドメイン ロジック実装 簡単な CRUD実装 データ変換 スクリプト

    テスト データ作成 定型作業 複雑な 業務フロー 暗黙的なコン テキストの理 解が必要な箇 所 ドキュメン ト作成 ひな形 作成 2025 後半 高リスク領域 ソロプロ