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?

Claude Code の自動の要約は何万で掛けるか——1 週間の記録に線を当てはめ直したら、60 万で読みが約 3 割減る計算になった

0
Posted at

ある日、私は Claude Code に「チャットの移行は早すぎる」と言い、続けて「実務上どれくらい膨らんだら引き継いだほうが良い?」と聞きました。

公開記事に答えは在ります。既定は窓の約 95% で自動の要約が入る、要約 1 回に 10〜20 万トークンかかる、といった説明です。ただ、その多くは 200K の窓の頃の話です。私の窓は 100 万トークンで、使い方も私のものです。そこで一般論ではなく、自分の 1 週間の記録に「文脈が T を超えたら自動の要約」を当てはめ直して、T ごとに読み込みの合計と要約の回数を出しました。

  • この記事で新しく示すこと: 自分の記録から自分用の線を出す手順(4 手)と、その計算の数・要約の後の上乗せの置き方(約 2.37 万)・文脈の大きさで出力の速さが変わらなかったこと。
  • 当てはまる範囲: 1 人・1 環境(Claude Code デスクトップ・Opus 5.5・窓 100 万)の使い方。探索的です(1 週間の 1 回の計算で、反復していません)。

結果を先に書きます。線を 60 万にすると、読み込みの合計は既定の線(約 96.7 万)より 約 31% 少なく、要約は週 66 回になる計算でした。これは計算です。線を変えて実際に回した結果ではありません。 実際に 60 万へ設定した後の 1 週間は、まだ測れていません。

線 T ごとの読み合計の減り(−14〜−48%)と 1 週間の要約の回数(118〜31 回)。60 万を濃く示した

数字の元データと再現の手順は、検証の記録(Lab)にまとめています。

線はどこにあって、どこで動かせるのか

窓が 100 万のとき、既定の線は約 967K(約 96.7 万)です。動かす口は公式の Settings reference と Model configuration に書かれていて、2026-10-07 に読み直しました。

  • autoCompactWindow: 設定ファイルに書く(10 万〜100 万トークン・既定は "auto")
  • /autocompact 500k: いま使っているモデルの値を modelSettings に保存する
  • --auto-compact-window: その会話だけ変える
  • 環境変数 CLAUDE_CODE_AUTO_COMPACT_WINDOW: ほかの設定より優先される

モデルごとの設定には Claude Code v2.1.288 以降が要ります。私は 10-06 に、設定ファイルへ次の 1 行を足しました。

"autoCompactWindow": 600000

settings.json の末尾の 3 行。autoCompactWindow が 600000 になっている

写真は設定ファイルの末尾です(ほかの行は省きました)。

自分の記録で線を出す 4 手

材料は、Claude Code が自分の PC に保存している会話の記録(jsonl)です。私の場合、9 月 29 日以降に更新された会話のうち、Opus の応答が 30 回以上あるもの 32 本(作業員の記録は除く)、応答 16,449 回でした。

  1. 応答ごとの文脈を 1 回だけ数える。 文脈は cache_read_input_tokens・cache_creation_input_tokens・input_tokens の和です。1 つの応答は記録の複数行に分かれて同じ usage を持つので、message.id ごとに最大の値を取ります。
  2. 実際の要約の位置を拾う。 文脈が 30 万以上いきなり縮んだ所を要約とみなしました(手動の要約も含みます)。この 1 週間で 31 回、要約が入った時の文脈は中央 963,866、縮んだ先 S は中央 106,005 でした。公式の既定(約 96.7 万)と同じ所で入っています。
  3. 要約の後の上乗せ R を置く。 要約の後は読み直しで文脈の増え方が大きくなります。要約の直後 20 応答の増えの合計の中央と、ふだんの 20 応答分(1 応答の増えの中央 × 20)の中央どうしの差が R で、約 2.37 万(23,725)でした。
  4. 線 T ごとに当てはめ直す。 応答ごとの増えを同じ順に積み、文脈が T に届いたら(その文脈を要約のために 1 回読む分を足して)S + R まで縮めて続けます。
def sim(W, R, S):            # W=線・R=要約後の上乗せ・S=縮んだ先
    tot = comp = 0
    for _, seq in traces:    # 会話ごとの「応答ごとの文脈」の並び
        c = seq[0]
        for j in range(1, len(seq)):
            d = seq[j] - seq[j - 1]
            if d < -300_000: d = 0           # 実際の要約の縮みは積まない
            c = max(c + d, S if comp else 0)
            if c >= W:
                tot += c                      # 要約のために 1 回読む
                comp += 1
                c = S + R
            tot += c
    return tot, comp

読み合計は、各応答の文脈の和(単位は億トークン)です。費用そのものではなく、読み込みのトークン数で比べています。

計算では、60 万で読みは約 3 割減る

線 T 読み合計 既定(96.7 万)比 週の要約
20 万 27.70 億 −66.4% 481 回
30 万 35.08 億 −57.4% 195 回
40 万 43.11 億 −47.6% 118 回
50 万 50.05 億 −39.2% 86 回
60 万 56.92 億 −30.9% 66 回
70 万 64.50 億 −21.7% 50 回
80 万 70.80 億 −14.0% 42 回
96.7 万(既定) 82.34 億 基準 31 回

線を下げるほど読みは減り、要約は増えます。60 万を選んだ理由は、読みが 1 割以上減り、要約が 1 日 10 回を超えない線のうち、いちばん下げた線だからです。60 万は週 66 回(1 日 9.4 回)、50 万は週 86 回(1 日 12.3 回)で超えます。この基準は表を見た後に置いたものです。

R の置き方に結論が動くかも見ました。R を 0 にしても、2 倍(約 4.7 万)にしても、60 万は −30.9%〜−30.0%・63〜68 回でした。

設定した後、実際は何万で要約が入ったか

計算とは別に、記録に残った自動の要約の位置も見ました(手動の /compact は除いています)。

区分 件数 要約が入った文脈
設定の前(08-03〜10-06・版 2.1.219〜2.1.286) 59(記録の行では 66) 96.6 万〜100.2 万(90 万未満は 0)
設定の後に始めた会話(10-07・版 2.1.288) 2 56.7 万と 56.7 万(567,638・567,401)
設定の前から走っていた会話(版 2.1.288) 2 85.6 万と 80.1 万

記録の行では 66 件ですが、同じ時刻・同じ値の要約が別の会話の記録にも写っている行が 7 つあり、重ねを除くと 59 件です(幅は変わりません)。

設定の後に始めた 2 つの会話は、2 回とも約 56.7 万で要約が入りました。60 万の設定で 56.7 万になる仕組みと、走っていた会話が 80〜86 万だった理由は確かめていません。観測だけ書きます。

別の操作:新しい会話へ移る線も、同じ形で計算できる

ここまでは「同じ会話の文脈を要約で縮めて続ける」話です。もう 1 つ、「文脈を捨てて新しい会話に書き置きを渡して始め直す」操作(移行)にも線が引けます。要約と移行は別の操作なので、上の表には混ぜません。

別の週(9 月 26 日以降)の司令塔の会話 58 本・応答 5,589 回に、「文脈が T を超えたら新しい会話へ移る」を当てはめ直しました。移行のたびに、書き置きを書く 3 回分(T の 3 倍)と、新しい会話が書き置きを読み直す分(新しい会話の最初の 12 回の実測から 135 万)を足し、新しい会話の始まりは 9.4 万としています。実際の読み込みは 24.65 億でした。

線 T 読み込み 実際比 移行
30 万 11.53 億 −53% 週 51 回(1 日 7.3 回)
40 万 13.33 億 −46% 週 28 回(1 日 4.0 回)
50 万 15.48 億 −37% 週 24 回(1 日 3.4 回)
60 万 16.56 億 −33% 週 14 回(1 日 2.0 回)
70 万 18.03 億 −27% 週 12 回(1 日 1.7 回)

60 万の −31%(要約・R 込み)と −33%(移行)は近い数ですが、週も仕組みも違います。同じことを 2 度測って一致した、という話ではありません。 「同じ形の計算ができる」という例として置きました。

速さは、線を決める理由にならなかった

文脈が太ると遅くなるのでは、とも考えました。Opus 5.5 の応答 14,424 件(上の 2 区分は作業員の応答を含みます)で、文脈の区分ごとに見ました。

文脈の区分ごとの出力の速さ(94・108・102・103 トークン/秒)と、最初の行が出るまでの待ち(3.3・2.8・3.5・4.5 秒)

出力の速さ(出力 300 トークン以上の応答の中央値)は、文脈が 5〜10 万で 94、10〜20 万で 108、20〜40 万で 102、40 万以上で 103 トークン/秒と、ほぼ平らでした。最初の行が出るまでの待ちは 3.3→2.8→3.5→4.5 秒で、40 万以上でいちばん長い(4.5 秒)ものの、差は 2 秒に届きません。文脈が太っても遅くはならず、読み込みのぶん高くなるだけ、というのがこの記録の見え方です。区分の最後は集計の上端が 200 万ですが、窓は 100 万なので「40 万以上」と書きました。

数え直して直した所

  • 最初の控えに書いた「週の要約 39・63・109 回」は、R を 0 にした行の数でした。R を入れた値は 42・66・118 回です。
  • 控えに写した応答数 5,585 は、結果のファイルでは 5,589 でした。ファイルを正にしました。

私の答えと、まだ測っていないこと

  • 60 万は私の答えで、あなたの答えではありません。 使い方が違えば、読みの減りも要約の回数も変わります。上の 4 手を自分の記録で回してください。
  • 要約で失う情報の害(作業の質)は数えていません。線を下げるほど増える側の損は未測定です。
  • 設定した後の 1 週間の実際の読みと要約の回数は、まだ取れていません。取れたら計算と並べて追記します。
  • 料金の話にはしていません。定額のプランで余裕のある週に読みを減らしても、得にはなりません。プランの枠への効きは方向値(1 区間・1% 刻み)までしか見ていません。
  • 窓 100 万の話です。200K の窓での「約 95% で自動」の話とは混ぜていません。

自分の記録で回す道具(応答ごとに 1 回数える読み方・線の積み直し・速さの区分と、合成の入力での試験)→ github.com/sumitsuke/claude-code-session-ledger

この記事の本家(計算の前提・うまくいかなかったこと・出力の写し)は Sumitsuke Lab → Claude Code の自動の要約の線を引き直す計算——32 本の会話・16,449 応答に当てはめた記録

AI の利用について

記録の集計・計算の道具・この記事の下書きは AI(Claude Code)が行い、線を変える・公開の判断は人が行っています。


この記事は Zenn にも同じ内容を掲載しています。

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?