AIがコードを書くスピードは、人間の100倍を超えている。
最新のAIモデルを使えば、複雑なリファクタリングも、新しい機能の実装も、数分で完了する。
AIがコードを生成するのに3分かかる一方で、その後の後始末に2時間かかっている。
コンパイルが通らない。依存関係が壊れる。ディレクトリ構造が崩れる。
これはAIの性能の問題ではない。
開発インフラが、AIという怪物を受け入れる準備ができていないからだ。
1960年代から続くファイルシステムというレガシーな馬車に、最新の蒸気機関を載せている。
その歪みが、開発現場の至る所でボトルネックとして噴出している。
これからのエンジニアに求められるのは、コードを書くスキルではない。
AIが迷いなく走るための線路を敷くこと、つまり設計意図を言語化する能力だ。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。
1960年代のインフラで2025年のAIを走らせる限界
今のAIコーディングは、初期の蒸気機関車に似ている。
エンジンは強力だが、それを支える鉄道も信号システムも普及していない。
人々は蒸気機関を馬車の上に載せて走らせようとしている。
馬車の車輪はエンジンの重さに耐えられず、路面は破壊され、旋回性能は馬よりも悪化した。
これが、現在のAI駆動開発(AIDD)で起きていることだ。
毎日使っているファイルシステムは、1960年代に人間が視覚的に理解するために設計された。
ソースコードのディレクトリを眺めれば、人間は直感的にコンポーネントを理解できる。
しかし、AIにとってファイルパスはただの文字列に過ぎない。
大文字と小文字を区別するかどうかすら、OSによって異なる世界でAIは戦わされている。
依存関係の管理も、人間がチェンジログを丁寧に読むことを前提としたシステムのままだ。
AIは超高速でコードを書き換えるが、ライブラリのバージョン競合という地雷原を駆け抜ける術を持っていない。
テストシステムも同様だ。
コードを書いた後に、人間が手動でテストを補足するリズムで設計されている。
AI時代に求められるのは、生成と同時に制約を検証するリアルタイムのフィードバックだ。
このギャップを埋めない限り、AIを導入しても人間が後始末に追われる状況は変わらない。
AIに実装を丸投げするのではなく、AIが解釈可能な形でプロジェクトの構造を再定義する。
ファイルパスという物理的な場所に依存するのではなく、機能間のつながりを知識グラフとして定義するアプローチだ。
AIはどのファイルにあるかではなく、どの機能が何に依存しているかを知るだけでいい。
ファイルシステムは、単にGitで追跡するためのシリアライズ形式に過ぎない。
しんたろー:
毎日コードを書いていて、パスの指定やインポートの微調整に時間を取られることが気になる。
AIは天才的なロジックを書くのに、隣のファイルの存在を知らずにエラーを出す。
1960年代の設計に縛られている自分たちが、AIの足を引っ張っていると感じる。
曖昧さを排除した設計書がAIの真価を引き出す
AI駆動開発で成果を上げているプロジェクトには、共通した特徴がある。
人間が担当する領域を設計(9割)に集中させ、実装(1割)をAIに任せている点だ。
ここで言う設計とは、単なる構成図を描くことではない。
なぜその技術を選んだのか、なぜその選択肢を捨てたのかというWhy(背景)を徹底的に言語化する。
これをADR(アーキテクチャ決定記録)と呼ぶ。
プロの開発現場では、AIに設定値だけ書けばいいというアドバイスを鵜呑みにしない。
背景を知らないAIは、プロジェクトの文脈を無視したコードを出力する。
例えば、インフラ設計において、特定のロードバランサーを採用する理由をAIに伝える。
コストを数ドル単位で抑えるため、L7ではなくL4を採用し、処理をゲートウェイに寄せる。
具体的に制約と意図を伝えれば、AIが出力するコードの精度は向上する。
AIはどう作るか(How)の知識は膨大だが、ビジネス上のトレードオフまでは知らない。
どの部分でコストを削り、どの部分で安定性を優先するのか。
テスト環境は100%スポットインスタンスで運用し、夜間は自動停止するという意思決定は人間にしかできない。
こうした曖昧さのない設計こそが、AIにとっての最高の指示書になる。
設計書に曖昧な部分が残っていれば、AIはその隙間を自分の推論で埋めてしまう。
それが、意図とは違うシステムを生む原因になる。
設計書を読み込んだときに、細かすぎる、曖昧な部分が一切ないと判断できるレベルまで解像度を高める。
それが、AIを真のエンジニアリングパートナーに変えるための条件だ。

しんたろー:
以前は、とりあえずAIにTerraformを書かせて、エラーが出たら直せばいいと考えていた。
それだと、結局ツギハギのインフラになる。
最初に「なぜこれにするか」を自分で言語化する時間が、一番の近道だと思った。
Claude Codeを自律型エージェントとして覚醒させる方法
Claude CodeのようなCLIツールを使う際、真価を発揮させる鍵は文脈の与え方にある。
単にターミナルから命令を打ち込むだけでは、AIはプロジェクトの全貌を把握できない。
そこで重要になるのが、README.AI.mdというファイルの存在だ。
これは人間向けのドキュメントではなく、AIエージェントがプロジェクトを理解するために最適化された指示書だ。
ディレクトリ構造の意図、使用しているフレームワークのバージョン、チーム独自のコーディング規約を明文化する。
これらをプロジェクトのルートに置いておくだけで、AIの挙動は変わる。
例えば、utilsディレクトリには純粋関数以外を置いてはいけないというルールをAIに教える。
副作用を伴う処理は必ずこのフックを経由させるという制約を与える。
AIはこうした明示的なルールを守ることに関しては、人間よりも遥かに忠実だ。
暗黙の了解を減らし、すべてをドキュメントやツールで強制する環境を整える。
具体的には、ESLintのルールを厳格に設定し、AIがルール違反をした瞬間に気づけるようにする。
AI駆動開発における設計とは、コードを書くことではなく、こうしたガードレールを設置する作業だ。
ガードレールがしっかりしていれば、AIはフルスピードでコードを生成しても事故を起こさない。
プロジェクトにこのREADME.AI.mdを導入してから、AIへの指示出しの回数が減った。
いつものやり方が通じるようになる快感がある。
AIを賢いインターンとして扱うのではなく、プロジェクトの憲法を共有した共同開発者として扱う。

しんたろー:
Claude Codeにプロジェクトのルールを読み込ませた後に、完璧なリファクタリングが返ってきた時の衝撃が忘れられない。
自分の頭の中にある当たり前を書き出すだけで、AIはここまで化ける。
言語化能力がエンジニアの戦闘力に直結する時代だと感じた。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。
AI時代に生き残るエンジニアの新しいスキルセット
これからのエンジニアの仕事は、キーボードを叩いてコードの行数を稼ぐことではない。
価値の源泉は、「意図と制約を定義し、アーキテクチャを決定する」ことにシフトする。
コード生成、ユニットテストの記述、デプロイ、依存関係の更新はすべてAIの仕事だ。
人間が手を出せば出すほど効率が落ちる作業に変わる。
複雑なビジネス要件を解きほぐし、AIが理解できるレベルまで構造化する力を磨く。
例えば、新しい機能を実装する際、いきなりコードを書かせるのではなく、まずインターフェースと制約条件を定義する。
入力はこの型で、出力はこう。パフォーマンスはこれくらいで、コストはここまで。
こうした境界条件を厳密に定義できれば、実装そのものはAIが数秒で終わらせる。
また、技術選定の際の審美眼も重要になる。
AIは流行りの技術を提案するが、その技術がプロジェクトの長期的な維持にどう影響するかを判断するのは人間だ。
このライブラリはAIとの相性がいいといった、AI時代の新しい選定基準も生まれている。
例えば、TanStack Queryのように、状態管理をシンプルにし、TypeScriptとの親和性が高いツールはAIにとって扱いやすい。
逆に、人間が頑張って書くことを前提とした複雑なフレームワークは、AI時代には敬遠されるようになる。
エンジニアの役割は、オーケストラの指揮者に近くなっている。
個々の楽器(AI)が最高の音を出すための楽譜(設計書)を書き、全体の調和(アーキテクチャ)を整える。
この変化を恐れるのではなく、自分をコードの書き手からシステムの設計者へとアップデートする。
それが、このAI狂騒曲の中で生き残るための道だ。

しんたろー:
昔は1日1000行書いたとドヤれたが、今はAIが1秒でやるから意味がない。
逆に、今日は1行も書かずに最強の設計書を1枚仕上げたという方が価値が高い。
この価値観の転換についていけないと、置いていかれると感じる。
実務で今すぐ取り入れるべき3つのアクション
明日からの開発で具体的に何をすべきか。
まず1つ目は、自分のプロジェクトにREADME.AI.mdを作成することだ。
人間向けのREADMEをコピーするのではなく、AIがこのプロジェクトでやっていいこと、ダメなことを箇条書きで並べる。
これだけで、AIの的外れな提案を半分以下に減らせる。
2つ目は、技術的な決定を下すたびに、その理由をADRとして記録する習慣をつけること。
なんとなくで選んだ技術は、AIに説明できない。
言語化できない決定は、設計ではないと自分を律する。
3つ目は、開発フローの中にリアルタイム検証を組み込むことだ。
AIがコードを書いた瞬間にテストが走り、規約違反を指摘する環境を作る。
CI/CDをデプロイのためのツールから、AIの行動を監視するためのツールへと再定義する。
これらは地味な作業に見える。
しかし、こうしたAIのためのインフラ整備こそが、将来的に10倍、100倍の生産性として返ってくる。
蒸気機関(AI)の力を最大限に引き出すための鉄道(インフラ)を、今すぐ手で敷き始める。
その先には、人間が創造的な設計だけに集中できる、本当の意味でのAI駆動開発が待っている。
FAQ
Q1: AIにコードを書かせると修正に時間がかかるのはなぜですか?
現在の開発環境が、AIの思考プロセスと同期していないからです。AIはファイルシステム上の文字列としてコードを生成しますが、人間は依存関係やテストの整合性を脳内で補完しています。AIに生成させるだけでなく、プロジェクトの構造や制約をESLintルールやREADMEで明示的に定義し、AIが意図を理解できる環境を整えることで、後始末の時間を削減できます。
Q2: AI駆動開発で「設計9割」と言われるのはなぜですか?
AIはHow(どう実装するか)の知識は膨大ですが、Why(なぜその技術を選ぶのか)というビジネス上の制約やトレードオフの判断は人間が定義する必要があるからです。曖昧な指示ではAIは無難なコードしか書きません。コスト試算や技術選定の理由(ADR)を設計書としてAIに与えることで、AIはプロジェクトの文脈に沿った、修正不要な実装を出力できるようになります。
Q3: Claude Codeを最大限に活かすためのドキュメント術はありますか?
AI専用の指示書であるREADME.AI.mdを作成し、プロジェクトのルートディレクトリに配置するのが効果的です。そこには、ディレクトリごとの役割、禁止されているライブラリ、特定の命名規則、副作用に関する方針などを明文化します。AIは暗黙の了解を察するのが苦手ですが、明文化されたルールには忠実であるため、このドキュメントがあるだけで生成コードの手直しが劇的に減ります。
AIにコードを書かせるのはもう古い
これからは、AIに意図を伝え、共にシステムを組み上げる時代だ。
単なるコード生成ツールとしてAIを使い続けるか、それとも設計意図を共有する真のパートナーにするか。
その差は、あなたの言語化能力にかかっている。
毎日、Claude Codeと対話しながら、自分の設計の甘さを痛感している。
でも、その対話こそが、エンジニアとしての自分を次のレベルへ引き上げている。
設計意図を明確にし、AIを使いこなす。
その第一歩として、まずは自分のプロジェクトのWhyを書き出すことから始める。

この記事が参考になったら、ThreadPostを試してみませんか?
投稿作成・画像生成・スケジュール管理まで、AIがサポートします。
ThreadPostをもっと知る