Repository navigation
agentic search distilled body measured equivalent
rules/model/liplus-coding-rule.md の Body States Behavior を適用して本文から理由づけと再掲を剥ぐとき、「振る舞いは変わっていない」という主張は著者の読みに乗っている。読みではなく実測で確定できるか。確定できるなら、剥いだ理由の行き先はどこか。
対象 = skills/model-agentic-search/SKILL.md(layer: L1-model、386 行 22,594 B)。
この 5 問の範囲で、蒸留版は full 版と同じ振る舞いをした。 蒸留単体で 223 行 10,576 B(−12,018 B、−53.2%)。merge される本文は brake 1 の裁定を経て 226 行 10,895 B(−11,699 B、−51.8%)である——落ちていた conduct 行 2 行の復元と、slugify 規約から外れていた semantic tag 5 本の整合で +319 B(下の「brake 1 の裁定で直した分」)。
検証は #1848 で構築した段2構成(ライブ木を複製した一時ディレクトリ + claude -p)で実施した。
- A 腕 = 現行 full 版、B 腕 = 蒸留版。差は
SKILL.md一本のみ - frontmatter は 1 バイト違わず同一。
descriptionが skill 発火の入口であり、ここを動かすと測っているものが「本文の差」でなくなる - hooks 無効化・git remote なし、両腕に同一処理
- 蒸留と probe/判定は別の担当が実施。probe は蒸留版を見る前に元の本文だけから作成した
- 各腕 3 本
| Q1 spins-wheels 抑制 | Q2 work-mode escape | Q3 State C の行動 | Q4 budget | Q5 内部仮説の不一致 | |
|---|---|---|---|---|---|
| A×3 | 検索しない | 検索する | State C / 別系統へ / 同系統再検索は禁止 | soft 9 (1+5+3) / hard 12 | State C / disagree-with-internal
|
| B×3 | 同 | 同 | 同 | 同 | 同 |
全問一致、差ゼロ。
判定は逐語一致ではなく内容の同一性で行う。 蒸留は言い換えを含むため、文言一致を判定基準に置くと行動が同一でも B 腕が必ず負ける。測っているのは出力の文字列ではなく行動の決定である。
Q1・Q2 が判定の主軸。 どちらも時間変動キーワードを含みながら結論が逆になる問いであり、止めているものが domain tag と mode gate で別物である。落とした理由づけの節が実際に行動を支えていたなら、ここで割れたはずである。
副次:
- 同一問で 3 本が完全一致したため、この読み出し軸の揺れの帯はこの条件下で 0
- B 腕の出力は一貫して短い(A 7.1〜8.8 KB / B 5.4〜6.5 KB)。行動は同一で、答えの嵩のみ減少した
- 両腕が同じ箇所で「hard stop 12 の内訳が本文に無い」と申告した。蒸留の欠落ではなく元の本文の穴であり、別 issue 候補
calibration を落とすと内部知識 cutoff の外で confident-sounding な答えへ drift する。category を落とすと時変ファクトに対する overconfidence が素通りする。両 gate を合わせて初めて両クラスの drift が捕まる。primary gate が拾う面は calibration-gap(cutoff の外を自信ありげに答える形)、supporting gate が拾う面は Dunning-Kruger 系(内部知識に cutoff があり世界が動いた形)である。
タスク実行中は、時変キーワード("latest" / "current")が作業材料そのもの(ファイル内容、計画テキスト、ログ行)の中に頻出する。それらは外部解決を要する fact-query ではない。ここで category gate をフル強度で当てると skill がタスク中に過剰発火する。
mode は category gate の強度に対する bias であり、trigger 軸の on/off スイッチではない。誤分類の向きは非対称: work を question と読むと過剰発火(回復可能、コストのみ)、question を work と読むと発火不足であり、escape hatch と常時生きている calibration gate がその向きの回復路である。escape が correctness を守り、damping が取り除くのは偶発的な過剰発火だけで、実在する fact 依存は決して取り除かない。
これらの域では答えが外部の時変 state ではない。翻訳・文法形・数学の導出・論理の一歩には、retrieval が更新できる外部の「現在値」が無い。比較基線と回答源が同じ内部面であるため、retrieval は情報を足さずに空転する。
抑制の射程は category(時変キーワード)gate のみであり、calibration gate には届かない。spin-wheel 域の主張でも内部確信が実際に低ければ、calibration 経路から retrieval(文法リファレンスや spec 節の literal Read 等)が発火する。抑制対象はキーワード駆動の過剰発火であって、低確信発火ではない。
category gate と domain tag の整合: supporting gate が想定しているのは comparison-informative 域、すなわち世界が内部 cutoff の先へ動いた場合である。spin-wheel 域ではキーワードが freshness 信号を運ばない(文法規則に「最新版」は無く、検索が更新するものが無い)。domain suppressor は category gate を、その freshness 前提が成り立つ範囲へ狭めている。
Tier(Block 2)= 選んだ surface の内側での深さの軸(Tier 1 = 下見 / Tier 2 = 多角度)。Stage(Block 4)= Tier 2 の上に乗る escalation の軸(Stage 1 = 同系統再検索 / Stage 2 = 直交系統への複合 escalate)。Block 2 は一つの source をどこまで掘るかを決め、Block 4 はいつ source family を切り替えるかを決める。
一つの retrieval の瞬間に三つの判断が積み重なる: cross-check 評価(Block 3)/ 複合経路の選択(Block 4)/ 停止判断(Block 5)。これらは human へ表面化するときは Character_Instance prefix 付きの対話面、しない場合は内部推論である。
Block 3/4/5 の再掲であるため本文からは落ちた。
trigger 軸の下では内部モデル知識は比較基線であって Web の回答源ではない。内部知識が Web 結果と一致しても、その一致は cross-check 信号であり引用を省く根拠ではない。trigger 軸が発火しなかった場合(普遍的な概念説明、変わりにくい設計原則)は Web 検索が不要で内部知識が直接の回答源になる。trigger 軸が gate であり、Web 側の消費規律はその gate の検索側にのみ適用される。
Internal knowledge role 節と同内容であるため本文からは落ちた。
naive single-shot の RAG 消費は corpus 境界・認識バイアス・整合した誤りで失敗する。だから早い段階で結果が「十分そう」に見えても多角度プロトコルを single-shot へ畳み戻してはならない。Block 3 の cross-check が正規の gate であり、親の直感ではない。
単一環境ではこの skill を代替案に対して benchmark できない。だから比較実験ではなく観測ループを置く。
probe は 5 問である。削除要素のうち Three roles of the judging AI 節・Web 側 baseline reminder・Tier/Stage 説明段落は probe が触れていない。この 3 箇所は「他所に同じ記述がある」という判断に基づく削除であり、実測ではなく読みに乗っている。追加 probe 3 問での検算が別途可能である。
結論は「この 5 問の範囲で、蒸留版は full 版と同じ振る舞いをした」までであり、「蒸留版は full 版と等価である」ではない。
対象は layer: L1-model。skills/evolution-l1-update-gating/SKILL.md の long-horizon observation threshold は AI 単独起案に対する安全装置であり、human が起案した L1 変更では initiation 軸で discharge される。本件は Master の直接指示による起案のため、観測閾値は独立の前提条件とならない。merge gate 側の brake 1(skills/evolution-parallel-agent-eval)は通常どおり適用する。
本文には Judgment record: ポインタが 1 本も立っていない。brake 1 の評価者 3 体が全員、rules/model/liplus-coding-rule.md:39 の
Taking reasoning out with no pointer left behind is prohibited.
に対する違反として独立に検出した。彼らの読みは literal どおりで正しい。
疑われたのは literal のほうである。Master の判断(2026-09-02、dialogue):
「
Judgment record:ポインタはいらない機能だね。」
これを受けて要件撤廃の issue #1852 が起票された。ポインタを足さなかったのはこの判断による。
当初この節に書いていた理由づけ(「足せばこの本文は測定された本文でなくなるため、ポインタ追加は独立の作業単位である」)は撤回する。 規則側に対応する carve-out が無く、規則の literal に対して立たない構成だった。ポインタを足さない結論自体は残ったが、それを支えているのは測定の保全ではなく human の判断である。結論が同じでも、根拠が構成であったことは記録に残す価値がある——同じ形(規則に無い carve-out を自分で組んで、それで literal を跨ぐ)は再発しうる。
要件が疑われた側の観測(#1852 本文より): 理由づけ一件を本文から抜くごとに本文へポインタ一行と wiki へ項目一つが増えるため、本文は痩せるが統治の総量は減らない。rules/model/subtractive-structural-beauty.md が既定を subtraction に寄せろと言っている、その当の既定に対して逆向きの摩擦になっている。
評価者 3 体のうち、以下 2 件は受入とし本文へ適用した。どちらも第 1 周 probe の 5 面(検索可否 / work-mode 減衰 / 矛盾時の再照会 / クエリ上限の内訳 / 内部仮説と外部の食い違い)の外にあり、測定の射程は動かない——これは測定担当の判定である。
-
conduct 行 2 行の脱落(2/3)。
side-by-side compare with naive single-shot consumption when retrospectively visibleとfeed observations into evolution loop observe stageが<observation>から代替行を含めて落ちていた。後者は行動の行き先を名指す行であり、issue #1849 の制約「conduct が変わる行は全て残す」に対する実質的な欠落である。蒸留の判別線が一度滑った箇所であり、probe 5 問はここに触れていないため実測は検出していない。 検出したのは評価者である。 -
semantic tag 5 本の規約不一致(3/3)。
docs/K.-Source-File-Format.mdの tag name 生成規約(heading text の slugify)から外れていた。置換前の本文は 5 本とも準拠しており、蒸留の過程で短縮形へ落ちた。CI 検査は無い。
測定は蒸留の妥当性を全面的には保証しない、という実例がここに立った。 5 問一致は「測った 5 面で差が無い」であって「欠落が無い」ではなく、1 の脱落はその外側で起きている。probe の網の外に判別線の滑りが残ることを、実際の欠陥として観測した。
-
source-body-behavior-only-reasoning-relocatesに depends on — 規則そのもの。本 entry はその二例目の適用であり、規則側は不変 -
parallel-agent-eval-body-carries-behavior-onlyに relates to — 一例目。あちらは著者の読みで剥ぎ、こちらは剥いだ結果を外部 probe で測った。測定を挟んだのは本件が最初 -
agentic-search-five-phase-refactorに relates to — 同一 skill の過去の構造判断。5-phase 再編は責務の再配置であり、本件は再配置後の本文からの理由の剥ぎ取りで、軸が異なる
以下の場合に削除または supersede する:
- 追加 probe による検算が完了し、「測っていない範囲」が閉じた時(本 entry を更新する。削除ではない)
- ポインタ追加後の再測が完了し、ポインタ込みの本文が同じ振る舞いを示した時(「ポインタについての申告」節を畳む)
-
Body States Behavior自体が supersede された時(supersede リンク付きで新エントリを作る)
この 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 の言い直し・位置づけは持たない
- サブエージェント起動の着地点の目安と数値の出典