-
-
Notifications
You must be signed in to change notification settings - Fork 0
implementation always delegated
親エージェントが自分で実装コードを書いてよいか。書いてよいなら、委譲との切り分けは何を基準にするか。
実装は常に subagent へ委譲する。親は実装しない。 適用範囲は Li+ 全体(LI_PLUS_REPO の自己進化 PR も、USER_REPO<N> のユーザーリポジトリも同じ)。差分の大きさによる例外を置かない。
親が保持するのは委譲の判断、brake 1 / brake 2 の判定、セルフレビュー、マージ判断。委譲された subagent は skills/operations-on-pr-review/SKILL.md の停止条件どおり PR open + CI green で停止して報告し、そこから先は親が持つ。
判断軸は規則の単純さ。条件分岐を持つ規則は適用の瞬間に判断を要求し、その判断が毎回その場の感覚に落ちる。
-
depends on
parallel-subagent-eval-model-floor— 一般委譲がmodelを省略して親モデルを継承する方針(#1554)が前提。実装が常に委譲になると実装者のモデル階層が全 PR の品質に効くため、この方針が変われば本判断の前提も変わる -
depends on
brake1-single-round-cap— 1巡制限下では初回実装の質がそのまま出荷品質に効く。実装者を固定することは、その変数を一定に保つ側の判断にあたる - conflicts with (現時点で対立 entry なし)
PR #1581(#1575、300行超・3実装 + docs + test)を親が直接実装したことが起点。判断の瞬間に「小規模だから」「文脈が既に手元にあるから」という理由で委譲を省いており、その基準が明文化されていなかった。
結果として brake 1 を commit 前に実行することになり、評価者3体へ生きた working tree を渡した。評価者Aが mutation test でソースを差し戻した最中に評価者Cが走り、Cは存在しない flakiness を実欠陥候補として報告した(memory/promotion_tally.md の cluster brake1-evaluation-baseline-not-isolated)。
AI 側は当初「親実装は単一 issue の直列作業では正当」と推奨しており、根拠は3点だった。いずれも Master が聞いた上で、規則の単純さを優先する判断が下されている。
| AI 側の論拠 | 実測 |
|---|---|
| 差分サイズは基準にならない | 1行が load-bearing だった実例(#1556/PR #1557、リリースを止めた実物の broken link 2箇所)と、300行超が大半定型だった実例(PR #1581)が併存 |
| トークン軸は委譲の根拠として弱い | 高いのは実装でなく brake 1。#1554 の実測で評価者21体 ≈260万 / 実装2体 ≈40万。PR #1581 は評価者3体 ≈65.8万 |
| 親コンテキストの節約は半分しか成立しない | 親は brake 1 判定・セルフレビュー・マージを保持するため、判定時に同じ文脈を報告から組み直す必要がある |
- 親は判定時に文脈を組み直す。 実装時に持たない代わりに、brake 1 の指摘を裁く時点で報告から再構成する。組み直しは劣化コピーであり、この損失は受容済み。
- 小規模変更でも委譲プロンプトの作成コストが乗る。 1ファイル1行の変更でも例外を置かない。例外条項を置けば適用の瞬間に判断が要求され、それが単純さを崩すため。
- 委譲プロンプトが新しい汚染面になる。 親のプロンプト記述の誤りがそのまま評価・実装の前提になる実例が3件記録されている(#1557 = 解決集合の条件が仕様より狭い / #1560 = 古い ref の diff を渡した / #1561 = title の ASCII 制約を body まで拡張し、repository governance と衝突)。実装委譲が必須化すると、この面を通る回数が増える。
委譲プロンプト内の成果物例は、例文であることを理由に独立した ASCII-only category へ入れない。issue / PR / commit のタイトル例は ASCII 英語のみとし、body 例は対象成果物の governing language contract で解決する。
body 言語の解決順は、対象成果物への human 明示指示、thread で受容済みの合意、対象 repository / workspace の project-language default。これらと別に対象 repository 固有の governance を同時に満たす。host workspace の言語契約は LI_PLUS_REPO governance を上書きせず、liplus-language の issue / PR / commit body は日本語要件を保持する。
byte-level の ASCII 検証はタイトル field に限定する。body は well-formed UTF-8 と mojibake なく表示されることを検証する。却下した経路は、title と body を一つの ASCII-only clause に束ねること、および body を bare な LI_PLUS_PROJECT_LANGUAGE だけへ無条件に固定すること。
著者と判定者が分離する。 親が著者だと brake 1 の判定が内側からの判定になる。PR #1581 で親は自分の書いたコードについて評価者指摘を裁き、1件(${VAR:-unset} と literal unset 設定の衝突、1/3)を却下した。判定だったのか防衛だったのかは内側から分離できず、skills/evolution-parallel-agent-eval 自身が前提にしている introspection gap が判定側に残る形だった。
AI 側はこれを「観測して決める項目」として提案していたが、常時委譲の採用により観測対象そのものが消えた(比較の片腕が無くなるため)。分離は決定の理由ではなく結果として得られる。
- #1582 — brake 1 / brake 2 を CI green 後へ固定し、委譲の停止条件へ接続する(本判断の実装先)
- #1575 / PR #1581 — 親実装の実例、および汚染の観測元
- #1561 / PR #1622 — 汚染面の言語境界を title / body の field 契約へ分離した実装
-
skills/task-subagent-delegation/SKILL.md— 委譲の意味論(何を渡し、親が何を保持するか) -
skills/task-subagent-prompt/SKILL.md— 委譲プロンプト内の成果物言語と検証方法 -
skills/operations-on-pr-review/SKILL.md— 停止条件(auto/semi_autoの subagent は PR open + CI green で停止)
この 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-K)
- 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
判断構造
- 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
- skill の発火条件は description 内に置く
- subagent parallel-width cap
- brake1 operational-copy target-conditional
- 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 完了条件フィールドの射程