🧠

Claude Codeのコード生成は本質ではない

に公開

Claude Codeのコード生成は本質ではない

結論から

Claude Codeは「コード生成AI」ではなく、「ソフトウェア開発AIエージェント」である。
開発全体を任せる視点で使うべきだ


コード生成は本質ではない

多くの人はClaude Codeを「コードを生成するAI」としてしか使えていない。
だが、Claude Codeはソフトウェア開発の全工程をこなす開発エージェントだ。
つまり、要件定義からデプロイまで一貫して任せることができる。

最初はウォーターフォール的に順を追って進めるだけでも十分だ。


どう使うべきか

要件を伝える

まず、作りたいものの要件をClaude Codeに話しかける。
すると、それなりの仕様に落とし込んでくれる。これがこの後の工程でつまづく一番の原因になっている

まずこの要件と仕様は必ず詰め切らないと良いものはできない
これは人間の開発現場でも同じで後から仕様が変われば無理やりな実装が生まれたり綻びが生まれる

曖昧な要件では不確定要素が多くなるため注意が必要だ

機能要件と非機能要件を明確にする

伝えるのが苦手な人や面倒な人は、仕様駆動開発ツールを導入しても良い。
慣れてきたら、直接サブエージェントに任せる形で構わない。


ナレッジを与える

開発にドメイン知識が必要な場合は、関連ドキュメントを用意しておく。
継続的に利用するなら、ローカルで動く程度でも構わないので**RAG(Retrieval-Augmented Generation)**を導入すると良い。


作業を分担する

開発工程ごとにサブエージェントを作るのも有効だ。
彼らはClaude Codeの「部下」のような存在として機能する。

  • バックエンド専門エージェント
  • DB設計・操作専門エージェント
  • フロントエンド専門エージェント
  • マークアップ専門エージェント
  • テスト専門エージェント
    などなど

アプリケーションの規模に応じて、粒度を細かくしても良い。

エージェントやスキルを作成する際は、

〜や〜を使って〜をするskillを使って。公式ドキュメントを参照してファイル名やYAML Frontmatterを書いて

と伝えること。残念ながらClaude Codeはエージェントやスキルのmdファイルを正しく仕様を把握してないのでただ生成させると使えないものができる


機能を追加する

スキル(Skill)とMCP(Model Context Protocol)を活用して、Claude Codeの能力を拡張する。

  • DB設計や操作の知識 → Skill に定義(CLIやコマンドなど)
  • フレームワークや言語知識 → MCP で提供(context7など)
  • 仕様書や設計書を残す → ドキュメンテーション
  • GitHub操作 → 専用Skill で処理(ghコマンドなど)
  • ナレッジ → RAG で供給

Claude Codeに必要な情報を与えないと期待通りに動作しない。
それらをSkillやMCPで機能として追加することで解決できる。


ウォーターフォール開発で仕上げる

ここまで準備が整えば、あとは放っておいても以下が順に揃う。

  • 要件定義書
  • 仕様書
  • 基本設計書
  • 各種詳細設計書
  • コード
  • テスト

指示を出す際は、**「エージェントとスキルを使用して可能な範囲で並行して作業してください」**と伝えること。

たとえば、APIとUIの詳細設計ができていれば、バックエンドとフロントエンドを並行で進めさせ、最後にテストエージェントが整合性を取ってくれる。


一度作れば資産になる

この環境を一度構築しておけば、新しいアプリを作るたびに再利用できる。
Claude Codeを起動してすぐ「コードを書かせよう」とする悪い習慣をやめ、開発の流れそのものを任せる視点を持ってほしい。

Discussion