PR
私が使っているPCガジェット類
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
作業環境で実際に使っている・気になっている周辺機器などをまとめました
※ 一部のリンクは広告(アフィリエイト)を含みます
コンテキストエンジニアリングとは、AIに渡す情報(コンテキスト)全体をどう組み立てるかを設計する考え方です
プロンプトの言い回しを磨くプロンプトエンジニアリングの先にある、いま急速に広まっているテーマなんです
AIに仕事を頼んで、指示じたいは悪くないはずなのに答えがズレる
そんなとき、原因は聞き方よりAIに渡している情報そのものの側にあることが多いです
この記事では、コンテキストエンジニアリングとは何かを、プロンプトエンジニアリングとの違い・具体的な構成要素まで初心者向けにまとめます
読み終えるころには、次の3つがつかめているはずです
この記事は「AIの○○エンジニアリング」連載の2本目です
前回のプロンプトエンジニアリングで見えてきた「聞き方だけでは足りない」という壁を、今回のコンテキストの設計で引き取っていきます
ジャベ雄ざっくり言うと「AIの机の上に何を並べておくか」を考える話です
結論から言うと、コンテキストエンジニアリングとは、AIが一度に読み込む情報のかたまり(コンテキスト)に、何をどう積むかを設計する技術です
単発の指示文だけでなく、AIが答えを作るために参照する材料をぜんぶひっくるめて整える、という捉え方なんです
AI(正確にはLLM=大規模言語モデル、文章を予測して作るAIの中身)は、渡された材料をもとに次の一手を組み立てます
だから材料が薄かったり、ノイズだらけだったりすると、聞き方をどれだけ工夫しても答えが決まりきらないんです
ここで前提になるのがコンテキストウィンドウという言葉です
下のメモにまとめておきます
コンテキストウィンドウとは、AIが一度に読み込める情報量の上限(トークンという単位で数える窓)です
この窓は入力だけでなく、AIが書き出す答えのぶんも一緒に使います
窓じたいは無限ではないので、限られた席に何を座らせるかを選ぶ発想が要ります
コンテキストエンジニアリングは、その席の配分を設計する仕事だと考えると分かりやすいです
Claudeの開発元である Anthropic は、コンテキストエンジニアリングをプロンプトエンジニアリングの自然な発展形と位置づけています
プロンプトを捨てる話ではなく、プロンプトも材料のひとつとして、コンテキスト全体を面倒みる、という広げ方なんです
もう少し身近にたとえると、新しく入ったメンバーに仕事を任せる場面に近いです
どれだけ優秀な人でも、必要な資料や過去の経緯を渡さなければ良い動きはできません
コンテキストエンジニアリングは、AIに対してこの「引き継ぎ資料の準備」を丁寧にやる作業だと考えると、とっつきやすいはずです
ここまでの話を1枚の図にすると、こんなイメージになります
窓というひとつの器を、性格の違う6種類の情報が分け合っている、という構図で見てもらえると分かりやすいはずです


コンテキストエンジニアリングは、2025年に一気に広まった比較的あたらしい言葉です
ざっくりした流れをおさえておくと、単なるバズワードではなく背景のある概念だと分かります
背景にあるのは、AIの使い方が単発の質問から自分で何ステップも作業するエージェントへ移ってきたことです
1往復で終わって、必要な前提もその場で書き添えられる用事なら、うまい聞き方でだいたい足ります
ところが、AIが道具を使って何度も往復しながら進むようになると、途中でどんな情報を持たせ続けるかが結果を左右します
この「持たせ続ける材料の設計」に名前がついたのが、コンテキストエンジニアリングなんです



AIが「単発の相棒」から「作業する部下」に変わったから、渡す資料の設計が要る、という流れです
ここが多くの人のつまずきどころなので、プロンプトエンジニアリングとの違いを表で整理します
ポイントは、片方がもう片方を置き換えるのではなく、プロンプトはコンテキストの一部という包含の関係だという点です
| 観点 | プロンプトエンジニアリング | コンテキストエンジニアリング |
|---|---|---|
| 主な対象 | 1回の指示文の言い回し | 窓に積む情報の全体 |
| 中心の問い | どう聞くか | 何を渡すか |
| 扱う単位 | 文・段落 | 指示・知識・履歴・状態のまとまり |
| 効きやすい場面 | 単発の質問や生成(前提が短く済む場合) | 長く動くエージェント作業 |
| 両者の関係 | コンテキストの一部(部分集合) | プロンプトを内側に含む上位の設計 |
「プロンプトエンジニアリングはもう古い」という煽りを見かけますが、そこは冷静に受け止めたいところです
実務では指示文の作り込みはいまも必要で、コンテキストという大きな器の中でプロンプトが担う役割が明確になった、と捉えるのが無理のない理解なんです
言い換えると、聞き方(プロンプト)を磨くのは点の改善、渡す材料ぜんぶ(コンテキスト)を設計するのは面の改善です
点をいくら磨いても面が崩れていると結果は安定しないので、両方を行き来する感覚が実用的です
たとえば「この関数のバグを直して」と頼む場面を考えます
プロンプトの工夫は、頼み方を「エラー内容も添えて原因から説明して」と具体的にすること
コンテキストの設計は、そもそも該当のコードやエラーログ・関連する仕様まで一式を渡しておくことです
後者が抜けていると、聞き方をどれだけ整えても的外れな答えになりがちなんです
では、コンテキストには具体的に何が入るのか?
代表的なものを6つの構成要素に分けて、1つずつ噛み砕きます
この6つが、同じひとつのコンテキストウィンドウ(限られた窓)を分け合います
だからこそ、何を厚く積んで何を削るかの配分の判断が、コンテキストエンジニアリングの中身になるわけです
6つのうち、初心者がイメージしにくいのはツール定義と実行結果・エージェント状態あたりでしょうか?
前者は「AIが検索や電卓を使えるように渡す取扱説明書とその使用結果」、後者は「作業のしおり(いまどこまで進んだか)」だと思うと近いです
言葉の説明だけだとイメージしにくいので、実際にどんな中身が窓に載るのかをミニ例で並べてみます
同じ「情報」でも、要素ごとに質がぜんぜん違うのが伝わるはずです
こう並べると、6要素は「知識(RAG)」「記憶(メモリ)」「いまの流れ(会話履歴)」のように役割が分かれていると分かります
ぜんぶ同じ袋に放り込むのではなく、種類ごとに何をどれだけ載せるかを考えるのが、コンテキスト設計の勘どころなんです
初めて聞く方向けに、RAGだけ少し補足します
RAG(Retrieval-Augmented Generation)とは、AIが答える前に関連資料を検索し、それを取り込んでから答えを作る仕組みです
AIの中身が最初から知っていることには限りがあり、社内マニュアルや最新の情報までは覚えていません
そこで、外から必要な資料を引っぱって窓に載せてあげると、AIはその場で参照しながら答えられます
身近な例だと、手元のPDFを読ませて質問に答えてもらう使い方がRAGの発想に近いです
言葉としてのRAGや周辺用語はAI用語集にもまとめているので、あわせてどうぞ
メモリと会話履歴は似ていますが、役割が少し違います
会話履歴は「いまのやり取りの流れ」、メモリは「別の機会にも持ち越したい情報」というイメージです
会話が長引くと履歴が増えて窓を食いつぶすので、要約して圧縮するのもコンテキスト設計の一部です
全部を抱え込むより、要るものだけ残す引き算のほうが、じっさいには効いてきます
ここまで読むと「とにかく情報を積めば安心」と思えますが、そこは落とし穴です
窓には上限があるうえ、関係ない情報が混ざると、AIがどこを見ればいいか迷って精度が落ちます
Anthropic も、コンテキストで大事なのは量ではなくその一手にとって過不足のない情報だと強調しています
だから実務では、足す設計と同じくらい、要らないものを削る・要約する設計が効いてきます
具体的には、窓に情報を詰め込みすぎると次のような実害が出ます
どれも「たくさん渡したのに、かえって精度が落ちた」という形で表れるのがやっかいなところです
だから上限ギリギリまで詰めるより、その一手に要らない資料は思い切って外すほうが、結果的に答えが安定します
足し算より引き算のほうが効く場面は、じっさいに手を動かすとよく出くわします
コンテキストエンジニアリングを語るとき、よく引かれる整理があります
それがagent failures = context failuresという見方です
これは、エージェント(自分で作業するAI)の失敗の多くは、モデルの頭が悪いからではなくコンテキストの失敗が原因だ、という捉え方です
渡すべき情報が抜けていた、古い情報が混ざっていた、ノイズが多すぎた、といった材料側のほころびが結果を崩す、というわけなんです
この見方の便利なところは、AIがコケたときに直す先が具体的になる点です
「なんか賢くしてほしい」ではなく、「どの材料が足りなかったか」を点検すればいい、と切り分けられます
AIの答えがズレたら、まず渡した材料を疑う
指示・前提・参照資料・履歴のどれかに穴がないかを見直すと、聞き方をこねくり回すより早く直ることが多いです



私も「AIが悪い」と思った失敗の大半は、渡す情報の抜けが原因でした
抽象的な話が続いたので、私が日常的に触れている実例を挙げます
それが、AI開発ツールのClaude Codeで使うCLAUDE.mdというファイルです
CLAUDE.md は、プロジェクトの決まりごとをまとめておく設定ファイルで、AIが作業を始めるときに読み込みます
私はここに、使う言葉づかいのルールや、触ってほしくないファイル、フォルダの構成などを書いておくんです
ただし CLAUDE.md はAIへのお願いを書く場所で、アクセスを止める仕組みではありません
本当に触らせたくないファイルは、権限の設定側(settings.json の permissions.deny)で止めておくのが安全です
これはまさにコンテキストエンジニアリングそのもので、毎回おなじ前提を打ち直す代わりに、AIが読み込むコンテキストを先に整えておく、という発想です
先ほどの6要素で言えば、システムプロンプトやメモリに近い役割を、1枚のファイルで担わせている感じです
私の場合、CLAUDE.md を整えるほどに、指示が短くても意図どおり動いてくれるようになりました
逆に、ここが薄いと同じ説明を何度も繰り返すことになり、それこそ先ほどの「context failures」を自分で作ってしまいます
具体的には、CLAUDE.md を用意する前は「ですます調で、句点は控えめに」と毎回説明していたことが、いまは一言も添えずに文体がそろいます
渡す前提を一度ファイルに固定するだけで、往復のたびに積もっていた手間がまとめて消えた感覚です


CLAUDE.md をはじめとした設定ファイルの種類はClaude Code 設定ファイル早見表に、ツール全体の仕組みはClaude Code 拡張機構入門にまとめています
コンテキストの設計を手を動かして体感したい方は、そのあたりから触ってみるのがおすすめです
設定ファイルは何でも書けばいいわけではありません
不要な情報を詰め込むと窓を圧迫して逆効果になるので、要る前提だけを簡潔に置くのが良い塩梅です
コンテキストエンジニアリングとは、AIに渡すコンテキストウィンドウ全体に何を積むかを設計する技術でした
プロンプトを置き換えるものではなく、プロンプトを内側に含む上位の設計だと押さえておくと迷いません
ここまでで「何を渡すか」の設計は見えてきました
すると次に気になるのが、そのコンテキストを実際に出し入れしたり、道具を動かしたりするAIの周りの仕組みぜんぶです
そこを扱うのが、次回のハーネスエンジニアリングです
コンテキストを含めてAIを取り囲むソフトウェア基盤の話に進みます


PythonとExcelを中心に仕事に役立つ業務ツールや自動化、スクレイピングツールの作成を受注していて、クラウドワークスでは気が付けば100件以上のお仕事を受注してきました!
会社員をやりながらの副業なので時間の捻出は相応ですが、クライアントの方々と近い立場でこちらからも提案しながら活動していますのでお悩みあれば是非ご相談ください
VBAとPythonを中心にユーザー側でできるITを自己学習しているので備忘録半分、学習履歴を残して同じ道を辿る人の参考になればとブログを始めました
副業でスクレイピングツール作成を中心にできることを色々やっていますのでご相談いただけるとありがたいです!
クラウドワークスのページへ
ココナラのページへ
コメント