RADAR に戻る

仕組み

RADAR の仕組み。

開発者向けの技術概要です。RADAR はコーディングエージェントを動かし、タスクの受け入れテストを自ら再実行したあとでのみ、タスクを完了にします。エージェントの「完了」は申告であり、再実行こそが証拠です。

01 ループ

すべてのタスクに、ひとつのループ。

すべてのタスクは同じループを回り、各ステップは直前のステップが通ったときにだけ実行されます。

  1. 01 · 起票 タスクと受け入れテスト 作業を始める前に書く
  2. 02 · リース オーナーはひとり、専用の worktree リースと fence token
  3. 03 · 作業 エージェントが作業する プロジェクトの専用コピーの中で
  4. 04 · 申告 エージェントが完了と言う 結果ではなく申告として記録
  5. 05 · 検証 RADAR がテストを再実行 現在のリビジョンで
  6. 合格なら 完了 証拠は台帳に残る
  7. 不合格なら · 試行 n / 3 再オープン、失敗内容を添付 同じエージェントがステップ 03 からやり直す
  8. 3 回の試行後 別のエージェントが引き継ぐ ステップ 03 から、さらに最大 3 回
  9. さらに 3 回の後 タスクはあなたを待つ 台帳がそれ以上の試行を拒否
図 1 · タスクループ。申告は再実行につながり、直接完了につながることはありません。
起票
タスクは、目標と再実行可能な受け入れコマンドとともに起票されます。コマンドは起票の時点で、実行せずにチェックされます。書かれたとおりに実行できない基準はその時点で拒否され、最後になって発覚することはありません。
リース
ひとつのタスクを保持できるのは、常にひとりのオーナーだけです。これはリースと 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 ライセンスのオープンソースとして公開されます。参加をご希望の方は、私たちにご連絡ください。