電子パッチ minimal spec v0.1 (STEP 1482)
この spec の 前提認諾 (chat-Claude 3 分割 + 天井、 100% 認諾):
- ✅ 重みは変わらない = 推論と学習は 別工程、 会話ごとに 独立
- ✅ 会話内挙動 は 変わる = 手順の遵守 / 出力形式 / 飛ばさせない制御 は 実際に効く
- ✅ ガードレール は 外れない = 貼付テキスト は system-level 指示より 権限低い層
- ⚠️ 天井: 新しい能力を install できない = 並べ替えて 出やすくしている だけ、 数学ができない model に 証明を 書かせる パッチは 書けない
電子パッチ とは
チャット (LLM 会話) に 投入するテキストブロック で、 相手 LLM が 決まった手順どおりに 動き出すもの。 chat-Claude 定義:
「普通のプロンプトは お願いなので、 LLM ごと・実行ごとに ブレます。 ブレを潰すには、 自然言語の依頼ではなく 実行可能な仕様の形 にする必要があります。 具体的には、 状態と遷移の明示 (今どのステップか、 次に何をするか)、 入出力の契約 (受け取る形式と 返す形式の 固定)、 禁止事項の明示 (勝手に先へ進まない、 勝手に解答を出さない)、 そして 出力前の自己検証ステップ。 要するに、 LLMを抽象機械と見なして、 その上で走る小さなプログラムを書く ことになります。」
3 form (同じ原理、 貼付先が異なるだけ)
| form | 貼付先 | 永続性 | 効き | 例 |
|---|---|---|---|---|
| A Portable text block | 任意 LLM チャット (ChatGPT / Claude web / Gemini) | 会話単位 | 中 (指示の風化あり) | ユーザーが 教材開始時に 1 度貼付 |
| B Claude Code Skill | .claude/skills/<name>.md |
Skill invocation 単位 | 高 (/skill-name で 明示発火) |
STEP 1472 Collatz Descent Skill v0.1 (藤本さん自作) |
| C CLAUDE.md snippet | project の CLAUDE.md |
Session 全体 (auto-load) | 高 (常駐、 但し context 消費) | Rei-AIOS CLAUDE.md の 「セッション開始時の自動チェック」 |
5 必須要素 (chat-Claude 分析 に 基づく)
- 状態と遷移の明示 — 今どのステップか、 次に何をするか (state / transition rule)
- 入出力の契約 — 受け取る形式 と 返す形式の 固定 (I/O contract)
- 禁止事項の明示 — 勝手に先へ進まない、 勝手に解答を出さない (prohibitions)
- 出力前の 自己検証 ステップ — 発話前に self-check、 通らなければ retry or 停止宣言 (self-verify)
- 形式マーカー — 毎ターン state を 自己申告させる 固定 marker (例:
[state: awaiting_user_input])
効きを 上げる 5 技法 (chat-Claude 技法 + Rei stack 実装知)
- 短く 番号付き — 冗長 = LLM が prioritize しにくい
- 禁止事項を 明示 — 「〜しない」 を positive 側 「〜する」 と 並置
- 毎ターン state を 自己申告 — 「返答冒頭に
[state: <X>]を 書く」 = drift 早期検知 - 出力に 固定 marker を 埋める —
<END_OF_SECTION>で 締める = 途中省略を 構造的に 検出 - エスカレーション句 — 「判断に迷ったら 停止して 質問を返せ、 勝手に決めるな」
失敗モード (patch 設計時に 想定すべき 3 パターン)
| 名前 | 症状 | 対策 |
|---|---|---|
| Drift (指示の風化) | 5-10 turn 後 に state 忘れ、 flow が 崩れる | 毎ターン state 自己申告 + 定期 checkpoint 再送 |
| Dilution (雑談混入) | user が 雑談を 挟むと、 patch state を 失う | 「patch scope 外の 質問には 明示的に defer」 の 禁止事項 embed |
| Obedience gaming (機械的服従) | 形式マーカーは 埋めるが、 中身は 期待と 違う | self-verify step で 「マーカー内容と 実質 一致 か 自己検査」 |
3 example patch (Rei stack discipline を 独立 chat で 再現)
Example 01: Turn-structure patch (数学問題 N turn 段階解答)
1 問の数学問題を 5 step で 段階的に 解かせる。 LLM が 「勝手に完全解答を 出す」 のを 防ぐ。 self-explanation prompting (STEP 1474 rei-scout finding) 効果を LLM 側で reproduce。
Example 02: Extract-only patch (chat-log 数式抽出 のみ、 生成しない)
chat-log を LLM に 食わせて 「書かれた 数式のみ」 を 拾わせる。 「もっとも らしい」 補完・生成を 禁止。 STEP 1473/1476 chat-log math extract 「抽出のみ、 生成なし」 discipline を 独立 chat で reproduce。
Example 03: Honest scope patch (発言に 必ず honest scope を 付加)
LLM の 全発言 末尾に 「## Honest scope」 節 (claim / evidence / guarantee / limit) を 強制。 「世界唯一」 「世界初」 等 absolute claim を 禁止。 [[feedback-world-uniqueness-claim-controllable]] discipline を 独立 chat で reproduce。
Rei stack 既存実装 との mapping
| Rei stack asset | form | STEP |
|---|---|---|
| Rei-AIOS CLAUDE.md | C | base (常駐) |
| Collatz Descent Skill v0.1 | B | STEP 1472 (藤本さん自作) |
| memory system (inbox pattern) | C 内 protocol | STEP 1414+ |
| outbox pattern (chatClaude baton) | A (canvas 保存) | STEP 1362 |
| CHECKER_SPEC_v0 判定経路 LLM 除外 discipline | 電子パッチ型 (spec = 判定機械 設計図) | STEP 1364 |
| rei-preregister v0.1 「グリーン ≠ 検証済み」 | 電子パッチ型 (事前登録 discipline embed) | STEP 1359 |
Honest scope
- guarantee: spec + 3 example = 「工学的信頼性」 の 域 (chat-Claude 天井 遵守)、 状態 / 遷移 / I/O / 禁止 / 自己検証 の 5 要素で patch drift の 早期検知 は 可能
- limit:
- 決定性 100% には 届かない (会話長 = 効き薄れる = 指示の風化)
- 「新しい能力 install」 は 不可能 (chat-Claude 天井)
- 「危険防止 layer 突破」 は 対応外 (安全設計 preserve)
- 「効き」 の 定量測定 は 別 STEP (skill-fire-rate 拡張 = STEP 1483)
- form B/C の Claude Code CLI 前提部分 は form A に 完全移植 不可 (runtime metric は Claude Code 側でしか 測れない)