Skip to content
frontmatter
キー値
specdojo.idprj-0001:pjr-nw9v-agent-comparison-trial
specdojo.typeproject
specdojo.statusready
specdojo.rulebookspecdojo:pjr-rulebook
specdojo.part_ofprj-0001:pjr-index
specdojo.item_typetodo
specdojo.item_statusdone
specdojo.prioritymedium
specdojo.ownerARC
specdojo.registered_at2026-08-26T08:17:39Z
specdojo.due_on2026-10-31
specdojo.completed_at2026-08-26T10:29:53Z
specdojo.conclusionexec trial として新設した。run で同一 plan を複数 agent へ与えて試行し、status で状況を確認、rate で人が判断の質・文章の質・範囲の遵守を1〜5で記入、adopt で1つを採用、discard で破棄する。plan は必須で生成せず、agent 間で指示が揺れない。register の状態遷移には触れず試行が本来のタスクの状態を進めない。worktree とブランチは比較IDと agent 名を含む別系統の命名とし、既存の命名処理は変更していない。客観指標と主観評価は分けて記録する。1回の比較では agent 選定を自動変更せず、繰り返しの証跡が揃った時点で人が pm-members.yaml を更新する方針とした。実地での比較実行は未実施であり、dry-run で動作を確認した。

PJR-NW9V 同一タスクを複数agentで試行し性能を比較できるようにする ​

1. 概要 ​

agent の実力を把握する手段がない。実際のタスクで一度試すしかなく、結果は個別の result に散在して比較できない。同じタスクを worktree を分けて複数の agent で実行し、結果を比較できるようにする。現状は worktree 名とブランチ名が task ID から決まるため同一タスクの並行実行が衝突し、register の状態遷移も1つの実行しか想定していない。比較には同じ plan を与える必要がある点にも配慮する。

2. 完了条件 ​

  • 同一タスクを複数の agent で実行し、それぞれの成果物を独立した worktree に得られる。実行は並行でも逐次でもよい。
  • 比較する agent へ同じ plan を与えられる。plan が実行ごとに生成されると内容が揺れ、agent の差なのか指示の差なのか判別できない。
  • 試行が本来のタスクの状態を進めない。通常の実行と同じ状態遷移を行うと、1つの試行が完了扱いになり残りが実行できない。試行用の扱いを設けるか、状態を進めない実行方法を用意する。
  • 比較のための記録が1か所に集まる。個別の result に散在すると比較できない。
  • 客観的に測れる指標が記録される。所要時間、検証の成否、変更ファイル数、reporter が構造化出力を返せたか、形式リトライの回数などが候補である。何を記録するかは判断してよい。
  • 主観的な評価(判断の質、文章の質、範囲の遵守)を人が記入できる欄がある。これらは自動では測れないため、機械的な指標と分けて扱う。
  • 試行の成果物のうち採用する1つを選び、残りを破棄できる。破棄した試行の記録は残す。
  • 試行結果を agent の選定へ反映する経路が示されている。pm-members.yaml の記述を変えるのか、別の記録に留めるのかを判断し、理由を記録する。
  • npm run typecheck、npm run lint:ts、npm run test:unit、npm run test:integration が成功する。

現状の観測(比較したい内容の例) ​

PJR-0FCT を qwen-expert-executor / qwen-reporter で実行した際の観測である。こうした内容を体系的に集められる状態を目指す。

観点qwen の観測測り方
所要時間1ファイルの規約整理に約53分(codex は実装規模の作業で10〜25分)機械的
判断の質矛盾の構造を正しく理解し、妥当な方式を選択人の評価
範囲の遵守保持すべき固定句を残した人の評価
文章の質同趣旨を繰り返す冗長な記述。推敲を要した人の評価
規約の遵守register build の実行漏れで親検証が失敗機械的
構造化出力reporter が3回とも JSON でなく自然文を返した機械的

判断の質や文章の質は自動では測れず、機械的な指標(時間、検証の成否、形式リトライ回数)とは分けて扱う必要がある。

調査済みの制約 ​

  • worktree 名とブランチ名は task ID から決まる(worktreeNameFromTaskId、ブランチは exec/<worktree名>)。同一タスクを複数 agent で実行すると衝突する。agent 名などを含めた命名が要る。
  • exec run --register は register の状態遷移で実行を追跡する。同一項目に対する複数実行は想定されていない。
  • exec run --plan <path> は既存 plan をその場で実行する(生成しない)。同じ plan を複数 agent へ与える手段として利用できる可能性がある。
  • evidence は evidence/<task>/<run>/ に run 単位で保存されるため、複数試行の証跡は共存できる。PJR-KAQV により reporter 失敗時の生ログも残る。

3. 作業内容 ​

No作業担当状態メモ
1試行の実行方法を設計するARCdoneexec trial runを追加。状態遷移なしでagent別worktree/branchを作る
2同じ plan を複数 agent へ与える手段を用意するARCdone既存planを1回だけ読み、全trialへ同一promptを渡してplan/promptのSHA-256を記録
3比較記録の形式を決め、客観指標と主観評価を分けて記録できるようにするARCdone中央JSONに機械指標を集約し、exec trial rateで人手評価を別フィールドへ記録
4採用と破棄の手順を用意するARCdoneadoptで1trialを統合して残りを破棄、discardで全破棄。記録/evidenceは中央に保持
5試行結果を agent 選定へ反映する経路を決めるARCdone単発結果では自動変更せず、人が反復結果を確認してpm-members.yamlを更新する方針とした

4. 対応結果 ​

specdojo exec trialを追加し、同じplanを2つ以上のagentへ渡す比較試行を、通常のSchedule/registerライフサイクルから分離した。

  • trial runはplanを再生成せず1回だけ読み、全agentへ同一promptを渡す。比較IDとagent名を含むworktree/branchを使うため、同一task IDでも衝突しない。planとpromptのSHA-256および共通base commitを保存する。
  • 比較記録をexecution_path/exec/trials/<comparison-id>/comparison.jsonへ集約した。所要時間、終了コード、試行回数、変更ファイル、検証結果、executor構造化出力、reporter構造化出力・形式試行回数を客観指標として保存し、agent別のredact済みevidence/logも同じディレクトリへ中央保存する。
  • trial rateで判断の質、文章の質、範囲の遵守を1〜5と注記で記録する。自動指標とは別のsubjectiveフィールドに保持する。
  • trial adoptは成功した1trialだけを現在branchへmergeし、ほかのtrial worktree/branchを破棄する。trial discardはどれも採用せず全trialを破棄する。どちらも中央の比較記録とevidenceを削除しない。
  • agent選定は単一trialから自動変更しない。人が複数タスクの客観・主観結果を確認し、傾向が再現した場合にpm-members.yamlのpriority/capabilitiesへ反映する。この方針を各比較記録のagent_selectionにも保存する。
  • CLIの使い方と安全条件をexec運用ガイドおよびコマンドリファレンスへ追記し、比較記録生成のunit testを追加した。

残課題はない。

5. 関連ドキュメント ​