【結論】クラウド環境では有限ジョブとして運用する
EC2やVPSでClaude Codeを使えますが、対話セッションをデーモン化して24時間自己修復させる方式は推奨できません。
定期処理はCI、Scheduler、Queueからclaude -pまたはAgent SDKを有限回呼び出し、最大ターン、Timeout、Tool allowlist、監査ログを設定します。
Remote ControlやClaude Code on the webなど、公式のリモート実行手段も用途に応じて検討します。
# サーバーで実行:専用作業ディレクトリを作成
mkdir -p /srv/claude-jobs/review && cd /srv/claude-jobs/review
# サーバーで実行:読み取り専用ジョブを有限実行
timeout 10m claude -p '差分をレビューしてJSONで返す' --max-turns 4 --allowedTools 'Read,Grep,Glob,Bash(git diff:*)' --output-format json > review.json
# サーバーで実行:終了コードを記録
printf '%s\n' "$?" > exit-code.txt具体的な手順・設定方法
非特権ユーザー、専用worktree、Read-only credentialを用意します。
Schedulerの一回実行ごとに入力、出力、終了コード、使用モデルを記録します。
失敗時は最大再試行回数を超えたら停止して通知します。
自動Commit、Push、Deployは別権限と人間承認へ分離します。
実践プロンプト / 活用テクニック
# 非対話ジョブへ渡すプロンプト
現在のgit diffを読み取り専用でレビューしてください。
重大度、ファイル、根拠、修正案をJSONで返してください。
編集、外部通信、Commit、Push、Deployは禁止です。注意点・よくあるエラーと対処法
tmuxやnohupは無限ループの安全装置ではありません。
APIキーを平文でexportせず、Secret Managerや短命Credentialを使用します。
ホスト全体へのShell権限を与えずContainerやSandboxで隔離します。