【結論】長時間運用を有限Jobとして設計する
Claude Codeを無限ループで24時間動かし続ける運用は推奨できません。
定期作業はRoutines、CI Scheduler、systemd timerなどから、非対話モードを回数・時間・Tool制限付きで起動します。
監視と自動修復は分離し、検知後にIssueや通知を作成して人間承認を挟みます。
# ターミナルで実行:最大ターン付きで一度だけ診断
claude -p 'test-results.jsonを読み、失敗原因を要約してください' --max-turns 3 --output-format json
# cronで実行:毎時15分に診断Scriptを一度だけ起動
15 * * * * /opt/app/bin/claude-diagnose.sh
# systemdで実行:Timer状態を確認
systemctl list-timers --all | grep claude-diagnose
# ターミナルで実行:停止用フラグを作成
touch /opt/app/STOP_AI_AUTOMATION具体的な手順・設定方法
監視対象、実行間隔、最大回数、Timeout、予算、停止条件を定義します。
検知処理は読み取り専用にし、修正は別JobとPRへ分離します。
通知、Log、Exit code、実行IDを保存して追跡可能にします。
実践プロンプト / 活用テクニック
# 非対話Jobへ渡す指示
直近のTest結果だけを分析してください。
同じ失敗が前回と同一なら再試行せずIssue案を出力してください。
ファイル編集、Service再起動、Deploy、外部送信は行わないでください。注意点・よくあるエラーと対処法
watchやwhile trueでAPI呼び出しを無期限に繰り返さないでください。
障害時の自動修復は症状を隠す可能性があります。
Kill switch、Rate limit、Budget alertを必ず用意します。