8月20日、InfoQが「How Code in the Age of Artificial Intelligence Becomes Write-Only and Disposable」と題した記事を公開した。AIコーディングエージェントが大量のコードを生成する今、コードレビューはすでに人間のボトルネックになりつつある。ではエージェントに別のエージェントを審査させたら? さらには、汚れたコードベースを定期的に自動クリーニングする「de-slopifyエージェント」を走らせたら? QCon Londonでの講演でPhillip Mortimerは、こうした現実的な適応戦略を提示しながら、「書き捨てコード」時代にエンジニアの価値がどこへ移るかを論じた。
「AIが生成したコードは読めない」という前提を受け入れる
Mortimerの出発点は、AIの時代においてすべてのコードはwrite-only(書き込み専用)になるという認識だ。
write-onlyコードとは、難解・複雑・構造が悪く、書いた本人ですら後から理解・修正できないコードを指す業界用語だ。従来はAPLや難解な正規表現など一部の言語・記法に限った話だったが、Mortimerはそれが今やAI生成コード全般に当てはまると指摘する。
この前提を受け入れると、いくつかの設計原則が導かれる。
テストがドキュメントになる。 コードが密すぎて読めない場合、何をするコードかを理解する唯一の手段は網羅的なテストケースだ。入出力のペアを読むことで、コードの振る舞いを把握する。
コードは使い捨てにする。 write-onlyコードのデバッグは困難を極める。既存のコードを修正するより、ゼロから書き直す方が速い。テストは残し、コードは捨てて書き直す、という発想だ。
人間によるコードレビューはスケールしない
Mortimerが最も重要な問いとして挙げるのが、レビューの問題だ。
AIが生成したコードを人間が1行ずつレビューしようとしても意味がない。人間がすぐにボトルネックになるからだ。
対策として彼が提案するのは2つ。
コードレビューの自動化:CIアクションとしてコーディングエージェントを組み込み、シニアエンジニアがレビューで確認する観点をスキルとして定義させる。エージェントはコメントの投稿、変更リクエスト、PRの承認まで行える。「モデルが自分の出力をレビューしても効果がないのでは」という懸念に対して、Mortimerは「異なるプロンプト・異なる指示・異なるコンテキストを与えるだけで、意味のあるレビューが得られる」と述べる。この敵対的レビューのアプローチは、マルチエージェントシステムにおける品質保証の手法として広く注目されている。
ソフトウェアの自己修復:AIコーディングエージェントにオブザーバビリティ(可観測性)プラットフォームを監視させ、一定期間のアラートを集約して、よく見られる問題から順にPRを自動的に作成・修正させる仕組みだ。
また、PRループの外で定期的に走らせる「de-slopify(スロッピーなコードの除去)エージェント」という概念も紹介されている。重複コード、パラメータ化されていないテスト、未使用のフィーチャーフラグといった低リスクな問題を継続的に検出・修正する。コードベースの品質を人手を介さず維持し続けるという発想は、従来のリファクタリング文化を自動化の文脈で再解釈したものと言える。
「実装」から「意図」へ:エンジニアの役割の変化
Mortimerは、AIが自然言語でコードを書ける今、開発者はプログラミング言語を超えてポータブルな存在になったと言う。特定の言語スキルではなく、何を作りたいかという「意図」が開発者の本質になる。
そして彼がエンジニアに残された仕事として強調するのがクリエイティビティ(創造性)だ。
創造性とは反復的なものだ。長い期間をかけた段階的な改善の積み重ねだ。誰でも創造できる。ただ動き始めればいい。
組織がクリエイティビティを育むためにできることとして、Mortimerは以下を挙げる。
- まとまった集中時間を確保する:ミーティングを1日の始めか終わりにまとめ、長い集中時間を生み出す。グループでのブレインストーミングは「個人作業より良いアイデアが生まれる」という証拠がなく、産業・組織心理学の研究においても個人作業の方が優れたアイデアを生みやすいと繰り返し示されている。
- 制約を設ける:白紙の自由は創造を阻害する。時間・リソースの制約が探索空間を限定し、イノベーティブな解を強制することがある。
- 超高速エンジニアリングへの反省:「hyper-velocity engineering(超高速開発)」の潮流は、立ち止まって考える時間を奪っている。今こそ、創造的思考のための時間が重要だとMortimerは述べる。
AIがコードの「実装」を担うようになった今、エンジニアの差別化要素は何を作るかを考える力に移行している。Mortimerの講演が示すのは、AIコード全般の否定ではなく、「読めないコード」を前提とした上でいかにシステムと組織を設計し直すかという、現実的な適応戦略だ。
詳細はHow Code in the Age of Artificial Intelligence Becomes Write-Only and Disposableを参照していただきたい。