Claude Codeで何でも作れる? 実際にAI駆動開発をやると見えてくる「本当に難しいところ」
Claude CodeやCodexの登場によって、「もうプログラミングができなくても、誰でもシステムを作れる時代になった」と感じる人は増えています。
実際、簡単なWebアプリや社内ツールであれば、AIに指示を出しながら驚くほど短時間で形にできます。
画面を作って、データベースにつないで、ログイン機能を付けて、公開する。
以前なら数日から数週間かかっていたようなものが、数時間で動くところまで到達することも珍しくありません。
では、本当に「Claude Codeがあれば誰でも何でも作れる」のでしょうか。
実際にAI駆動開発をかなり使い込んでいくと、むしろ逆の感覚になります。
作り始めることは簡単になった。
しかし、業務で使い続けられるシステムを作る難易度は、それほど下がっていない。
むしろ、AIによって開発速度が上がったことで、これまで後回しにされていた設計・インフラ・セキュリティ・保守などの重要性が、より強く見えるようになってきました。
Claude Codeは「コードを書く」のは非常に得意
まず前提として、Claude CodeのようなAIコーディングツールは非常に強力です。
例えば、
- 管理画面を作る
- APIを実装する
- データベースのCRUDを作る
- CSVのインポート機能を追加する
- テストコードを書く
- 既存コードをリファクタリングする
- エラーの原因を調査する
といった作業は、かなりの速度で進められるようになりました。
特に、仕様が明確な作業ほどAIは強力です。
「この画面に検索機能を追加して」
「このAPIにページングを実装して」
「この処理のテストを書いて」
こうした指示であれば、人間がすべてコードを書くよりもはるかに速く進むケースがあります。
つまり、ソフトウェア開発の中でも、実装そのもののコストは大きく下がり始めています。
ところが、システム開発は「コードを書く」だけではない
ここで大きな誤解が生まれます。
システム開発というと、画面やプログラムを書くことが中心に見えます。
しかし実際の業務システムでは、その前後に大量の仕事があります。
例えばログイン機能ひとつを取っても、
「ログイン画面を作る」
だけで終わりではありません。
- Googleログインにするのか
- メールアドレスとパスワードにするのか
- パスワード再発行はどうするのか
- 管理者と一般ユーザーの権限をどう分けるのか
- 退職者のアカウントをどう無効化するのか
- ログイン履歴を残すのか
- 不正アクセスをどう検知するのか
といったことを考える必要があります。
AIはコードを書くことはできます。
しかし、
「そもそも何を作るべきか」
という設計判断は依然として重要です。
一番大変なのは、実はインフラ周り
AI駆動開発を始めると、意外と早い段階でインフラの壁にぶつかります。
ローカル環境では動いていたのに、本番環境では動かない。
これは昔からある問題ですが、AI開発でも同じです。
例えば、
- Vercel
- Cloudflare
- AWS
- Azure
- Supabase
- Neon
- Docker
- DNS
- SSL
- 環境変数
- CI/CD
など、さまざまなサービスや技術が関わってきます。
さらに、
「データベースはどこに置くのか」
「バックアップはどうするのか」
「本番環境と開発環境をどう分けるのか」
「障害が起きたときどう復旧するのか」
ということまで考える必要があります。
AIは設定ファイルを書くことはできます。
しかし、構成を間違えると、
- セキュリティ事故
- データ消失
- 高額なクラウド料金
- サービス停止
につながる可能性があります。
そのため、AIが生成した内容を判断するためのインフラ知識は、むしろ重要になります。
「動く」と「安全に使える」は全く違う
AIで作ったシステムは、とりあえず動くところまでは非常に早いです。
ただし、
動くシステムと、安全に業務で使えるシステムは別物です。
例えば顧客情報を扱うシステムなら、
- 他社のデータが見えないか
- URLを書き換えて別ユーザーの情報にアクセスできないか
- APIが認証されているか
- 管理者権限が適切か
- SQL Injectionなどの脆弱性がないか
- ログに個人情報が出ていないか
などを確認する必要があります。
特にSaaSでは、複数企業が同じシステムを利用するため、マルチテナント設計が非常に重要です。
AIがコードを書いてくれるからこそ、
生成されたコードが本当に安全なのかを確認する能力
が必要になります。
本当に大変なのは「作った後」
そして、AI開発で最も見落とされやすいのが保守です。
システムは完成した瞬間がゴールではありません。
むしろそこから始まります。
実際には、
- バグ修正
- 利用者からの改善要望
- ライブラリのアップデート
- セキュリティアップデート
- OSやクラウドサービスの変更
- API仕様変更
- データ量増加への対応
- パフォーマンス改善
などが継続的に発生します。
例えば、半年後にClaude Codeへ、
「このシステムを改善して」
とお願いしたとします。
しかし、その時点ではコードが数万行になっているかもしれません。
さらに、
「なぜこの設計になっているのか」
「どの機能がどこに影響するのか」
という背景情報が分からなくなっている可能性があります。
だからこそ、
- 設計書
- README
- ADR
- テスト
- コーディングルール
- Git履歴
- CI/CD
などの整備が重要になります。
これはAI時代でも変わりません。
むしろAIが大量のコードを高速に生成するため、整理されていないコードベースは以前より早く複雑化する可能性があります。
AIは間違える。それも「それっぽく」
もう一つ重要なのが、AIは必ずしも正しいコードを書くわけではないことです。
AIは非常に自然なコードを書くため、一見すると正しそうに見えます。
しかし、
- 存在しないAPIを使う
- 古い仕様を使う
- エラー処理が不足する
- セキュリティチェックを忘れる
- 想定外の条件でバグが発生する
といったことがあります。
特に怖いのは、
コードがきれいに見えるため、問題に気付きにくいことです。
そのため、
- TypeScript
- Lint
- 静的解析
- 単体テスト
- E2Eテスト
- セキュリティチェック
- CI
など、機械的に検証する仕組みが重要になります。
AIにコードを書かせるほど、
AIを信用しすぎない仕組み
が必要になるとも言えます。
では、プログラミング知識はいらなくなるのか
ここでよく出る疑問があります。
「AIがここまでコードを書けるなら、プログラミングを勉強する必要はないのでは?」
これは半分正しいと思います。
以前のように、
「すべてのコードを暗記して、自分の手で書ける」
必要性は下がっています。
一方で、
- この設計は正しいか
- このコードは危険ではないか
- このエラーはどこから来ているか
- この技術選定は適切か
- このシステムは将来拡張できるか
という判断能力は、むしろ重要になっています。
言い換えると、
コードを書く力よりも、コードを理解し、設計し、評価する力の重要性が上がっている
とも言えます。
「誰でも作れる」は「誰でも運用できる」ではない
AIによって、ソフトウェア開発の入口は確実に広がりました。
これは非常に大きな変化です。
これまでシステム開発を依頼するしかなかった人が、自分でプロトタイプを作れるようになりました。
アイデアをその日のうちに形にできるようにもなりました。
これは素晴らしいことです。
ただし、
プロトタイプを作れることと、会社の業務システムを作れることは同じではありません。
例えば、
「顧客管理システムを作ってみた」
ところまではAIで簡単にできます。
しかし、
- 5年間運用できる
- 何十人でも安心して使える
- データが消えない
- セキュリティ事故が起きない
- 担当者が変わっても保守できる
ところまで持っていくには、依然としてエンジニアリングが必要です。
AI時代のエンジニアリングは「書く」から「設計する」へ
これからのエンジニアリングは、少し役割が変わっていくと思います。
これまでは、
人間がコードを書く
ことが中心でした。
これからは、
人間が設計し、AIが実装し、人間と自動テストが検証する
という形が増えていくでしょう。
そのためエンジニアに求められる知識も、
「JavaScriptの書き方」
だけではなく、
- アーキテクチャ
- データベース
- クラウド
- セキュリティ
- テスト
- DevOps
- 業務設計
など、より広い範囲になっていきます。
AIによってエンジニアリングがなくなるというより、
エンジニアリングの中心が変わる
と考えた方が近いのではないでしょうか。
私たちもAIを使って開発しています
私たち自身も、Claude CodeやCodexなどを活用しながら開発しています。
AIを使うことで、以前よりはるかに速くシステムを開発できるようになりました。
一方で、実際に使い込むほど、
AIだけでは完結しない部分の大きさ
も感じています。
業務整理、設計、インフラ、セキュリティ、テスト、運用、改善。
こうした部分を含めて初めて、業務で安心して使えるシステムになります。
だからこそ私たちは、
「AIでコードを書くこと」
そのものではなく、
AIを活用しながら、実際の業務で使い続けられるところまでシステムを形にすること
を大切にしています。
まとめ
Claude Codeを使えば、以前より圧倒的に簡単にソフトウェアを作れるようになりました。
しかし、
簡単に作れるようになったことと、システム開発が簡単になったことは、必ずしも同じではありません。
コードを書く作業が簡単になった分、
- 何を作るか
- どう設計するか
- どう安全性を確保するか
- どう運用するか
- どう改善し続けるか
という部分が、より重要になっています。
AIは非常に優秀な開発パートナーです。
ただし、AIにすべてを丸投げすれば完成する魔法の道具ではありません。
これからは、
AIを使える人と、AIを使って「運用できるシステム」を作れる人の間に、大きな違いが生まれてくる。
実際にAI駆動開発を続けていると、そう感じます。