休憩中の「お茶しよう」
飲み物を片手に少し雑談しよう、という軽い誘いとして伝わります。
コンテキストとは、文脈・背景・前提・制約など、言葉や判断の意味を決める「土台」のことです。コンテキストを理解すると、AI開発で誤解を減らし、効率を上げる文脈設計へとつながります。
特にAIを活用した開発では、「指示したつもりなのに、意図とズレた答えが返る」といったトラブルがよく起こります。これは、AIに渡すべき背景や制約、目的といったコンテキストが不足していることが原因です。このズレを放置すると、修正の繰り返しで逆に効率が落ちてしまいます。
本記事では、コンテキストの基本的な意味やハイ/ローコンテキストの違いに加え、なぜ仕事や設計で話が噛み合わなくなるのか、AI開発における「5つのコンテキスト(指示・履歴・知識・ツールなど)」の正体と、それらをどう整理してAIに渡すべきかを、実例も交えながらやさしく整理します!
2026年04月02日更新:「AIエンジニアリングにおける5つのコンテキスト」という実践的な整理を追加しました。RAGやMCPなど、今の開発現場で欠かせない「AIに文脈を伝える仕組み」についても、初心者向けに噛み砕いて追記しています!
コンテキストとは、言葉や判断の意味を決めるための背景情報です。文章そのものだけで意味が確定するわけではなく、誰が、どこで、何のために、どんな前提で言っているかがそろって、はじめて意味が通ります。
つまり大事なのはコンテンツ単体ではなく、その周囲にある文脈です。会話でも仕様書でもレビューでも、「書いてある言葉」は同じなのに解釈がズレるときは、だいたいこの背景情報が足りていません。
たとえば「お茶」という言葉でも、場面が変わると指しているものが変わります。
飲み物を片手に少し雑談しよう、という軽い誘いとして伝わります。
単なる飲み物ではなく、所作や場の空気まで含んだ意味になります。
来客用のペットボトルや湯のみを何名分用意するか、という実務の話になります。
同じ単語でも、休憩・儀式・業務準備というコンテキストの違いで意味が変わります。だから伝える側は「言葉を選ぶ」だけでなく、相手が同じ場面を思い描けるだけの前提を渡す必要があります。
言葉そのものは同じでも、休憩中・茶道・会議準備では、思い浮かぶ状況や期待される行動がまったく異なります。これが「コンテキスト(文脈)」の違いです。
今は情報量が多く、分業も進み、しかもAIが仕事の間に入る時代です。昔のように「あの件ね」で済む相手だけで仕事が回る場面は減り、共有認識の薄い相手と短時間で噛み合わせる力が求められます。
曖昧な共有認識に頼るより、背景・目的・制約を先にそろえたほうが、結果として時短になります。特にAI相手では、暗黙知を勝手に補ってくれないので、文脈を設計して渡せる人ほど、同じ時間で納得感の高い答えを引き出しやすくなります。
ハイコンテキストは、共有前提や空気を前提にして意味を読み取るコミュニケーションです。身内どうし、長く同じ環境で働くチーム、文化的背景が近い集団では機能しやすく、「全部言わなくても伝わる」スピード感があります。
ローコンテキストは、前提や意図を言葉にして共有するコミュニケーションです。部署をまたぐ依頼、外注、引き継ぎ、仕様策定、AIへの指示のように、背景が揃っていない相手にはこちらが基本になります。
| 観点 | ハイコンテキスト | ローコンテキスト |
|---|---|---|
| 伝え方 | 短く言って察してもらう | 前提や意図を明示して伝える |
| 前提の共有量 | 多いことを前提にする | 少ないことを前提にする |
| メリット | 早い、自然、関係性が近いと楽 | 誤解が減る、再現しやすい、引き継ぎに強い |
| デメリット | 外部メンバーや新人には伝わりにくい | 説明コストが増え、冗長に見えることがある |
| 向いている場面 | 長く組んだ少人数チーム、雑談、日常会話 | 設計、依頼、レビュー、契約、AI活用 |
| AI活用時の相性 | かなり悪い。暗黙知が抜け落ちやすい | かなり良い。再現性のある指示にしやすい |
大事なのは、どちらが絶対に良いかではありません。近い関係ではハイコンテキストが効率的ですし、背景がバラバラな相手にはローコンテキストが必要です。相手と場面に合わせて、どこまで言語化するかを調整するのが実務的な正解です。
ビジネスでコンテキストを読むとは、言葉そのものより、なぜその依頼が出てきたのかを見ることです。商談なら予算や稟議、会議なら意思決定者、引き継ぎなら属人化の危険、依頼なら納期や失敗できない理由が隠れています。
たとえば「早めにお願いします」は、人によって「今日中」「今週中」「できれば急ぎ」まで幅があります。ここで必要なのは気合いではなく、「この依頼のゴールは何か」「いつ困るのか」「優先順位は何位か」を補うことです。
ベテランどうしで話が通るのは、能力差より共有コンテキストの量が多いからです。過去の失敗、社内用語、暗黙の優先順位、顧客との関係性を、言葉にしなくてもある程度補完できます。
逆に新メンバーや他部署は、その補完材料を持っていません。経験が文脈を埋めてくれる場面は確かにありますが、それに甘えると引き継ぎや横断連携でズレが増えます。だからこそ、経験者ほど前提を言葉にして橋をかけるのが強いです。
この比喩がかなりしっくりきます。AIは処理速度も要約力も高く、局所的には筋の通った答えを返しますが、空気や暗黙の了解は読みません。「いつもの感じで」「前と同じトーンで」「いい感じに」は、人間には通じてもAIには危険です。
AIワンポイント
AIに効くのは、気の利いた言い回しよりも、背景情報の追加です。答えがズレたら、まず修飾語を足すより、目的・制約・既存構造が抜けていないかを見直すほうが改善しやすいです。
プロンプトは「命令の言葉」、コンテキストは「その命令を正しく理解するための舞台設定」です。AI活用でズレが出るときは、指示文そのものより、背景情報の不足が原因になっていることが少なくありません。
AIへの指示では、最低でも次の4つを入れると精度が上がりやすいです。
役割だけ渡しても足りません。役割が「エンジニア」でも、保守担当なのか、新規実装担当なのか、レビュー担当なのかで答えは変わります。
AIエンジニアリングにおけるコンテキストとは、AIが何を前提に、どう判断し、どこまで実行してよいかを決めるための周辺情報です。ユーザーの質問文だけで答えが決まるわけではなく、役割、会話の流れ、参照知識、使える道具まで含めて、はじめて「この依頼はどう扱うべきか」が見えてきます。
実務でズレが減るかどうかは、プロンプトの言い回し以上に、AIにどんな文脈を渡しているかで決まりやすいです。もっともらしいのに外れた答えが返るときは、質問が悪いというより、判断材料が足りていないことがよくあります。
つまりAIエンジニアリングでいうコンテキストは、「質問文のまわりにある全部の前提」です。良い質問を書くことも大切ですが、それ以上に、役割・背景・制約・知識・道具を正しく渡すことが、ズレを減らし、使える答えに近づく近道です。
下の2つは、やりたいこと自体はほぼ同じです。違うのは背景情報の量だけです。
PHPで問い合わせフォームを改善して。
これだとAIは、新規作成なのか既存改修なのか、セキュリティ優先なのか離脱率改善なのか判断できません。
あなたは既存PHPサイトの保守担当です。
目的は問い合わせ完了率の改善です。
対象は既存の問い合わせフォームで、新規フレームワーク導入は禁止です。
必須条件は、確認画面は維持、バリデーション強化、既存CSSクラス名は変更しないこと。
出力は、改善方針を箇条書き → 変更コード案 → 影響範囲の順でお願いします。
こちらはAIが守るべき境界を理解しやすく、回答の粒度も揃いやすくなります。
効くのは「もっと丁寧に」ではなく、何を前提に答えるべきかを足すことです。質問の言い回しより、背景情報の質のほうが結果に直結します。
コードは1行だけ見ても意味が決まりません。どのデータを扱っているか、どの層で動くか、どの仕様に従うか、既存の依存関係はどうなっているかで解釈が変わります。
同じ `User` というクラス名でも、認証基盤の利用者なのか、購入者なのか、配送先の受取人なのかで責務は違います。コードの意味は、常に周囲の文脈込みで見る必要があります。
AI時代は、コードに「正しい処理」だけでなく、「なぜそうしているか」という文脈も残すことが大切です。それはプリンシプル オブ プログラミング第1章にてコードは設計書であるとも言われているとおり、AIに書かせたコードほど、命名や構造だけでは伝わりにくい意図・制約・業務上の意味を、必要最小限のコメントで補う価値があります。
ただし、何でもコメントに逃がすのは逆効果です。コードを読めば分かることの逐語説明ではなく、「なぜ必要か(Why)」「何を守る制約か(Constraint)」「どこを変えると危ないか(Boundary)」「業務上どういう意味か(Domain meaning)」「一見不自然だが、あえてそうしている理由(Non-obvious choice)」のように、コードだけでは消えやすい文脈を残すのがポイントです。
つまり、文脈はまず命名や構造で表し、それでも伝わりにくい意図や境界だけをコメントで補う、という順番がAI時代には相性のよい考え方です。
DDDでよく出てくる Bounded Context は、言葉の意味が一貫する範囲を区切る考え方です。これは難しい理論というより、同じ言葉を無理に全社共通の意味にしないための安全策と考えるとわかりやすいです。
たとえば販売システムの「ユーザー」は購入者を指し、配送システムの「ユーザー」は受取人や配送先担当者を指すかもしれません。ここを雑に一つのモデルへまとめると、ルールの違いが混線して実装事故が起きやすくなります。
現場の言葉をそのまま変数名に置けば良いわけではありません。まずは、その言葉がどの文脈で使われているかを整理する必要があります。言葉だけ合っていても、意味の境界がズレていると実装はすぐに破綻します。
この観点は ドメインのページ や アーキテクチャのページ ともつながっています。設計は、単語の命名作業ではなく、共有すべき文脈をどこで切るかの作業でもあります。
実務でよくあるのが、「この一覧画面、見やすくしておいてください」という依頼です。これだけだと、見やすさの基準、優先順位、変えていい範囲が全くありません。
あるとき実際に近いことがあり、1回目は見た目を整理しただけで「欲しかったのは検索導線」、2回目は検索導線を足したら「運用担当の入力負荷を下げたかった」、3回目でやっと「問い合わせ対応時間を減らしたい」が見えました。手戻りの原因は技術力不足というより、目的のコンテキストが最初に渡っていなかったことでした。
同じ依頼でも、「問い合わせ件数が増えており、担当者が一覧から対象を探す時間を減らしたい。ゴールは初動対応までの時間短縮です」と1行添えるだけで、提案の方向がかなり揃います。
背景は相手の想像力に任せるものではなく、成果物の精度を上げる入力です。これは人への依頼でもAIへの依頼でも同じです。
コンテキストレビューで最初に迷いやすいのは、「これ、どこまで書くと十分なんだろう?」です。自分には当たり前すぎる前提ほど、書くべきかを見落としやすいです。
最初は、前提を書きすぎると読む側の負担になるから、できるだけ短くしようと考えがちでした。でも実際には、短くした結果として相手が勝手に補完し、そこでズレることが何度もありました。
一方で、何でもかんでも詰め込むと今度は重くなります。背景10個、制約8個、関連資料7本、みたいな依頼は、読み切る前に焦点がぼやけます。ここは本当にバランスが難しいです。
見直して感じたのは、全部を書くのではなく、判断を変えうる前提だけは必ず書くことです。逆に、答えを変えない飾り情報は削っても困りにくいです。重要なのは文章量ではなく、意思決定に効く情報の密度でした。
AIは下書き、整理、比較、たたき台作成にはかなり強いです。ただし、「このチームでは何を優先すべきか」「この変更が今の運用に耐えるか」「その用語の意味は本当に現場と一致しているか」は、人間が責任を持つべき境界だと感じます。
もちもちみかんでも、最初はAIに詳しく書かせればそのまま使える場面が増えると思っていました。実際には、AIの文章やコードは筋が良くても、チームやサイトの文脈に合っているかの確認は別問題でした。今は、AIに作らせる前に文脈を整え、最後は人間が「この文脈で本当に正しいか」を見るほうが、結果として速いと感じています。
「ユーザー」は便利な言葉ですが、便利すぎるぶん危険です。会員、購入者、管理者、閲覧者、配送先担当者が全部ユーザーだと、設計上の責務がぼやけます。
モデルはデータの箱ではなく、共有すべき文脈を形にする道具です。どの属性を持つか、どの振る舞いを持つかは、ドメインで共有したい意味に引っ張られます。
DDDやシステムシンキングを重く学ばなくても、「このモデルはどの文脈でだけ正しいのか」を確認するだけで、かなり事故は減ります。
ドメイン理解から設計、設計から実装、実装からレビューが噛み合うときは、だいたい言葉の意味が途切れていません。逆にどこかで文脈が切れると、「仕様通りなのに使いにくい」「コードは正しいのに現場で困る」が起きます。
迷ったら、次の6つを先に整理するとかなり安定します。
人とAIで違うのは表現の細かさくらいで、本質は同じです。相手が知らない前提を補い、判断軸を共有し、成果物の形を合わせる。この3つを外さなければ、依頼の精度はかなり上がります。
【背景】
なぜこの依頼が必要になったか:
【目的】
最終的に達成したいこと:
【制約】
やってよいこと / ダメなこと:
【前提】
相手が知らないと判断を誤る情報:
【既存構造】
現在の仕様・構成・関連箇所:
【期待する出力】
欲しい成果物の形式:
言葉や判断の意味を決める背景情報のことです。文脈・前提・状況まで含めて考えると理解しやすいです。
一般的には「コンテキスト」の表記が広く使われます。「コンテクスト」も誤りではありませんが、ITやビジネス文脈ではコンテキストのほうが通りやすいです。
前提を共有して察する寄りなのがハイコンテキスト、前提を言語化して明示する寄りなのがローコンテキストです。AIや異なる背景の相手にはローコンテキストが向いています。
答えを変えうる前提は必ず伝えるべきです。特に目的、制約、既存構造、期待形式は省かないほうが安全です。
コンテキストは、意味と判断を支える土台です。会話でも、ビジネスでも、ITでも、AIでも、ズレを減らしたいなら文脈を整える必要があります。
AI時代に差がつくのは、質問力だけではありません。背景・目的・制約を設計して渡す文脈設計力です。相手に「察してほしい」を減らし、「これなら判断できる」を増やしていきましょう。
自分の中では当たり前でも、相手やAIには共有されていない前提があるかもしれません。「これくらい分かるはず」で省略していないか確認しましょう。
依頼や説明をするときは、「なぜやるのか」「何を達成したいのか」「何を変えてよいか・ダメか」を言葉にすると、ズレや手戻りを減らせます。
「どうなったら完了なのか」が曖昧だと、人によってゴールの解釈がズレます。期待する結果や判断基準を、できるだけ具体的に伝えましょう。
今ある仕組みや関連箇所を伝えないまま進めると、部分的には正しくても全体で噛み合わないことがあります。周囲との関係まで含めて共有するのが大切です。
人間同士でも危ないですが、AI相手では特に通用しません。暗黙の了解や空気に頼らず、必要な文脈は明示する前提で考えましょう。
AIは与えられた情報の範囲で答えます。背景、目的、制約、既存構造、出力形式まで渡してはじめて、現場で使える精度に近づきます。
あなたは[役割]です。
背景:[この依頼が必要な理由]
目的:[達成したいこと]
制約:[守る条件 / 触ってはいけない範囲]
前提:[既存仕様・対象読者・業務事情]
出力形式:[箇条書き / 表 / コード / 記事構成など]
依頼:
[ここに依頼本文]
あなたは既存PHPサイトの保守担当です。
背景:フォーム改修の手戻りを減らしたいです。
目的:離脱率を下げつつ既存運用を壊さないことです。
制約:CSSクラス名変更禁止、確認画面維持、新規FW導入禁止。
前提:既存コードをなるべく活かします。
コメント方針:コードを読めば分かる逐語コメントは書かず、以下に当てはまる箇所だけ簡潔にコメントしてください。
- なぜこの処理が必要か(Why)
- 何を守るための制約か(Constraint)
- どこを変えると危ないか(Boundary)
- 業務上どういう意味か(Domain meaning)
- 一見不自然だが、あえてそうしている理由(Non-obvious choice)
命名や関数分割で表現できるものは、コメントではなくコード側で表現してください。
出力形式:変更方針 → コード案 → 影響範囲。
あなたは厳密なコードレビュアーです。
背景:AIで作った差分の安全性を確認したいです。
目的:バグ、回帰、設計リスクを見つけることです。
制約:感想より問題点を優先、ファイルと根拠を示すこと。
前提:既存仕様の維持が最優先です。
レビュー方針:コードだけでは意図や制約が読み取りにくい箇所については、必要に応じて簡潔な文脈コメントの追加も提案してください。
特に次の観点を優先してください。
- なぜこの処理が必要か(Why)
- 何を守るための制約か(Constraint)
- どこを変えると危ないか(Boundary)
- 業務上どういう意味か(Domain meaning)
- 一見不自然だが、あえてそうしている理由(Non-obvious choice)
コードを読めば分かる逐語コメントの追加は提案しないでください。
出力形式:重大度順の指摘一覧。
あなたはやさしい技術ライターです。
背景:初心者向けに概念を誤解なく伝えたいです。
目的:意味だけでなく実務での使いどころまで理解してもらうことです。
制約:専門用語はかみ砕く、具体例を入れる、煽らない。
前提:読者は実務経験が浅いエンジニアです。
出力形式:導入 → 具体例 → 比較 → FAQ → まとめ。
もっといい感じに直して。
既存利用者が迷わないことを優先して、見た目より操作の一貫性を重視して改善してください。
変更してよいのは入力導線と文言で、レイアウト大改修は不要です。
効くのは気の利いた日本語ではなく、判断材料です。AIが外したときは、言い換えより先に背景情報を足してみてください。
経験:Webアプリ・業務システム
得意:PHP・JavaScript・MySQL・CSS
制作・運用中:フォーム生成基盤・クイズ学習プラットフォーム・htmx逆引きレシピ 等
AI時代のエンジニアタイプ診断:CSPF/とろとろみかん
詳しいプロフィールはこちら! もちもちみかんのプロフィール