AIに反復改善を任せるなら、「良くなるまで」ではなく打ち切り条件が必要だった

AI活用

※この記事は、2026年7月時点の自分のAI運用メモです。CodexなどのAIエージェントへ長時間の改善作業を任せた時の経験をもとにしています。

最近、AIに長時間の改善作業を任せました。

一度作って終わりではなく、結果を見て修正し、もう一度検証する。

この反復までAIに進めてもらえば、人間がずっと画面の前にいなくても作業を育てられると思ったからです。

そこで、かなり強めに「回り続けて」という趣旨の指示を出しました。

すると、本当に回り続けました。

一方で、「良くなったら止まって」と書けば、今度は少し良くなったところで止まりそうです。

そりゃそうなんだけど、加減が難しい。

少し前に、AIエージェントが必要な外部情報を待っている間、別のテストや確認を増やしてしまった話を書きました。

前回は、必要な情報がなく、今は作業を進められない状態でした。

今回は違います。

作業自体は続けられます。 改善案も出せます。 検証も繰り返せます。

ただ、続けるほど意味のある改善が出るとは限りません。

前回は、動けない時の待ち方。

今回は、動けるけれど効果が薄くなった時の止め方です。

今回気づいたのは、AIに反復改善を任せる時、必要なのは継続を強く命令することではないということでした。

何を満たせば完成なのか。何回試して改善しなければ打ち切るのか。

AIが終了を判断できる条件を、先に渡す必要がありました。

「良くなるまで続けて」には、終わりがない

人間同士なら、「もう少し良くして」と言われても、周囲の状況を見ながら加減することがあります。

時間が足りない。 これ以上触っても大きく変わらない。 すでに目的は達成している。 残りは別の課題として分けた方がいい。

こうした事情を見て、いったん区切ります。

しかし、AIへ「良くなるまで続けて」とだけ渡すと、どの状態が「良い」のかが分かりません。

少しでも改善の余地があれば続けるのか。 前回より一つでも数字が上がれば成功なのか。 別の方法を思いつく限り試すのか。

こちらが基準を渡していない以上、終了の判定も曖昧になります。

今回の問題は、AIが勝手に仕事を増やしたというより、自分が終点のない仕事を渡してしまったことに近いと思っています。

長く動いたことと、必要な改善が続いたことは別だった

結果として、想定以上に利用量を使いました。

ただし、そのすべてが無駄な反復だったと確認できたわけではありません。

必要な検証もあったはずです。 途中で有効な修正も入っています。 実行履歴を細かく分解しないと、同じ処理を何度繰り返したかまでは断定できません。

それでも困ったのは、外から見た時に、意味のある改善と空回りの境界が分からなかったことです。

AIが長く動いている。 結果も少しずつ変わっている。 しかし、最初の目的へ近づいているのかは判断しにくい。

これは、昨日書いた「今どこまで進んでいるか」とも少し違います。

現在地が見えていても、続ける価値が残っているかは別問題です。

進捗表示だけでなく、改善を続ける価値がなくなった時の打ち切り条件も必要でした。

最大回数だけ決めても、まだ少し足りない

最初に思いつくのは、反復回数へ上限を付けることです。

例えば、改善は最大3回まで。

これなら無期限には続きません。

ただ、回数だけで止めると別の問題が出ます。

3回目でも明確に改善していて、あと一回で合格条件へ届きそうな場合があります。

反対に、1回目からほとんど変化がないのに、決めた回数を消化するためだけに3回続ける可能性もあります。

そのため、最大回数は必要ですが、それだけでは足りません。

自分が次に試したいのは、次の三つを組み合わせる方法です。

  • 合格条件を満たしたら終了する
  • 最大反復回数へ到達したら人間へ返す
  • 主要な指標が連続して改善しなければ途中でも打ち切る

これなら、早く完成した作業を無理に触り続けず、改善していない作業も回数いっぱいまで引っ張らずに済みます。

一回の反復を「仮説・変更・検証」に分けたい

もう一つ必要だと思ったのが、一回の反復を小さくすることです。

一度に複数の変更を入れると、何が効いたのか分かりにくくなります。

結果が良くなっても、どの変更が効いたのか分からない。 悪くなっても、どこへ戻せばいいのか分からない。

そこで、一回の反復を次の形へそろえたいと思っています。

  1. 今回試す仮説を一つ決める
  2. 仮説に対応する変更を一つ行う
  3. 指定した方法で検証する
  4. 前回との差を記録する
  5. 続行、完了、打ち切りのどれかを判定する

これなら、AIが何回動いたかではなく、何を確かめたかを人間が追いやすくなります。

変更量を小さくすることは、AIの能力を抑えるためではありません。

改善の理由を後から確認できる形にするためです。

次は、この形で反復改善を頼んでみたい

次に同じような長時間作業を任せる時は、次の形を試すつもりです。

目的:
指定した機能を完成させ、検証結果を確定する。

完了条件:
- 指定したテストを満たす
- 必要な成果物と検証記録がそろう

反復ルール:
- 改善サイクルは、まず小さい回数に制限する
- 1回につき、仮説・変更・検証を各1つだけ行う
- 主要指標が連続して改善しなければ終了する
- 同じ条件のテストを理由なく繰り返さない
- 完了条件をすでに満たしている場合は変更しない

終了時:
- 変更点
- 前後の結果
- 終了した理由
- 残っている課題
を報告する。

追加の改善案:
TODOへ記録し、自動では着手しない。

これは、完成済みの万能テンプレートではありません。

今回の失敗から、次に試すために作った仮ルールです。

作業内容によって、見る指標も適切な回数も変わります。

まず小さく試して、本当に無駄な反復が減るか、逆に必要な改善まで止めてしまわないかを確認する必要があります。

改善案をTODOへ逃がすだけでも、終わりやすくなる

AIが止まりにくくなる理由の一つは、作業中に次の改善案が見つかることだと思います。

一つ直す。 すると別の問題が見える。 そこを直すと、さらに周辺の改善案が出る。

この流れ自体は悪くありません。

むしろ、人間が気づかなかった改善点を拾えるのはAIの強みです。

ただし、見つけた改善案をすべてその場で実行すると、仕事の範囲が終わりません。

そこで、今回の依頼に含まれない案はTODOへ残し、自動では着手しないようにします。

今の目的を達成する作業と、将来もっと良くする案を分ける。

これだけでも、AIが「まだ改善できるから未完了」と判断し続ける状態を減らせそうです。

AIは、終点のない反復も速くしてしまう

以前、AIは魔法というより、勝ち筋のある作業を現実的な時間まで縮める加速装置だと書きました。

今回、その続きが少し見えました。

AIは、意味のある反復を速くしてくれます。

しかし、終了条件がなければ、終点のない反復も速く回します。

だから、AIの速度を生かす前に、何をもって勝ちとするかを決める必要があります。

合格条件を満たしたら止まる。 改善が続かなければ打ち切る。 範囲外の案はTODOへ残す。 続けるか迷ったら人間へ返す。

この線があれば、AIへ長時間任せる強みを残しながら、空回りを減らせる気がしています。

前の記事は「待機」、今回は「改善を諦める条件」

少し前の記事では、AIエージェントへ長時間任せるなら、外部情報を待っている間のルールが必要だと書きました。

昨日の記事では、大量処理の途中で現在地を確認できる表示が必要だと書きました。

今回は、どちらとも少し違います。

情報待ちではない。 処理が止まっているわけでもない。 作業自体は続けられる。

ただ、続けても改善するとは限らない。

この状態で、どこまで試し、どこで諦めるかを決める話です。

AIへ任せる範囲が広がるほど、開始条件だけでなく、待機、進捗、打ち切りを別々に考える必要があるのだと思います。

まとめ

AIへ反復改善を任せるため、「回り続けて」という趣旨の指示を出しました。

すると、AIは本当に回り続けました。

しかし、「良くなったら止まって」だけでは、今度は終了判定が曖昧です。

今回足りなかったのは、AIの性能ではなく、こちらが渡す打ち切り条件でした。

何を満たせば完成なのか。 一回で何を変更するのか。 最大何回まで試すのか。 何回改善しなければ諦めるのか。 残った改善案をどこへ置くのか。

ここまで決めて、初めて反復改善を任せやすくなります。

AIに長時間働いてもらうこと自体をやめたいわけではありません。

止まらない強みは残したい。

そのためにも、「続けて」と強く言うより、意味のある間だけ続けられる条件を渡したいと思っています。

関連記事

コメント

タイトルとURLをコピーしました