<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>トークン最適化 on hdknr blog</title><link>https://hdknr.github.io/blogs/tags/%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E6%9C%80%E9%81%A9%E5%8C%96/</link><description>Recent content in トークン最適化 on hdknr blog</description><generator>Hugo -- 0.157.0</generator><language>ja</language><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hdknr.github.io/blogs/tags/%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E6%9C%80%E9%81%A9%E5%8C%96/index.xml" rel="self" type="application/rss+xml"/><item><title>claude-mem</title><link>https://hdknr.github.io/blogs/wiki/tools/claude-mem/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/wiki/tools/claude-mem/</guid><description>Claude Code にセッションをまたいだ永続的な記憶機能を追加する MCP プラグイン。SQLite + Chroma の3層検索でトークン消費を95%削減。公開48時間で46,000スター獲得</description></item><item><title>RTK（Rust Token Killer）でClaude Codeのトークン使用量を60〜90%削減する</title><link>https://hdknr.github.io/blogs/posts/2026/04/rtkrust-token-killer%E3%81%A7claude-code%E3%81%AE%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E4%BD%BF%E7%94%A8%E9%87%8F%E3%82%926090%E5%89%8A%E6%B8%9B%E3%81%99%E3%82%8B/</link><pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/04/rtkrust-token-killer%E3%81%A7claude-code%E3%81%AE%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E4%BD%BF%E7%94%A8%E9%87%8F%E3%82%926090%E5%89%8A%E6%B8%9B%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;Claude Code を使い続けると、トークン消費が思いのほか速く、使用制限に達してしまうことがある。その主な原因のひとつが、ターミナルコマンドの出力だ。&lt;code&gt;git status&lt;/code&gt; や &lt;code&gt;npm install&lt;/code&gt; が吐き出すプログレスバー・警告・ログといったノイズが、そのままコンテキストに流れ込んでいる。&lt;/p&gt;
&lt;p&gt;この問題を解決するツールが &lt;strong&gt;RTK（Rust Token Killer）&lt;/strong&gt; だ。&lt;/p&gt;
&lt;h2 id="rtk-とは"&gt;RTK とは&lt;/h2&gt;
&lt;p&gt;RTK は Claude Code とターミナルの間に挟む「CLI プロキシ」ツール。Rust 製の単一バイナリで、依存関係ゼロのオープンソースプロジェクトだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/rtk-ai/rtk"&gt;rtk-ai/rtk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;公式サイト: &lt;a href="https://www.rtk-ai.app/"&gt;https://www.rtk-ai.app/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;コマンドを透過的にラップして出力をフィルタリングし、LLM のコンテキストに送る情報量を大幅に削減する。実測で &lt;strong&gt;60〜90% のトークン削減&lt;/strong&gt;、1,000 万トークン以上の削減（89% 削減）を達成した事例も報告されている。&lt;/p&gt;
&lt;h2 id="4-つの最適化戦略"&gt;4 つの最適化戦略&lt;/h2&gt;
&lt;p&gt;RTK は以下の戦略でターミナル出力を圧縮する:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;戦略&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;スマートフィルタリング&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ANSI エスケープコード、スピナー、プログレスバーを除去&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;グルーピング&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;関連する出力をまとめて集約&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;重複除去&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;繰り返しパターンを排除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;トランケーション&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;エラーは保持しつつ、冗長な成功出力を切り詰め&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;オーバーヘッドは 1 コマンドあたり 10ms 未満で、100 以上の開発コマンドに対応している。&lt;/p&gt;
&lt;h2 id="セットアップ"&gt;セットアップ&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rtk init -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;-g&lt;/code&gt; フラグでグローバルインストール。Claude Code / GitHub Copilot との統合も自動で設定される。&lt;/p&gt;
&lt;p&gt;インストール後、RTK はコマンドを透過的に書き換える。たとえば &lt;code&gt;git status&lt;/code&gt; は内部で &lt;code&gt;rtk git status&lt;/code&gt; として実行され、Claude には圧縮済みの出力が渡される。ユーザーが意識する必要はない。&lt;/p&gt;</description></item><item><title>Claude Code のデフォルト設定でトークンを無駄にしていた話</title><link>https://hdknr.github.io/blogs/posts/2026/04/claude-code-%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%82%92%E7%84%A1%E9%A7%84%E3%81%AB%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E8%A9%B1/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/04/claude-code-%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%82%92%E7%84%A1%E9%A7%84%E3%81%AB%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E8%A9%B1/</guid><description>&lt;p&gt;Claude Code を使っていて「なんかコストかかるな…」と思ったことはないでしょうか。以前、デフォルト設定のまま使い続けると推定 2 億 6,400 万トークンもの無駄が発生するという事例が話題になりました。&lt;/p&gt;
&lt;p&gt;その後 Claude Code 自体が大幅に改善されましたが、トークン消費を意識した使い方は今でも重要です。本記事では、現在のバージョン（2026年4月時点）で有効な最適化ポイントを整理します。&lt;/p&gt;
&lt;h2 id="ツール検索の遅延ロードdeferred-tools"&gt;ツール検索の遅延ロード（Deferred Tools）&lt;/h2&gt;
&lt;p&gt;以前の Claude Code では、すべてのツール定義がセッション開始時にコンテキストに読み込まれ、大量のトークンを消費していました。&lt;code&gt;ENABLE_TOOL_SEARCH&lt;/code&gt; を明示設定することで改善できるという報告もありました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;現在のバージョンでは、この問題はビルトインで解決されています。&lt;/strong&gt; ツール定義は「遅延ロード（Deferred Tools）」方式に変わり、ツール名だけがコンテキストに載り、実際のスキーマは必要になった時点で初めてロードされます。&lt;code&gt;ENABLE_TOOL_SEARCH&lt;/code&gt; を手動で設定する必要はありません。&lt;/p&gt;
&lt;h2 id="プロンプトキャッシュの-5-分-ttl--今も最大の落とし穴"&gt;プロンプトキャッシュの 5 分 TTL — 今も最大の落とし穴&lt;/h2&gt;
&lt;p&gt;Claude のプロンプトキャッシュは &lt;strong&gt;5 分&lt;/strong&gt;で期限切れになる。これは現在も変わっておらず、トークンコストに最も影響する要素だ。&lt;/p&gt;
&lt;p&gt;5 分休憩しただけで、会話全体が再処理され、コストが &lt;strong&gt;10 倍以上&lt;/strong&gt;に跳ね上がることがある。&lt;/p&gt;
&lt;p&gt;つまり:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;長時間セッションの途中で離席する&lt;/li&gt;
&lt;li&gt;ちょっと休憩してから作業再開する&lt;/li&gt;
&lt;li&gt;別の作業をしてから Claude Code に戻ってくる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といった行動がすべて、想定外のコスト増につながる。「休憩明けの最初のメッセージが一番高い」というのは、このキャッシュ再処理が原因だ。&lt;/p&gt;
&lt;h3 id="キャッシュを意識した作業フロー"&gt;キャッシュを意識した作業フロー&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;5 分以内に次の操作を行う&lt;/strong&gt; — キャッシュが維持される&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;長い離席の前にセッションを終了する&lt;/strong&gt; — 戻ってきたら &lt;code&gt;/resume&lt;/code&gt; で再開した方が、コンテキストが圧縮されて効率的&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;タスクの区切りで &lt;code&gt;/compact&lt;/code&gt; を実行する&lt;/strong&gt; — 手動でコンテキストを圧縮し、次のキャッシュミス時のコストを下げる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="コンテキスト自動圧縮を活かす"&gt;コンテキスト自動圧縮を活かす&lt;/h2&gt;
&lt;p&gt;Claude Code はコンテキストウィンドウの上限に近づくと、過去の会話を自動的に圧縮する。この仕組みのおかげで、長時間セッションでも会話が途切れることはない。&lt;/p&gt;
&lt;p&gt;ただし、圧縮時にはトークンが消費される。不要にコンテキストを膨らませないことが、結果的にコスト削減になる。&lt;/p&gt;
&lt;h3 id="コンテキストを膨らませない工夫"&gt;コンテキストを膨らませない工夫&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;やりがちなこと&lt;/th&gt;
&lt;th&gt;改善策&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;大きなファイルを全行読む&lt;/td&gt;
&lt;td&gt;必要な範囲だけ &lt;code&gt;offset&lt;/code&gt; / &lt;code&gt;limit&lt;/code&gt; 指定で読む&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ビルドログをそのまま流す&lt;/td&gt;
&lt;td&gt;エラー時だけ出力を確認する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;試行錯誤を同一セッションで続ける&lt;/td&gt;
&lt;td&gt;方針が変わったら新しいセッションで仕切り直す&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLAUDE.md に大量の指示を詰め込む&lt;/td&gt;
&lt;td&gt;必要最小限に保つ（毎ターンのコンテキストに載る）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="現在のビルトイン最適化機能"&gt;現在のビルトイン最適化機能&lt;/h2&gt;
&lt;p&gt;2026年4月時点で Claude Code に組み込まれている主なトークン最適化機能:&lt;/p&gt;</description></item></channel></rss>