0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cache TTL が修正された:v2.1.129 の release note 1 行 と、 5/5 の Qiita 記事 の続編

0
Last updated at Posted at 2026-05-06

5 月 5 日 の朝 (01:45) に「Cache TTL が 1 時間から 5 分に silent flip した話」 を 公開 した。 5 月 6 日 の 朝、 Anthropic は v2.1.129 を 出荷 し、 release note の 1 行 で 修正 を 出荷 した。

Fixed 1-hour prompt cache TTL being silently downgraded to 5 minutes

そして、 これ は 5 日 の 中 で 2 件目 の cache TTL 関連 の 修正。 5 月 1 日 の v2.1.126 に 次 の 項目 が 既 に 含まれて いた。

Fixed subscribers who set DISABLE_TELEMETRY falling back to 5-minute prompt cache TTL instead of 1 hour

5/5 の 記事 を 読んだ 方 へ の 続編 と して、 5/6 の 段 で 起こった 事 と、 自分 の セッション 記録 240 件 で 実測 した 結果 を 共有 する。

5 日 で 2 件 の 修正:並び の 構造

5 月 1 日、 v2.1.126。 個人 の 情報 の 公開 を 拒否 した 加入者 (DISABLE_TELEMETRY を 設定 した 人) が 沈黙 で 5 分 の TTL に 振り分けられて いた 連動 を 修正。 関連 の 問題 報告 #45381 は 既 に 閉鎖。

5 月 6 日、 v2.1.129。 個人 の 情報 の 設定 と 関係 ない、 全体 の 沈黙 の 短縮 を 修正。

5 日 で 2 件、 全て cache TTL の 表面 に 集中。 「閉鎖、 計画 なし」 の 構え から、 能動 的 な 工学 の 対象 に 変わった 事 を 示す。 2026 年 4 月 13 日 の Register の 記事 で、 公式 が 「TTL の 変更 は 加入者 の 報告 した 規模 の 枠 の 消費 を 起こして いない」 と 述べた 時 から の、 最大 の 構え の 変化。

自分 の セッション 240 件 で 実測

「明日 計測 する」 の 約束 では なく、 直近 の 自分 の Claude Code の セッション 記録 240 件 (2026-04-15 以降、 約 52,000 件 の 助手 の 返信) を Python で 解析 した。 関連 の 領域 は usage.cache_creation の 内部 の 内訳。

import json
from collections import defaultdict
from pathlib import Path

data = defaultdict(lambda: {'h1': 0, 'm5': 0, 'cr': 0, 'msgs': 0})

for f in Path("~/.claude/projects/").expanduser().rglob("*.jsonl"):
    current_version = None
    for line in f.open():
        obj = json.loads(line)
        if obj.get('version'):
            current_version = obj['version']
        msg = obj.get('message', {})
        usage = msg.get('usage') if isinstance(msg, dict) else None
        if not usage:
            continue
        cc = usage.get('cache_creation', {})
        if not isinstance(cc, dict):
            continue
        date = obj.get('timestamp', '')[:10]
        key = (date, current_version)
        data[key]['h1'] += cc.get('ephemeral_1h_input_tokens', 0)
        data[key]['m5'] += cc.get('ephemeral_5m_input_tokens', 0)
        data[key]['cr'] += usage.get('cache_read_input_tokens', 0)
        data[key]['msgs'] += 1

結果 の 主要 な 表 (7 行)。

日付 出荷 の 番号 1h % 5m %
2026-04-15 2.1.87 25.4 % 74.6 %
2026-04-17 2.1.87 68.2 % 31.8 %
2026-04-23 2.1.118 95.9 % 4.1 %
2026-04-29 2.1.121 93.6 % 6.4 %
2026-05-01 2.1.121 100.0 % 0.0 %
2026-05-05 2.1.121 94.3 % 5.7 %
2026-05-06 2.1.121 100.0 % 0.0 %

自分 の 仕事 で 起こって いた 事。 4/23 の 前 (v2.1.87 の 期間) は 5 分 の TTL が 主導 (74.6 %)。 4/14 の v2.1.108 で ENABLE_PROMPT_CACHING_1H=1 の 任意 の 設定 が 出荷 され、 自分 は 設定 を 入れた。 4/23 以降 (v2.1.118 + 環境 の 設定) で 1 時間 が 主導 (95.9 %)。 5 月 1 日 と 5 月 6 日 で は 100 % が 1 時間。

ただし 重要 な 注意。 自分 の セッション は 環境 の 設定 で 任意 に 入る 経路 で あって、 v2.1.129 が 修正 した 自動 の 既定 の 経路 の 検証 で は ない。 環境 の 設定 を して いない 加入者 が v2.1.129 に 上書き した 場合、 同じ 形 (5 分 の % が 0 % に 近づく) が 自動 で 反映 される はず。

自分 の 仕事 で 確認 する 手順 (40 行 の Python)

「自分 の 仕事 で 修正 が 効いて いる か」 を 確認 する 手順 を、 既存 の セッション 記録 から 計算 する 形 で 共有。 上 の Python の 短い 版。

import json
from pathlib import Path

cc_total = 0  # cache_creation
cr_total = 0  # cache_read

for f in Path("~/.claude/projects/").expanduser().rglob("*.jsonl"):
    for line in f.open():
        try:
            obj = json.loads(line)
        except:
            continue
        msg = obj.get('message', {})
        usage = msg.get('usage') if isinstance(msg, dict) else None
        if not usage:
            continue
        cc = usage.get('cache_creation', {})
        if isinstance(cc, dict):
            cc_total += cc.get('ephemeral_1h_input_tokens', 0)
            cc_total += cc.get('ephemeral_5m_input_tokens', 0)
        cr_total += usage.get('cache_read_input_tokens', 0)

print(f"cache_creation total: {cc_total:,}")
print(f"cache_read total:     {cr_total:,}")
total = cc_total + cr_total
if total > 0:
    print(f"cc / total ratio:     {cc_total/total:.4f}")

実行 後、 cc / total ratio が 0.05 以下 で 1h TTL が 主導 で 動いて いる。 0.10 を 越えて いる 場合 は、 1h と 5m の 内訳 を 出して、 5m の 主導 が 残って いる か 確認。

残る 4 つ の 触媒

cache TTL の 修正 は、 5 月 5 日 の 記事 で 整理 した 退行 の 集まり の 1 件 だけ。 残り の 4 件 は 動いて いない:

  • 上位 の 模型 の 符号化 の 増加 (1.35 から 1.46 倍 の トークン、 長 文脈 で 46 点 の 退行)、 問題 報告 #46917 は open
  • 4 月 の 上位 の 枠 の 表示 の 問題 と 枠 の 仕組み の 使い 心地 は 戻って いない
  • 2026-04-04 の 第三者 の 道具 の 方針 は 変わって いない
  • HERMES.md / OpenClaw の 文字列 の 経路 の 問題 (HN #47963204 で 1,341 点、 718 件 の 書き込み) は 個別 の 返金 で 終わって いる

5 つ の 触媒 が 全て 動いて いる 状態 から、 4 つ が 動いて いる 状態 に 変わった。 移行 の 判断 が 五件 の 触媒 の 判断 から 四件 の 触媒 の 判断 に 変わる。

5 月 6 日 の 加入者 が 今 で きる 事

ひとつ目。 v2.1.131 (5/6 出荷) に 上書き。 v2.1.129 が cache TTL の 修正、 v2.1.130 と v2.1.131 は 後続 の patch で、 修正 の 撤回 の 様子 は 出荷 の 説明 で 見え ない。

ふたつ目。 修正 が 自分 の 仕事 に 反映 される 前 の 基準 を 取る。 まだ 上書き して いない 段 で、 上 の Python の 計算 を 走らせる。 1-3 日 後 の 数値 と の 差 が 答え。

みっつ目。 計測 する まで 移行 の 計画 を 修正 し ない。 出荷 の 説明 で 移行 の 判断 を 動かす と、 出荷 の 説明 自体 より 結果 が ぶれる。

よっつ目。 残り の 4 つ の 触媒 を 個別 に 追跡 する。 5 つ の 触媒 の 判断 から 4 つ の 触媒 の 判断 に 変わる だけ。 第 2 章 の 仕組み 自体 は 変わら ない。

5/5 の 記事 を 読んだ 方 へ

5 月 5 日 の Qiita 記事「Cache TTL が 1 時間から 5 分に silent flip した話、 Issue #46829 を 1 ヶ月後に postmortem として読み」 の 続編 と して、 5/6 v2.1.129 で 出荷 された 修正 の 中身 と、 残り の 触媒 の 状況 を 整理 した。 5/5 の 記事 の 末尾 で 推奨 した 環境 の 設定 で の 任意 の 1h TTL の 経路 は、 v2.1.129 が 自動 の 既定 を 修正 した 後 も 引き続き 有効。 環境 の 設定 を して いない 場合 は、 v2.1.129 へ の 上書き で 自動 で 反映 される はず。

英語 圏 で の 同 主題 の 整理 は Hashnode 版hatena ブログ 版 を 公開 して いる。


移行 を 検討 中 の 方 へ。 Claude Code 移行 の 手引き は、 本 記事 の 枠組み の 約 117 ページ の 判断 の 文書、 19 ドル。 第 1 版 の 加入者 は、 残り の 触媒 の 状況 が 変わった 場合 の 第 2 版 の 上書き を 無料 で 受け取る (5/22 出荷 を 5/15 の 監査 で 確定 する 予定)。 Token 関連 の 全体 像 は Token Book EN で 整理。 月次 の 更新 は CC Safety Lab Founder Membership (月 500 円)。

5/8 で 移行 の 手引き の 公的 な 告知 を 行う 予定 (今 は 第 1 版、 5/22 で 第 2 版 の 出荷 を 5/15 の 監査 で 確定 する 予定)。 残り の 4 つ の 触媒 が 5 月 の 半 ば で 同様 の 修正 の 流れ に 入る か、 入ら ない か で、 第 2 版 の 中身 の 重み が 大きく 変わる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?