# 学習日報 2026-07-28 yt-learn 20:35

## 概要
`/yt-learn` に YouTube URL 11本を個別投入。**8件のLLM Wikiエントリを追加**(重複トピック3本は1ページに統合)。Anthropic 公式ブログ「The new rules of context engineering for Claude 5 generation models」を扱った動画が3本あり、**同じ結論に独立到達**していたため信頼度が高いと判断し実装まで進めた。

---

## 今日学んだこと(YouTube)

### A. コンテキストエンジニアリング(今日の主題・実装済み)

**Anthropic は自社 Claude Code のシステムプロンプトを8割以上削除しても社内評価が落ちなかった。** 原因は量ではなく **1リクエスト内での指示の矛盾**(「必要に応じてドキュメントを残せ」vs「コメントを書くな」がシステムプロンプト・スキル・ユーザー依頼から同時に飛ぶ)。Claude は意図を汲んで正解に近づくが、**矛盾を解くために余計に考える**。

公式が挙げた6つの変化:
1. 禁止の列挙 → **判断基準1個**(事故を塞ぐ禁止は残す価値がある)
2. Few-shot → **インターフェース設計**(例示は新世代では探索の幅を狭める)
3. 全部先出し → **段階的開示**(ツリー構造にする)
4. **同じことを2回書かない**(旧モデルは末尾の指示に強く従ったので繰り返しが必要だった)
5. **CLAUDE.md を記憶の置き場にしない**(自動メモリへ。ただし作業ログを md/HTML に残す運用は否定されていない)
6. 仕様書は Markdown でなくてよい(**評価基準の表を HTML で渡して検証役AIに照らさせる**のが有効)

れん学長の実測が決定的だった: **CLAUDE.md を147個→16個(131個削除)にしても削減0トークン。** CLAUDE.md は作業中フォルダとその親を辿ってしか読まれないため、遠くのファイルは元から載っていない。効いたのは**スキルの description**(554tok)と重複ルールの統合(653tok)のみ。

別チャンネル(AI搭載ラジオ)の48回ブラインド実験(30勝2敗)も「厚さでなく**あなた固有の情報**が効く」と同じ結論。

### B. Opus 5 の性質とモデル使い分け

- **Opus 5 は言われなくても自分で検証する**。「コンテキストフレッシュのサブエージェントでレビューさせろ」系の強制指示は**もはや天井になる**ので削る
- **応答の長さは effort では縮まない。プロンプトで直接指定する**(会話/作業実況/成果物の3種を分けて)
- Thinking がデフォルトON。切れるのは effort=high 以下だけで、**切るとツール命令や内部タグが漏れる**
- **スキルごとに effort を設定する**のが Opus 5 世代の主戦場(low は速く安く十分賢い、ループは xhigh)
- Opus 5 はサブエージェントを積極的に召喚するのでコストを気にするなら同時実行数の上限を設定
- 指示追従性が上がった副作用: 「控えめに」と書くと**文字通り受け取ってあまり報告しなくなる**
- 使い分け: **監督・すり合わせ=Fable 5 / 収束フェーズ=Opus 5 の ultracode**。ベンチマークは賢さを測るがメタ認知・目標ドリフトは測れない
- **人間の注意力が真のボトルネック**(Mac 7台あっても常時回せるのは5台が限界)。注意力資源を巻き取るモデルに課金する=時間をお金で買う

### C. ハーネス設計

- **ループエンジニアリング → グラフエンジニアリング**: 差し戻し先・エスカレーション先・打ち切り条件・受け渡し様式を決めるとループはグラフになる
- **ルータースキル方式**: AIに持たせるスキルを1つだけにし、階層フォルダへ隔離。スキルが100〜300個規模で破綻するのを防ぐ。各フォルダの README は3種の情報だけ(役割/共通ルール/環境依存の制約)

### D. Opus 5 リリース情報(要一次情報確認)

価格据え置き($5/$25、Fable 5 の半額)・知識カットオフ2026年5月・ARC-AGI-3 で次点の3倍・OSWorld 2.0 で Fable 5 超えかつコスト1/3。**ただし全て Anthropic 自社測定の二次情報**。弱点として業務ワークフロー系は26%、外部検証ではコードレビューの「役に立つ指摘」は約4割、長時間の複雑な計画は依然 Fable 5 が上との声。

### E. 対象外に近い扱い

- Cognee(Claude Code に永続メモリを足すOSS)— **スポンサー動画**。当環境は LLM Wiki + auto-memory で機能が重複し、クラウド版はセッション内容が外部送信されるため導入保留

---

## 今日実装したもの(Issue #303 / PR #305)

| ファイル | 変更内容 |
|--------|---------|
| `~/.claude/tools/measure_context.py` | **新規**。毎ターン必ず載るものだけを数える。常時注入とスキルdescriptionを分離、`.mt-owned`(ベンダー所有)を編集不可と明示 |
| `~/.claude/tools/trends.py` | `MAX_BYTES=6_000` を追加し `prune()` を行数+バイト数の両方で切る。`compact` サブコマンド追加。`stats()` に `bytes` 追加 |
| `~/.claude/CLAUDE.md` | メタ認知4行+「禁止10個より判断基準1個」を**足した上で**、二重記述(検証なし完了宣言禁止 / Reactive Coding)を削除。98行(<100制約維持) |
| `~/.claude/rules/trends.md` | compact 実行で 7,581B → 3,182B。今回の学習エントリ追記後 4,168B |
| `memory/instinct-context-cost-measured-in-bytes-not-files.md` | **新規**。ファイル数でなくバイト数で測る instinct |

### 見つかった穴

`rules/trends.md` は **100行キャップを守ったまま 7,581B まで膨張**し、常時注入枠の35%を1ファイルが占めていた。1エントリが1,948字(X Learn の多クエリ集約が10投稿分を貼っていた)。**行数で切った境界はバイト数を守れない** — [[instinct-length-boundary-is-not-inspection-boundary]] と同型の穴が別の物差しで再発した。

### 検証結果

```
prune() 単体検証 : バイトキャップが効く / 行数キャップ健在 / 余計な取りこぼしなし
trends.py compact: 7,581B → 3,182B
measure_context : rc=0(20,000B 閾値以下)
CLAUDE.md : 98行 < 100

毎ターン固定コスト: 14,525 tok → 12,434 tok(-2,091 / -14%)
※メタ認知4行を「足した上で」の削減
```

---

## 未実装アクションアイテム(優先順)

| # | 内容 | 段 | 備考 |
|---|------|----|------|
| 1 | スキル定義に `effort` を明示(軽い用途は low/medium、ループは xhigh) | 段1→3 | Opus 5 世代で最も効くとされる。37スキル全部は不要、頻用のものから |
| 2 | スキル内の Few-shot が探索を狭めていないか点検し、制約/インターフェース設計に置換 | 段3 | yt-learn の「環境設計7技」に Few-shot 推奨があり公式見解と矛盾している |
| 3 | サブエージェント同時実行数の上限をハーネスに書く | 段1 | Opus 5 は積極的に召喚する |
| 4 | 評価基準を HTML で渡して検証役AIに照らさせる運用を試す | 段2 | 公式が「Markdown でなくてよい」と明示 |
| 5 | `mulmoterminal-config` の description 1,590字(全体の20%) | 段0 | `.mt-owned` によりベンダー管理。**編集しない**(次回更新で上書きされる)。上流にフィードバックする道はある |
| 6 | Cognee のローカルインストール版を LLM Wiki と比較評価 | 段0 | クラウド版は外部送信のため機密リポジトリでは採用不可 |

---

## LLM Wiki エントリ一覧(本セッション追加)

| id | タイトル | タグ |
|----|---------|------|
| 1362 | 常設指示・スキルは「厚さ」でなく「あなた固有の情報」が効く(48回ブラインド実験・30勝2敗) | prompt-engineering, CLAUDE.md, skills |
| 1363 | ループエンジニアリング → グラフエンジニアリング:差し戻し先とエスカレーション先を決めるとループはグラフになる | graph-engineering, harness |
| 1364 | ルータースキル方式:AIに持たせるスキルを1つだけにして階層フォルダへ隔離する | skills, router-skill, token-optimization |
| 1365 | Fable 5 と Opus 5 の使い分け:監督=Fable、収束=Opus ultracode | opus-5, fable-5, model-selection, effort |
| 1366 | Claude Opus 5 プロンプトガイド実践解説:指示は「足す」より「削る」/エフォート管理がハーネスの主戦場に | opus-5, prompt-engineering, effort |
| 1367 | CLAUDE.md を147個→16個に減らしても削減0トークン:効いたのは「スキルのdescription」と重複解消だけ | context-engineering, CLAUDE.md, token-optimization |
| 1368 | Opus 5 リリース速報3本の突き合わせ:値上げなしでFable 5級/ただし「最強」は自分の仕事で測れ | opus-5, benchmark, 要一次情報確認 |
| 1369 | Cognee:Claude Code にセッション横断の永続メモリを足すOSSプラグイン(スポンサー動画) | memory, cognee, mcp |

---

## 解析した動画とスコア

| スコア | 動画 | チャンネル | 扱い |
|-------|------|-----------|------|
| 95 | CLAUDE.md 147個→16個で削減0トークン (WAD-Fl1Tggo) | れん学長のAIツール実験室 | id=1367 → 実装 |
| 95 | 常設指示は厚さでなく固有情報(48回実験) (1TGQl75gZCM) | — | id=1362 |
| 92 | Opus 5 プロンプトガイド解説 (tlmdPJfU1WY) | まさおAIじっくり解説ch | id=1366 |
| 90 | グラフエンジニアリング (LzICVHyruzM) | — | id=1363 |
| 88 | Fable 5 と Opus 5 の使い分け (hCj-GqjRCBU) | まさおAIじっくり解説ch | id=1365 |
| 85 | AIスキル魔改造計画(ルータースキル) (IU3wyu5S4BQ) | — | id=1364 |
| 78 | Opus 5 速報+コンテキスト設計 (Lw37l0SECvs) | チャエン【AI研究所】 | id=1368 に統合 |
| 75 | 無料AI講座カタログ (S2yMgw0b9bM) | — | 参照のみ(カタログで深度が浅い) |
| 74 | Opus 5 速報 (bIWmKMU5Dh4) | — | id=1368 に統合 |
| 72 | Cognee で永続メモリ (DYdC-oqLMiY) | WorldofAI(英語) | id=1369 |
| 70 | Opus 5 電撃発表 (apnTx1Rgkwo) | ずんだもん解説系 | id=1368 に統合。**11再生のAI生成二次情報**、数値は要裏取り |

---

## 手順上の記録

- **NotebookLM は使わず** Step 4c(Claude が字幕を直接解析)で全件処理した
- 字幕は `yt-dlp --write-auto-sub` で取得。**11本連続で 429 は一度も起きなかった**(各取得の間に `sleep 15〜20` を入れた)
- WorldofAI は日本語自動字幕が無く `FileNotFoundError` → `--sub-lang en` へフォールバックして解決
- PO Token 警告は全編で出たが自動字幕の取得は成功。スキルの2026-06-06注記どおり非致命
- 同一トピック3本(Opus 5 速報)は**個別ページを作らず1ページに統合**した。重複ページは検索時のノイズになるため