Repository navigation
parallel agent eval distilled to token guide
skills/evolution-parallel-agent-eval/SKILL.md の本体を、Agent Skills 標準の推奨(本体 5,000 トークン未満)に収めるには、振る舞いを変えない蒸留だけで足りるか。足りないなら、残りをどう扱うか。
蒸留だけで −55% まで縮んだ。ただし推奨には約 7% 届かず、その差は受け入れる tradeoff として閉じた。(#1601 / PR #2098。受け入れは 2026-09-26、Master の go による)
| 前 | 後 | |
|---|---|---|
| 本体(frontmatter を除く) | 46,205 B | 21,012 B |
| 旧トークナイザ(claude-haiku-4-5 で実測) | 約 11,170 | 約 5,340 |
| 新トークナイザ(claude-sonnet-5 で実測) | 約 15,500 | 約 7,400 |
トークン数は claude -p --output-format json の入力トークン差分から取った。issue の見積もり(10.9 KB ≈ 2,700 トークン)は旧トークナイザの比率と一致したので、判定には旧トークナイザの数字を使った。新トークナイザは同じ文を約 1.4 倍のトークンに数える。そのため、どちらのトークナイザで測った「5,000」なのかを書かないまま閾値を比べても意味がない。
分割では残りの差は埋まらない。#1601 のコメント(2026-09-25)で決めた退避策は「蒸留で届かなければ brake 1 とそれ以外の評価に分ける」だった。しかし brake 1 以外の経路でしか使われない文は約 700 B(約 180 トークン)しかない。分けると skill が 1 本増え、listing に載る description も 1 本増える。差を埋めずに自由度だけが増えるので、分割は採らなかった。
-
depends on
judgment-record-pointer-requirement-dropped— 理由を抜いた跡にはポインタを置かない。抜いた理由は本 entry に集める。 -
relates to
parallel-agent-eval-body-carries-behavior-only(1 周目、#1845)とparallel-agent-eval-residual-is-restatement(2 周目、#1923)。本 entry は同じファイルの 3 周目にあたる。 -
relates to
parallel-subagent-eval-three-axis-decomposition— N と M が買うもの(variance と coverage)の区別は、あちらが一部を持つ。 -
relates to
brake1-bounded-convergence-loop-on-pr-comments— 3 往復の上限で捨てる欠陥クラスは、あちらの Edges が持つ。本文からは列挙を落とし、見出しWhat the three-round cap gives upだけを残した。
#1601 の項目 2。PR #1600 の分割の後も、この skill だけが推奨を超えていた。2026-09-25、Master の方針は「蒸留して縮められるなら蒸留、無理そうなら分けてもいい」だった。
2 周目の残余の節は「Procedure はステップ番号を固定しているので、文単位でしか縮められない」と見立てていた。3 周目ではステップ番号 1〜9 を固定したまま、Procedure を約 17 KB から約 7 KB まで縮めた。**番号の固定は縮める量の上限ではなかった。**縮んだ分の主体は、節をまたいだ重複だった。
-
ProcedureとConstraintが同じ規則を二度書いていた。対象は、所見の投稿先、却下の最終性、裁定の主体、実測の範囲だけを渡すこと。Constraintのラベルは外部から参照されるので残した。Procedure側は参照に置き換えた。 - spawn の種類の分け方(judge 型 / probe 型、Claude / Codex)が三重に書かれていた。場所は
Implementation Note、step 3、Constraint: Effort floor。Effort floorへ集め、Implementation Noteの節は消した(外部参照が無いことは grep で確認した)。Claude の probe 型が親セッションの effort を上げる文だけは step 3 に残した。skills/task-subagent-spawn/SKILL.mdがそこを「Procedure step 3」として指しているためである。 - Codex の effort 値の対応と、
model_reasoning_effortを toml に書かない禁止は、skills/task-subagent-spawn/SKILL.mdが既に持っている。本文からは落とした。 -
Triggerの箇条書きは frontmatter のdescriptionと同じ内容だった。本文には brake 1 の必須条件だけを残した。 - window mark の引数の説明は、
scripts/window_marker.pyの必須引数と重なっていた。openは必須引数が無ければ動かないので、本文には順序と、拒否されたときの振る舞いだけを残した。
逐語 literal(引用ブロック 15 行)は、前後でバイト単位で同一である。
既存の entry と、他の skill の本文に無いものだけをここに置く。
-
N / M / P がそれぞれ何を買うか。
subagent_count (N)は確率的なばらつきへの頑健性、axes_per_subagent (M)は盲点の被覆、premise_variations (P)は前提の違いへの頑健性を買う。本文には定義と、どういうときにどの型を使うかだけを残した。(brake 1 の round 1 で、軸 B と削除行の確認の両方がこれを指摘した) -
Boundary節にあった関係の説明。-
skills/evolution-loopは observe / evaluate の段でこの方法を呼ぶ。方法の本体はこちらにある。 -
skills/evolution-l1-update-gatingは L1 変更を認可する軸で、この実証の軸とは直交する。L1 のゲートは issue 形成時の観測閾値であって、二本目の brake ではない。 -
rules/evolution/promotion-judgment.mdは観測の積み上げであり、この方法は実装直前の仕様検証である。両者は直交する。 - この方法の spawn は委譲の特殊形である(目的は評価データを集めることで、実装を任せることではない)。
振る舞いとして残ったのは、並列幅の上限の免除一文だけで、これは
Design Dimensionsに移した。 -
-
Claude の probe 型で親の effort を上げる手順を強制するものは無い。 Claude Code には spawn ごとに effort を渡す引数が無いためである。本文には手順だけを残した。
-
**Axis statement form の各部品が「句」である理由。**この形式が固定するのは、軸が何を名指すかであって、どれだけ書くかではない。
-
**no-write を prompt literal に頼る受容の追跡。**再発を merge 後に追えるのは、Self-Evolution Observation Format の entry を持つ PR だけである。entry が無い PR では、merge 後に何も追わない。
-
**step 4 / step 9 の記録の所在。**所見は評価者のコメントに、裁定は著者のコメントに、どちらも PR のスレッドに既にある。eval の記録はスレッドとセルフレビューの上にある。本文には「転記しない」という振る舞いだけを残した。
- 外部から参照される節名、
Procedureのステップ番号、Constraintのラベル、小見出しは変えない。 -
tests/が本文に要求する literal はすべて残す。 - 逐語 literal はバイト単位で同一にする。
採った案は、蒸留したうえで約 5,340 トークンでの超過を受け入れる案。退けた案は二つ。
- 分割:差を埋めず、skill が 1 本増える。
- 本文の振る舞いまで削って 5,000 に届かせる:蒸留の前提(振る舞いを変えない)を破る。
- issue #1601、PR #2098
-
rules/model/liplus-coding-rule.mdBody States Behavior
この Wiki は、Li+ に基づく開発・運用を支えるための情報整理空間です。
数字で始まるページは、 Li+プログラムの各レイヤーの仕様を定義するページです。
- 要求(何を満たすか)と仕様(どう振る舞うか)を一体として記述する
- 実装前に作成または更新する
- issue群から採用された要件を集約する
これらのページは 安定性と一貫性を重視して管理されます。
アルファベットで始まるページは、 Li+の構想・設定・導入手順などの参照用ページです。
- 設計思想・背景
- 設定リファレンス・インストール手順
これらのページは 必要に応じて更新・拡張されます。
リポジトリ内の rules/**/*.md(L1–L4 の常時ロード分、subdir 含む)、skills/**/SKILL.md(トリガー起動分)、adapter/claude/CLAUDE.md、adapter/claude/hooks-settings.md、adapter/claude/hooks/*.sh、adapter/codex/AGENTS.md、およびルート直下の Li+config.md、Li+update.md は、
AIやランタイムが直接読む実行用プログラム / 定義ファイルです。
-
docs/は人間向けの仕様書・要求仕様・手順書 -
rules/,skills/および adapter / update は実行時に読み込まれる本体
両者は対応しているが、役割は同じではない。
Home | 1. Model | 2. Evolution | 3. Task | 4. Operations | A. Concept
要求仕様書 (1-6)
参考文書 (A-L)
- A. Concept
- B. Configuration
- C. Update
- D. Installation
- DiDD(対話駆動開発)
- E. Li+ language
- F. Behavior-First
- G. Sheepdog Engineering
- H. Roles and Evaluation
- K. Source File Format
- L. Hop Count Instrument
判断構造
- Decision Structure
- layer reorg rationale
- github app user-to-server token expiration
- sheepdog engineering concept
- prerelease tag recovery procedure
- release flip drift patterns
- Li+ long-term vision (feedback only)
- Master role as client-architect
- current architecture as concession
- Li+ license Apache-2.0 rationale
- Character_Instance evolution history
- prompt as emotion vector controller
- agentic-search five-phase refactor
- Character_Instance output-styles migration
- Li+ lightening L1 gate override
- subagent state-machine label mechanism
- LSP integration out of scope
- Character_Instance opt-in and surface scope
- parallel-subagent-eval three-axis decomposition
- parallel-subagent-eval cost acceptance
- parallel-subagent-eval model floor
- release version rule always-on relocation
- bootstrap walkthrough skip and gh install relocation
- wiki sync sidebar integrity check
- decision structure rename rationale
- decision structure industry positioning
- subtractive structural beauty framing
- Li+ authorship is collaborative
- Li+ design intent vs current limit
- Li+ history is empirical
- Master verification at runtime not spec
- rules cache fetch address table
- dialogue-evaluator scoring redesign
- Li+ always-on footprint is load-bearing
- DiDD umbrella naming
- milestone subsystem removal
- L1 brake 2 root-criteria evaluator
- Hook-driven gate trigger
- ゲート適用漏れは強制より先に測る
- dynamic-workflows non-adoption
- ACE context-engineering non-adoption
- memory GraphRAG SQLite exploration
- Li+ context-rot tension
- Li+ structure as retrieval surface
- 常時ロード分の重複を削る向き
- Li+ evaluation criterion
- Li+ self-evolution lineage
- Li+ judgment-learning telos
- Sheepdog Engineering publish intent
- Implementation always delegated
- brake evaluator baseline integrity
- brake1 single-round cap
- brake1 の再実行可否は監査内容で決める
- brake 指摘の裁定を再開した著者が持つ
- brake1 の発火条件を基準で閉じる
- skill の発火条件は description 内に置く
- subagent parallel-width cap
- brake1 operational-copy target-conditional
- brake1 findings は親を経由する
- brake1 の per-draft 軸を 2 本に固定する
- brake 2 の DEVIATION を人間が上書きする
- wiki sync code-notation strip
- wiki sync drift-targeted mirror
- decision structure writer surface activation
- decision structure state-form edge binding
- Neuron Graph RAG integrated prototype
- issue 完了条件フィールドの射程
- body 節と description の被覆ずれの解き方
- グラフエンジニアリング非採用
- Li+ の配布形式は GitHub 直配布
- 配布される source に config の解決値を書かない
- ルールは基準を持ち、来歴は git に置く
- 人間と AI の関係条項を absolute.md に置く
- 来歴を預けた retrieval 面が実際に答えるか
- 存在側の欠陥は空欄ラベルの可視性に届かない
- brake 2 の判定対象は変更の内容
- エージェント定義の判定基準を sentinel 区画で所有
- brake 2 を廃し L1 のゲートを brake 1 へ一本化
- 多セッションが効くのは入力が変わるとき
- source 本文は振る舞いのみ、理由は移設
- parallel-agent-eval 本文は振る舞いのみ
- agentic-search 蒸留版は full と同等(実測)
- 読みの除去テストが通した削除を実測が差し戻した
- brake1 の評価者数の床を N=1 へ
- Judgment record ポインタ要件を撤廃
- brake1 を上限 3 往復の収束ループへ
- 受け皿より先に縮んだ検出幅の窓を閉じる
- issue constraints の「対象ではない」は宣言
- クローン同一性は remote で解決
- tally は機構の名前の下に置く
- config 値比較は厳格に、外れた値は名指し
- webhook 到着通知の消去は確認を伴う
- 検索性能比較コーパスは既存リポジトリ内の path で隔離する
- MSYS のパス変換は argv だけに効く
- 観測不能な主張は書き手を替えても記録にならない
- parallel-agent-eval の 1 周目の跡に残っていたのは再掲
- 実装委譲エージェントに定義ファイルを与え effort を固定
- cold-start diff-only 状態は agent key でパーティション分割
- 観測不能の宣告はホストの母集団に対する主張
- 検出器は到達可能な位置にあって初めて検出器である
- ランタイムの rules はタグへ解決する
- 記録面の除外は読み直しで捕まる行にだけ成り立つ
- 再開プロンプトの注入項目は基準で閉じる
- 委譲プロンプトが運ぶのは境界であって手順ではない
- 規則の効きの実測の各条件は観測された失敗の上に置かれている
- parallel-agent-eval は蒸留で約 5,340 トークン、残りの超過は受容
- brake 1 の往復上限を撤廃し、同じ指摘の再発を人間へ上げる
- rules/evolution と rules/task の本文は振る舞いのみ
- rules/operations と adapter の本文は振る舞いのみ
- rules/model(L1)の本文は振る舞いのみ
- main-agent-procedures の常時ロード本文はメインの運用場面で行いを決める文のみ
- cold-start-synthesis の本文は振る舞いのみ、フックの仕様は docs へ
- initiator-autonomy の常時ロード本文は振る舞いのみ、tests の散文規則は skill へ
- operations.md の常時ロード本文は振る舞いのみ、索引と label 辞書の写しは持たない
- memory-entry-format.md の常時ロード本文は書式と保守のみ、observation 手順は skill へ
- promotion-judgment の常時ロード本文は振る舞いのみ、軸の関係の説明は docs へ
- execution-mode.md の常時ロード本文は、マトリクスを言い直さず、他の常時ロード面の写しも持たない
- task.md の常時ロード本文は issue とラベルの行いだけを持ち、写しと層の説明は持たない
- main-agent-procedures の場面に限られる手順は、名指しが届く skill へ
- evolution.md の常時ロード本文は振る舞いのみ、レイヤーの位置づけと他面の写しは持たない
- operations.md の場面に限られる節は、名指しが届く skill へ
- CLAUDE.md の常時ロード本文は振る舞いのみ、位置づけ・読込の説明・常時ロード面の写しは持たない
- initiator-autonomy の場面に限られる記述は、brake 1 の skill へ
- skill description の詰めは、場面を狭めない句だけを切る
- L1 の 5 本の 2 周目は内側の写しと位置づけの説明を外し、書く規律は常時ロードに残す
- subtractive-structural-beauty と trigger-check-gate の常時ロード本文は振る舞いのみ、言い直し・位置づけ・他所の再掲は持たない
- absolute.md の常時ロード本文は振る舞いのみ、Name prefix scope の言い直し・位置づけは持たない
- サブエージェント起動の着地点の目安と数値の出典