AIおまかせコーディング:vibeslopが許されるとき(と許されないとき)
(原文は英語。本記事はAIによる翻訳を著者本人が加筆修正したものです) Claude Codeをはじめとするコーディング支援AIは、コードの生産コストを劇的に下げることで、ソフトウェアの構築方法を変えつつある。 特に触り始めは、あまりの速度でソフトウェアができるので、一種の中毒状態になることも少なくない。技術的知識をまったく持たずに、実用的なアプリを完成させてしまうケースも出てきている。だが気をつけなければいけないのは、AIは状態の管理や変更にかかるコストを、少しも安くしていない、ということだ。 ここで言う「状態」とは、次のようなものを指す: データベースマイグレーション:スキーマの変更とデータの移行は、依然として慎重な計画と実行時間を要する。 インフラ変更:クラウドリソースのプロビジョニングや変更が速くなったわけではない。 コードのデプロイと連携リリース:複数のリモートシステム、バックエンドサービス、フロントエンドクライアントが絡む複雑なリリースを、AIが魔法のように加速してくれるわけではない。 例えば、ちょっとした変更でも、後方互換性のないAPI変更を行う場合、複数の独立したリモートプロセスで状態を変更する必要があるため、デプロイコストは依然として高いままだ。 AIが真に輝くのは、ステートレスな技術的負債を一掃する場面だ。それが人間によるものか、AIによるものかは関係ない。AIエージェントが特に得意とするのは: 合理的なカバレッジを備えた包括的なテストスイートの作成。 ルーティンなライブラリ更新の実行。 外部依存関係のベンダリングの処理。 決定論的に動作し、かつ信頼できる品質ゲートと厳格なリグレッションテストが整っていれば、数万行にわたる大規模なリファクタリングさえも、AIが成功裏に実行できる。 AIはアプリケーションのステートレスなロジックを魔法のように最適化できるが、永続データやシステム境界が絡む場面では力を発揮しにくい。なぜか?状態とはハードウェアそのものであり、ソフトウェアが飲み込むことができない領域だからだ。状態をめぐるバイブスロップ(バイブコーディングによる怠慢)は、いつか必ずツケとして返ってくる。