<?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>Prompt-Caching on hdknr blog</title><link>https://hdknr.github.io/blogs/tags/prompt-caching/</link><description>Recent content in Prompt-Caching on hdknr blog</description><generator>Hugo -- 0.157.0</generator><language>ja</language><lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hdknr.github.io/blogs/tags/prompt-caching/index.xml" rel="self" type="application/rss+xml"/><item><title>「言語税」対策として CLAUDE.md を英語化する — 日本語境界を残したまま prompt caching を効かせる部分英語化パターン</title><link>https://hdknr.github.io/blogs/posts/2026/05/claude-md-english-prompt-caching/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/05/claude-md-english-prompt-caching/</guid><description>&lt;h2 id="背景-日本語の言語税をどこで払うか"&gt;背景: 日本語の「言語税」をどこで払うか&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hdknr.github.io/blogs/posts/2026/04/2026-04-30-llm-japanese-token-language-tax/"&gt;先日の記事&lt;/a&gt;で、日本語入出力が英語比 1.48 倍のトークンを消費すること、Claude では最大 1.94 倍にもなることを取り上げた。&lt;/p&gt;
&lt;p&gt;しかし現実問題、ブログ記事本文・コミットメッセージ・GitHub PR の説明・許可プロンプトなど、&lt;strong&gt;最終アウトプットが日本語であること自体が要求である&lt;/strong&gt;ケースは避けられない。Claude Code を使い続ける限り、日本語コストはゼロにはならない。&lt;/p&gt;
&lt;p&gt;問いを言い換えると、こうなる:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「日本語境界を保ったまま、実トークン消費を構造的に減らせる場所はどこか？」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="検討した-5-案"&gt;検討した 5 案&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;案&lt;/th&gt;
&lt;th&gt;仕組み&lt;/th&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;A. 翻訳プロキシ (Ollama)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ユーザー入力 ja→en、Claude 応答 en→ja を中間 LLM が翻訳&lt;/td&gt;
&lt;td&gt;「思考・指示が日本語で出来ればよい」用途&lt;/td&gt;
&lt;td&gt;ツール結果・ファイル内容・git diff まで翻訳経路に入り破綻&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;B. 部分英語化&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;思考・指示は英語、最終成果物は日本語のまま&lt;/td&gt;
&lt;td&gt;大半の開発作業&lt;/td&gt;
&lt;td&gt;削減率は応答側ほど効かない&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;C. Prompt Caching 徹底&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CLAUDE.md・Skills・MCP 出力をキャッシュ&lt;/td&gt;
&lt;td&gt;日本語のまま実コストを大幅削減&lt;/td&gt;
&lt;td&gt;設計工数が必要&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;D. Caveman プロンプト&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;「原始人みたいに喋れ」で日本語応答を圧縮&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hdknr.github.io/blogs/posts/2026/04/2026-04-17-claude-caveman-token-reduction/"&gt;既存実績手法（最大 80% 削減）&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;文体が崩れるので公開記事には不向き&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;E. モデル切替&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Gemini など日本語効率の良いモデルへ部分委譲&lt;/td&gt;
&lt;td&gt;翻訳・要約などコモディティ作業&lt;/td&gt;
&lt;td&gt;Claude のハーネス連携を捨てる&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="翻訳プロキシ案-a-が筋悪な理由"&gt;翻訳プロキシ案 (A) が筋悪な理由&lt;/h2&gt;
&lt;p&gt;「ローカル LLM で Claude Code の入出力を翻訳する」というアイデアは一見魅力的だが、Claude Code は対話 AI ではなく &lt;strong&gt;エージェント環境&lt;/strong&gt; であることを思い出す必要がある。&lt;/p&gt;</description></item><item><title>CLAUDE.md+SKILL.md 英語化で 37.6% トークン削減 — tiktoken による実測結果と内訳</title><link>https://hdknr.github.io/blogs/posts/2026/05/claude-md-english-tiktoken-measurement/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/05/claude-md-english-tiktoken-measurement/</guid><description>&lt;h2 id="結論を先に"&gt;結論を先に&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; と 4 つの &lt;code&gt;SKILL.md&lt;/code&gt; を日本語から英語に書き換えた結果、毎セッション読み込まれる固定資産のトークン量が &lt;strong&gt;13,538 → 8,441（-37.6%、絶対値で 5,097 トークン削減）&lt;/strong&gt; になった。&lt;/p&gt;
&lt;p&gt;文字数は逆に &lt;strong&gt;+49%&lt;/strong&gt; 増えているのに、トークンは大幅に減るという一見矛盾した結果である。理由と内訳を以下に示す。&lt;/p&gt;
&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hdknr.github.io/blogs/posts/2026/05/2026-05-13-claude-md-english-prompt-caching/"&gt;CLAUDE.md 英語化の記事&lt;/a&gt; と Skills 英語化 PR (#394) の続編。&lt;/p&gt;
&lt;p&gt;前 2 つの作業で、ハーネスの「内側」（LLM だけが読む固定資産）を英語化し、「外側」（人間が読むブログ記事や許可プロンプト）は日本語のまま維持する&lt;strong&gt;部分英語化パターン&lt;/strong&gt;を実装した。&lt;/p&gt;
&lt;p&gt;ただし、その記事では「Anthropic 公開の日本語比率 1.94x」から &lt;strong&gt;推定 48% 削減&lt;/strong&gt; とラフに見積もっていた。実際の効果は推定モデル次第で 2% 〜 48% と幅があり、本当の値を知るには実測しかない。&lt;/p&gt;
&lt;h2 id="計測手法"&gt;計測手法&lt;/h2&gt;
&lt;h3 id="tiktoken-cl100k_base-を採用"&gt;tiktoken (cl100k_base) を採用&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;理由&lt;/strong&gt;: オフラインで動く、API key 不要、結果が再現可能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;限界&lt;/strong&gt;: Anthropic Claude のトークナイザーではなく OpenAI GPT-4 系。ただし日本語のトークン化挙動は近似として広く使われる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;対案&lt;/strong&gt;: Anthropic SDK の &lt;code&gt;count_tokens&lt;/code&gt; API が最も正確だが、API キーが必要&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="venv-で隔離"&gt;venv で隔離&lt;/h3&gt;
&lt;p&gt;PEP 668 で system Python が保護されているため、&lt;code&gt;.claude/temp/venv-tiktoken/&lt;/code&gt; に隔離した venv を作って tiktoken だけ入れた。&lt;/p&gt;</description></item></channel></rss>