← AIバイブコーディングTips 一覧へ Workflow / Anthropic Engineering

コンテキストは有限のアテンション予算だった

「コンテキストエンジニアリング」という言葉自体は、もうこのサイトでも何度か扱ってきた。だが、その一次情報——Anthropic公式が実際にどう定義しているか——はまだ読んでいなかった。答えは明快で、コンテキストは容量の話ではなく有限の注意力予算の話だった。

この記事で手に入るもの

Anthropic公式が定義する「コンテキストエンジニアリング」の中身と、ツール数の絞り込み・サブエージェントへの隔離・その場検索という3つの具体的な間引き手法。

01 — 言葉の出どころを読む

「コンテキストエンジニアリング」の定義元

以前「プロンプト設計の時代は終わった」という記事で、海外の実践者たちの間で争点がプロンプトからコンテキスト管理に移っている、という話を扱った。今回読むのは、その言葉の一次情報にあたるAnthropic公式のエンジニアリングブログだ。

公式の定義はシンプルだ。コンテキストエンジニアリングとは、モデルがタスク完了までの各ステップで、次のトークンを生成するために「見えている」情報の集合を最適化する作業を指す。プロンプトの言葉選びを工夫する「プロンプトエンジニアリング」の、さらに一段上の設計層という位置づけになる。


02 — なぜ「予算」なのか

トークン数の限界ではなく、注意力の限界

この記事のいちばんの核心は、コンテキストを「容量」ではなく「予算」として捉え直している点にある。

01

入る/入らないの話ではない

コンテキストウィンドウが大きくなっても、問題は解決しない。トークンを詰め込めるかどうかより、モデルがその中の重要な情報にどれだけ注意を向けられるかが結果を左右する。

02

情報が増えるほど精度が落ちる現象がある

無関係な情報や古い情報が混ざり込むほど、モデルは本当に必要な部分を見失いやすくなる。公式ブログはこれをコンテキストの劣化として明確に問題視している。「念のため全部渡す」がむしろ逆効果になりうる、という指摘だ。

03

だから「エンジニアリング」と呼ぶ

限られた予算をどう配分するかという設計問題である以上、これは一回きりの工夫ではなく、タスクの種類ごとに繰り返し調整する継続的な設計作業になる。

ここが核心。コンテキストウィンドウは容器ではなく予算だ。多く積めば良い結果が出るわけではなく、何を積んで、何を積まないかの判断そのものが精度を左右する。


03 — 具体的な間引き手法

予算をどう節約するか

公式ブログが挙げる手法は、抽象論だけでなく実装レベルまで具体的だ。個人開発の規模でもそのまま応用できるものを3つ抜き出す。

01

使えるツールの数そのものを絞る

MCPサーバーを何個も繋ぎ、ツール定義をすべて常時読み込ませる構成は、それだけでコンテキストの予算を消費する。今のタスクに必要な範囲だけを有効にする設計が推奨されている。

02

サブエージェントに文脈を隔離する

大きな調査や大量のログ読み込みは、メインの会話とは別のサブエージェントに切り出し、要約だけをメインに戻す。メインの文脈を汚さずに済む、という発想はClaude Code自体の設計思想とも重なる。

03

事前に全部読み込ませず、その場で検索させる

関連しそうなファイルを最初から全部渡すのではなく、必要になった時点でモデル自身に検索・取得させるJust-in-time方式。結果として渡る情報量は減るが、的中率は上がる。


04 — 小さな比較実験

コンテキストは、増やせば良いわけではない

ここからはAnthropic公式の説明と、私がこのページの加筆案を作るために行った小規模な比較実験を分けて扱う。対象タスクは「この記事の弱点を特定し、削除なしで追加できる検証案を提案する」。同じ指示を、渡す資料だけ変えて3回実行した。

A
最小: 対象ファイルだけArt28のHTMLだけを渡す。記事内の不足は見つけやすいが、過去記事との役割分担やサイト内の改善基準までは照合できない。
B
適量: 対象+依存関係+関連資料Art28、関連するArt20、記事監査のArt28評価、記事生成規約を渡す。今回の判断に必要な比較軸と実装上の制約を確認できる範囲に絞った。
C
過剰: 適量+関係の薄い周辺資料サイト全体の別媒体・アプリ・運用資料まで加える。背景は増えるが、今回の加筆判断には直接使わない情報も混ざる。

結果

今回の1回では、Bの適量条件が9/10点で最高だった。Aは記事内の不足を正しく指摘したが、根拠が記事本文に偏った。Cはサイト全体の課題まで広げた一方、Art28への具体的な提案が薄くなり、不要な推測も増えた。

A
7/10正確さ2・見落とし1・根拠2・不要な推測1・出力長1。比較実験の不足は発見したが、関連資料との照合がない。
B
9/10正確さ3・見落とし2・根拠2・不要な推測1・出力長1。記事の弱点、既存の改善方針、削除なしという制約を同時に満たした。
C
6/10正確さ2・見落とし1・根拠1・不要な推測1・出力長1。周辺情報を拾ったが、今回の判断に不要な論点が増えた。

実務での判断ルール

この結果は1回の小規模実験であり、モデル・温度・指示文・タスクが変われば結果も変わりうる。サブエージェントの実行環境がないため、今回は同一モデルで条件ごとの入力を分離して実施した。再現用の入力一覧、出力、採点表は記事と同じ管理フォルダに保存している(外部公開を意味しない)。


05 — 自分の運用に当てはめる

チェックリスト

以前の記事で挙げた「タスク分割・状態のファイル化・文脈の間引き」に、公式の裏付けが加わった形になる。今日から見直せる範囲だけ挙げる。

常時接続しているMCP/ツールを棚卸しする今のタスクに使っていないツール定義が、毎回コンテキストを消費していないか確認する。
大きな調査は別セッション・サブエージェントに切り出すメインの会話に生ログを溜め込まず、要約だけを持ち帰る運用にする。
「念のため添付」をやめ、検索させる関連ファイルを全部渡す前に、本当に今この判断に必要かを一度疑う。

出典: Anthropic Engineering — Effective context engineering for AI agents