notes
Tools

エージェント用デバッグループの汎用化

編集→配置→実行→判定→記録→次の変更を機械で回す仕組みを、機体をまたいで使う構成。カーネル + 機体プロファイル + 3 つの契約 (judge / run record / precheck)

要点: 機体非依存のカーネルと、機体ごとのプロファイルに分け、境界は契約 3 つ (judge の出力形式、run 記録の列、precheck の exit code) だけにする。手順はエージェントの記憶でなく MCP tool の一覧から発見できるようにする。

構成#

robot_devkit/                 機体非依存
  watchdog/                   常駐監視 (C++、config yaml 駆動)
  mcp/                        エージェント向け tool (config yaml 駆動)
  kernel/                     run 台帳・verdict ゲート・repeat・summary・restore・incident 骨格
<robot repo>/robot_profile/   機体固有
  profile.yaml                repo パス / unit 名 / 指紋ファイル / bag トピック / 合格式 / script パス
  judge.sh reset.sh ready.sh snapshot.sh
  open_issues.yaml            調査台帳 (封印済みの死に筋を含む)
  runs/results.csv            run 台帳

契約#

  1. judge: 標準出力の最終行 METRICS k=v k=v ...、exit 0 = 合格。合格条件は profile に式で書く (例 delivered==18 and lost==0)。判定の中身 (sim の真値、実機の人手入力、bag 計測) は機体側で差し替える
  2. run record: 固定列 time,script,fingerprint,commit,result,note,verdict + metrics 列 (k=v;k=v)。commit は short HEAD、未コミット差分があれば +dirty とし、差分本体を runs/patches/ に保存する。summary は metrics のキーごとに中央値 [最小, 最大] と n
  3. precheck: exit 0/1 の script。カーネル既定は「直前 run の verdict が書かれているか」。機体側は「アームが home で静止」等を足す。redeploy と run 開始の両方が呼ぶ

エージェント側の規律を tool に固める#

ledger_lookup → 1 変更 → run → run_verdict の順を、MCP tool (run_record / run_verdict / runs_summary / ledger_lookup) として出す。tool の説明文に「いつ呼ぶか」を書く。セッションや PC が変わっても手順が tool 一覧に残る。

汎用化の順番#

  1. 共通 shell の固定値を profile.yaml に抜く
  2. 判定を judge.sh に切り出し METRICS 契約に合わせる
  3. 指標の固定列を metrics 列に戻す
  4. 台帳操作を MCP tool にする
  5. 2 台目の機体の profile を書いて回す

抽象化は 2 台目の利用者が出た時点で行う。1 台目だけで一般化すると、境界の位置を外す。

関連#

最終更新:

On this page