本文へ移動

AI Buildersのための最新のニュース、知見、事例を毎日お届け

運営会社
ループエンジニアリングを学ぶ

エージェントのループに「停滞の出口」を rari氏の解説とSAGUSの試し

rari氏がXで、エージェントを囲む仕組みをハーネス・ループ・グラフの3層で整理した長文を公開した。SAGUSはその中から、成果が増えない時に止める出口と、テストを弱める変更を止める門の2つを自社の開発に入れた。

記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談

毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

円い線路を回る模型の列車と、線路の上に置かれた赤い停止の棒
Created with Grok

rari氏が、Xで「Harness, Loop and Graph」と題した長文を公開し、エージェントの失敗をモデルの性能ではなく、それを囲む仕組みの3つの層の問題として読み分けた。同じ所を回り続けるループを止めるには、成果が増えない時に止める「停滞の出口」が要る。SAGUSが入れる前に7日分を数えると、成果の無い開き直しは54回あった。SAGUSはこの出口と、テストを弱める変更を止める門の2つを自社の開発に入れた。

空間・時間・構造の3層

rari氏は、モデルの外側を3つに分ける。ハーネスはエージェントが見て触れて覚えられる範囲、ループは試し、確かめ、やり直し、止まるまでの時間、グラフはどの工程をどの順に進み、誰が次を選ぶかの構造だ。モデルはループの中で動き、ループはグラフの1つの節の中で動き、グラフはハーネスの中で動く。失敗した時に、どの層が壊れたかを言えることが目的だとする。

ループには水準がある。モデルがツールを呼ぶだけの段、テストなど決まった検査で確かめ直す段、別の評価役が判定する段、新しいセッションで同じ目標を続ける段、時刻やできごとで起きる段、そして記録から仕組み自体を直す段の6つの水準だ。下の水準が固まってから上の水準に進むよう勧め、検査が弱いままループを重ねても、弱いコードに収束するだけだと書く。

ループについては、出口が3つしかないと書く。証拠が済んだと言う成功、許した回数や費用を使い切る予算、回しても良くならない停滞だ。モデル自身が済んだと決める出口は不正直だとし、忘れられやすいのが停滞の出口だと指摘する。同じことを4回目に繰り返すのは粘り強さではなく、予算つきの不具合だという趣旨だ。

もう1つの要点は、作る役が確かめる側の入力を書き換えられると、いずれテストの方を直して通してしまうことだ。悪意ではなく、それが最短の道だからである。直し方は構造で、作る役に確かめる側の入力を書かせない。同じ操作と同じ誤りの繰り返し、直すたびに別の所が壊れる往復、目標から少しずつずれていく変化など、記録に先に表れる症状も一覧にしている。

ループの5段のどこに効くか

  1. 発見: 変わらない。
  2. 引き渡し: 停滞を見つけたら、同じ役に回し直さず、監査役か人に渡す。
  3. 検証: テストや期待値を書き換えた変更を、作った役とは別の門で止める。
  4. 永続化: 何回開き、成果が増えたかを課題ごとに記録し、停滞の判定に使う。
  5. スケジュール: 回数を決めた繰り返しから、成果の増え方を見て止める繰り返しに変える。

SAGUSで試した結果

SAGUSの開発では、課題管理のLinearの依頼を拾い、作業用のエージェントのセッションを開く仕組みを動かしている。rari氏の解説を読んだ時点で、要点の約8割は既にあった。散文の規則を検査にする仕組み、別の文脈のレビュー役、会話の外の記録である。足りなかったのが停滞の出口と、テストの弱化の検出だった。

入れる前に7日分を数えた。セッションは931回開き、扱った依頼は663件。成果が増えないまま3回以上続いた依頼が24件あり、3回目以降の成果の無い開き直しは54回あった。最長は11回連続だった。そこで、成果が2回続けて増えなければ3回目を監査役つきで開き、それでも増えなければ4回目で人に回す出口を入れた。7日分に当てはめた概算では、5回目以降の約16回が無くなる。ただし、成果の数え方には穴がある。既にある変更に足した修正や、別の場所での変更は成果と数えないことがあり、その時は監査役が前進ありと書いて数え直す。効果の判定は11月15日ごろで、今は未測定だ。成果の増えない開き直しが、入れる前の半分以下になるかを見る。

テストの弱化は、変更を取り込む直前の門で差分を読み、テストの削除、飛ばす指定の追加、期待値の書き換えを見つけたら、理由の記載とレビューの記録が無い限り止める。入れた後に取り込み済みの12本に当てると4本が当たり、どれも仕様の変更に伴う正当な書き換えだった。誤りを止めた実績はまだ無い。GitHubの画面から直接取り込む経路など、この門を通らない道も残っている。グラフを広げて多数のエージェントを並べる形は、トークンが大きく増えるので入れなかった。モデルの更新のたびに仕組みを1つずつ外して試す方法も、規約を週ごとに削る既存の作業で概ね足りると見て入れていない。エージェントの本数や往復の回数にも上限は足していない。

自分のループに入れる手順

  1. 依頼ごとに、開いた回数と、成果物が増えたかを記録する。
  2. 成果が2回続けて増えなければ、同じ指示で回し直さず、別の役に原因を見させる。
  3. それでも増えなければ人に回し、回し直しの上限より止める条件を先に決める。
  4. テストの削除や期待値の書き換えは、作った役とは別の門で、理由の記載を条件に通す。
  5. 門はClaude Codeのフックのように、モデルの外で動く仕組みに置く。

ループは回るだけでは目標に近づかない。止まる条件を先に決めることが、エージェントを長く任せる前提になる。

編集部の見方

編集部は、rari氏の整理の中で最も実務に効くのは停滞の出口だと見る。SAGUSの記録でも、成果の無い開き直しは回数の上限ではなく、成果の増え方を見なければ見つからなかった。読者は、今のループに成功と予算の出口しか無いなら、まず開いた回数と成果の記録から始めるとよい。監査を挟んで開き直しが本当に減るかは、まだ分からない。ループの設計を自社で試したい時は、スプリント0で相談を受けている。

出典

に確認(日本時間)

  1. 「Harness, Loop and Graph」と題した長文(x.com)
  2. フック(code.claude.com)
  3. スプリント0(sagus.io)

この記事をシェア

この記事は役に立ちましたか