From 4d12ca93de039a51dabe409e8470f6dbd2a56686 Mon Sep 17 00:00:00 2001 From: Haoran Date: Tue, 26 May 2026 11:17:58 +0800 Subject: [PATCH] fix: prevent course svg text overflow --- s08_context_compact/images/auto-compact.en.svg | 14 +++++++------- s08_context_compact/images/auto-compact.ja.svg | 8 ++++---- s08_context_compact/images/micro-compact.en.svg | 5 +++-- s08_context_compact/images/micro-compact.ja.svg | 7 ++++--- s09_memory/images/memory-subsystems.en.svg | 16 ++++++++-------- s09_memory/images/memory-subsystems.ja.svg | 14 +++++++------- .../s08_context_compact/auto-compact.en.svg | 14 +++++++------- .../s08_context_compact/auto-compact.ja.svg | 8 ++++---- .../s08_context_compact/micro-compact.en.svg | 5 +++-- .../s08_context_compact/micro-compact.ja.svg | 7 ++++--- .../s09_memory/memory-subsystems.en.svg | 16 ++++++++-------- .../s09_memory/memory-subsystems.ja.svg | 14 +++++++------- 12 files changed, 66 insertions(+), 62 deletions(-) diff --git a/s08_context_compact/images/auto-compact.en.svg b/s08_context_compact/images/auto-compact.en.svg index 7577ac8..30f5d78 100644 --- a/s08_context_compact/images/auto-compact.en.svg +++ b/s08_context_compact/images/auto-compact.en.svg @@ -22,10 +22,10 @@ Step 1: Save transcript - Write full conversation to .transcripts/ - JSONL format, one message per line - Filename: transcript_{timestamp}.jsonl - No data lost, just moved out of active area + Write conversation to .transcripts/ + One JSONL message per line + File: transcript_{time}.jsonl + Full transcript stays on disk @@ -33,9 +33,9 @@ Step 2: LLM generates summary Send conversation history to LLM Summary must include 9 sections: - request · concepts · files · errors · resolutions - user messages · todos · current state · next steps - Generated only once + request · concepts · files · errors + resolutions · user messages · todos + current state · next steps diff --git a/s08_context_compact/images/auto-compact.ja.svg b/s08_context_compact/images/auto-compact.ja.svg index 2488bd0..b83a3f5 100644 --- a/s08_context_compact/images/auto-compact.ja.svg +++ b/s08_context_compact/images/auto-compact.ja.svg @@ -24,8 +24,8 @@ ステップ 1:transcript 保存 完全な対話を .transcripts/ に書き込み JSONL 形式、1 行 1 メッセージ - ファイル名:transcript_{timestamp}.jsonl - 情報は失われていない、アクティブ領域から移動のみ + transcript_{time}.jsonl + 内容はディスクに残る @@ -40,10 +40,10 @@ - ステップ 3:メッセージリスト置換 + ステップ 3:要約に置換 全旧メッセージ → 1 件の要約に モデルは要約から作業を継続 - recently_read ファイルリストを付与 + recently_read を添付 ⚠ これは復元不可能な操作 diff --git a/s08_context_compact/images/micro-compact.en.svg b/s08_context_compact/images/micro-compact.en.svg index 51ed008..8f5c5dc 100644 --- a/s08_context_compact/images/micro-compact.en.svg +++ b/s08_context_compact/images/micro-compact.en.svg @@ -16,7 +16,8 @@ Pain Point - Agent read 10 files in a row; the full content of reads 1-7 is still sitting in context, taking space but no longer useful + After 10 reads, results 1-7 still sit in context. + They take space but are no longer useful. Before (all 10 tool_result complete) @@ -45,7 +46,7 @@ [Earlier result compacted. Re-run if needed.] Read file J: (full content, 2800 chars) - Keep only latest 3; first 7 become placeholders + Keep latest 3; first 7 become placeholders diff --git a/s08_context_compact/images/micro-compact.ja.svg b/s08_context_compact/images/micro-compact.ja.svg index 5d8bff7..a418c54 100644 --- a/s08_context_compact/images/micro-compact.ja.svg +++ b/s08_context_compact/images/micro-compact.ja.svg @@ -16,7 +16,8 @@ ペインポイント - Agent が連続で 10 ファイルを読み込み、1〜7 回目の完全なファイル内容がコンテキストに残ったまま、場所を占有しつつ既に不要 + 10 ファイルを読んでも、1〜7 回目の結果が残る。 + 古い内容が場所を取り続ける。 圧縮前(10 件の tool_result がすべて完全) @@ -29,7 +30,7 @@ Read file C: (完全な内容, 4500 文字)... Read file J: (完全な内容, 2800 文字) - 7 件の旧結果が ~25K 文字を無駄に占有 + 7 件の旧結果が ~25K 文字を占有 @@ -45,7 +46,7 @@ [Earlier result compacted. Re-run if needed.] Read file J: (完全な内容, 2800 文字) - 最新 3 件のみ保持、前 7 件はプレースホルダー化 + 最新 3 件を保持、前 7 件は置換 diff --git a/s09_memory/images/memory-subsystems.en.svg b/s09_memory/images/memory-subsystems.en.svg index 2435fec..914f1b0 100644 --- a/s09_memory/images/memory-subsystems.en.svg +++ b/s09_memory/images/memory-subsystems.en.svg @@ -36,17 +36,17 @@ Extract - After each turn ends - LLM extracts prefs/constraints - Check existing, avoid duplicates + After each turn + Extract prefs + Avoid duplicates - Consolidate + Consolidate - Triggers at ≥ 10 files - Dedup · merge · prune - CC: 3-layer gating + ≥ 10 files + Dedup · merge + CC: gated Dream @@ -74,5 +74,5 @@ CC Source Comparison • Selection: LLM side-query (Sonnet selects), not embedding vector similarity • Extraction timing: stop hook (after each turn ends), not after autoCompact - • Dream consolidation: 3-layer gating (time ≥ 24h + sessions ≥ 5 + file lock), not simple count + • Dream: time + sessions + file lock, not simple count diff --git a/s09_memory/images/memory-subsystems.ja.svg b/s09_memory/images/memory-subsystems.ja.svg index 75309f5..6bbd681 100644 --- a/s09_memory/images/memory-subsystems.ja.svg +++ b/s09_memory/images/memory-subsystems.ja.svg @@ -36,17 +36,17 @@ 抽出 - 毎ターン終了後にトリガー - LLM が好み/制約を抽出 - 既存を確認、重複回避 + 毎ターン終了後 + 好み/制約を抽出 + 重複を回避 整理 - ファイル ≥ 10 でトリガー - 重複排除・統合・剪定 - CC: 3 層ゲート + ≥ 10 ファイル + 重複排除・統合 + CC: Dream ゲート @@ -74,5 +74,5 @@ CC ソースコード対照 • 記憶選択:LLM side-query(Sonnet が選択)、embedding ベクトル類似度ではない • 抽出タイミング:stop hook(毎ターン終了後)、autoCompact 後ではない - • Dream 整理:3 層ゲート(時間 ≥ 24h + セッション ≥ 5 + ファイルロック)、単純な計数ではない + • Dream:時間・セッション・ロックで判定 diff --git a/web/public/course-assets/s08_context_compact/auto-compact.en.svg b/web/public/course-assets/s08_context_compact/auto-compact.en.svg index 7577ac8..30f5d78 100644 --- a/web/public/course-assets/s08_context_compact/auto-compact.en.svg +++ b/web/public/course-assets/s08_context_compact/auto-compact.en.svg @@ -22,10 +22,10 @@ Step 1: Save transcript - Write full conversation to .transcripts/ - JSONL format, one message per line - Filename: transcript_{timestamp}.jsonl - No data lost, just moved out of active area + Write conversation to .transcripts/ + One JSONL message per line + File: transcript_{time}.jsonl + Full transcript stays on disk @@ -33,9 +33,9 @@ Step 2: LLM generates summary Send conversation history to LLM Summary must include 9 sections: - request · concepts · files · errors · resolutions - user messages · todos · current state · next steps - Generated only once + request · concepts · files · errors + resolutions · user messages · todos + current state · next steps diff --git a/web/public/course-assets/s08_context_compact/auto-compact.ja.svg b/web/public/course-assets/s08_context_compact/auto-compact.ja.svg index 2488bd0..b83a3f5 100644 --- a/web/public/course-assets/s08_context_compact/auto-compact.ja.svg +++ b/web/public/course-assets/s08_context_compact/auto-compact.ja.svg @@ -24,8 +24,8 @@ ステップ 1:transcript 保存 完全な対話を .transcripts/ に書き込み JSONL 形式、1 行 1 メッセージ - ファイル名:transcript_{timestamp}.jsonl - 情報は失われていない、アクティブ領域から移動のみ + transcript_{time}.jsonl + 内容はディスクに残る @@ -40,10 +40,10 @@ - ステップ 3:メッセージリスト置換 + ステップ 3:要約に置換 全旧メッセージ → 1 件の要約に モデルは要約から作業を継続 - recently_read ファイルリストを付与 + recently_read を添付 ⚠ これは復元不可能な操作 diff --git a/web/public/course-assets/s08_context_compact/micro-compact.en.svg b/web/public/course-assets/s08_context_compact/micro-compact.en.svg index 51ed008..8f5c5dc 100644 --- a/web/public/course-assets/s08_context_compact/micro-compact.en.svg +++ b/web/public/course-assets/s08_context_compact/micro-compact.en.svg @@ -16,7 +16,8 @@ Pain Point - Agent read 10 files in a row; the full content of reads 1-7 is still sitting in context, taking space but no longer useful + After 10 reads, results 1-7 still sit in context. + They take space but are no longer useful. Before (all 10 tool_result complete) @@ -45,7 +46,7 @@ [Earlier result compacted. Re-run if needed.] Read file J: (full content, 2800 chars) - Keep only latest 3; first 7 become placeholders + Keep latest 3; first 7 become placeholders diff --git a/web/public/course-assets/s08_context_compact/micro-compact.ja.svg b/web/public/course-assets/s08_context_compact/micro-compact.ja.svg index 5d8bff7..a418c54 100644 --- a/web/public/course-assets/s08_context_compact/micro-compact.ja.svg +++ b/web/public/course-assets/s08_context_compact/micro-compact.ja.svg @@ -16,7 +16,8 @@ ペインポイント - Agent が連続で 10 ファイルを読み込み、1〜7 回目の完全なファイル内容がコンテキストに残ったまま、場所を占有しつつ既に不要 + 10 ファイルを読んでも、1〜7 回目の結果が残る。 + 古い内容が場所を取り続ける。 圧縮前(10 件の tool_result がすべて完全) @@ -29,7 +30,7 @@ Read file C: (完全な内容, 4500 文字)... Read file J: (完全な内容, 2800 文字) - 7 件の旧結果が ~25K 文字を無駄に占有 + 7 件の旧結果が ~25K 文字を占有 @@ -45,7 +46,7 @@ [Earlier result compacted. Re-run if needed.] Read file J: (完全な内容, 2800 文字) - 最新 3 件のみ保持、前 7 件はプレースホルダー化 + 最新 3 件を保持、前 7 件は置換 diff --git a/web/public/course-assets/s09_memory/memory-subsystems.en.svg b/web/public/course-assets/s09_memory/memory-subsystems.en.svg index 2435fec..914f1b0 100644 --- a/web/public/course-assets/s09_memory/memory-subsystems.en.svg +++ b/web/public/course-assets/s09_memory/memory-subsystems.en.svg @@ -36,17 +36,17 @@ Extract - After each turn ends - LLM extracts prefs/constraints - Check existing, avoid duplicates + After each turn + Extract prefs + Avoid duplicates - Consolidate + Consolidate - Triggers at ≥ 10 files - Dedup · merge · prune - CC: 3-layer gating + ≥ 10 files + Dedup · merge + CC: gated Dream @@ -74,5 +74,5 @@ CC Source Comparison • Selection: LLM side-query (Sonnet selects), not embedding vector similarity • Extraction timing: stop hook (after each turn ends), not after autoCompact - • Dream consolidation: 3-layer gating (time ≥ 24h + sessions ≥ 5 + file lock), not simple count + • Dream: time + sessions + file lock, not simple count diff --git a/web/public/course-assets/s09_memory/memory-subsystems.ja.svg b/web/public/course-assets/s09_memory/memory-subsystems.ja.svg index 75309f5..6bbd681 100644 --- a/web/public/course-assets/s09_memory/memory-subsystems.ja.svg +++ b/web/public/course-assets/s09_memory/memory-subsystems.ja.svg @@ -36,17 +36,17 @@ 抽出 - 毎ターン終了後にトリガー - LLM が好み/制約を抽出 - 既存を確認、重複回避 + 毎ターン終了後 + 好み/制約を抽出 + 重複を回避 整理 - ファイル ≥ 10 でトリガー - 重複排除・統合・剪定 - CC: 3 層ゲート + ≥ 10 ファイル + 重複排除・統合 + CC: Dream ゲート @@ -74,5 +74,5 @@ CC ソースコード対照 • 記憶選択:LLM side-query(Sonnet が選択)、embedding ベクトル類似度ではない • 抽出タイミング:stop hook(毎ターン終了後)、autoCompact 後ではない - • Dream 整理:3 層ゲート(時間 ≥ 24h + セッション ≥ 5 + ファイルロック)、単純な計数ではない + • Dream:時間・セッション・ロックで判定