Agentic OS 技術スタックを下から読む 補講(14):下書きと検め ―― 書き出しの遅さを、投機で買い戻す
連載は補講(13)で一度、本当に閉じました。
Agentic OS 技術スタックを下から読む 補講(14):下書きと検め ―― 書き出しの遅さを、投機で買い戻す
増補 ―― 棚の隙間の一冊
連載は補講(13)で一度、本当に閉じました。
そこまでで、土台から順に棚を組みました。
計算機の足場を見ました。
記憶の置き場を見ました。
道具を呼ぶ層を見ました。
流れを止めずに仕事を続ける層も見ました。
ただ、読み終えた棚を少し離れて眺め直すと、ひとつ隙間が残っていました。
それは、書き出しの遅さをどう買い戻すか、という一冊です。
場所で言えば、推論サービスの要の棚です。
答えを作るところそのものです。
ここが遅いと、上の層がどれだけ整っていても、最後の一文字を待つ時間が残ります。
この増補では、その隙間に一冊を差し込みます。
主役は、下書きと検めです。
小さな書き手に先を走らせます。
大きな書き手がまとめて検めます。
当たった分だけ先に進みます。
外れた分は捨てます。
この素朴な形で、書き出しの遅さを投機で買い戻します。
書き出す相は、一手ずつしか進めない
第39回で見た通り、答えを書き出す相には、やっかいな性質があります。
一手ずつしか先へ進めません。
次の一手は、前の一手が決まらないと決められません。
一文字目が決まって、ようやく二文字目を考えられます。
二文字目が決まって、ようやく三文字目を考えられます。
この順番は、基本的には崩せません。
しかも、一手を決めるたびに、大きな書き手の重みを読み直します。
重みとは、その書き手が身につけた膨大な癖の表です。
次に何を出すかを決めるには、この表を広く読む必要があります。
ここで効いている制約は、計算の細かさだけではありません。
むしろ、どれだけ多く読めるかが効きます。
読む量が大きく、読み口が詰まると、計算器は待たされます。
これが帯域で律速される、という話でした。
十手書くなら、十回読みます。
百手書くなら、百回読みます。
一手あたりの重さは、あまり軽くなりません。
前に似た文を書いていても、毎手の読み直しは消えません。
ここが、書き出しの遅さの根です。
人間の感覚では、同じ調子の文なら流れるように書けそうに見えます。
しかし機械の中では、毎手ごとに大きな棚を開いています。
「です」と書く一手にも棚を開きます。
句点を書く一手にも棚を開きます。
難しい判断の一手にも棚を開きます。
易しい一手にも難しい一手にも、重みを読むという土台の費用が乗ります。
だから、速くしたいなら、この読み直しの回数をどう減らすかを考えることになります。
先に書かせて、まとめて検める
そこで、横に小さく速い下書き役を置きます。
下書き役は、本役より小さい書き手です。
一手を出すのに読む重みが少なくて済みます。
だから、同じ時間で先へ多く進めます。
この下書き役に、先の数手を書かせます。
たとえば四手を書かせます。
場合によっては五手を書かせます。
「今日は」「天気が」「よく」「、」のように、先の候補を並べます。
この時点では、まだ本決まりではありません。
あくまで下書きです。
次に、大きな本役が出てきます。
本役の仕事は、この四手や五手を検めることです。
ここで大事なのは、検める相は一手ずつ書く相と同じ費用ではない、という点です。
本役が自分で五手を書くなら、五回に分けて重みを読みます。
一手目を決めて読みます。
二手目を決めて読みます。
三手目を決めて読みます。
四手目を決めて読みます。
五手目を決めて読みます。
しかし、すでに候補の列があるなら、話が変わります。
本役は、その列をまとめて読み込めます。
五手ぶんの位置を並べて、同時に検められます。
一手ずつ自分で書くときの五回の読み直しを、検めの一回に近づけられます。
もちろん、完全に五分の一になるわけではありません。
候補の列を扱うための追加の手間はあります。
それでも、読み込む相は束ねると安くなります。
第39回で見た非対称が、ここでそのまま武器になります。
書く相は順番に縛られます。
読む相は束ねやすいです。
だから、先に下書きを作り、あとからまとめて検める形が効きます。
この形が投機です。
当たるかどうかはまだ分かりません。
しかし、当たったときのために先を買っておきます。
当たれば進む、外れたら捨てる
検め役は、下書きの列を先頭から見ます。
一手目について、自分でもその手を選んだかを確かめます。
一致していれば、その一手は採用します。
次に二手目を確かめます。
これも一致していれば、二手目も採用します。
三手目も同じです。
先頭から一致するところまでは、そのまま通します。
どこかで食い違ったら、そこで止まります。
たとえば下書きが五手を書いたとします。
一手目は当たりでした。
二手目も当たりでした。
三手目で外れました。
この場合、一手目と二手目だけを採用します。
三手目以降の下書きは捨てます。
そして三手目には、検め役自身が選ぶ一手を置きます。
つまり、外れた場所は本役の一手で差し替えます。
ここで最悪の場合を考えます。
下書きの一手目から外れた場合です。
そのとき、下書きは何も採用されません。
しかし、検め役自身が一手を出します。
だから、少なくとも一手は必ず進みます。
まったく進まない回はありません。
一方で、よく当たる場合は大きく進みます。
五手のうち四手が当たれば、四手を一気に採用できます。
さらに食い違った五手目を、検め役の一手で差し替えます。
すると一回の検めで、合わせて五手ぶん前へ進むこともあります。
これは、五手をただ省略したわけではありません。
五手ぶんの判断を、本役がまとめて済ませたということです。
採用された手は、本役が認めた手です。
外れた手は、通る前に捨てられます。
この出入りの細かさが、仕組みの肝です。
なぜ品質が落ちないのか
ここで誤解しやすい点があります。
小さな下書き役を使うなら、品質が落ちるのではないか、という疑いです。
普通に考えれば、その疑いは自然です。
小さい書き手は、安い代わりに粗いはずです。
粗いものを混ぜれば、出てくる文も粗くなりそうです。
しかし、この仕組みでは、最終決定権は常に検め役にあります。
下書き役は、候補を出すだけです。
採用するかどうかは、検め役が決めます。
採用されるのは、検め役が自分で書いても同じだった手だけです。
検め役が選ばない手は、表に出る前に捨てられます。
だから、出てくる文は、検め役が一人で書いた場合と同じになります。
一手目が同じなら、一手目は同じです。
二手目も同じなら、二手目も同じです。
途中で違えば、そこからは検め役の手に戻ります。
この流れを守る限り、品質は売っていません。
買っているのは速さです。
払っているのは下書きの計算です。
第6回では、近似との取引を見ました。
少し粗くして、少し速くする形でした。
今回は、それとは少し違います。
下書き役は粗くても構いません。
ただし粗い手は通しません。
検め役が同じ手を選んだときだけ通します。
そのため、品質側は無傷にできます。
珍しい取引です。
ただし、ただではありません。
下書き役を動かす計算は余分に払います。
下書きが外れれば、その支払いはむだになります。
品質を売らない代わりに、別の財布から払っているのです。
受け入れ率が、勝負を決める
この仕組みが速くなるかどうかは、受け入れ率で決まります。
受け入れ率とは、下書きの手がどれだけ採用されたかです。
五手書いて四手通るなら、かなり良い状態です。
五手書いて一手しか通らないなら、うまくいっていません。
五手書いて一手目から外れることが続くなら、下書きの計算がほとんどむだになります。
その場合は、むしろ遅くなります。
なぜなら、本役の検めに加えて、下書き役の計算も払っているからです。
速くするつもりで、余分な仕事を増やしているだけになります。
では、受け入れ率は何で決まるのでしょうか。
大きく言えば、下書き役が本役にどれだけ似ているかで決まります。
本役が「次はこの語が自然だ」と見る場面で、下書き役も同じ語を見る必要があります。
本役が句点を置きたい場面で、下書き役も句点を置く必要があります。
本役が別の言い回しを選ぶ場面で、下書き役が違う言い回しを出すと、そこで止まります。
だから、下書き役は速いだけでは足りません。
本役に似ている必要があります。
ここで補講10の話が戻ってきます。
大きな先生の癖を、小さな生徒へ教え移す考え方です。
大きな書き手が、どの場面でどの候補にどれくらい重みを置くかを、小さな器へ移します。
単に正解の一手だけを覚えさせるのではありません。
迷い方も近づけます。
自信の配り方も近づけます。
そうすると、小さな下書き役は本役に似た先読みをしやすくなります。
似ていれば、受け入れ率が上がります。
受け入れ率が上がれば、一回の検めで進む手数が増えます。
そのぶん、書き出しの遅さを買い戻せます。
ただし、どんな場面でも同じように当たるわけではありません。
決まり文句は当たりやすいです。
引用の続きも当たりやすいです。
よくある言い回しも当たりやすいです。
反対に、判断が細い場面では外れやすいです。
新しい論点へ曲がる場面では外れやすいです。
文体を強く制御する場面でも外れやすいです。
つまり、易しい区間では下書き役が走ります。
難所では本役が自分で歩きます。
この分業が、仕組みの中で自然に生まれます。
数の感覚で見る
少し数で見ます。
本役が一手を書くのに、一の時間がかかるとします。
五手を書くなら、単純には五の時間がかかります。
ここに下書き役を置きます。
下書き役は小さいので、五手の下書きを〇・五の時間で書けるとします。
本役の検めは、五手ぶんをまとめて一・二の時間で済むとします。
このとき、五手のうち四手が通れば、だいたい五手進むのに一・七の時間です。
本役が一手ずつ五回書く五の時間より、かなり短くなります。
もちろん、これは丸めた感覚の数字です。
実際の時間は、機体、重みの大きさ、束ねる長さ、読み口の太さで変わります。
それでも、理屈の向きはこの通りです。
本役を五回呼ぶ代わりに、下書き一回と検め一回へ寄せています。
逆の例も見ます。
五手の下書きを〇・五の時間で書きます。
検めに一・二の時間がかかります。
しかし、一手目から外れます。
この場合、進むのは検め役の一手だけです。
一手進むのに一・七の時間を払っています。
本役が普通に一手を書くなら一の時間でした。
これでは遅くなります。
だから、下書きの長さを伸ばせば必ず速い、とは言えません。
五手より八手のほうがよい場面もあります。
二手で止めたほうがよい場面もあります。
受け入れ率が高いなら、長めに投げても回収できます。
受け入れ率が低いなら、長く書かせるほど捨てる量が増えます。
ここには、細い調整があります。
易しい文が続くなら、長く下書きします。
難しい判断が続くなら、短くします。
本役と下書き役の似方がよければ、攻められます。
似方が悪ければ、控えます。
速さは、ただ機械を増やせば出るものではありません。
下書きの費用、検めの費用、受け入れ率の三つが釣り合ったときに出ます。
取引の形 ―― そして
この増補の取引は、はっきりしています。
書き出す相は、一手ずつしか進めません。
毎手、大きな重みを読み直します。
そのため、帯域で律速されます。
そこで、小さく速い下書き役に先の数手を書かせます。
大きな検め役は、その数手をまとめて検めます。
読み込む相は束ねると安いです。
この非対称を使って、書き出しの遅さを買い戻します。
当たった手は採用します。
外れた手は捨てます。
外れた場所には、検め役自身の一手を置きます。
だから、最悪でも一手は進みます。
よく当たれば、数手ぶん一気に進みます。
品質は検め役が握ったままです。
下書き役は決定権を持ちません。
通るのは、検め役が自分で書いても同じだった手だけです。
そのため、出てくる文は検め役が一人で書いた場合と同じです。
速さだけを買い、品質は売りません。
ただし、下書きの計算は余分に払います。
外れが多ければ払い損です。
勝負を決めるのは受け入れ率です。
受け入れ率を上げるには、下書き役を本役に似せます。
先生の癖を生徒へ移す蒸留の考え方が、ここで土台になります。
速さの話をもう一歩進めると、別の問いが出ます。
そもそも大きな本役を遠くに置かず、手元の小さな機体で済ませたい場面があります。
次の増補では、端の機体で動かす書き手の話へ進みます。
← 一覧へ