仕組み
RADAR の仕組み。
開発者向けの技術概要です。RADAR はコーディングエージェントを動かし、タスクの受け入れテストを自ら再実行したあとでのみ、タスクを完了にします。エージェントの「完了」は申告であり、再実行こそが証拠です。
01 ループ
すべてのタスクに、ひとつのループ。
すべてのタスクは同じループを回り、各ステップは直前のステップが通ったときにだけ実行されます。
- 01 · 起票 タスクと受け入れテスト 作業を始める前に書く
- 02 · リース オーナーはひとり、専用の worktree リースと fence token
- 03 · 作業 エージェントが作業する プロジェクトの専用コピーの中で
- 04 · 申告 エージェントが完了と言う 結果ではなく申告として記録
- 05 · 検証 RADAR がテストを再実行 現在のリビジョンで
- 合格なら 完了 証拠は台帳に残る
- 不合格なら · 試行 n / 3 再オープン、失敗内容を添付 同じエージェントがステップ 03 からやり直す
- 3 回の試行後 別のエージェントが引き継ぐ ステップ 03 から、さらに最大 3 回
- さらに 3 回の後 タスクはあなたを待つ 台帳がそれ以上の試行を拒否
- 起票
- タスクは、目標と再実行可能な受け入れコマンドとともに起票されます。コマンドは起票の時点で、実行せずにチェックされます。書かれたとおりに実行できない基準はその時点で拒否され、最後になって発覚することはありません。
- リース
- ひとつのタスクを保持できるのは、常にひとりのオーナーだけです。これはリースと fence token によって保証されます。古くなったオーナーからの書き込みは拒否されます。
- 作業
- エージェントは専用の git worktree 上の、専用のブランチで作業します。
- 申告
- 完了したというエージェントの報告は、申告として記録されます。申告ではタスクは完了しません。
- 検証
- RADAR は作業の現在のリビジョンに対して、受け入れコマンドを自ら実行します。エージェント自身の報告も読みますが、それは証拠にはなりません。
- 完了または再オープン
- 合格すればタスクは完了でき、検証記録がその証拠として残ります。不合格なら、タスクは失敗内容を添えて再オープンされます。
- 上限
- ワーカーによる試行が 3 回、その後は別のエージェントによる引き継ぎが 3 回です。それを超えると台帳はそれ以上の試行を拒否し、タスクはあなたを待ちます。モデル、セッション、マシンを切り替えてもカウントはリセットされず、再試行では何を変えたかを示す必要があります。
02 台帳
すべてのエージェントが書き込む、ひとつの記録。
すべてのエージェントが同じタスク台帳を読み書きします。台帳はローカルの SQLite ファイルです。誰がどのタスクを保持しているか、何が申告されたか、テストが何を示したかを記録する、唯一の記録です。
- タスク
- 目標と受け入れコマンド。作業を始める前に書かれます。
- 所有
- 各タスクの現在のオーナーと、そのリースおよび fence token。
- 試行
- タスクごとに、エージェント、モデル、マシンをまたいで数えられます。
- 申告
- 作業が完了したというエージェントの報告。結果とは分けて保存されます。
- 検証記録
- 受け入れテストの各実行。実行対象の commit と作業ツリーに結びつけられます。
- 変更
- 受け入れコマンドの変更は、旧版と新版の両方とともに記録されます。オーバーライドも記録されます。
メモリ
決定事項や教訓は、出典と適用範囲をもつ Markdown のメモです。ローカルのインデックスがオフラインでそれを検索し、hook が、エージェントが動く前に該当するメモを目の前に置きます。メモはプレーンな Markdown なので、Obsidian で開けます。
03 分離
試行ごとに、専用のコピー。
- 各試行は、専用の git worktree 上の専用のブランチで作業します。2 つのワーカーが同じツリーを共有することはありません。
- ワーカーは自分の受け入れコマンドを書き換えられません。変更できるのはマネージャーだけで、タスクが完了する前に限られ、変更のたびに旧版と新版の両方が残ります。
- 作業がメインブランチに入るのは検証に合格してからで、マージ後にも受け入れコマンドがもう一度実行されます。
- force push は、どのロールでも拒否されます。
- これらのルールは、モデルを呼び出す前と後にコードとして実行されます。プロンプトではないので、エージェントが言葉で切り抜けることはできません。
04 エージェント
いまお使いのエージェントで。
RADAR は Claude Code、Codex CLI、OMP、Hermes Agent を、あなたのコンピューター上、またはあなた自身の Linux サーバー上で動かします。それらを置き換えるものではなく、作業は引き続きエージェントが行います。
- Claude Code
- Codex CLI
- OMP
- Hermes Agent
- ひとつの契約
- 同じルール、同じ台帳、同じ検証ゲート、同じ試行上限が、4 つすべてに適用されます。
- マネージャー
- あなたが話しかけるエージェントが管理を担います。タスクを起票してワーカーに渡し、合格した検証記録がある場合にのみタスクを完了にします。
- ワーカー
- ワーカーは専用の worktree で作業します。タスクを完了にすることも、受け入れコマンドを変更することもできません。
05 ローカルファースト
ローカルファースト。
RADAR には、アカウントもクラウドも必要ありません。
- あなたのマシン上
- 台帳、メモリのメモ、worktree、すべての検証の実行。あなたのコンピューター上、またはあなた自身の Linux サーバー上にあります。
- ネットワークが必要なもの
- エージェントです。いまと同じように、それぞれの提供元と通信します。それ以外の外部サービスはすべて任意で、あなたが有効にするまでオフのままです。
- 要件
- Windows または Linux(macOS にはまだ対応していません)、Python 3.12 以降と Git。RADAR は Python 標準ライブラリだけを使います。
- 費用
- RADAR 自体の請求はありません。エージェントは、あなたがサインインしたアカウントを引き続き使います。有料の API を使うのは、あなたが提供元と予算を指定したときだけです。
- インストール
- コーディングエージェントにリポジトリのリンクを渡し、「これをインストールして」と伝えます。エージェントはコンピューターを確認し、足りないものを入れる前にあなたに尋ね、RADAR を仮想環境にインストールして、radar init と radar doctor の結果を報告します。
06 コマンド
短いコマンドの一覧。
最初に使うコマンドです。プレースホルダーは山括弧で示しています。
| コマンド | 説明 |
|---|---|
radar init | RADAR のホームディレクトリと台帳をセットアップします。 |
radar doctor | インストールを確認し、未設定の任意サービスを一覧表示します。 |
radar task new --project P --goal "…" --accept "<command>" | 受け入れコマンドとともにタスクを起票します。 |
radar dispatch <task> | タスクをエージェントに渡します。エージェントは専用の worktree で作業します。 |
radar status | システム全体を表示します。 |
radar verify <task> | 現在のリビジョンで受け入れコマンドを再実行します。 |
radar task done <task> --evidence "<verification report>" | タスクを完了にします。検証に合格するまでは拒否されます。 |
radar collect | 完了した作業を回収します。 |
radar integrate | 検証済みの作業を main にマージします。 |
radar stop | 作業を止めて STOP を設定します。 |
radar go | STOP を解除し、続行できるものを一覧表示します。 |
radar memory search --local "<words>" | メモリのメモをオフラインで検索します。 |
radar uiradar web | コックピットをターミナルまたはブラウザで開きます。 |
radar help --all | すべてのコマンドを一覧表示します。詳細は radar <command> -h で確認できます。 |
07 しないこと
RADAR がしないこと。
- エージェントを置き換えません。コードを書くのは引き続きエージェントです。RADAR はエージェントに、ひとつの記録、飛ばせないひとつのチェック、そしてひとつのメモリを与えます。
- テストを書くことはしません。チェックの質は、そのテストの質で決まります。RADAR は作業を始める前にテストを明文化するので、人が読むことができます。
- テストのない作業を完了にはしません。実行可能な受け入れコマンドがないタスクは、起票の時点で拒否されます。
- エージェントをオフラインにはしません。エージェントは、いまと同じように、それぞれの提供元と通信します。
- オープンエディションは個人の開発者向けで、チーム向けではありません。企業向けエディションは開発中です。
08 ステータス
アーリーアクセス提供中
現在はアーリーアクセス。一般公開時にオープンソース。
RADAR はアーリーアクセス中です。一般公開時に、Apache-2.0 ライセンスのオープンソースとして公開されます。参加をご希望の方は、私たちにご連絡ください。