💬 Claude&Claude Code 実践活用術 | 📖 8分

一晩でシステム構築を任せる ― 自律型開発の実践

一晩でシステム構築を任せる ― Agent SDKの活用

Claude CodeのAgent SDK(旧ヘッドレスモード)を使えば、対話なしでClaudeに自律的に作業させることができます。寝る前に指示を出して、朝起きたらシステムが完成しているという使い方が可能です。

Agent SDK(-p フラグ)の基本

claude -pで非対話的にClaude Codeを実行します。

# 基本的な使い方
claude -p "auth.pyのバグを見つけて修正して" --allowedTools "Read,Edit,Bash"

# テストスイートの実行と修正
claude -p "テストスイートを実行して失敗をすべて修正して" \
  --allowedTools "Bash,Read,Edit"

# コミット作成
claude -p "ステージされた変更を確認して適切なコミットを作成" \
  --allowedTools "Bash(git diff *),Bash(git log *),Bash(git commit *)"

--allowedToolsで安全に自律実行

自律実行時には--allowedToolsで使用可能なツールを明示的に指定します。パーミッションルール構文が使えます:

  • Bash(git diff *): git diffで始まるすべてのコマンドを許可(末尾のスペース+*が重要)
  • Read,Edit,Bash: 読み取り・編集・コマンド実行をすべて許可

構造化された出力

# JSON形式で結果を取得
claude -p "このプロジェクトを要約" --output-format json

# 特定のスキーマで構造化出力
claude -p "auth.pyの関数名を抽出" \
  --output-format json \
  --json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}}}'

# リアルタイムストリーミング
claude -p "再帰について説明" --output-format stream-json

会話の継続

# 最初のリクエスト
claude -p "パフォーマンスの問題をレビュー"

# 最新の会話を続ける
claude -p "データベースクエリに焦点を当てて" --continue

# 特定のセッションを再開(IDまたは名前で指定)
claude -p "レビューを続けて" --resume "セッション名"

一晩構築の実践例

寝る前の仕込み

# 仕様書を読ませてシステム構築を指示
claude -p "$(cat spec.md)

上記の仕様に基づいてREST APIを実装してください。
- データベーススキーマの作成
- CRUD APIの実装
- バリデーション
- テストの作成と実行
すべてのテストが通ることを確認してください。" \
  --allowedTools "Read,Edit,Write,Bash" \
  --output-format json > result.json

実践のポイント

  • --allowedToolsで必要最小限のツールだけを許可する
  • 結果は--output-format jsonでファイルに保存して後で確認
  • --append-system-promptで追加の指示(役割設定等)を付加できる