ai-driven-development legacy-migration workflow
SubAgent が落ちた日のための、止まらない代替運用
レビュー用の SubAgent が RateLimit で使えなくなる日があります。「止まらない」ことより「止まったときに何をするか」を事前に決めておくほうが、結局は品質を保ちました。
W
渡邊 賢 なぜ書いたか
AIレビュー用のSub Agentをフローに組み込むと、ある日RateLimitで動かなくなります。レガシー移行の現場では「レビューが回せないから手を止める」だと進捗が崩れる一方、「自分でOK出して進める」だと品質が崩れます。今回は、Sub Agentが落ちた日のための代替フローを事前に決めておいた話です。
やったこと
代替運用は3つだけです。
rate-limit fallback: Reviewer Sub Agentが落ちたら、別のSubAgent(粒度の粗いもの)に切り替えるmanual review checklist: それも落ちたら、固定観点のチェックリスト(手動レビュー用)を回すnon-close policy: いずれも難しいときは、機能は動いているが タスクをクローズしない。close decision: noをログに明記して翌日に持ち越す
ポイントは3番目です。ビルドが通って手で動かしてもOKっぽいなら、つい「実質完了」にしたくなります。でも「レビューが終わっていない」ことを明示的に状態として残しておかないと、後日「これって終わってたっけ?」が必ず発生します。
具体的な運用
私の場合、Reviewer Sub AgentがRateLimitで動かないとわかった時点で、その日のスライスのtask logにこう書きます。
review status: pending (rate-limit)
close decision: no
resume point: review-1 観点で削除範囲・権限制御・関数呼び出しを再確認すること
翌日、Sub Agentが復活したらこの resume point を渡してレビューさせます。これだけで「停止していた間の認知コスト」がほぼゼロになりました。
わかったこと
- 「止まらない設計」より、「止まったときに何が起きるか」を事前に決めておくほう がはるかに効きます。AIに依存するワークフローでは、止まる頻度がそれなりに高いので
- 暫定でクローズしないルール(
close decision: no)は、思った以上に効きました。曖昧に閉じる事故が減ります - 手動チェックリストは、実はSub Agentの指摘観点をそのまま転記しただけのものです。Sub Agentが普段見ている観点を「人間にも見られるようにする」だけで充分でした
次にやること / 未解決の問題
- フォールバック先のSub Agent自体もRateLimitに当たる日があるので、本当の意味で「人間が回す」モードがどこまで耐えられるかは継続観察します
- task logのテンプレに
review statusを組み込めば、書き忘れがなくなる気がしているのでそのうち追加します
person
渡邊 賢
等差級数的Commit 運営 / ICD VIETNAM.LLC General Manager
AI駆動開発と段階的なレガシーモダン化をテーマに、日々の試行錯誤をこのブログに記録しています。
プロフィール詳細 arrow_forward似たような課題に困っている方、一緒に考えませんか。
AI駆動開発・Vibe Coding・レガシーマイグレーションに関するご相談を受け付けています。