<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Context-Engineering on ROBOCO</title>
    <link>https://roboco.io/ja/tags/context-engineering/</link>
    <description>Recent content in Context-Engineering on ROBOCO</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Sun, 26 Jul 2026 10:00:00 +0900</lastBuildDate>
    <atom:link href="https://roboco.io/ja/tags/context-engineering/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>意外にも9倍安いラルフループ - コンテキストキャッシングの経済学</title>
      <link>https://roboco.io/ja/posts/vibe-coding-token-experiments/</link>
      <pubDate>Sun, 26 Jul 2026 10:00:00 +0900</pubDate>
      <guid>https://roboco.io/ja/posts/vibe-coding-token-experiments/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;ゴールだけを与えて完了するまで回す単一セッションのループが、計画ベースのワークフローの1/9のコストで同じ課題を完走しました。秘訣はループではなく、キャッシュにあります。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://roboco.io/posts/images/Dohyun.png&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;チョン・ドヒョン - ROBOCO首席コンサルタント&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;ラルフループ（Ralph loop）は単純な方式です。ゴールと完了条件だけを明示し、単一セッションでエージェントが完了判定を通過するまで自律的に反復させます。計画書も、タスク分割も、セッション間の引き継ぎ文書もありません。一見すると無計画で非効率に見えます。&lt;/p&gt;&#xA;&lt;p&gt;バイブコーディングが標準になるにつれ、多くの組織がトークン不足に直面しています。以前の記事でトークン管理戦略を扱いましたが&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;、そのときの処方はほとんどが経験則でした。そこで私たちは経験則を検証するための実験リポジトリ &lt;a href=&#34;https://github.com/roboco-io/vibecoding-token-experiments&#34;&gt;vibecoding-token-experiments&lt;/a&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; を作りました。トークン使用に関する仮説をカタログとして管理し、RealWorld App&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; のバックエンド実装という固定のベンチマーク課題の上で、ワークフロー戦略・トークン習慣・言語という三つの軸の仮説を、統制された条件で一つずつ実測するプロジェクトです。&lt;/p&gt;&#xA;&lt;p&gt;その第一の軸がワークフロー戦略でした。実測してみると、ラルフループというこの単純な方式が、計画ベースのワークフローより&lt;strong&gt;約9倍安く&lt;/strong&gt;同じ課題を完走しました。この記事では、これまでに実施した四つの実験の結果とともに、ラルフループを安くする本当のメカニズムである&lt;strong&gt;プロンプトキャッシングの動作原理&lt;/strong&gt;を説明します。&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-実験-ラルフループ-vs-計画ベースのワークフロー&#34;&gt;1. 実験: ラルフループ vs 計画ベースのワークフロー&lt;/h2&gt;&#xA;&lt;p&gt;共通の課題はRealWorld Appのバックエンド実装です。MediumクローンのREST APIを仕様どおりに実装し、公式APIテストを100%通過して初めて完走と認めます。モデルはClaude Opus一つに固定してモデル差による撹乱を排除し、ツールはClaude Codeを使いました。測定はセッションログのusageフィールドを集計し、&lt;strong&gt;billableトークン&lt;/strong&gt;（input + output + cache_creation）を基準としました。&lt;/p&gt;&#xA;&lt;p&gt;比較した二つのワークフローは次のとおりです。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ralph loop&lt;/strong&gt;: ゴールと完了条件だけを明示し、単一セッションでエージェントが完了判定を通過するまで自律的に反復させる方式&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Plan-then-execute (PTE)&lt;/strong&gt;: 計画セッションでタスクを分割しインターフェース契約を文書化したうえで、タスクごとに独立したセッションを立ち上げて実装する方式&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;始める前に、この実験の範囲を明確にしておきます。RealWorld Appは**仕様が完全に固定された課題です。**APIスペックとテストがすでに与えられているため、エージェントがするのは純粋な実装だけです。一方、実際の開発では要件定義や設計の段階からエージェントが投入されるのが一般的で、その段階では探索と計画の成果物そのものが目的になります。したがってこの実験が測定するのは「計画が必要か」ではなく、**実装段階におけるコンテキストキャッシングの効果とラルフループのコスト効率です。**何を作るかがすでに決まっている状態で、ワークフローとコンテキスト構造がトークンコストをどれだけ左右するのかを見ます。&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-結果-ラルフループが約9倍安かった&#34;&gt;2. 結果: ラルフループが約9倍安かった&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;指標&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: right&#34;&gt;Ralph loop&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: right&#34;&gt;Plan-then-execute&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;完了判定&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;通過&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;通過&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;実時間&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;14分&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;49分&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;セッション数&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;16&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;outputトークン&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;90,877&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;797,845&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;cache_creationトークン&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;233,687&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;2,040,513&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;billable合計&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;324,775&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;2,839,815&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;両条件ともAPIテストを100%通過しました。品質は同じなのにコストが分かれたのです。ラルフループは14分、単一セッション、約32万トークンで完走しました。billable基準でPTEの&lt;strong&gt;1/8.7&lt;/strong&gt;、時間では1/3.5です。PTEの計画セッション一つ（約36万トークン）だけで、ラルフループの実行全体より高くついていました。&lt;/p&gt;&#xA;&lt;p&gt;ラルフループが回避したコストをログから分解すると、四つあります。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;セッション起動の固定費&lt;/strong&gt;: セッションを新しく開くたびに、システムプロンプトとツール定義がコンテキストに新たに組み込まれます。実測した起動税はセッションあたり約20.6Kトークン。PTEは16セッションなので33万トークンを支払い、ラルフの1回分（約2.1万）を引いた差額の約31万トークンだけで、ラルフの実行費全体（32.5万）に匹敵します。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;同じファイルの繰り返し読み込み&lt;/strong&gt;: PTEの各セッションはリポジトリを初めて見る状態から始まります。&lt;code&gt;src/app.ts&lt;/code&gt; を7回、同じ仕様書を5回読み直しました。ラルフは一つのコンテキストの中で、一度見たものを見直しません。Read呼び出しはラルフ 2回に対しPTE 49回、検証用のBash呼び出しは35回に対し186回でした。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;文書の連続性を保つ生産コスト&lt;/strong&gt;: PTEの成果物の44%はコードではなく、セッション間の知識伝達用の文書（仕様、完了記録）でした。ラルフではこのコストがゼロです。コンテキストそのものが生きた引き継ぎ文書だからです。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;アトミック分割のパラドックス&lt;/strong&gt;: PTEでは、GETエンドポイント一つだけの最小タスクが15.6万トークンを使いました。ラルフ全体の半分に近い量です。タスクが小さくなるほど、固定費（起動税 + リポジトリ把握 + 独立した検証）の比重が支配的になります。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;3-秘訣はプロンプトキャッシングにある-その動作原理&#34;&gt;3. 秘訣はプロンプトキャッシングにある: その動作原理&lt;/h2&gt;&#xA;&lt;p&gt;ラルフループが勝ったのは、ループ構造が優れているからではありません。**一度作ったコンテキストをプロンプトキャッシュで最後まで再利用したからです。**このメカニズムを理解すれば、結果は当然のものになります。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Karpathy LLM Wikiは本当に効果があるのか - 72-runベンチマーク</title>
      <link>https://roboco.io/ja/posts/karpathy-llm-wiki-72-run-benchmark/</link>
      <pubDate>Thu, 07 May 2026 11:00:00 +0900</pubDate>
      <guid>https://roboco.io/ja/posts/karpathy-llm-wiki-72-run-benchmark/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;「エージェントが毎回すべてを再導出しないようにするには、コンパイルされた知識アーティファクトが必要だ。」 — Andrej Karpathy, &lt;em&gt;LLM Wiki&lt;/em&gt; (GitHub Gist, 2026-04)&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://roboco.io/posts/images/Dohyun.png&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;チョン・ドヒョン - ROBOCO首席コンサルタント&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrej Karpathyの&lt;strong&gt;LLM Wikiパターン&lt;/strong&gt;（「毎回読み直すのではなく、一度コンパイルした知識を再利用せよ」&lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;）が実際に得なのかを、30リポジトリのマイグレーション用ワークスペースで&lt;strong&gt;8タスク × 3手法 × 3反復 = 72 run&lt;/strong&gt;のベンチマークとして測定しました。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LLM Wikiがトークン・時間・品質の3次元すべてで1位。&lt;strong&gt;Vanilla比で&lt;/strong&gt;トークン54%削減、時間39%短縮&lt;/strong&gt;（統計的にlarge effect、§4）、品質はVanillaと同等でGraphifyより優位。&lt;/li&gt;&#xA;&lt;li&gt;**Graphify（GraphRAG）は既定ツールとして不適合。**トークン削減はわずか、時間は最長、品質は最低。&lt;/li&gt;&#xA;&lt;li&gt;**ただし万能ではない。**複数のソースを総合するタスクではWikiの圧勝ですが、答えが単一のソースに明確にあるタスク（全件grep・特定の表の参照）では直接readのほうが速く正確です（§3）。&lt;/li&gt;&#xA;&lt;li&gt;結果を受けて、その日の夕方にプロジェクトの既定コンテキスト検索ツールはLLM Wikiに変わりました。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;手法&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: right&#34;&gt;トークン（平均）&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: right&#34;&gt;時間（平均）&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: right&#34;&gt;品質（25点）&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Vanilla（直接read/grep）&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;755K&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;167s&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;15.1&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;LLM Wiki&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;350K&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;101s&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;&lt;strong&gt;16.0&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Graphify (GraphRAG)&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;617K&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;180s&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: right&#34;&gt;13.6&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;以下はこの結論を裏付ける実験設計と詳細な数値です。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;1-比較した三つの手法&#34;&gt;1. 比較した三つの手法&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;手法&lt;/th&gt;&#xA;          &lt;th&gt;動作方式&lt;/th&gt;&#xA;          &lt;th&gt;追加で露出した資料&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Vanilla&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;補助ツールなしでファイルを直接read/grep&lt;/td&gt;&#xA;          &lt;td&gt;（なし）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;LLM Wiki&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;LLMがあらかじめコンパイルしておいたマークダウンのwikiを先に読む&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;wiki/&lt;/code&gt; 全体 + 引用ルール&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Graphify&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;エンティティ・関係グラフ（GraphRAG）を先に問い合わせる&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;graphify-out/&lt;/code&gt; + CLI&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;LLM Wikiパターンの核心はRAGとの違いです。RAGは問い合わせのたびに埋め込み・ベクトル検索・チャンク注入を繰り返す&lt;strong&gt;stateless&lt;/strong&gt;なサイクルであるため、総合・相互参照・矛盾処理を毎回ゼロからやり直します。LLM Wikiはこれを逆転させ、&lt;strong&gt;新しいソースが入ってきたときに一度コンパイル&lt;/strong&gt;（要約・相互参照・衝突の明記）しておき、問い合わせの時点ではすでに総合されたマークダウンページを読みます。&lt;strong&gt;コンパイルは一度、問い合わせは複数回&lt;/strong&gt; — この非対称なコスト配分がトークン削減の源泉です。&lt;/p&gt;</description>
    </item>
    <item>
      <title>バイブコーディングのトークン管理戦略</title>
      <link>https://roboco.io/ja/posts/vibe-coding-token-management-strategy/</link>
      <pubDate>Thu, 19 Mar 2026 09:00:00 +0900</pubDate>
      <guid>https://roboco.io/ja/posts/vibe-coding-token-management-strategy/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;トークン不足はモデル性能の問題ではなく、たいていはコンテキストの運用方法の問題です。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://roboco.io/posts/images/Dohyun.png&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;チョン・ドヒョン - ROBOCO首席コンサルタント&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Claude Code、Codex、Geminiのようなバイブコーディングツールを長く使っていると、ある時点から似たような症状が現れます。応答が遅くなり、すでに合意した制約を忘れ、関係のないファイルにまで手を出し始めるのです。これをよく「トークンが足りない」と表現しますが、実際に起きている現象は、より正確に言えば&lt;strong&gt;コンテキスト汚染&lt;/strong&gt;、あるいはContext Rotに近いものです。&lt;/p&gt;&#xA;&lt;p&gt;Perplexityを通じてまとめたideationメモを読み返してみると、要点ははっきりしています。実際の利用環境では、トークン使用量の大部分は出力ではなく&lt;strong&gt;入力コンテキスト&lt;/strong&gt;で発生します。したがって問題を解く最良の方法も「より大きなモデル」ではなく「よりきれいなコンテキスト」なのです。本稿ではその内容をもとに、ツール別の機能紹介ではなく&lt;strong&gt;実務の運用戦略&lt;/strong&gt;を中心に、トークン管理の原則を整理してみます。&lt;/p&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;トークン不足は単なる上限の問題ではなく、会話・ログ・文書が入り混じって生じるコンテキスト汚染の問題として捉えるべきです。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;.claudeignore&lt;/code&gt;、作業文書の分割、&lt;code&gt;/clear&lt;/code&gt;と&lt;code&gt;/compact&lt;/code&gt;、handoff文書のように、範囲を絞る習慣がまず先です。&lt;/li&gt;&#xA;&lt;li&gt;良いバイブコーディングとは、長いプロンプトよりも、いま必要な情報だけをモデルに見せるコンテキスト設計に近いものです。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;なぜトークンが先に尽きるのか&#34;&gt;なぜトークンが先に尽きるのか&lt;/h2&gt;&#xA;&lt;p&gt;長いセッションが積み重なり続けると、問題は二つの層で現れます。一つは純粋なトークン上限への到達であり、もう一つはそれより先に訪れる品質の低下です。会話ログ、失敗した試み、暫定的な仮説、長いビルドログ、すでに終わった作業の文脈が残り続けると、モデルはいま重要な情報とすでに破棄された情報を区別しにくくなります。&lt;/p&gt;&#xA;&lt;p&gt;この現象は、単にコンテキストウィンドウの大きさでは解決しません。長いコンテキストはより多くの情報を収められるようにしてくれますが、その中の情報がきちんと整理されている保証まではしてくれないからです。だからこそトークン管理の核心は、節約そのものよりも&lt;strong&gt;選別&lt;/strong&gt;にあります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;戦略1-claudeignoreでそもそも読ませてはいけないものを遮断する&#34;&gt;戦略1: &lt;code&gt;.claudeignore&lt;/code&gt;で、そもそも読ませてはいけないものを遮断する&lt;/h2&gt;&#xA;&lt;p&gt;実測ベースで最もROIが高い単一の施策は、&lt;code&gt;.claudeignore&lt;/code&gt;の設定です。ideation文書に引用された事例では、&lt;code&gt;node_modules&lt;/code&gt;、ビルド成果物、ログ、バイナリ、大容量画像、lockファイルを除外するだけでも&lt;strong&gt;30〜40%程度の削減効果&lt;/strong&gt;が報告されています。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;たとえば、こういった具合です。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;node_modules/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.next/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dist/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;build/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;coverage/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.cache/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.db&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.sqlite&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.env*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.jpg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.gif&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*.mp4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この戦略の本質は節約ではありません。モデルが、そもそも見ても役に立たない情報を見ないようにすることです。とくにlockファイルやビルド成果物は、トークンを多く消費するわりに推論上の価値がほとんどありません。&lt;/p&gt;&#xA;&lt;h2 id=&#34;戦略2-tasksmdを一つに詰め込まずインデックス構造に分割する&#34;&gt;戦略2: &lt;code&gt;tasks.md&lt;/code&gt;を一つに詰め込まず、インデックス構造に分割する&lt;/h2&gt;&#xA;&lt;p&gt;ideation文書で最も印象的な事例の一つが、単一の大きな&lt;code&gt;tasks.md&lt;/code&gt;をドメイン別文書と&lt;code&gt;INDEX.md&lt;/code&gt;の構造に分けて&lt;strong&gt;76.1%の削減&lt;/strong&gt;を達成したケースです。&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tasks/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── INDEX.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── backend.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── frontend.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── infra.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── security.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── archive/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この構造が良い理由は単純です。すべての作業ですべてのタスクを読む必要はないからです。全体の状況は&lt;code&gt;INDEX.md&lt;/code&gt;だけ見ればよく、特定の作業では該当ドメインのファイルだけを読めば済みます。完了した履歴は&lt;code&gt;archive/&lt;/code&gt;に片付けておけば、現在のセッションの作業台から消えます。&lt;/p&gt;&#xA;&lt;p&gt;トークン管理とは、結局のところ文書の情報アーキテクチャの問題でもあるのです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;戦略3-セッションを長く引きずらずclearとcompactを意識的に使う&#34;&gt;戦略3: セッションを長く引きずらず、&lt;code&gt;/clear&lt;/code&gt;と&lt;code&gt;/compact&lt;/code&gt;を意識的に使う&lt;/h2&gt;&#xA;&lt;p&gt;Claude Codeを基準に見ると、最も即効性が高い方法は&lt;code&gt;/clear&lt;/code&gt;と&lt;code&gt;/compact&lt;/code&gt;を戦略的に使うことです。&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;/clear&lt;/code&gt;は作業の文脈を完全に初期化するときに使います。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/compact&lt;/code&gt;は重要な内容だけを残して会話履歴を要約するときに使います。&lt;/li&gt;&#xA;&lt;li&gt;長いデバッグセッションの直後、機能を一つ終えたとき、あるいはコンテキスト使用量が70%程度に達したときにcompactをかける習慣が効果的です。&lt;sup id=&#34;fnref1:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;肝心なのは、長い会話をずっと維持するほうが生産的だという錯覚から抜け出すことです。セッションは長く続けるよりも、&lt;strong&gt;短く切って再開できる&lt;/strong&gt;べきなのです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;戦略4-handoff文書を残して新しいセッションに移る&#34;&gt;戦略4: handoff文書を残して新しいセッションに移る&lt;/h2&gt;&#xA;&lt;p&gt;セッションを頻繁に切るには、再開のコストが低くなければなりません。このとき最も単純で強力な方法が、&lt;code&gt;HANDOFF.md&lt;/code&gt;のような短い引き継ぎ文書を置くことです。&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a href=&#34;#fn:6&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;たとえば、以下の程度で十分です。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;目標: ログインフローのrace condition解消&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;修正したファイル: auth_service.ts, login_controller.ts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;確認した事実: DBの問題ではなく、APIの重複呼び出しが原因&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;失敗した試み: mutexの適用は副作用が出たためロールバック&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;次の作業: idempotency key方式の検討&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;完了条件: 重複ログインの再現テストが通ること&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この文書の目的は、長文の記録を残すことではありません。次のセッションが&lt;strong&gt;すぐに働き出せる程度の方向性&lt;/strong&gt;だけを残すことです。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
