Claude Code にコードを書いてもらうとき、「動いているように見えるが仕様を満たしていない」という状況に気づいたことはないでしょうか。
AIが生成したコードを信頼するためには、受け入れ条件を先に定義して検証するという考え方が有効です。本記事では、Claude Code との開発で実践している「受け入れ駆動アプローチ」を3つのパターンで紹介します。
なぜ受け入れ条件が必要か
AIは指示された内容を実装しますが、「何をもって完了とするか」が曖昧だと、動くけど要件を満たさないコードが返ってきます。
典型的なケース:
「ログイン機能を作って」
→ AI: 認証ロジックは書いた。でもエラー時のリダイレクト先が仕様と違う
この問題に対処するのが受け入れ条件の明示化です。
パターン1: CLAUDE.mdに受け入れ条件の書き方を定義する
プロジェクトの CLAUDE.md に、実装依頼の際の必須フォーマットを書いておきます。
## 実装依頼フォーマット
機能を依頼する際は以下を必ず明示する:
### 受け入れ条件(AC)
- AC1: [ユーザー視点での期待動作]
- AC2: [エラーケースの挙動]
- AC3: [パフォーマンス・セキュリティ条件]
Claudeは実装前にACを確認し、テストコードを先に提示すること。
これにより Claude Code は「まずテストを書く」という流れを自然に実行します。
パターン2: Vitest でのスナップショット受け入れテスト
UI変更に対しては、スナップショットテストを受け入れ条件として使います。
// tests/acceptance/TodoList.test.ts
import { render } from '@testing-library/react'
import { TodoList } from '@/components/TodoList'
describe('TodoList 受け入れテスト', () => {
it('AC1: 完了済みアイテムには打ち消し線が表示される', () => {
const items = [
{ id: 1, text: '買い物', done: true },
{ id: 2, text: '掃除', done: false },
]
const { container } = render(<TodoList items={items} />)
// Claude Code に「このテストが通るように実装して」と渡す
expect(container.querySelector('.done')).toHaveStyle('text-decoration: line-through')
})
it('AC2: 空リストのときはメッセージを表示する', () => {
const { getByText } = render(<TodoList items={[]} />)
expect(getByText('タスクはありません')).toBeInTheDocument()
})
})
このテストを Claude Code に渡し、「テストが全件通るように実装して」と指示するだけです。
パターン3: Claude Codeへの「テスト先渡し」指示テンプレート
実際の依頼文のテンプレートです。
以下の受け入れテストが全件グリーンになるように実装してください。
[テストコードをここに貼り付け]
## 制約
- 既存テストを壊さない
- 新たにAPIを追加しない(既存のエンドポイントを使う)
- TypeScript strict modeでエラーなし
実装前に、どのようなアプローチを取るか一言確認してください。
「実装前に確認」を入れることで、方向性のズレを最小化できます。
まとめ
Claude Code × 受け入れ駆動のポイント:
- CLAUDE.mdに受け入れ条件フォーマットを定義する(毎回書かなくて済む)
- テストを先に書いてClaudeに渡す(動作定義が明確になる)
- 「実装前に確認」を必ず入れる(方向性のズレを防ぐ)
AIが書いたコードの品質を人間がコントロールするための、シンプルで効果的な設計パターンです。
未経験者向けの講座を運営しています
未経験から Next.js + Supabase + Claude Code で Webアプリを作って公開するまで を、全20セッションで体系化した教材です。Claude Code を学習パートナーにする CLAUDE.md / Skills 設計までセットで含みます。
- 無料体験版(git clone してすぐ動く・最初の数セッション分) → https://github.com/ayies128/next-ai-camp-trial
- 教材完全版+月5,500円〜のCTOメンタリング(全20セッション+チャット質問し放題)→ https://menta.work/plan/20251?ref=qiita
- YouTube『AIエンジニア情報局』(AI×開発ニュース・無料)→ https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/?ref=qiita
※ Qiita 読者の方には易しすぎる内容なので、初心者の知り合いへの紹介や社内研修の参考としてどうぞ。