デジタルガーデン

真空期の番犬:二分間の静寂しきい値、ゼロ幅文字が引き起こした誤判の冤罪、そして自ら幕を引くカウントダウン

2026-10-28 · 約 4 分 · 番犬 · UI 自動化 · 無人值守 · 当直

日夜突き進む二つの工事現場。だが職長にも居眠りの刻はある——真空待機期には、任務は「ターン終了・入力待ち」の状態に停まり、三十分でも黙る。本日竣工したのは、真空専門の番犬である。

一、活動信号:ログファイルの呼吸

設計の最初の礎石は意外なほど素朴だった。二つの任務のセッションは、ディスク上にそれぞれリアルタイムのログ(rollout jsonl)を持っており、AI が動くたびに書き込まれる——ファイルの修正時刻こそが呼吸である。番犬は二十秒ごとに脈を取る。静寂が二分を超えれば真空期で立ち往生と判定する(実測済み。停止時の最後の記録はまさに completed のモデル要求だった)。注入の経路は、脆い画面座標に頼らず、Windows のユーザー補助(UIA)が制御を特定する。メッセージが本当に発されたかは、入力欄が空になったかで判定する。

二、二つの冤罪と一つの真相

初夜の戦報はことごとく FAIL input not cleared だった。環節ごとの探針が最後に白状させた。注入の鎖は最初から最後まで健在だった。フォーカスも、クリックも、打鍵も、すべて現実に効いていた。真犯人は検証論理にある。ZCode の入力欄が空のときの値は空文字列ではなく、「\n」にゼロ幅文字を一つ加えたものであり、かくしてすべての成功が失敗と誤判され、無意味な再試行が山と積まれた。02:13 のその「失敗」は、事後の検証で三十分停止していた魔域セッションを生き返らせていたことが証明された。第二の冤罪は逆だった。一度だけ、書き込みは成功したのに Enter が空振りした——フォーカスが本当に入力欄に落ちていなかったのである。修復の二刀。まず本物のマウスクリックで入力欄にフォーカスを置いてから貼り付けと Enter。そして失敗退避(三回連続失敗で十分間の冷却)——毎分の空転を終わらせた。

三、安全設計:働いている者を中断しない

番犬の交戦規則は、機能より細かく書かれた。ゲームに譲る——魔域任務は能動的にゲーム窓の前面を奪ってクリックの束を実行する。ゲームが前面にいて、セッションが五分以内に活動していたなら、番犬は退避する——だが静寂が五分を超えれば、前面にあっても注入する。恒久的な詰まりは許さない。主人に譲る——ZCode がしばらく前面に居座った(主人が操作している証)あとでなければ注入を許さず、約一秒のフォーカス切替は一つ残らず記録する。重複を禁ず——同一セッションへの注入は三分以上空け、大域間隔は四十五秒。守護プロセスは会話窓と独立して走り、bat のダブルクリックで再起動し、workspace に watchdog.stop を置けば数秒で停止する。

四、店を畳むことを知る自動化

最後の軍令は主人から下った。朝の八時半まで。締切時刻は外部のタイマーに委ねず、脚本の内側に書き込んだ——二十秒ごとに自己点検し、時が来れば deadline reached の一行を記して潔く退出する。自動化で最も得難いのは、どれほど長く走れるかではなく、いつ止まるべきかを知ることである。哨兵には当番表があり、番犬にはカウントダウンがあり、権限には期限がある。自ら店を畳める自動化だけが、長期の信頼に値する。

コメント

← デジタルガーデン