# 学習日報 2026-08-12 yt-learn 07:55
## 概要
YouTube URL を17本まとめて受領し `/yt-learn` の単一URL指定モードで解析した。**16本を LLM Wiki に保存(id=1813〜1828)**。1本は字幕・NotebookLM とも取得不能で解析不能。
学習を「読んで終わり」にせず**実践成熟度の梯子**で引き上げ、その過程で**課金ガードの実在する穴を発見・修正**した(本日の最大の成果)。
---
## 今日学んだこと(YouTube)
### A. Claude Code 運用の地殻変動
**8/14 から自動モードが有料プランで既定 ON になる**(id=1825)。示された数字が既存の運用前提をひっくり返した:
| | 有害な挙動の検出率 |
|---|---|
| 自動モード | **89%** |
| 手動(都度承認) | **13.6%** |
理由は**人間が許可プロンプトの97%を惰性で承認している**から。**「確認を求める項目を増やすほど安全」という前提が否定された。** 惰性で通されるゲートは fail-open と等価で、止めたいものは hook に落とすしかない。当環境が課金憲法6項で先に到達していた結論(`permissions.deny` は穴・hook が本体)に外部データが付いた形。
**不調時に回すダイヤルは3つ、順番が決まっている**(id=1827): **①前提(コンテキスト)→②モデル→③エフォート**。症状で切り分ける — 中身が薄い=モデル、詰めが甘い=エフォート。**①を飛ばすと②③を上げても直らずコストだけ増える。**
**3階層の役割分担**(id=1827): CLAUDE.md=毎回読む張り紙 / スキル=その仕事の時だけ取り出す手順書 / **Hooks=心がけでなく仕組みで強制する**。`/checkup` は使われていないスキル等の「机の上を占領しているもの」を見つけて片付けを提案する。
### B. AIエージェント基盤
**WebMCP**(id=1826)=「MCP がブラウザに来ただけ」。サイト側がツールを宣言し、エージェントは **DOM 推測でなくツール呼び出し**で動く。Cloudflare のベータは**既存サイトを一切変更せずエッジでスクリプトを自動注入**し、来歴検査と MCP 中継(**ログイン状態のまま**)を有効化する。「エージェントを怪しいボットとして弾く」から「正規のアクセスとして迎える」への転換。
**Prime Agent**(id=1823)=ツールを Python 実行環境1つに畳んだ自己改善ハーネス。**セッション間メッセージング**(id=1821・1822)は「人間主導のオーケストレーション」で、温度管理とコンテキスト分離で役割を切る。**ハーネスエンジニアリング**(id=1817)/ **ループウェア**(id=1819)/ **Cloudflare OS**(id=1818)。
### C. 判定の再現性
**MatrAIx(83億人シミュレーション)**(id=1824)— **同じ入力でもモデルが変われば結論が真逆になる**(同一シナリオで GPT-5.5 98.3% vs Opus 4.8 27.0%)。「誰が演じるか」で結論が決まる。**判定・レビュー成果物にモデル名が残っていないと、後から再現も比較もできない。**
### D. 運用事例(数字が出ているもの)
- **Instacart「Blueberry」**(id=1825)— Slack 統合。アラートで**約10個のサブエージェントを並列実行し3分以内に初期調査をスレッドへ**。診断精度60%台→90%台後半、ワークフロー成功率99.9%。14年分のインシデント履歴を活用。
- **Stripe の自動修復**(id=1825)— インフラをグラフとしてモデル化し**ダイクストラ法で復旧経路を動的に発見**(ハードコードされた修復ロジックの限界を回避)。深夜アラート約30%削減・年間200件削減・不健全稼働12日分削減。
- **ChatGPT**(id=1825)— 週9億人。**エージェンティックコーディングでPR流量が70%増**。性能劣化は小さな変更の積み重ねで起きるため、常時稼働の性能監視エージェントを提案。
### E. その他
主要AI陣営の現在値(id=1820)/ Grok Imagine 2.0(id=1814)/ GPT-5.6 Luna 無料化(id=1815)/ Meta オープンウェイト30B(id=1816)/ Claude Code チャンネルのAI秘書(id=1813)/ 非エンジニアの道具自作論(id=1828・**SNS/アウトソーシング系サイトの自動操作・自動営業は規約違反**という注意喚起が有用)。
---
## 今日実装したもの
### 🚨 課金ガードの穴を発見・修正(ai-base#543 / PR #544)
「8/14 に備えて hook が本当に効くか実測する」という**段2(実証)の作業から穴が出た**。PreToolUse の実入力形式で21ケースを流したところ、**1件だけ素通りした**:
```
[NG] 期待=deny 実測=allow | パスで直接叩く ← /usr/local/bin/claude -p 'x'
結果: 20/21 一致 / 不一致 1 件
```
**原因**: `PRINT_RE` の否定後読みに `/` が入っていた(`(?
**なぜ重大か**: 8/14 以降、都度承認はゲートとして数えられない(上記89% vs 13.6%)。`permissions.deny` は先頭マッチで穴があるため、**残る防衛線はこの hook だけ**になる。その唯一の防衛線に開いた穴だった。
| ファイル | 変更内容 |
|--------|---------|
| `hooks/guard_claude_billing.py` | 否定後読みから `/` を除去。なぜこの形かをコメントで固定(次に触る人が戻すと穴が再生産されるため) |
| `tools/tests/test_guard_claude_billing.py` | 回帰テスト13件追加(パス6形態+ssh経由+9router経由は許可のまま+**誤検出しないべき7形態**) |
| `CLAUDE.md` | ダイヤル順序を追記 / 判定モデル名の併記を必須化(**99行**・100行未満の制約を維持) |
| `reference/trends.md` | 本日の学習エントリを追記(`tools/trends.py` 経由) |
**検証**:
- 修正前(RED): `7 failed, 33 passed`
- 修正後(GREEN): `40 passed` / 退行確認 `tools/tests/ 全体 680 passed`
---
## 到達した実践成熟度
| 知見 | 段 | 内容 |
|------|----|------|
| 課金ガードの実効性 | **段2(実証)→ 実バグ修正** | 実プロセスで21ケース実測 → 穴を発見 → TDD で修正・680 passed |
| ダイヤル順序(前提→モデル→エフォート) | **段3(自動発火化)** | CLAUDE.md に固定。以後、毎ターン参照される |
| 判定モデル名の併記 | **段3(自動発火化)** | 敵対的レビューゲートの条文に統合 |
| WebMCP / Prime Agent / 各社事例 | 段0(記録のみ) | 対応サイト・実装対象が現時点で存在しないため |
---
## 未実装アクションアイテム(優先順)
1. **【8/14 まで】PR #544 をマージし各ホストで `git pull`** — マージされるまで**実環境の hook は穴が開いたまま**。`~/.claude` は本番設定そのものなので、リポ経由の配布(憲法)が完了して初めて塞がる。
2. **【8/14 まで】PR #542(CLAUDE.md)のマージ** — 段3の知見は反映されるまで発火しない。
3. **【今月中】`/checkup` を回す** — 使われていないスキル・reference の棚卸し。手動で数えるより先に機械に候補を出させる。
4. **【随時】判定モデル名の併記を xreview / goal-judge の出力にも実装** — CLAUDE.md には書いたが、ツール側の出力形式はまだ変えていない(段3止まり・段1が残っている)。
5. **【観測】WebMCP 対応サイトの出現待ち** — vvv-bots の取得先が対応したら Playwright 経路より優先する。
---
## 解析不能だったもの
| video_id | 理由 |
|----------|------|
| `mSJrsJg-RR8` | ライブ配信(6,637秒)。**自動字幕が存在せず**、NotebookLM の `source add` も `RPC ADD_SOURCE failed / rpc_code=9` で失敗。概要欄も内容が薄く、要点を抽出できる材料がゼロだった |
---
## 取得工程で分かったこと(次回の yt-learn に効く)
- **`ja` が落ちない時は `ja-orig` を試す。** `--list-subs` には両方が列挙され、`ja-orig` を要求すると `ja.vtt` と `ja-orig.vtt` の**両方**が同内容で生成される。3本(`TocdnAuFSxM` / `h6FYSZnLjHo` / `2s-Omcaiv_g`)がこれで救われた。
- **`ja` が落ちない失敗は無言で起きる。** `grep -iE 'ERROR|no subtitles|Unable'` に一切引っかからないため、**ファイルの実在で確認するしかない**。
- **整形時のグロブに注意。** `$id.ja*.vtt` は `ja` と `ja-orig` の両方にマッチし、**内容がまるごと二重になる**(`2s-Omcaiv_g` で 89,195→44,595 バイト)。`$id.ja.vtt` を単体指定すること。
- HTTP 429 回避には1本あたり sleep 20〜25秒の逐次取得。16/17本を取り切れた。
- yt-dlp の PO Token / JavaScript runtime 警告は**自動字幕の取得には影響しない**(無視してよい)。
---
## LLM Wiki エントリ一覧(本セッション追加)
| id | タイトル | 主題 |
|----|---------|------|
| 1813 | Claude Codeチャンネル / AI秘書 | 運用 |
| 1814 | Grok Imagine 2.0 | モデル |
| 1815 | GPT-5.6 Luna 無料化 | モデル |
| 1816 | Meta オープンウェイト30B | モデル |
| 1817 | ハーネスエンジニアリング | ハーネス |
| 1818 | Cloudflare OS | 基盤 |
| 1819 | ループウェア | ハーネス |
| 1820 | 主要AI陣営の現在値(料金・順位・無料枠) | 市況 |
| 1821 | セッション間メッセージングとループの実況検証 | マルチエージェント |
| 1822 | セッション間メッセージング=人間主導のオーケストレーション | マルチエージェント |
| 1823 | Prime Agent — ツールを Python 実行環境1つに畳む | ハーネス |
| 1824 | MatrAIx — 「誰が演じるか」で結論が真逆になる | **判定の再現性** |
| 1825 | 自動モードが8/14から既定に —「手動承認の97%は惰性」 | **運用の前提** |
| 1826 | WebMCP — サイト側がツールを宣言してエージェントを迎える | 基盤 |
| 1827 | Claude Code 不調時に回す3つのダイヤル | **運用の前提** |
| 1828 | 非エンジニアの道具自作論 | 個人開発・規約 |
## 関連 Issue / PR
- ai-base#541 — 学習内容の CLAUDE.md 反映と課金ガード実測(親)
- ai-base#543 → **PR #544** — 課金ガードのパス迂回を塞ぐ(**8/14 前のマージ推奨**)
- **PR #542** — CLAUDE.md にダイヤル順序と判定モデル併記を反映
学習日報 2026-08-12 yt-learn 07:55