◉CLAUDE LABEN
●2.1.283 — 週末の Claude Code リリースはなく、最新は 9月25日の 2.1.283 のまま。権限モード未設定時の既定が auto に変わった点は、許可ルールとの照合が要ります●PLANS — Pro と Team Standard の既定モデルが Sonnet から Opus へ。Claude Code 2.1.280 の変更で、プラン選びの前提が変わっています●10/07 — Claude Desktop / Cowork の管理構成キー旧綴りの受付終了まで残り9日。締切後は読み込みが fail-closed になります●AUTO — 「許可ルールに書いたコマンドが auto モードで拒否される」という問いが出ています。呼ぶ形を許可ルールに揃える話題です●NEW — 既定の Opus が 5.5 に変わった週、別名のまま残していた3箇所の確認●CURSOR — Cursor 経由で Claude を使うとクレジットがモデル原価に比例して減る構造。1日50件を超えるなら定額の Claude Code Pro が安定という整理が出ています●2.1.283 — 週末の Claude Code リリースはなく、最新は 9月25日の 2.1.283 のまま。権限モード未設定時の既定が auto に変わった点は、許可ルールとの照合が要ります●PLANS — Pro と Team Standard の既定モデルが Sonnet から Opus へ。Claude Code 2.1.280 の変更で、プラン選びの前提が変わっています●10/07 — Claude Desktop / Cowork の管理構成キー旧綴りの受付終了まで残り9日。締切後は読み込みが fail-closed になります●AUTO — 「許可ルールに書いたコマンドが auto モードで拒否される」という問いが出ています。呼ぶ形を許可ルールに揃える話題です●NEW — 既定の Opus が 5.5 に変わった週、別名のまま残していた3箇所の確認●CURSOR — Cursor 経由で Claude を使うとクレジットがモデル原価に比例して減る構造。1日50件を超えるなら定額の Claude Code Pro が安定という整理が出ています
記事一覧/API & SDK
⬡ API & SDK/2026-06-16上級

長時間エージェントのトークン肥大を context editing と memory tool で抑える

ツール結果が積み上がって入力トークンが膨らむ長時間エージェント向けに、context editing と memory tool を併用し、削減量を count_tokens で実測する手順を、自前バックエンド実装つきでまとめます。

Claude API123context editingmemory toolエージェント14トークン最適化3

✦ プレミアム記事

個人開発で回している自動投稿のパイプラインで、リサーチ系のエージェントを一度動かしっぱなしにしてみたところ、20 回ほどツールを呼んだあたりで入力トークンが 7 万を超え、1 ターンごとの課金が無視できない額になっていました。中身を覗くと、原因の大半は「もう使い終わった web_search の結果」が会話履歴にそのまま残り続けていることでした。エージェントが長く動くほど、過去のツール結果がコンテキストを圧迫していく——これは私だけの話ではなく、ツールを多用するワークフロー全般に共通する課題だと思います。

Claude API には、この肥大化を二方向から扱う仕組みが用意されています。古いツール結果をサーバー側で消す context editing と、残したい情報をファイルに退避する memory tool です。役割が正反対なので、片方だけでなく組み合わせて使うのが実用的でした。以下では、この 2 つを最小構成から本番構成まで段階的に組み上げ、削減量を count_tokens で事前に測るところまで、自前実装のコードとともに追っていきます。

「消す」context editing と「残す」memory tool は役割が逆

最初に整理しておきたいのは、この 2 機能が解決する問題がまったく違うという点です。

context editing(clear_tool_uses_20250919)は、会話履歴が一定のしきい値を超えたときに、古いツール結果をサーバー側で自動的に削除します。削除された箇所にはプレースホルダーが差し込まれ、Claude は「ここに結果があったが消えた」と認識できます。つまり、もう参照しないであろう過去の検索結果やファイル読み込み結果を、こちらが手で切り詰めることなく落とせます。

一方 memory tool(memory_20250818)は、Claude が自分でファイルに書き込み・読み出しを行うためのクライアントサイドツールです。/memories ディレクトリに学んだことを保存し、次のセッションや context editing で履歴が消えた後でも、必要なときに読み戻せます。

この対比が肝心です。context editing だけだと、消したツール結果に含まれていた重要な発見も一緒に失われます。そこで「これは後で要る」という情報だけ memory に書いておけば、履歴は軽く保ちつつ知識は残せる、という両取りができます。どちらも beta ヘッダー context-management-2025-06-27 で有効化します。

clear_tool_uses を最小構成で有効にする

まずは context editing だけを、いちばん素直な形で入れてみます。context_management に edit を 1 つ渡すだけです。

import anthropic
 
client = anthropic.Anthropic()
 
response = client.beta.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    messages=[{"role": "user", "content": "最近の AI エージェント研究を調べて要約してください"}],
    tools=[{"type": "web_search_20250305", "name": "web_search"}],
    betas=["context-management-2025-06-27"],
    context_management={"edits": [{"type": "clear_tool_uses_20250919"}]},
)

実際に消去が走ったかどうかは、レスポンスの context_management.applied_edits を見れば分かります。ここを確認せずに「効いているはず」と思い込むと、しきい値に届いていないだけで一度も発火していなかった、という見落としをしがちです。

applied = getattr(response, "context_management", None)
if applied and applied.applied_edits:
    for edit in applied.applied_edits:
        print(f"消去したツール呼び出し: {edit.cleared_tool_uses} 件 / "
              f"削減トークン: {edit.cleared_input_tokens}")
else:
    print("今回は消去なし(しきい値未達)")

最小構成では trigger を省略しているのでデフォルトのしきい値で動きます。短い会話では一度も発火しないのが正常です。発火しないこと自体は異常ではないので、ログで件数を見ながら次のチューニングに進みます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦clear_tool_uses_20250919 の trigger / keep / clear_at_least / exclude_tools を実運用でどう決めるか
✦memory tool のバックエンドをパストラバーサル保護つきで自前実装する動くコード
✦count_tokens で削減トークン量を push 前に実測する手順
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-09-02
thinking ブロックを弾く 400 が出たとき、会話履歴のどこが書き換わっていたか
Claude Fable 5.1 から、thinking ブロックより前の system・tools・messages を書き換えたリクエストが 400 で弾かれるようになりました。自分のエージェントループが該当するかを1リクエストで確かめる手順と、system の組み立て直し・履歴の切り詰めを書き換えなしのやり方へ移す実装をまとめます。
⬡ API & SDK2026-06-30
ツール出力が大きすぎてコンテキストを溶かす問題 — カーソルで小分けに返すページング設計
一覧系のツールが数百件をそのまま返すと、エージェントのコンテキストは一回の呼び出しで溶けます。カーソルベースのページングでツール出力を小分けに返し、トークン予算を守る設計を実装コード付きで解説します。
⬡ API & SDK2026-06-29
ツールが返す画像を Claude に「見せる」 — tool_result を画像ブロックにしてトークンを約10分の1にする
ツールが返した画像を tool_result に文字列で詰めると、同じ画像が約10〜20倍のトークンを消費します。image コンテンツブロックとして返す正しい組み立て方と、SDK 実装・コスト見積もり・落とし穴を実コードでまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます