Agodaのエンジニアチームは、AIコーディングツールの普及にかなりの時間を費やした後、振り返りを行った。その結論は、落ち着かない気持ちにさせるものだ。
個人の開発者効率は向上したが、プロジェクト全体のデリバリー速度はほとんど変わらなかった。
これはAgodaだけの問題ではない。Faros AIは複数の企業のデータを集計し、印象的な数字を提示した。
AI採用率の高いチームでは、PRマージ量が98%増加し、タスク完了量が21%増加した。しかし同時に、PRのレビュー時間は91%増加した。
アウトプットは増えたが、レビューは遅くなった。この2つの効果はほぼ相殺されている。
真のボトルネックとは何か
Agodaのエンジニアチームの判断は、「コーディングはソフトウェアデリバリーの主要なボトルネックでは決してなかった」という事実に問題があるというものだ。
AIの補完により、コードを書く速度は速くなった。しかし、コードを書くことはパイプラインの1つの工程に過ぎない。その前には要件分析、システム設計、技術方式の調整があり、その後にはコードレビュー、テスト、統合、デプロイがある。
中間の工程の速度を3倍にしても、パイプライン全体が3倍速くなるわけではない。
AIによってコードのアウトプット量が急増すると、「そのコードを消化する」能力が新たな障壁となる。
- 各PRのコード量が増える(AIが生成するコードは往々にして簡潔さに欠ける)
- コードレビューで確認すべきものが増える
- しかし、シニアエンジニアの時間は限られている
ボトルネックは「コードを書くのが遅い」から「コードをレビューするのが遅い」へと移行し、実際のデリバリーのペースは改善されていない。
より深い問題:仕様策定
Agodaのエンジニア、Leonardo Stern氏はさらに踏み込み、真に希少なリソースはレビューではなく、仕様策定、すなわち曖昧なビジネス要件を明確で実行可能な技術仕様に変換する能力であると主張する。
以前は、エンジニアはコードを書くことに多くの時間を費やしていたため、仕様は多少曖昧でも「書きながら明確にしていく」ことができた。
現在、曖昧な要件をAIに与えると、AIは「使えそうに見える」が方向性の間違ったコードを生成する。その後、仕様を修正し、AIが再生成し、これを繰り返す。表面上はコードのアウトプット量は多いが、実際にはコードで試行錯誤しており、効率は高くない。
忠実度の高い要件仕様書が、中核となるエンジニアリングの成果物になりつつある。コードそのものではなく、「何を望むかをどう記述するか」が重要だ。
Stern氏の「グレーボックス」アプローチ
Stern氏は、2つの極端な方法の中間に位置する「グレーボックス」と呼ばれる作業方法を提案している。
- ホワイトボックス:AIが生成したコードのすべての行を確認し、実装の詳細に対して完全な責任を負う
- ブラックボックス:AIが書いたコードをそのままデプロイし、結果に対して責任を負うがプロセスには関与しない
- グレーボックス:2つの重要なポイント、すなわち正確な仕様を書くことと、結果が仕様に合致しているかを検証することに介入する
グレーボックスの核となる論理は、AIが問題を解決するためにどのような方法を使うかを理解する必要はないが、「何をもって解決としたか」を明確に述べ、それが実際に解決されたことを検証できなければならない、というものだ。
この方法の本質は、エンジニアの時間と注意力を、AIが最も苦手とする部分、すなわち意図の定義と結果の検証に集中させ、実装の詳細には集中させないことにある。
エンジニアの役割はどこへ向かうのか
従来のソフトウェアエンジニアの役割の前提では、「良いコードを書くこと」が中核的な競争力であった。
今、その前提は揺らいでいる。AIが品質の高いコードを書けるようになったとき、エンジニアの希少性はどこから来るのか?
Agodaのような企業の実践から、答えは次の方向に向かっている。
- ビジネス上の問題を正確な技術仕様に変換できる人
- 効果的な検証計画を設計できる人
- AIが生成したコードが本当に正しい問題を解決しているか判断できる人
これは「コードを書く能力が重要でなくなった」という意味ではない。コードを書く能力は希少なリソースから基礎的な要件へと移行し、真の差別化要因はより上流にあるということだ。
Stern氏の言葉を借りれば、人間の権威は「コードを書くこと」から「意図を定義すること」へと移行している。これは抽象度の階層が上がったのであり、スキルが消えたわけではない。
経営陣はこの問題をどう見るべきか
エンジニアリングマネージャーにとって、Agodaの調査は直接的な行動指針を示している。AIの価値をコードのアウトプット量で測定してはならない。
PR数、コード行数、タスク完了数は、AIツールによってすべて良く見えるようになる。しかし、デリバリーされる機能が増えず、速くならず、品質が向上していなければ、これらの数字は単なる数字に過ぎない。
本当に追跡する価値のある指標は、機能のリリースサイクル、本番環境の欠陥率、要件からデリバリーまでのエンドツーエンドの時間である。これらの数字は、AIが実際にチームを支援しているのか、それとも単にGitHubのデータを水増しするのを助けているのかを教えてくれる。
次に誰かがPRマージ量をAIツールのROIとして報告してきたら、「ではレビュー時間はどうなっているのか?」と尋ねることができる。
出典:CocoLoop、AI Coding Assistants Haven't Sped Up Delivery Because Coding Was Never the Bottleneck(InfoQ)