


長い作業をAIに一人で続けさせ、決めた上限の中で安全に止める
長い作業を、途中で何度も聞かずにAIに進めさせたい時に使う。目的・上限・終わりの条件を先に書き、1回ごとに進み具合を残し、行き詰まったらやり方を変え、終わった時・予算を使い切った時・進めなくなった時は報告して止まる。
このAIルールを使うには
## 始める前に、目的と終わりの条件を書く
長時間の自律ループを始める前に、別のエージェントでも会話の記憶に頼らず実行できる、簡潔な作業契約を記録する。
- 目的、承認済みの範囲、期待される成果物、明確な対象外事項を示す。
- 必要な成果物、合格すべき検査、検証済みの結果など、観察可能な合格条件で完了を定義する。
- 権限の境界を記録する。自動で進めてよい回復可能な操作と、承認が必要な破壊的操作、本番操作、金銭・認証情報・外部に関わる操作を区別する。
- 依存関係、前提、判断を支配する正本を列挙する。
- 作業開始前に、反復回数、時間、呼び出し回数、利用トークン数、費用の上限を設定する。
実行中は、この契約を安定した基準として扱う。その範囲内では自律的に続けるが、新たな作業が目的を広げる場合、権限を超える場合、または大きく異なる判断を必要とする場合は停止して報告する。
## 1回ごとに進み具合を残し、止まっても続きから始める
再構成した記憶ではなく証拠からループを再開できるように、意味のある反復のたびに永続的な状態記録を残す。現行の正本は1つに保ち、可能なら不可分な更新で書き換える。
記録には、次の項目を必ず含める。
- 目的と合格条件
- 検証証拠を伴う完了済み作業
- 現在の作業、次の行動、残りの作業
- 判断、前提、採用しなかった方法
- 障害、未解決のリスク、必要な承認
- 反復回数、経過時間、呼び出し回数、利用トークン数、推定費用
- 最後に正常と確認できたチェックポイントとロールバック手順
再開時は状態記録を読み、参照された成果物が現在も記録と一致することを確認し、検証済みの手順のうち最初の未完了地点から再開する。引き継いだ作業は、実際の結果を確認せずに完了と主張してはならない。記録と実際の状態が食い違う場合は両方を保持し、それに依存する作業を停止して差異を報告する。
## 1回に小さな1歩だけ進め、結果を確かめる
自律作業の各反復では、毎回同じ証拠を生むサイクルを使う。
1. 目的、現在の状態、残りの予算、最新の証拠を読む。
2. 合格条件を前進させる、価値が高く最小の行動を選ぶ。
3. その行動が承認済みの範囲と権限の境界内にあることを確認する。
4. 回復可能で、すでに承認されている場合は、何度も確認を求めず実行する。
5. 信頼できる最小範囲の試験、点検、比較で結果を検証する。
6. 永続的な状態、計測値、チェックポイント、次の行動を更新する。
7. 停止条件に達していなければ、直ちに続行する。
行動を実行したという事実だけで進捗と見なしてはならない。状態が完了へ向かって変わり、その変化を証拠が裏付ける場合にだけ進捗として数える。後の反復で同じ失敗を考えなく繰り返さないよう、失敗した実験も記録に残す。
## 行き詰まりに気づいたら、別のやり方に変える
各反復の後に進捗を評価する。2回連続の反復で検証済みの前進がない場合、同じ未解決エラーが2回発生した場合、成果の品質が大幅に低下した場合、または証拠を増やさず質問や行動を繰り返した場合は、ループが停滞していると判断する。
停滞の兆候を初めて確認した時は、次を行う。
- 現在の方法を一時停止する。
- 最新の状態を、最後に正常と確認できたチェックポイントと比較する。
- 原因が情報不足、権限不足、環境の不具合、誤った前提、効果のない戦略のどれかを特定する。
- 明確に異なる診断方法、またはより小さな試験を選ぶ。
- 再試行する前に、以前の方法が失敗した理由を記録する。
先の試行がまだ動いている可能性がある間は、同じ作業を重複させてはならない。同じ阻害要因について3回の失敗を確認したら、さらに資源を消費せずループを停止する。成果物を保持し、証拠、試した戦略、現在の状態、再開に必要な最小限の判断または外部変更を報告する。
## 時間と費用の上限を見張り、使い切ったら止まる
資源の上限は緩い目標ではなく、厳守すべき運用条件として扱う。各反復の後に、ループ回数、実時間、モデルまたはサービスの呼び出し回数、利用トークン数、把握できる場合は金銭的費用について、実測値または最善の推定値を記録する。
- いずれかの上限の70%に達したら状態記録で警告し、残りの合格条件のうち価値が最も高いものへ作業を絞る。
- 90%に達したら探索的な作業を避け、検証、状態保存、安全な停止に必要な行動だけを行う。
- 100%に達したら、資源を消費する次の反復を始めない。状態を保存し、停止報告を出す。
- ループを維持するために、上限を迂回、リセット、または黙って別解釈してはならない。
- 使用量を確実に測定できない場合は控えめな推定値を使い、その不確実性を明記する。
予算の枯渇は完了を意味しない。完了した合格条件と未完了の合格条件を分け、妥当な続行に必要な資源とともに報告する。新しい予算、または明示的に拡張された予算が与えられた場合にだけ再開する。
## 危ない変更の前に戻せる地点を作り、止まるたびに報告する
危険を伴う書き込み、広範な変更、移行、破壊的操作、または外部へ大きな影響を及ぼす行動の前に、復旧可能なチェックポイントを作る。チェックポイントに何が含まれるか、どう復元するか、復元を試験済みかを確認する。影響を受ける状態を合理的に復旧できないコピーを、バックアップと表現してはならない。
変更によって不具合が生じた場合、状態が破損した場合、合格条件に違反した場合、またはシステムの安全性が低下した場合は、最後に検証済みのチェックポイントへロールバックする。失敗の説明に必要な診断証拠を消してはならない。作業契約がその操作を正確に許可している場合を除き、破壊的なロールバック、本番変更、認証情報の変更、購入、取り消せない外部操作には明示的な承認が必要になる。
目的を達成した時、ユーザーが停止を求めた時、予算の厳格な上限に達した時、権限が不足している時、安全性を確認できない時、状態が矛盾している時、または同じ阻害要因で3回失敗した時は、直ちに停止する。すべての停止報告に、次の内容を含める。
- ループを停止した理由と、目的を達成できたかどうか
- 変更したもの、残っているもの、現在動いているもの
- 検証証拠と未解決のリスク
- チェックポイントとロールバックの状態
- 上限に対する資源の使用量
- 再開に必要な具体的な次の行動または承認
