The harness · Reading No.05
賢いAIより、
外れない枠を
AIに作業を頼むとき、一度きりの仕事なら、出てきたものを見て手直しすれば済みます。けれど「あとは毎日やっておいて」と任せ続けようとした途端、話が変わります。見ていないあいだに、AIはどこかで静かに外れる——間違ったまま走り続けたり、頼んでいないものに手を出したりする。任せきれないのは、AIが賢くないからではありません。賢さの外側に、外れないための枠がないからです。この枠は、AIを走らせ続ける現場では harness(ハーネス) と呼ばれています。言葉は耳にしても、何を指すのかはつかみにくい——その中身を、コーディングを例にほどいていきます。
トップへ戻るループは、回し続けるだけ
AIに任せ続ける、の中身はループです。「やる → 結果を見る → 次を決める → また指示する」を、AI自身に回させる。一手ずつこちらが指示する代わりに、その段取りを先に組んでおくと、あとは独りで進みます(ループの組み方は こちらで触れて確かめられます)。
ループには「結果を見る」「次を決める」という一拍が含まれます。けれど、回すこと自体は、その見立てが本当に正しいかまでは保証しません。AIが自分の出来を自分で「よし」と見なして回し続ければ、一周目で少し外れたぶんは、外れたまま二周目も三周目も回り続ける。速く、正確に、間違った方向へ進んでしまう。回す力が上がるほど、外れたときの被害も大きくなります。
だから、回し続ける仕組みのなかに、外れないための枠を組み込みます。それがハーネスです。ループを組むときに決める「どこで合格とみなすか」「どこで止めるか」も、じつはこの枠の一部です。ハーネスは、その合否と止めを、AIの自己申告ではなく外の物差しに預け直し、さらに「触れていい範囲」を加えて束ねたものです。山道のガードレールや、機械の安全弁に近いものです。AIが走る速さは変えず、走ってよい範囲と、外れたときに止まる仕組みだけを足します。
ハーネスは、三つの枠でできている
一つ目は、触れていい範囲。 コードを書かせるなら、直すのはこの機能のファイルだけ、テストのファイルには手を出さない、本番にはそのまま出さない——というように、手の届く先をあらかじめ区切ります。
二つ目は、検算。 出てきたものを、AI自身の「できました」ではなく、外の物差しで測ります。コードならテストがその物差しで、緑か赤かがその場で出ます。物差しは一つとはかぎりません。コンパイルが通るか、別のサブエージェントに差分を読ませて「直したように見せて、ごまかしていないか」を確かめる、といった重ね方もできます。全部が緑と赤で割り切れるわけではなく、そこをどう測るかが、ハーネスでいちばん頭を使うところです。
三つ目は、止め方。 検算が外れたまま、あるいはAIが自信を持てないまま、先へ進ませない。三回直しても赤のままなら、そこで止めて手元に戻す。消す・本番に触れるといった後戻りできない一手の前では、こちらの確認を待たせます。
この三つが揃って、はじめて「あとは回しておいて」が成り立ちます。次に、三つを一つずつ外すと何が起きるかを、そのまま触れる形にしました。
外してみると、何が漏れるか
ここに小さな作業を一つ置きます。バグの混じった関数を、AIにテストで直させる——書く、テストにかける、落ちたら直す、また通す。先ほどのループそのものです。そこへ、三つのガードレールを、トグルで付け外しできるようにしました。コードの中身は出てきません。出るのは作業の結果——テストの緑と赤、触れたファイル、何回目か、止まった理由だけです。一つずつ外して、走らせてみてください。
作業:バグの混じった小さな関数を、AIにテストで直させる。三つの枠を外して走らせると、漏れるものが変わります。
- 三つ全部あり:AIはこの機能のファイルだけを直し、テストが通ったら止まる。任せられる動き方。
- 範囲を外すと:テストを通すために、テストのほうを書き換えて緑にする。合格の基準そのものを、ごまかす。
- 検算を外すと:直っても確かめないまま完了。隣の関数が静かに壊れ、赤を一度も見ないまま終わる。
- 止め方を外すと:直すたびに新しい赤が生まれ、止まらず回り続ける。夜のあいだじゅう走り続ける。
差がつくのは、賢さの外側
外したときに起きたことを並べると、はっきりします。AIが急に馬鹿になったわけではありません。同じAI、同じループのまま、外側の枠を一つ外しただけで、ごまかし・取りこぼし・暴走が出てくる。逆に言えば、枠さえ組めば、同じ賢さがそのまま、信頼できる働きに変わります。
いま、モデルの賢さは速いペースで上がり、値段は下がっています。けれど、賢いだけのAIに「あとはやっておいて」と任せられるかどうかは、賢さとは別のところで決まる。希少なのは賢さではなく、その賢さを外れないように囲う構造のほうです。だから、もっと賢いAIを探すより、手元のAIにどんなハーネスを着せるかを考えるほうが、ずっと効いてきます。
ループと、ハーネス
AIに自律で作業させ続ける、というのは、二つを設計することです。一つは、回し続けるループ。もう一つは、外れないハーネス。回す仕組みだけでは、外れたまま速く走るだけになり、止める仕組みだけでは、そもそも動き出さない。両方を組めて、はじめて「あとは任せた」が、危うさではなく安心になります。
先頭を走る人たちは、もっと賢いAIを待っているのではなく、いまあるAIにこの二つを着せています。同じことは、あなたの一つの作業からでも始められます。小さく一周させて、外れた箇所に枠を一つずつ足していく——自律は、そうやって組み上がります。