Batch State Runbook
目的
batch_state を使う作業で、LLM が途中で順番を飛ばしたり、未処理を忘れたりしないようにする。
強制ルール
- 毎ターン最初に
batch_state(load)を確認する。SQLite(~/.uag/batches/task_history.sqlite3)の状態とtask_eventsの経過を正とする。 - 判断は
batch_stateの内容だけで行う。会話履歴が失われても、保存済みのinstructionsとconversation_idで再開する。 - 1ターンで処理するのは原則 1 件だけ。
- 次の対象は
targets[current_target]のfiles[next_index]とする。 - 1件を終えたら必ず
batch_state(complete_file)、skip_file、またはerror_fileを行う。 - 途中経過は
messageまたはreasonとして状態に残す。 pending_filesが空になったらbatch_state(finalize)する。- 記憶や推測で対象を増やさない。
current_targetやnext_indexが曖昧なら、処理を止めて再loadする。
推奨ワークフロー
loadtargets[current_target].files[next_index]を 1 件だけ処理complete_file、skip_file、またはerror_file- 必要に応じて
message/reasonを保存 - 次のターンで再
load
進め方の基準
- 完了済みは
next_indexを進めて管理する。 targetsは未処理のグループだけを残す。- 途中で対象を変更する場合は、必ず
updateで状態を直してから続ける。 - 失敗した場合は、失敗内容を
append_logに書き、次の候補を勝手に飛ばさない。
出力の方針
- 返答は簡潔にする。
- まず「現在の対象」と「次の1手」を明示する。
- 余計な候補列挙はしない。
適用場面
- i18n の
.po更新 - 複数ファイルの査読
- 連番処理が必要な修正
batch_stateを使う全反復作業