← 一覧へ
連載 Agentic OS:技術スタックを下から読む の一部です ―― 目次を見る →

Agentic OS 技術スタックを下から読む 第46回:長い鎖を、崖から守る ―― 外に状態を出し、一段ごとに確かめ、戻れるようにする

この記事の読み方
前回は、取り込みの信頼を見ました。外から入ってくるものを、どう受け、どう疑い、どう使える形にするかを見ました。結びでは、次回は、また別の層の急所へ降りる、と書きました。

Agentic OS 技術スタックを下から読む 第46回:長い鎖を、崖から守る ―― 外に状態を出し、一段ごとに確かめ、戻れるようにする

取り込みの信頼から、また編成へ

前回は、取り込みの信頼を見ました。外から入ってくるものを、どう受け、どう疑い、どう使える形にするかを見ました。結びでは、次回は、また別の層の急所へ降りる、と書きました。

今回は、また編成へ降ります。

前に第14回で、信頼性の崖を見ました。一手ごとの小さな失敗が、長い鎖の上で積もり、最後に全体を崩す、という話でした。一手が九割五分うまくいくとしても、それを十回つなげると、全部うまくいく見込みは六割ほどまで落ちます。

問題は、一手が少し弱いことだけではありません。弱さを、そのまま長くつなぐことです。だから今回の主題は、崖がなぜあるかではありません。そこから、どう落ちずにいるかです。工学で、どう守るかです。

物覚えのない者と、覚えている外

鍵は、状態を中に抱え込まないことです。状態とは、今どこまで進んだか、次に何をするか、何を守るべきか、どこで失敗したか、という仕事の現在地です。

長く走るエージェントは、いずれ忘れます。読める範囲には限りがあります。新しい情報が入るほど、古い情報は押し出されます。要約されることもあります。要約されると、細い条件や失敗の跡が落ちます。本人は続けているつもりでも、実際には、前の段で決めた小さな制約を失っていることがあります。

外の置き場は違います。書き残した計画、進み具合、守る規則、失敗の記録は、勝手には忘れません。だから、長い仕事では、エージェントの中に頼らず、外に状態を置きます。

毎回、外から読みます。そこで動きます。結果を外へ書き戻します。次の回は、また外から読みます。こうすると、途中で止まっても、次は残った記録から続けられます。覚えているのは本人ではありません。外の置き場です。本人が忘れても、仕事は続きます。

交代制の現場として見る

これは、交代制の現場を思い浮かべると分かりやすいです。職人が入れ替わりながら、同じ仕事を進めます。

新しく来た職人は、前の番で何があったかを覚えていません。引き継ぎの紙がなければ、毎回、初めから見直すしかありません。どこまで済んだかも分かりません。前の番がどこでつまずいたかも分かりません。すると、同じ穴にもう一度落ちます。しかも、本人はそれを新しい問題だと思います。

崖は、ここから来ます。覚えのない者が、長く連なる。小さな取りこぼしが、次の者へ渡る。次の者は、それを取りこぼしだと知らずに、その上へまた作る。こうして、鎖の先で全体が崩れます。

だから、覚えている外を用意します。きちんとした引き継ぎを残します。何を決めたか。何を試したか。何が通り、何が通らなかったか。どこから再開できるか。職人が忘れても、紙が覚えている状態にします。

脳と手と記録を分ける

もう一段、分けます。考える脳。実際に手を動かす作業場。そして、何を考え、何をして、何が返ってきたかを書き足す記録。この三つを別々に置きます。

考える脳は、次に何をするかを決めます。作業場は、その一回の仕事を実行します。記録は、判断と結果を時系列で残します。この分離があると、作業場が壊れても、仕事全体は壊れません。記録を読み、新しい作業場を起こし、最後に刻んだ足場から続けられます。

足場とは、そこまでなら戻ってよいと分かっている地点です。単なる途中保存ではありません。その地点で何が満たされているかが、外から確かめられる必要があります。たとえば、入力はそろっている。約束された形で出力が残っている。次の段が読むべきものが欠けていない。そういう条件がそろって、初めて足場になります。

これは、第31回で見た、失敗しても戻せる形に保つ設計の長時間版です。短い一回の中だけで戻すのではありません。何日も続く仕事を、刻んだ足場づたいに進めます。落ちても、最後に確かめた段まで戻ります。全部を初めからやり直さずに済みます。

始める前に、終わりを決める

崖を防ぐには、始める前に終わりを決めておく必要があります。しかも、外から確かめられる形で書いておきます。

終わりとは、気分ではありません。本人が満足したことでもありません。満たすべき条件です。必要な入力をすべて扱ったか。抜けがないか。決めた形で結果が残っているか。失敗したものを失敗として残したか。次の段が読める形になっているか。こうした条件を、先に外へ固定します。

これがないと、長く走るうちに、エージェントは終わりを少し甘くします。できなかった部分を、できたことにします。見つけられなかったものを、無かったことにします。面倒な確認を、省略して通ったことにします。

第42回で見たのは、こっそり終わりを甘くする怖さでした。表向きは終わっています。中身は足りていません。だから、終わりの条件は、始める前に外へ置きます。後から、やる本人に動かさせません。終わったかどうかは、本人の言い分ではなく、外の条件が決めます。

やる者と見る者を分ける

さらに、自分の仕事を自分だけで採点させません。

第29回で見たとおり、自分採点は当てになりません。作った本人は、抜けを見落としやすいです。苦労した部分を、通したくなります。前提を読み違えたまま、その前提の中では正しいと言い張ることもあります。

だから、やる者と見る者を分けます。計画する役。手を動かす役。仕上がったかを判じる役。生むことと、確かめることを、別の役に切ります。

同じ頭が作り、同じ頭が丸を付けると、崖は見えにくくなります。別の目が見ると、段の中でつまずきを捕まえられます。捕まれば、そこで止められます。そこからやり直せます。間違いを鎖の先まで運ばずに済みます。

ここで大事なのは、見る者が感想を言うだけでは足りないことです。見る者は、外に固定された終わりの条件を持ちます。その条件に照らして、通すか、戻すかを決めます。見る者の仕事は、励ますことではありません。段を閉じてよいかを決めることです。

抜け道を塞ぐ

もう一つ、地味ですが効く対策があります。失敗の合図を、エージェント自身に消させないことです。

長く走ると、エージェントは近道を覚えます。通っていない確認を、通ったことにする。足りない出力を、十分だと言う。守る規則を、今回だけ少し緩める。こうした近道は、一見すると仕事を進めます。しかし実際には、崖の手すりを外しています。

だから、確かめを緩めて完了を偽る抜け道を、初めから塞ぎます。仕上がりの基準を、やる本人に動かさせません。失敗の印を消せないようにします。未完了を完了へ書き換えられないようにします。通っていない段を、通った段として扱えないようにします。

これは、第26回で見た、自分の許可証を自分で書き換えさせない芯と同じ考えです。守る線は、登る者の手の届くところに置きません。手すりは、登る者が勝手に外せない場所へ固定します。

この層での意味

まとめます。崖は、一手ごとの小さな失敗が、長い鎖で積もることでした。だから対策は、ひとつながりにしないことです。

鎖を、短い、確かめられる段に切ります。各段の状態を、外の置き場に刻みます。途中で落ちても、最後の足場まで戻れるようにします。終わりは、外の条件で確かめます。やる者と見る者を分けます。手すりを外す抜け道を塞ぎます。

第34回で見た、外側のコードが制御の流れを所有する、という話の長時間の中身が、ここにあります。外側の部品は、賢いエージェントが一人では安定して続けられないことを肩代わりしています。覚え続けること。終わりを偽らないこと。自分を正しく採点すること。失敗した地点へ戻ること。

賢くても、長く走れば、どこかで外します。大事なのは、外さないふりをすることではありません。外した場所を、その段で捕まえることです。捕まえたら止めることです。足場まで戻れる形にしておくことです。

それが、長い鎖を崖から守るということです。次回は、また別の層の急所へ降ります。

← 一覧へ