【結論】クラウド実行を有限・監査可能なジョブにする
クラウド実行は、CIやQueueから有限のHeadlessジョブを起動する設計が安全です。
claude -pまたはAgent SDKで構造化出力、最大ターン、Timeout、Tool allowlistを設定し、入力と終了コードを保存します。
編集、Commit、Push、Deployは別段階と承認へ分離します。
# Runnerで実行:専用worktreeを作成
git worktree add ../review-job -b bot/review-job
# Runnerで実行:読み取り専用ジョブを有限実行
cd ../review-job && timeout 10m claude -p '差分をレビューして' --max-turns 4 --allowedTools 'Read,Grep,Glob,Bash(git diff:*)' --output-format json > result.json
# Runnerで実行:出力を検証
python -m json.tool result.json > /dev/null
# Runnerで実行:終了コードを保存
printf '%s\n' "$?" > exit-code.txt具体的な手順・設定方法
Trigger、入力範囲、最大実行時間、再試行回数を定義します。
Runnerを非特権Containerへ隔離し、NetworkとSecretを最小化します。
構造化出力をSchema検証してから後続処理へ渡します。
異常終了、予算超過、連続失敗で停止して通知します。
実践プロンプト / 活用テクニック
# Headlessジョブへ渡すプロンプト
現在のPR差分だけをレビューしてください。
重大度、ファイル、行、根拠、修正案をJSON配列で返してください。
ファイル変更、外部通信、Commit、Push、Deployは禁止です。注意点・よくあるエラーと対処法
存在しないrequire_confirmation falseやauto_approvalを使わないでください。
nohupやtmuxは権限、費用、無限ループを制御しません。
CIのSecretをFork由来PRへ無条件に渡さないでください。