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

Agentic OS 技術スタックを下から読む 第36回:走りながら、経験から学ぶ ―― 教訓を積む記憶と、間違いも焼き付ける記憶

この記事の読み方
前回は、安全の網を見ました。エージェントが一つの道具ではなく、いくつもの処理につながる網になると、失敗もまた網の中を進みます。小さな誤りが広がります。弱い判断が増幅されます。信頼し…

Agentic OS 技術スタックを下から読む 第36回:走りながら、経験から学ぶ ―― 教訓を積む記憶と、間違いも焼き付ける記憶

安全の網から、記憶へ降りる

前回は、安全の網を見ました。エージェントが一つの道具ではなく、いくつもの処理につながる網になると、失敗もまた網の中を進みます。小さな誤りが広がります。弱い判断が増幅されます。信頼してよい相手が入れ替わります。しかも、その動きが外から見えにくくなります。

そこで前回は、最後にこう結びました。次回は、別の層の急所へ降りる。安全の網を離れ、また下から読み直す、と。

今回は、その下へ降ります。運行時の記憶です。

この連載では、前に記憶を扱いました。そこで見た急所は、何を記憶するかでした。やった操作を残すだけでは足りません。なぜそうしたか。どの条件を見て、どの危険を避け、どの判断に至ったか。その因果を残す必要がありました。

今回は、その続きです。問題は、いつ記憶を更新するかです。どう更新するかです。エージェントが走りながら、経験から学ぶとはどういうことかを見ます。

記憶がないと、毎回ゼロから始まる

更新される記憶がないエージェントは、毎回ゼロから始めます。

前の作業で、ある画面の下まで進むと同じ項目が何度も出ると分かったとします。前の作業で、検索語を広げすぎると関係の薄いものが混ざると分かったとします。前の作業で、本文を取ったつもりでも途中で切れていることがあると分かったとします。

しかし、その経験が次に渡らなければ、今日また同じところでつまずきます。前に踏んだ罠を、また踏みます。前に効いた工夫を、また一から探します。

一回ごとの動きだけを見ると、そこそこ賢く見えることがあります。その場で考えています。道具を選んでいます。結果を見て直しています。けれども、作業が終わった瞬間に経験が消えるなら、上達は積み上がりません。

人間の作業なら、ここは自然に起きます。昨日はこの順番でうまくいかなかったから、今日は先に確認しよう。あの種類のページは本文が短く見えても、実は折りたたまれていることが多い。こうした小さな勘所が残ります。

エージェントにも同じものが要ります。毎回の作業を、一回きりの消耗にしない仕組みです。通った道とはまった穴を、次の作業の出発点に持ち込む仕組みです。

操作の記録では足りない

ただし、何でも残せばよいわけではありません。

いちばん素朴な記憶は、操作をそのまま記録します。どの画面を開いたか。どのボタンを押したか。どの欄に何を入れたか。どの順番で進んだか。これは一見、細かくて役に立ちそうに見えます。

でも、操作の列は壊れやすいです。

画面の配置が少し変わるだけで、前の操作は使えなくなります。ボタンの名前が変わるだけで、手順は迷子になります。前回は上にあった欄が、今回は下にあるかもしれません。前回は一つずつ開けばよかったものが、今回は絞り込みを先に使わないと多すぎるかもしれません。

つまり、操作そのものは場面に強く縛られています。場面が変われば、押す場所も順番も変わります。

残すべきなのは、操作の奥にある判断です。

たとえば、ある作業で「もっと読み込む」というボタンを押したとします。そのまま「もっと読み込むを押す」と覚えても、次にはあまり効きません。次の画面には、そのボタンがないかもしれません。別の名前になっているかもしれません。自動で読み込まれる画面かもしれません。

しかし、そこからこう煮詰めると使えます。

読み込む前に、まず今どの位置にいるかを確かめる。今の件数、最後に見た項目、ページの端に出ている印を確認する。これをしないと、同じ範囲を何度も見たり、終わりのない下方向の移動にはまったりする。

これは操作ではありません。構えです。

構えとは、場面が変わっても残る見方です。何を先に確かめるか。何を危険とみなすか。どの合図が出たら進み方を変えるか。記憶は、この高さまで上げて残す必要があります。

失敗は手すりになる

記憶というと、うまくいった手順を残すものだと思いがちです。

もちろん、成功は大事です。この順番で調べると早かった。この確認を挟むと抜けが減った。この種類の情報は、まず一覧ではなく詳細を見るほうがよかった。成功は、効いた工夫を教えてくれます。

けれども、もっと濃い教材は失敗です。

失敗は、避けるべき形を教えます。こうすると罠にはまる。こう見えたときに、そのまま進むと取り違える。こういう短い本文は、本当に短いのではなく、取得に失敗していることがある。こうした反対側の信号は、次の作業で手すりになります。

たとえば、検索で見つけた記事をすぐ本文として扱ったら、実は見出しだけだったとします。この失敗からは、単に「その記事は失敗だった」と覚えるのでは足りません。次に使える形へ煮詰めます。

本文として扱う前に、段落の数、日付、出典、末尾の切れ方を確認する。短すぎるものは要約せず、取得の失敗として扱う。見出しと本文の語がほとんど同じなら、本文が取れていない疑いを置く。

こうなると、失敗は責める対象ではなくなります。次の確認を増やす材料になります。

この考え方は、前に見た失敗の記録を一件ずつ読む検証と同じ根を持ちます。失敗をまとめて捨てると、何も残りません。失敗を一件ずつ読むと、同じ形のつまずきが見えます。見えた形を教訓にすれば、次の作業で先に手を打てます。

成功だけを覚えるのは、教材の半分を捨てるのと同じです。失敗から作った手すりがあるから、同じ穴に落ちにくくなります。

引き出す、自分で採点する、煮詰める、足す

では、記憶はどう更新すればよいのでしょうか。

基本は、四つの段で回します。引き出す。自分で採点する。煮詰める。足す。この輪です。

まず、作業を始める前に、関係しそうな教訓を記憶から引き出します。記事を集める作業なら、取得漏れや重複に関する教訓を出します。長い画面を読む作業なら、位置確認や途中切れに関する教訓を出します。最初から全部を出す必要はありません。今の作業に関係するものを、手元に置きます。

次に、作業を終えた後に、自分の走りを自分で採点します。どこでうまくいったか。どこで外したか。どの確認が効いたか。どの思い込みが邪魔をしたか。ここで見る対象は、答えだけではありません。途中の軌跡です。

これは、前に見た判定を別の見方に任せる話と地続きです。あのときは、生成した答えを別の目で見直すことが急所でした。今回は、対象が自分自身の作業になります。作業の後に、もう一つの目で軌跡を読みます。

そして、その採点から教訓を取り出します。

うまくいったなら、なぜ効いたのかを抜き出します。失敗したなら、何を先に見れば避けられたのかを抜き出します。最後に、それを記憶へ足します。

ここで大事なのは、自分で採点する段が完璧でなくてもよいことです。もちろん、間違いはあります。成功の理由を少し取り違えることもあります。失敗の原因を一つに絞りすぎることもあります。

それでも、輪は案外こわれません。毎回少しずつ見直すなら、小さな揺れは回数の中で薄まります。完璧な採点を待って何も残さないより、粗くても回し続けるほうが効きます。ただし、この話には後で見る裏があります。粗くても回るからこそ、間違ったものも回ってしまいます。

箇条書きは構えへ育つ

この輪を回し続けると、記憶の中身は少しずつ変わります。

最初は、素朴な箇条書きです。リンクを探す。日付を見る。本文を確認する。重複を消す。こうした単純な手順です。これはこれで役に立ちますが、まだ弱いです。手順は、想定した場面から外れると崩れます。

ところが、経験を重ねると、教訓どうしが結びつきます。

早い時期には「リンクを探す」だけだったものが、後には「絞り込みと突き合わせて、取り出したものが途中で切れていないかを、たえず確かめる」に育ちます。

ここには、いくつもの経験が混ざっています。リンクだけでは一覧の一部しか取れないことがある。絞り込みを使うと取りこぼしを見つけやすい。取得した本文は途中で切れることがある。件数の変化を見ないと、同じ範囲を何度も読んでしまう。こうした小さな失敗と成功が、一つの構えになります。

構えになると、動きが変わります。

ただ順番に押すのではなく、途中で自分の位置を測ります。取れたものと取れるはずのものを比べます。短すぎる本文を疑います。見つけたリンクをすぐ信用せず、別の手がかりと突き合わせます。手順の寄せ集めが、戦略になります。

ある実験では、こうして経験を積んだエージェントは、毎回ゼロから始めるものより、成功する割合が数%ぶん高くなりました。たどる手数も少なくなりました。数%は派手ではありません。けれども、毎日何度も走る仕組みでは効きます。余計な往復が減ります。同じ確認を探し直す時間が減ります。罠に入る前に止まれる回数が増えます。

記憶の価値は、一回で劇的に賢くなることではありません。小さな構えが増え、ゼロから探す場面が減ることです。

間違った教訓も焼き付く

ただし、ここに危うさがあります。

良い教訓を積もらせる仕組みは、悪い教訓も同じように積もらせます。仕組みは、教訓の良し悪しを自動では分かりません。採点で良いとされたものを足します。反省として取り出されたものを足します。そこが間違っていれば、間違ったものが次の出発点になります。

たとえば、たまたま一度だけ効いたやり方があります。ある画面では、先に日付で絞るとうまくいった。けれども、別の画面では日付が抜けている項目が多く、先に絞ると大事なものを落とすとします。

この一度の成功を「まず日付で絞る」と焼き付けると、次から危険です。エージェントは記憶からそれを引き出します。そして、わざわざ同じ偏りを再現します。

失敗の反省でも同じです。本文が取れなかった原因が、実は一時的な読み込み不良だったとします。ところが、それを「短い記事は価値が低い」と煮詰めてしまうと、次から短くても重要な記事を捨てます。間違った反省が、手すりのふりをした壁になります。

だから、記憶があるほど賢くなるとは限りません。記憶があるほど、間違いも固まります。使うほど、妙な癖が抜けにくくなることがあります。

ここで効くのは、前に見た歯止めです。何を焼き付けたのかを、ときどき人が見直します。古くなった教訓を外します。一度きりの偶然から作った教訓を外します。範囲が広すぎる教訓を狭めます。失敗の原因を取り違えた教訓を直します。

更新は、放っておく対象ではありません。見張る対象です。賢く育つ記憶と、間違って固まる記憶は、紙一重です。

経験の意味

まとめます。

走りながら学ぶ記憶は、エージェントを毎回ゼロから始めさせません。前に通った道を、次の出発点にします。前にはまった穴を、次の手すりにします。

ただし、残すのは操作そのものではありません。操作の奥にある判断です。なぜその確認が要ったのか。どの合図を危険と見たのか。どの工夫が、別の場面にも移せるのか。第12回で見た「なぜそうしたかを残す」という話は、ここにつながります。

更新は、引き出す、自分で採点する、煮詰める、足す、という輪で回ります。第29回で見た別の目による判定は、ここでは自分の軌跡を読む目になります。第28回で見た失敗の記録は、ここでは次の失敗を避ける材料になります。

この輪を回すほど、箇条書きの手順は構えへ育ちます。リンクを探すだけだったものが、絞り込みと突き合わせ、途中切れを疑い、位置を確かめる動きへ変わります。手順は戦略になります。

けれども、同じ輪は間違った教訓も焼き付けます。たまたま効いたことを法則にしてしまうことがあります。失敗の原因を取り違え、次から同じ間違いを自分で呼び込むことがあります。

経験から学ぶことは強いです。ですが、間違った経験からも同じ強さで学んでしまいます。だから、覚えたものをときどき覗き、外すべきものを外す必要があります。

安全の網から、今回は記憶へ降りました。次回は、また別の層の急所へ降ります。

← 一覧へ