【開発生産性カンファレンス 2025】ペアプロ × 生成AI :現場での実践と課題について
2025年7月3、4日に「開発生産性Conference 2025」がファインディ株式会社により開催されました。
3日に登壇した株式会社コドモンでは、2021年からXP(エクストリームプログラミング)を取り入れ、日常的にペアプログラミングを行っています。本セッションでは、エンジニアリングマネージャーの岡村 謙杜さんとテックリードの松浦 康介さんに、ペアプロに生成AIを取り入れたことで見えてきた課題と、同社が目指す未来の開発体制についてお話しいただきました。
■プロフィール
岡村 謙杜/@okenty14
株式会社コドモン
開発本部 エンジニアリングマネージャー
2021年コドモンに入社。プロダクト開発チームにて、バックエンド、フロントエンド問わず開発に携わる。KotlinとXPとオカメインコが好き。
松浦 康介
株式会社コドモン
開発本部 テックリード
コドモン一年生。2025年1月に入学しました。札幌に住んでいます。 入学前は受託開発や事業会社でWebアプリケーション開発をしていました。 現在はXPでの開発を初めて経験しており、日々楽しく開発しています。 最近は5歳の娘とゲームをすることが多く、"ティアキンの達成率100%"が自慢です。 いまはリングフィットの達成率100%を目指して汗を流しています。
ペアプロにおいて生成AIを活用すべき場面とは
岡村:岡村謙杜と申します。コドモンの開発部でエンジニアリングマネージャーとして、プロダクト開発部全体を良くするための活動をしています。
松浦:テックリードの松浦康介と申します。「グッドハートの法則」に感化されすぎて、今日はハートのシャツを着てきました。
岡村:本日は「①常時ペアプロを行う環境に生成AIエージェントであるClineを導入した結果」と「②現場の課題と未来」について赤裸々にお話しします。
①の結論としては「生成AIを活用すべき場面」と「人間同士のペアで取り組むべき場面」の整理ができました。
詳細をお話しする前に、前提についても共有させてください。私たちの開発組織におけるAIの変遷はこちらです。
本日は、Clineの全面導入を中心に、Claude Codeのトライアル導入で感じた変化にも触れていきます。
弊社の開発部では、エンジニアが約60名在籍しており、常にペアプロを行っています。XPを取り入れており、愚直にプラクティスに取り組む中で、1日8時間のうちの6時間をペアプロにあてる文化が根付いています。
ペアプロを行う理由は「高品質なソフトウェアと成長し続けるチームをつくるため」です。
弊社では1チーム5人の開発者で構成しており、1日に2~3回ペアを変えるようにしています。例えば、朝にペアを組み→昼前にペア変更→昼過ぎに再度ペア変更、といったイメージです。
このような環境にClineを導入した結果、当初期待していた「劇的な生産性向上」には至りませんでした。
導入から3ヶ月後の社内メンバーへの調査では、約6割の人が「効率化された」と回答してくれましたが「とても効率化されている」という回答は約6%にとどまりました。
「まぁ効率化された」と回答した人のコメントには「思考の幅が広がる」「明確な作業はサクサクと進む」というポジティブな意見がある一方で「ペアでClineを触ると片方が手持ち無沙汰になる」といったネガティブなものもありました。そのほか「個人でやる分にはサクサク進んで楽しいが、ペアプロだと作業が偏るので楽しくない」といったコメントも寄せられました。
このことから、ペアプロ環境では生成AIエージェントを活用するタイミングを考える必要がありそうだということがわかりました。
活用する状況としては「壁打ちモード」「ドライバーモード」という二つのモードがあると考えています。
壁打ちモードは、主にペアプロ時に使用し、AIと壁打ちをしながら設計や方針を考えていくものです。例えば、どのような設計パターンがあるか、より良い方法はないかなどをAIと議論します。
ドライバーモードは、主にソロプロ時に利用し、AIに実装を任せます。例えば「〇〇関数を実装して」「〇〇ファイルを参考にしながら実装して」といった指示を出すイメージです。
ここで重要なのは、 どちらのモードで進めるかを見極め続けること。 その際に、私たちがどのように判断しているのかをまとめたフローチャートがこちらです。
AIと人間どちらが書いたほうが早そうか、の判断に明確な基準はなく、複合的に判断しています。AIがドライバーを務めた方が早いと判断した場合には、そこからソロプロに切り替えることもあります。
フローチャートでは少し複雑に見えるかもしれませんが、シンプルにいうと、自分たちでやるより早くなると思ったところだけをAIに任せれば良いのかなと。
ペアプロ×生成AIがもたらすメリット・デメリット
岡村:この結果に至るまでに見えた2つのケースについてもお話しします。
最初にお話しするのは、ペア間にClineを導入すると、人間同士のコミュニケーションが失われがちというケースです。
私たちはオンライン前提でペアプロを行っていて、活発なコミュニケーションが生まれていました。しかし、そこにAIが入ると、ペアの片方がメインで作業して、もう1人はなんとなくいるだけ、といった状態になってしまうことがありました。
ペアプロは、2人の人間が対話を通して、理解・意思決定・レビューを即座に行うことで価値を発揮するものですが、それが失われてしまっていたのです。AIのレスポンスを待つ間に、他の作業をするには短すぎる微妙な待ち時間も発生していました。この点については、Claude Codeの導入で改善される可能性もあると思います。
2つ目は、ペア間では認識が揃っているのにAIがついてこられないというケースです。例えば、人間同士のペアプロでやりたいことが明確になった場合に、それをAIに依頼すると思ったような結果が出てこないことが多々ありました。
ペアの2人は議論を経て自分たちのやりたいことを100%理解できているのに、プロンプトでAIに依頼すると5~7割程度の成果しか得られない。これでは「話を何も聞いていないモブ」が一人増えたような状態です。補足として、ペア間の議論内容を音声で録音し、そのデータをプロンプトにすることができれば、この問題は解消されるのではないかと考えています。
また、ペアの2人の脳内にはコードレベルで浮かんでいるにも関わらず「全てAIに任せなければいけない」という固定観念から、わざわざAIに依頼していることもありました。
こうした状況を踏まえ、私たちはペアプロを行う本来の目的、すなわち「高品質なソフトウェアと成長し続けるチームづくり」について改めて考えました。
ペアプロには下記のようなメリットがあります。
しかし、メンバーからは「ペア間での会話の数が減った気がするし、属人化や知識の循環が悪化している気がする」「初手をAIに任せると、ドライバー役のメイン担当者が作業し続け、コミュニケーションが減る」といった意見が挙がりました。
つまり、ペアプロのメリットである属人化の排除や知識の循環が、Cline導入により減少もしくは失われていると感じていたのです。
なぜこのようなことが起きてしまったのかというと、Clineを利用することで、ペアのどちらかがAIに問いかけ、片方は傍観者になりがちだったからです。それにより、ペア間のコミュニケーションが減り、知識共有やチームの学びが進みにくくなる問題が生じました。
この問題は、ペア作業中にGitHub Copilotのような補完ツールを使う場合は発生しません。しかし、Clineが入ってくると、「微妙だな」と感じてしまうのです。
先ほどのフローチャートを思い返すと、ペア作業中に生成AIエージェントにドライバーを任せているならゴール認識は揃っているはず。そのため、ソロへの切り替えを検討するのが良いのかなと思います。
1点気をつけたいのが、あくまでも「ペア作業中に生成AIにドライバーを任せる」のが微妙なだけで、第三者視点でアドバイスを得るために生成AIを利用するのは非常に有効だということです。
これまでの取り組みを通じて、AIを活用するか自分たちでやるのかに、明確な線引きはないことが分かりました。結論としては、ペア、ソロ、AI活用のどのパターンで進めるべきかをチーム内で常に議論して見極め続けることが必要なのだと思います。
ここで一旦まとめます。私たちは2021年からペアプロに取り組んでいて、下図にある作業を全てペアで行っていたのですが、Clineなどの導入を通してソロで対応する範囲が増えました。
AI導入によってペアプロの時間がなくなるわけではありません。むしろ、人間はより深く考えるべきことに割ける時間が増え、質の高い濃密なペア時間を過ごせるようになったと感じています。
一方で、知識の循環や暗黙知の共有がされなくなることによるチーム全体の成長が鈍化する予感もしており、これについては進めながら考えるしかないと思っています。
もし何か答えをお持ちの方がいらっしゃいましたら、教えていただきたいです。
AI時代に意識するべき「ペアエンジニアリング」と「持続可能性」
松浦:ここからは、見えてきた課題と未来についてお話しします。
以前は、AIの登場でペアプロがなくなるのではないかという懸念があったのですが、実際には密度の濃いペア時間とソロプロ時間の増加というトレードオフが生じており、状況はより難しくなっていると感じています。
このような課題がある中で、2025年も我々はペアプロを続けます。 ペアプロを行う理由は、人間が主体であるべきだと考えているからです。ペアプロを阻害しない範囲でAIを頼り、ペアプロありきのAI活用を探っていきたいと考えています。
また、ずっと「ペアプロ」と表現しているのですが、我々としては「ペアエンジニアリング」という言葉の方がしっくりくるように思います。この理由については後ほど詳しくお話します。
まだ人間がAIを上回っている時代において、特にエンジニアリング面では人間が優位だと考えています。2026年あたりまでは人間が優位な状況が続くのではないでしょうか。それ以降のことはわかりませんし、そんなことを考えていても仕方ありませんよね。そのため、今は着実に努力していくべきですし、人間の信頼性が続く時代だと感じています。
そんな中で意識しているのは、持続可能性です。我々がやるべきことは、ユーザーに価値を届け続けること。これは事業、チーム、システムの持続可能性によって達成されると考えており、そのためにペアプロやXPを行っていく。これが、我々のスタイルなのだと思います。
AI、人間を問わず、保守しにくい/できないものは、持続可能性が低いですよね。AIが出力したプログラムは保守性が低いように感じますし、重複だらけになることもあります。そういう面で、AIプログラミングには足りていない要素がある気がしており、持続可能性を低下させるのではないかと考えています。
では、持続可能性が高いプログラミングとは何でしょうか。 Googleの『ソフトウェアエンジニアリング』という本の3ページ目には「 ソフトウェアエンジニアリングとは、時間で積分したプログラミングである 」と書かれています。
これは要するに「いま動く」プログラムだけでなく、時間の概念を加えて保守し続けること、を意味しているのではないかと。つまり、後になっても価値を届けられることこそが良いプログラムであり、それを実現していくことがエンジニアリングであると言っているのかなと考えています。
生成AIは「いま動く」コードを生成しますが、それが10年後も動くかはわかりませんし、そこにエンジニアリングが必要になってくるのだと思います。
ここで改めて、プログラミングとエンジニアリングについて見ていきましょう。
我々がペアプロで行っていることはXPの実践であり、設計、テスト、リリース計画などを繰り返し行います。我々は早く到達することよりも、より遠くに行くことを重視しており、ペアプロを通じてその意識を統一しながらXPを実践しています。
AIは多くのことをやってくれますが、部分的に最適な解決策を出す傾向があるように思います。壁打ちをした際に、その場では一定の納得感を得られるのですが、時間の概念がなく持続可能性が低いのではないかと。
人間がエンジニアリングを意識しているのに対し、AIはプログラミングに特化しているように感じており、そこにギャップがあるのだと思います。このギャップをうまく使いこなせるか、が我々の今後の課題です。
そういう意味で、ケント・ベック氏が提唱するペアプロは尊重していますが、実際にはエンジニアリング観点が重要だと感じています。そのため「ペアエンジニアリング」という言葉の方が私たちにはしっくりきます。
AIを使いこなすために必要な能力をペアプロで培う
松浦:ところで、皆さんはAIを使いこなしているでしょうか?
「使いこなしている」と即答できる人は少ないかもしれませんが、周りには使いこなしていると感じる人がいるのではないでしょうか。
私もまだ完全に使いこなしているわけではありませんが、現時点でAIを使いこなしている人は、エンジニアとして優秀な人であることが多い気がします。AIがない時代に「チョット コード カケル」と言っていたようなスキルフルな人がAIを使いこなしているイメージです。
AIに出力して欲しいのは「いま動く」だけでなく「動かし続けることができる」、AIに引き継いでも問題なく使えるような、持続可能性の高いコードです。
我々の組織に限定した話なのかもしれませんが、現時点でAIを使いこなしているエンジニアは、持続性の高いコードを出力させることができている気がします。持続性の高いコードは、プロンプト一発勝負で出力できるものではありません。おそらく、AIへのフィードバックや指示が的確だからこそ、持続可能性の高いコードを出力させることができるのでしょう。
私たちの環境においては、これはペアプロやチーム開発で培われた能力だと思います。このようなエンジニアリング能力を高めることで、AIを使いこなしやすくなるのではないかと考えています。
持続可能性を念頭に置いて考えたとしても、やはりエンジニアリング能力を高めることが重要です。例えば、ジュニアエンジニアがシニアエンジニアに近づくように能力を高めれば、AIをより有効に活用できる機会が増えるのではないでしょうか。
また、ジュニアエンジニアがAIとの対話を通じてエンジニアリング能力を高められるかというと、部分的には可能かもしれませんが、感覚的には難しいと思います。なぜなら、エンジニアリング能力は開発プロセスにおいて経験的に高まるものだからです。
ここで突然ですが、クイズです。コドモンにあってAIにないものは何だと思いますか?
答えは「組織力」「協働力」「学習能力」です。例えば、チームにテックリードが加わると、チームメンバーは、ペアプロの機会を得て成長します。このような実体験を伴う成長が、我々の開発プロセスには自然に組み込まれています。このような実体験をAIから得るのは難しいですし、人間だからこそできることの一つだと思います。
成長の方程式としては、意欲的なエンジニアと経験豊富なテックリードが共に作業することで、圧倒的な成長につながり、開発力が強化されると考えています。
エンジニアからすると、テックリードと同じ時間を共有することで、行動や振る舞い、考え方、AIの使い方も含め、多くのことを学べるからです。
老子の格言に「人に魚を与えるより、魚の釣り方を教えよ」というものがあります。これを現代の開発者に当てはめると「人にAIを与えるより、エンジニアリングを教えよ」となるのではないでしょうか。
私には5歳の娘がいます。彼女がもしエンジニアになったら「基礎をしっかり学ぶべきだ」と伝えるはず。例えば『エクストリームプログラミング』のような本を渡すでしょう。これは家族だからというわけではなく、コドモンの仲間たちにも同じことが言えます。
AIが悪いという話ではありません。AIは使い方が大事なのであり、結局は人間自身の能力が重要であることには変わらないと思うからです。だからこそ、人とチームの成長にフォーカスすべきだと考えています。
この考え方は、教わる側だけでなく教える側にも学びがあります。知識を他者に伝えることで自身の理解が深まり、説明力が鍛えられ、結果としてスキルアップにつながるでしょう。
また「教学相長ず」という言葉もあります。これは、教えることと学ぶことは互いに高め合うという意味の格言です。まさにペアプロがこれに当たると感じています。
シニアとジュニア、シニア同士、ジュニア同士、どのような組み合わせでも学びがあります。これらの話から、私たちはペアプロによって互いにエンジニアリング能力を高め合い、持続可能性を高めているのだと考えています。
開発生産性の改善にはまだ課題が…?
松浦:「結局、開発生産性はどうなの?」と聞かれると、ペアプロとAIの組み合わせによる短期的な改善は完全には見えていません。
劇的な改善には至っていないため、さらなる改善につなげていきたいというのが現状です。
岡村さんが話していたように、ペアプロでAIを活用できるシーンはいくつか見えており、それらを実行していきたいと考えています。
しかし、ペアプロ前提だと、人間の数を超えてスケールすることが難しいのも事実です。とはいえ、ソロプロに切り替えると知識の循環がなくなり、チームの持続可能性が低下する恐れがありますし、それは避けたい。
「もしかして、求めるものはペアプロの外側にあるのではないか?」ということに気がついた、というのが現在地です。
では、AIをどこで使うのか。
例えば、ボタンの表示崩れ対応やUI/UX改善のような小さなタスクから、負荷を劇的に改善するためのアーキテクチャ変更、データベースの負荷改善、マイクロサービス化によるデプロイの容易化といった大きなタスクまで、日常の開発タスクには大小様々なものがありますよね。
どちらも並行して進められるのがベストですが、現実的には難しいと感じています。「DBのテーブル定義を考えつつ、CSSのことを考えられる?」と聞かれた時、ペアプロをしているエンジニアなら「できる」というかもしれません。ペアチェンジがあり、短時間で異なるコンテキストに切り替えることもあるからです。
ただ、実際にはコンテキストスイッチが大きく、大変なこともあります。人間の労力は貴重ですし、一つのことに集中したい場面もあるでしょう。このような状況で疲弊してしまうと、持続可能性が低下してしまいます。そのため、属人性が低くて小さな開発タスクは、わざわざペアプロをしなくても良いのではないかと考えています。
そこで、大小ではなく「作業方針が明確なタスク」「探索的なタスク」の二つに分類してみました。
AIは探索的なタスクが苦手であるため、ここは人間が力を発揮しやすい領域です。
重要なのはタスクの大小ではなく、ゴールが明確かどうか。ゴールが明確なタスクは量をこなすのに向いており、不確実性が大きくゴールを探すタスクについては人間がしっかり見極めるべき、と分類できます。
探索的なタスクは人間がやるべきです。ゴールが明確なタスクは、必ずしも人間がやる必要はないと思います。人間がペアプロという貴重な時間を使っている裏で、AIが自律的に動いてくれると非常に助かりますよね。
具体的には、DevinやClaude Code、GitHub Actionsなどを組み合わせて、AIがクラウド環境で開発を進め、昼夜を問わずスケールしてくれるのが理想です。人間は持続可能なペースでペアプロを行い、知識の循環を重要視するのが理想です。
ただ、現在はAIに任せる部分を検証している段階で、まだ実現には至っていません。ノウハウをお持ちの方がいらっしゃったら、ぜひ教えていただけると幸いです。
人間の力を最大限に生かすため、AIの力を活用していく
松浦:まとめます。私たちは、コドモンのミッションである「子どもを取り巻く環境をテクノロジーの力でより良いものに」を大切にしています。
AIを取り巻く環境は常に変わり続けていますが、私たちの子どもたちへの愛(AI)とプロダクトへの愛(AI)は変わりません。人間の力を最大限に生かすため、愛(AI)とAIの力の両方を活用していきたいと考えています。
本日お話ししたことは、2025年7月時点のスナップショットであり、状況は日々変わり続けています。今後の方針や検証は、明日には変わるかもしれません。
ちなみに、この資料の作成からわずか1週間で時代は進化し、Claude Codeを試したテックリードの一人は「非常に自走力があり便利だ」と言っていました。一気にこの資料が陳腐化した1週間でした(苦笑)。
先ほど、岡村さんが話していたペアプロの範囲についても、Claude Codeの速さによって、AIとスムーズにペアプロができるようになる可能性があります。
図のどちらになっていくのかは、わかりません。ソロのペアとソロの領域はツールによって大きく変わりそうですし、柔軟に対応していくしかないと思います。
資料を作成してから1週間で、直近の検証では相性が悪いと感じていた生成AIエージェントとのペア作業が、Claude Codeなどによって解消される可能性が見えてきました。これにより、ペアプロもソロプロも効率化されるかもしれません。我々は、今後も検証を続けていく予定です。
最後に、皆さんも、時代の変化を楽しんでいきたいですよね?コドモンでは変化を楽しめる仲間を募集しています。ペアプロや意欲的なエンジニア、愛(AI)のあるテックリードに興味があれば、ぜひサイトをご覧ください!