parallel subagent eval model floor - Liplus-Project/liplus-language GitHub Wiki

parallel-subagent-eval model floor

Question

brake 1 (parallel-subagent-eval) の評価品質の床(評価者のモデル能力)をどう保証するか。専用 custom agent を用意すべきか。

Current resolution

床は per-call で固定する。brake 評価者(brake 1 / brake 2)の spawn ごとに Agent ツールの model パラメータを明示指定する(暗黙の親モデル継承は禁止)。床かつ既定 = sonnet。上位クラス(opus / fable)の明示指定は許容するが既定ではない。haiku は床未満として禁止。 custom-agent frontmatter model: ピン留めは不採用。

brake 以外の spawn は model を省略して親モデルを継承する(#1554 の用途二分)。親のモデル ID を literal で書くことはしない。

床の値は #1532 で opus 級から sonnet 級へ引き下げられ、#1482 の opus 級床を supersede した。per-call 明示指定・暗黙継承禁止・frontmatter 非使用の三点は、床の値とは独立した設計判断として維持されている。

Edges

  • supersedes: #1482 の opus 級床決定。同一エントリ内で値のみ更新し、方式(per-call 明示指定)は不変。
  • supersedes: #1532 の「全区分が同一の sonnet 床を共有し、区分ごとの例外を置かない」という一律適用。#1554 が用途で二分し、床の明示指定は brake 評価者のみに縮小された。床の値そのものは不変。
  • depends on parallel-subagent-eval three-axis decomposition — N/M/P の spawn 設計を前提に、per-spawn のモデル品質制約を直交軸として追加する判断。
  • depends on brake1 single-round cap — #1554 の用途二分は「評価者側にトークン質量が乗っている」という観測から出ているが、その質量の内訳(N=3 × ラウンド数)のラウンド数側を #1563 が 1 に固定した。下記「用途二分の根拠」を参照。

Background

第一段階(#1482、2026-06-12): spawn 手順にモデル指定が無い構造では親セッションのモデルを暗黙継承するため、親が sub-opus (sonnet / haiku) で動く session では評価床が静かに下がる穴があった。per-call 明示指定 + opus 級床で塞いだ。

第二段階(#1532、2026-07-25): サブスクリプションプラン変更によりトークン予算が縮小。判断層(親)を Opus に保ったまま、サブエージェントを全て Sonnet に落とす方針を Master が決定。根拠は実運用観測 — Li+ 全体を Sonnet で運用した期間に regression が観測されておらず、かつ当該期間は親モデルも Sonnet であったため brake 1 の実効床は既に Sonnet に下がっていた。すなわち「床を下げた状態」の実地データが判断に先行して存在していた。

第三段階(#1554)— 用途二分: #1532 の一律適用は、床を固定する必要のない一般委譲まで巻き添えにしていた。実測でトークン質量は評価者側に偏っている。PR #1550 / #1551 では brake 1 評価者 21 体で約 2.6M トークン、実装 subagent 2 体で約 0.4M トークン。その 21 体は sonnet 床のまま検出力を保っており(各ラウンドが実欠陥を出し、うち数件は親が独力で到達していなかった)、床を上げる側の根拠は出ていない。

したがって「評価者は床を固定、実装側は親を継ぐ」へ二分した。当時の評価者数は N=3 × ラウンド数 でラウンド数は欠陥駆動だったが、#1563 が brake 1 を1巡へ固定したため現在は N=3 × 1 で固定である。機構は変わったが順序関係は保たれる — 再検証ラウンドが無い以上、一度修正されたきり再検証されない draft がそのまま出荷されるので、結果を動かす変数は実装者の階層のほうであり、評価者側の乗数は単価が固定になる。

親セッションの階層は本方針のスコープ外

#1532 の初期文面は親セッションに opus 級を要求していた。これは未検証の記述であり、docs/A.-Concept.md / README.md が定める最低動作環境(Sonnet 4.6 相当)と矛盾していた。PR #1533 の brake 1 最終ラウンドで「親の階層は本変更のスコープ外」という記述へ訂正し、docs 参照のみを残した。本方針は subagent の spawn パラメータを規定するものであって、親の動作環境を引き上げるものではない。

Constraints

  • 本スキルの subagent には judge 型(軸質問に答える評価者)と probe 型(素の subagent の現在挙動そのものが観測対象)が混在する。
  • custom-agent file の body は subagent の system prompt = identity を置換するため、probe 型の観測対象を変質させる。per-call model パラメータは context / identity 面を一切変えない。この非対称が方式選択の根拠であり、床の値が変わっても不変。
  • Claude Code の Agent ツールに per-call model パラメータが存在する(省略 = 親継承)。非対応ホストでは床未満 session で brake 1 を満たせない(床を満たす session から実行)。
  • N=3 の評価者数下限は本判断と直交する。#1296 の実証根拠は sample count の軸であってモデル階層の軸ではない。床を下げても数は下げない。

網羅性の確認(4区分が漏れていないことの根拠)

規則が「brake 評価者は明示、それ以外は省略」という二分である以上、model を横取りしうるファイルが他に無いことを一度証明しておく必要がある。証明は本エントリ側に置き、仕様本文には区分の名前だけを残す。

Agent ツールで spawn される区分は4つで、内訳は2種類に分かれる。

ファイルを持つ2区分adapter/*/agents/* の実地列挙で網羅を確認した。存在するのは l1-gate-eval(brake 2)と dialogue-evaluator の2つのみで、それぞれ claudecodex へ port されている。#1532 の修正時にディレクトリ列挙で確認し、#1554 で再確認した。どちらの定義ファイルにも model: キーは無いため、dialogue-evaluator 側の省略は Agent ツールの既定どおり親継承へ解決する。

ファイルを持たない2区分 — brake 1 評価者と一般委譲。どちらの組み込み subagent type として spawn されても、model パラメータを横取りしうる定義ファイルが存在しない。したがって「省略すれば親継承」「明示すればその値」が例外なく成立する。

.github/scripts/liplus_discussions_agent.py(Discussions intake bot)は GitHub Actions から Anthropic API を直接叩く別経路であり、Li+ セッションから Agent ツールで spawn されるものではない。本方針のスコープ外。

dialogue-evaluator は #1533 のラウンド4まで4区分目として漏れており、brake 1 の指摘で追加された。網羅性を本エントリに固定しているのはこの取りこぼしを受けての措置である。

Conclusion

  • 採用 = brake 評価者に対する per-call 明示指定 + sonnet 級床 + 上位クラス許容(既定ではない)。brake 以外は model 省略で親継承(#1554)。
  • 不採用 = custom-agent frontmatter model: ピン留め。judge / probe 混在が理由であり、judge 型専用エージェントとしての将来採用までは否定しない。
  • 床引き下げの検証は、引き下げ後の床(sonnet 評価者 N=3)を先取り適用して実施した。3ラウンドを要し、軸2(陳腐化参照)で 3/3 一致、軸4(幅上限の recall 依存)で 3/3 一致の指摘が出ている。sonnet 評価者が Li+ 自身のルール(rules/model/subtractive-structural-beauty.md の procedure-vs-structure 条項)を引いて構造的弱点を指摘した点が、床引き下げ判断に対する実地の裏付けとなっている。
  • 残余: 最終ラウンドの修正後に brake 1 を再実行していない(Master 判断による deviation)。post-merge 2週間観測に回している。

Related