CLAUDE LABEN
TOOLSWAP — 会話の途中でツールを追加・削除できるベータが始まりました。プロンプトキャッシュを保ったまま入れ替えられ、Fable 5・Mythos 5・Opus 4.8・Opus 5 が対象ですFALLBACK — fallbacks パラメータに default モードが加わり、拒否のカテゴリごとに推奨のフォールバックモデルが当たります。サーバ側フォールバックもベータ提供ですADDDIR — /add-dir や SDK の register_repo_root で作業ディレクトリを追加した直後に発火する DirectoryAdded フックが追加されましたMCPERR — --mcp-config の検証で読み飛ばされたエントリが、ヘッドレスの stream-json init イベントに mcp_server_errors として載ります。端末実行では起動時に警告が出ますFANOUT — 同時に動くサブエージェントの上限が既定20になりました。--max-budget-usd に達すると新規の起動が拒否され、動作中のバックグラウンドも止まりますOPUS5 — Claude Opus 5 は 1M コンテキスト・最大128Kトークン出力で、thinking が既定で有効です。価格は Opus 4.8 と同じに据え置かれていますTOOLSWAP — 会話の途中でツールを追加・削除できるベータが始まりました。プロンプトキャッシュを保ったまま入れ替えられ、Fable 5・Mythos 5・Opus 4.8・Opus 5 が対象ですFALLBACK — fallbacks パラメータに default モードが加わり、拒否のカテゴリごとに推奨のフォールバックモデルが当たります。サーバ側フォールバックもベータ提供ですADDDIR — /add-dir や SDK の register_repo_root で作業ディレクトリを追加した直後に発火する DirectoryAdded フックが追加されましたMCPERR — --mcp-config の検証で読み飛ばされたエントリが、ヘッドレスの stream-json init イベントに mcp_server_errors として載ります。端末実行では起動時に警告が出ますFANOUT — 同時に動くサブエージェントの上限が既定20になりました。--max-budget-usd に達すると新規の起動が拒否され、動作中のバックグラウンドも止まりますOPUS5 — Claude Opus 5 は 1M コンテキスト・最大128Kトークン出力で、thinking が既定で有効です。価格は Opus 4.8 と同じに据え置かれています
記事一覧/API & SDK
API & SDK/2026-07-28上級

ツール出力10万文字の境界で消える一行 — 実測から組み立てた出力封筒の設計

エージェントのツール出力が10万文字を超えると全文はファイルへ退避され、モデルには先頭を切り取ったプレビューだけが渡ります。手元のリポジトリで実測した生存率と、判断材料を先頭へ押し出す出力封筒の実装をまとめました。

agent-sdk4mcp19tool-use22context6運用13

プレミアム記事

自分のコンテンツリポジトリに対して、エージェントに素朴な質問を投げました。「この中でいちばん大きい MDX ファイルはどれですか」。

返ってきたのは、実際の最大ファイルではありませんでした。

手元で findwc -c を組み合わせて確かめると、答えは 53,595 バイトの記事です。エージェントが挙げてきたのは、それより一回り小さいファイルでした。ツールの実行自体は成功していて、エラーもありません。

原因にたどり着くまで、しばらくかかりました。ツールの出力が 10 万文字の境界を越えていたのです。

10万文字を超えた出力に何が起きているのか

Managed Agents では、agent_toolset と MCP ツールの出力が 10 万文字(およそ 25K トークン)を超えると、全文がサンドボックス内のファイルへ自動的に書き出されます。モデルに渡るのは切り詰められたプレビューと、そのファイルパスです。必要になった時点で全文を読み出せる、という設計になっています。

コンテキストが溢れて処理そのものが失敗するよりは、はるかに良い挙動です。ログ全文やビルド出力を扱うタスクが、境界を意識せずに走るようになりました。

ただ、この「切り詰められたプレビュー」が何を切り詰めているのかは、仕様を読むだけでは分かりませんでした。実際に境界の向こう側へ出力を送り込んで、何が残り何が消えるのかを測るまで、私は事態を誤解していました。

実測: 手元のリポジトリで、どのコマンドが境界を越えるか

測定対象は、日本語 791 本・英語 791 本の MDX を抱えた実際のコンテンツリポジトリです。日常的にエージェントへ投げているコマンドを、そのまま流してバイト数を数えました。

コマンド出力バイト数10万文字比行数
grep -rn 'claude' content/articles/ja --include='*.mdx'1,201,15412.01x5,595
cat src/data/articles.json822,5828.23x
find content -name '*.mdx' -exec wc -c {} +149,8381.50x1,654
ls -R content87,1350.87x

4 つのうち 3 つが境界を越えていました。特別に乱暴なコマンドは一つもありません。どれも「ファイル一覧を取る」「横断的に検索する」という、エージェントに最初に覚えさせる類の操作です。

規模が育つと、日常の操作がそのまま境界を越える。これが出発点でした。

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

この記事の続きを読む

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

この記事で得られること
実測4コマンドの出力サイズと、先頭10万文字に生き残った行の割合(8.3%〜66.8%)
822,582バイトのJSONが先頭カットで JSONDecodeError になる位置と、妥当なJSONを返す封筒の実装
149,838バイトの出力を17,182バイト(11.5%)に畳みつつ合計行を保つ outbox スクリプト全文
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API & SDK2026-05-20
Claude エージェントのツール返り値を圧縮する — 巨大レスポンスを文脈に積まずに集約する設計
データベースの数千行、Webスクレイプ後のHTML、ファイル読み込みの数MBといった巨大なツール出力をそのまま Claude に渡すと文脈が破裂し、コストも品質も同時に悪化します。スキーマ縮約・サマリ・参照渡しの3層で圧縮する本番アーキテクチャを実装パターン付きで整理しました。
API & SDK2026-07-09
出力は同じ、道筋は違う — エージェントの軌跡を不変条件で守る
既定モデルが入れ替わっても最終出力は正しいまま、ツール呼び出しの道筋だけが静かに変わることがあります。実行トレースを記録し、不変条件で機械的にアサートする軌跡回帰ハーネスを実装コードと実測値で整理しました。
API & SDK2026-07-01
新モデルが増えてもコスト集計をズラさない Claude API 単価レジストリと fail-closed 設計
Opus 4.8 と Haiku 4.5 が Messages API に加わったとき、コード中に散らばった単価がコスト集計を静かに狂わせます。単価を1か所に集約し、未知モデルを fail-closed で弾く実装を、実コード付きで紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →