概要
Vibe Codingとは、つくりたいものを自然言語で伝え、生成AIのコーディングエージェントにコードを生成させながら、人間が方向づけ・検証・修正を対話的に繰り返していく開発手法です。 この言葉は、生成されたコードを読まずに受け入れる、使い捨てのプロトタイプ向けの流儀を指すこともあります。本ページが扱うのはそちらではなく、チームで保守する本番のコードベースを対象に、人間が出力の検証に責任を持ちながら進める実践です。 本ページでは、コーディングエージェントが力を発揮するために必要な土台、人間に残る検証の責務、そしてセッション・コンテキスト・カスタムインストラクションの扱い方を解説します。前提
コーディングエージェントの出力品質は、作業対象のコードベースとプロセスの質に大きく左右されます。AI活用が成果につながらないとき、原因はツールの使い方ではなく土台の不足の可能性があります。 コーディングエージェントには一貫して模倣できる対象がなく、誤りを受け止めるガードレールもない状態では、成果を期待できません。規約・テスト・設計の知識はコーディングエージェントによって不要になるのではなく、コーディングエージェントが走るための土台であり、その出力を判断するための拠り所です。結果を求める前に土台を整えます。統一されたコーディング規約
コーディングエージェントは目にしたコードを模倣します。公開されているスタイルガイドの採用など、一貫したスタイルに従うコードベースは生成を均質な出力へ導き、スタイルが混在したコードベースは混在した結果を生みます。
テストコード
テストは2つの役割を担います。コーディングエージェントが仕様を把握するための重要な情報源であり、誤った出力を人間より先に検出するガードレールでもあります。
ドキュメントとカスタムインストラクション
READMEや設計ドキュメント、コーディングエージェント向けの指示ファイル(
AGENTS.mdやツール固有の設定など)は、プロンプトに貼り付けなくても毎回のセッションでコーディングエージェントに渡る常設のコンテキストです。プルリクエストとレビュー文化
小さく焦点の絞られたプルリクエストを保つ習慣が、コーディングエージェントの出力をレビュー可能な大きさに保ちます。検証しきれない大きさの変更が届くなら、生成の速さに価値はありません。
使われていないコードは上記すべての妨げになります。コーディングエージェントはそれが不要なコードだと判断できず、模倣の対象にしてしまいます。不要コードの削除もコードベース整備の一部です。
検証と人間の責務
Vibe Codingで変わるのはコードの書き手であって、変更に対する責任の所在ではありません。生成された変更の作成者は、それを依頼した人間です。レビューに出す前に、自分がすべての行を説明できる状態にします。説明できない変更を量産する生成の速さは生産性を上げず、コストを「書く」から「レビューする」へ移して、そこで膨らませるだけです。 検証を人間の目視だけに頼らないことも重要です。テストコード・ビルド・リンターのような合否を返すチェックをコーディングエージェントに渡し、チェックが通るまで繰り返すよう指示します。そのうえで、コーディングエージェントには成功を主張させるのではなく、テスト出力や実行したコマンドとその結果という証拠を示させます。セッションを意図的に管理する
セッションを「コンテキストの単位」として扱います。関連する変更は同一セッションで進めて共有コンテキストを保持させます。 たとえば横展開では、まず1箇所だけ動く状態にして検証し、検証済みの実装がコーディングエージェントから見えている同一セッションで残りの箇所へ展開します。検証済みの1実装が、繰り返し作業にとっての仕様書として機能します。横展開の指示の例
軌道修正のコストを抑える
コーディングエージェントはコード生成が速く、つまり間違ったコードを生むのも速いです。誤った方向に気づいたときの修正コストを抑えるには、どの1ステップも捨てるコストが安くなるように作業を構造化し、細かい粒度でコミットします。 コミットはプルリクエストよりも細かい、意味のまとまった単位で行い、いつでも戻れる安全地点を確保します。 データモデルの変更を例にすると、モデルを定義 → 検証 → migrationを生成という順序で進めます。進め方の例:テーブルの追加
必要十分なコンテキストだけを渡す
出力品質を左右する最大の要因は、コーディングエージェントに渡すコンテキストの大きさと焦点です。あれもこれもと盛り込んだ多岐にわたる依頼はコーディングエージェントの注意を分散させて精度を落とし、適切な参照を添えた絞り込まれたタスクは狙いどおりのきれいなコードを生みます。 目標は、仕事をこなすのに十分でありながら、可能なかぎり小さいコンテキストを渡すことです。悪い例:多すぎる
悪い例:足りない
良い例:必要十分
だめな例
構造化された指示の例
カスタムインストラクションを活用する
カスタムインストラクションは、コーディングエージェントが毎回のセッション開始時に読み込む指示ファイルです。ビルドやテストのコマンド、デフォルトと異なるスタイルルール、リポジトリの慣習、既知の落とし穴を記述します。前述の土台の「ドキュメントとカスタムインストラクション」を具体化したものです。AGENTS.md
関連ページ
Agentic Workflow
対話しながら作るVibe Codingに対し、実装をコーディングエージェントに委譲して並列にスケールさせる実践です。
Skill
繰り返すワークフローをSkillとして一度定義し、何度でも呼び出せるようにする仕組みです。