「コーディングは解決済み」— Claude Codeの生みの親であるBoris Cherny氏が最近の講演でこう述べたそうです。AIが書いたコードをAIがレビューし、人間はチェックポイントとして立ち会うだけ。そんな未来がもう来ているという話なんですよね。
私も日常的にAIコーディングツールを使っていますが、この発言にはうなずける部分と「いや、そうでもないぞ」と思う部分の両方があります。今日はArcplane社のG Gao氏が書いた記事をもとに、この問題を整理してみたいと思います。
コーディングとソフトウェア開発は違う
記事の核心はシンプルです。「コーディング」と「ソフトウェア開発」は別物だということ。コーディングは指示を実装に変換する作業です。一方、ソフトウェア開発は曖昧な意図を信頼できるシステムに変える、もっと大きなプロセスです。
AIツールが劇的に速くしたのは「実装」の部分だけ。その前後にある問題の理解、スコープの決定、レビュー、デプロイ、運用は依然として人間の仕事として残っています。かつて午後いっぱいかかった実装が数分でドラフトとして出てくる。でも、それが正しい変更かどうかを判断するのに、チームは数時間から数日を費やすこともあるわけです。
AIが生む新しい「エントロピー」
記事で面白かったのは「AIエージェントがエントロピーを増やすこともある」という指摘です。ここでいうエントロピーとは、混乱や不確実性のことです。
ソフトウェア開発の本質は、曖昧な要求を検証可能な変更へと絞り込んでいくプロセス、つまりエントロピーの削減だと記事は説明します。ところがAIエージェントは、実装のエントロピーは下げる一方で、別の場所でエントロピーを上げてしまうことがあります。
例えば、AIが生成したテストスイートは量が多くても、AIが自分で選んだ実装を追認しているだけかもしれません。レビュースレッドが長くなっても、本質的な問題を避けて枝葉を指摘しているだけかもしれません。見た目は完成しているけれど、実際には不確実性を減らしていない。これが「AIスロップ」と呼ばれる現象です。
ボトルネックは「信頼」に移った
記事が提示する3つの重要なポイントがあります。
1つ目は「コンテキストの意図的な選択」です。大きなコンテキストウィンドウは助けになりますが、情報が多ければいいというものではありません。膨れ上がったプロンプトは本当に重要なルールを埋もれさせてしまいます。AIに渡す前に、人間が適切なコンテキストを選ぶ必要があります。
2つ目は「仕様が作業と一緒に動くこと」です。人間のエンジニアは曖昧なタスクを受けても、経験に基づいた判断で対処します。しかしAIエージェントは曖昧な指示でも喜んで進みます。間違った解釈で完成品のように見える実装を出してくることすらあります。だからこそ仕様が重要で、しかもその仕様はコーディング中もレビュー中も更新され続ける「生きた文書」である必要があります。
3つ目は「レビューアーが信頼できる証拠」です。「コード生成が安くなると、信頼が高くつくようになる」という記事の一文が印象的でした。テストが通ったという事実だけでなく、何をテストしたのか、なぜそのテストで十分なのかが可視化されていなければ、レビューアーは安心できません。
コードの先にあるもの
私がこの記事から得た一番の気づきは、「きれいなコードは悪い仕様を救えない」という点です。AIの進化で、実装速度は今後さらに上がるでしょう。でもそれは、実装以外の部分—問題の定義、仕様の策定、リスク判断、信頼性の検証—の価値がますます高まることを意味しています。
AIコーディングツールを使いこなすというのは、より速くコードを書くことではありません。「何を作るべきか」と「それが正しいことをどう証明するか」にフォーカスを移すことだと思います。ボトルネックはコードからワークフローに移りました。次に解くべき問題はそこにあります。
元記事: https://arcplane.ai/journal/software-is-not-solved
← ブログ一覧に戻る