AI・機械学習
成果を出す自律的なゴールループの構築
Building Autonomous Goal Loops That Deliver (jx0.ca)
要約
この記事は、自律的なエージェントが製品開発で成果を出すための「ゴールループ」の構築について論じています。従来のループが未知の領域での成長に対応できなかった反省から、エージェントが「本当の失敗」を露呈させ、欠落した能力を特定し、その教訓を保存する「ハーネス」の重要性を説いています。このハーネスは、開発エージェントと製品エージェントを分離し、再現可能な環境と実際の要求に基づいてループを駆動することで、信頼性の高い製品開発を可能にします。
全文翻訳
2026年8月20日
思考
エンジニアリング
LLM
ワークフロー
成果を出す自律的なゴールループの構築
最初に構築したエージェントループは、ほとんどループと呼べないものでした。エージェントに計画を与え、テストがパスするまで作業させ、失敗を返させるというものです。これは、テストがジョブを記述している場合には機能します。しかし、まだ理解していない製品能力を成長させるというジョブの場合には失敗します。エージェントは動き続けますが、動き自体は問題ではありません。テストは、すでに知っていることしか保護せず、重要な失敗はそれらの外にあります。画面は完了しているように見えても、何も保存していない可能性があります。エージェントは間違った理由で正しい答えを出すことがあります。スコアラーは、ユーザーが望まない行動に報酬を与えることがあります。より多くのターンは、これらの失敗のそれぞれをより安価かつ迅速にします。
「収束問題」で、私はエージェントがターンを所有し、人がラウンドを所有できると主張しました。しかし、その境界線の間にエージェントが必要とするものを説明しませんでした。それは3つのことを行うハーネスを必要とします。ハーネスは本当の失敗を露呈させ、欠落した能力を特定し、セッション終了後に教訓を保存しなければなりません。
それはリトライプロンプトを持つエージェントとは異なるマシンです。
開発中の2つのシステム
明白なシステムは機能です。あまり明白でないのは、エージェントが次に何をすべきかを決定するプロセスです。私たちは両方をエンジニアリングする必要があります。
ハーネスは、機能がどのように動作すべきかを知っています。製品エージェントは、ユーザーが受け取るものだけを受け取ります。開発エージェントは機能を変更します。ドライバーは、ユーザーと同じサーフェスを通して機能にアプローチします。スコアラーは、何が起こったかを読み取ります。次にコントローラーは、その証拠から次のギャップを選択します。リポジトリの状態は、次のセッションに決定を伝えます。
エージェント製品は通常、機能の中に別のエージェントを配置します。2つのエージェントは分離されなければなりません。開発エージェントはコードと期待される結果を知っています。製品エージェントは、新鮮な会話と製品が公開するツールのみを受け取ります。それらがコンテキストを共有する場合、テストは無価値です。製品エージェントは、ユーザーが決して提供しない知識で成功することができます。
同じハーネスは、製品エージェントなしでも機能します。ドライバーはブラウザ、API、コマンド、またはハードウェアシミュレータを使用できます。
すべて重要なものはプロンプトの外にあります
プロンプトは、見やすいので最も注目を集めます。ループは、それを取り巻く世界にさらに依存します。
まず、ハーネスは再現可能な開始点が必要です。データ、サービス、モデル、環境、および提供されるコードは、記録された実行と一致する必要があります。リセットはシステムをその時点に戻すべきです。プリフライトはそれを証明すべきです。世界が健全でない場合、ハーネスはスコアを記録しません。インフラストラクチャのトラブルは、機能が失敗した証拠ではありません。この区別は、大規模な偽の修理を防ぎます。欠落したデータは、弱い推論のように見えることがあります。古いコードは、壊れた契約のように見えることがあります。
次に、ハーネスは実際の需要が必要です。私たちは、人が書いた、または承認したリクエストの小さなコーパスを使用します。ドライバーは、新鮮な対話を通して変更されていない1つのリクエストを送信します。それは、回答、ツール呼び出し、拒否されたアクション、表示された結果、および永続的な効果を記録します。効果が最も重要です。ソフトウェアは、正しいアクションを実行せずにそれを記述することができます。それはシステムの下で変更せずに、もっともらしい画面をレンダリングすることができます。したがって、プロンプトは実行への唯一の入力ではありません。フィクスチャ、コードリビジョン、モデル、契約、およびスコアラーは、それらの隣に配置されるべきです。それらの入力なしのスコアは、単なる数字です。
フロアと方向は異なる測定値です
すべてのループには決定論的なフロアが必要です。テスト、バリデーター、スキーマ、および効果チェックは、機能がすでに獲得した動作を保持します。フロアはグリーンから始まります。それが赤に変わった場合、そのリグレッションが次のジョブになります。フロアは、次に何を構築すべきかを私たちに伝えることはできません。それのために、私たちは実際のリクエストを駆動し、不足を調べます。いくつかの不足は機械的なスコアをサポートします。他のものは、スクリーンショット、繰り返しのサンプル、または作業を理解している人を必要とします。これらの信号はノイズが多い可能性があります。1回の完璧な実行は、成功が可能であることを証明します。それは成功が信頼できるかどうかについてはほとんど何も言いません。信号は方向を選択し、フロアは以前の進歩を保持します。その分離はループを正直に保ちます。新しい機能は、後ろのパスを消去することなく製品を前進させることができます。
1ラウンドは1つのギャップを閉じます
世界と測定値が存在すると、ラウンド自体は単純です。フィクスチャを復元し、実行中のシステムをチェックします。決定論的なフロアを実行します。承認されたリクエストを1つ、新鮮な対話を通して送信します。動作、表示された結果、および永続的な効果を収集します。最大のギャップを分類します。必要なすべてのレイヤーを通してそのギャップを閉じます。動作のための決定論的なチェックを追加します。同じリクエストを再度送信し、結果を記録します。1つのギャップは1つのファイルを意味するわけではありません。それは1つの因果関係の主張を意味します。欠落した機能は、データモデル、ツール契約、ランタイム、エージェント命令、インターフェース、および効果チェックを横断する可能性があります。ラウンドは、そのパス全体を閉じるべきです。
リクエスト → 表現 → 操作 → 永続的な効果 → 表示された証拠
部分的なパスは、最も説得力のある失敗を作成します。インターフェースは存在しますが、何もそのデータを生成しません。ツールは成功を返しますが、状態は変更されません。リクエストから効果までの狭いパスは、未完成の可能性の5つのレイヤーよりも価値があります。
分類ステップはランダムな修理を防ぎます。症状は、世界、ドメイン、契約、ランタイム、ステアリング、サーフェス、またはハーネスに属する可能性があります。そのステップなしでは、すべてのエージェントの失敗はプロンプトの問題になります。すべての視覚的な失敗はフロントエンドの問題になります。ループは、正しいことではなく、最も近いことを変更します。1つの因果ギャップを変更すると、結果が帰属可能になります。ラウンドが5つの独立したレバーを変更した場合、どの教訓を保存すべきか誰も知りません。
スコアラーは脅威モデルの一部です
自律ループは、たとえそれが悪いものであっても、到達できるあらゆる測定値を最適化します。したがって、ハーネスには権限モデルが必要です。私たちのモデルには3つのレベルがあります。
フリーファイルは通常の実装レバーです。ループは割り当てられたスコープ内でそれらを変更および測定できます。
提案ファイルは境界線を越えます。ループは証拠を記録し、変更を提案できますが、人が決定します。
フローズンファイルは試験を定義します。それらには、承認されたコーパス、フィクスチャ、既存のラング、スコア規則、および判断ルーブリックが含まれます。
エージェントの権限は、ファイルがスコアに対する力を増すにつれて狭まります。
権限は測定値に向かって狭まる
FREE: ループはこれらの実装レバーを変更します
LOOP CODE NEW CHECK: 実装レバー
PROPOSE: 証拠は人間のゲートを越えます
EVIDENCE + proposal HUMAN CALL: 境界線の変更
FROZEN: ループはこれらを変更できません
THE MEASURE: コーパス・フィクスチャ・スコア規則
POWER OVER THE RESULT INCREASES · AGENT AUTHORITY DECREASES
ループは製品を変更できます。製品が改善されたかどうかを決定する証拠を変更することはできません。ループは、観察した失敗のためにリグレッションチェックを追加できます。既存のチェックを弱めたり、しきい値を下げたりすることはできません。また、製品レバーとその測定値を同じラウンドで変更することもできません。そうでなければ、それは自身の修理を採点することになります。
学習したジャッジも同じ保護が必要です。視覚的なジャッジは、そのランキングが繰り返しの人間のランキングと一致するまで証拠のままです。これはループの権限を制限しますが、結果を信頼できるものにします。
2番目のループが最初を改善します
すべての製品ラウンドはハーネスもテストします。ドライバーは失敗を隠す可能性があります。フィクスチャは必要なケースを省略する可能性があります。スコアラーは正しい行動を罰する可能性があります。手順は同じ時間を2回無駄にする可能性があります。
各ラウンドの終わりに、私たちは1つの質問をします。ルールまたはチェックで防ぐことができた時間コストは何でしたか?最初の発生が証拠になります。繰り返しの摩擦は、ドライバーを変更する可能性があります。