コンテキスト
Context
概要(サマリー)
AIやプログラムが適切に判断するために必要な背景情報や前後関係のこと。
たとえば、AIにいきなり「画面の下にボタンを作って」とだけ言っても、何の画面なのか、どんなデザインなのか、どのファイルを直せばいいのかが分からない。
このとき、「今のコード全体の状況」「何を作っているのか」「どのルールで進めたいのか」といった情報を先に渡しておくと、AIはより的確に答えやすくなる。
この背景情報や文脈がコンテキストである。
最近のAIツールでは、プロジェクトの説明ファイルやルールファイルを読み込んで、毎回のやり取りに反映する仕組みも増えている。
そのため、AI開発ではコンテキストの質が回答の質を大きく左右する。
詳細解説
コンテキスト(Context)とは、ある発言・命令・データが、どんな状況や前提の中で扱われているかを示す背景情報のことである。
日本語では「文脈」や「前後関係」、「背景情報」と言い換えるとわかりやすい。
人間同士の会話でも、同じ言葉でも前後の流れによって意味が変わることがある。
たとえば、突然「それ直して」と言われても、
- 何を
- どこを
- どう直すのか
が分からなければ対応できない。
しかし、直前まである画面のボタン崩れについて話していれば、「それ」が何を指すか自然に分かる。
この「前の話の流れ」がコンテキストである。
なぜコンテキストが必要なのか
コンテキストがないと、AIやプログラムは言葉や命令を表面的にしか解釈できない。
そのため、
- 見当違いな返答になる
- 間違ったファイルを修正する
- 意図と違うコードを出す
- 何を優先すべきか判断できない
といった問題が起きやすい。
逆に、十分なコンテキストがあれば、
- 何を作りたいのか
- どの技術を使っているのか
- どういうルールがあるのか
- 何を避けたいのか
を踏まえて答えられるようになる。
つまりコンテキストは、判断の精度を上げるための前提情報である。
AIにおけるコンテキストとは
AIとのやり取りでいうコンテキストは、単なる会話の流れだけではない。
たとえば次のようなものも含まれる。
- 今までの会話内容
- 開いているコードやファイル
- プロジェクトの概要
- 使用している技術スタック
- 命名ルールや設計方針
- エラーメッセージ
- ディレクトリ構成
- 目的や制約条件
つまりAIにとってのコンテキストとは、
「正しく答えるために必要な材料一式」
と考えるとわかりやすい。
コンテキストが不足するとどうなるか
たとえばAIに次のように言ったとする。
下にボタンを追加して
これだけでは、
- どの画面の話か
- HTMLなのかReactなのか
- デザインは既存に合わせるのか
- ファイルはどれか
- 何のボタンか
が分からない。
この状態では、AIは推測で答えるしかなくなる。
一方で、次のように伝えるとかなり変わる。
商品詳細ページの下部に、既存デザインに合わせた「カートに入れる」ボタンを追加してください。
使用技術は HTML / CSS / JavaScript です。
このように、AIに良いコードを書いてもらうには、単発の命令だけでなく、
プロジェクト全体の前提を伝えること
がとても重要になる。
ファイルやメモをコンテキストとして使うこともある
最近のAI開発ツールでは、会話だけでなく、特定のファイルをコンテキストとして読み込ませることがある。
たとえば、
- プロジェクト概要
- コーディングルール
- 命名規則
- ディレクトリ構成
- よくある注意点
などをまとめたファイルを用意しておき、それをAIが参照する形である。
これにより、毎回同じ説明を繰り返さなくても、AIが前提を踏まえて動きやすくなる。
つまりコンテキストは、その場の会話の中だけでなく、外部ファイルから供給されることもある。
コンテキストウィンドウという考え方
AIの話では、「コンテキストウィンドウ」という言葉が出ることもある。
これは、AIが一度に参照できる情報量の範囲を指すことが多い。
イメージとしては、AIが一度に見られるメモ帳の大きさのようなものである。
つまり、どれだけたくさん情報を渡しても、無限に全部を同時に覚えられるわけではない。
そのため、AIに渡すコンテキストは
- 長すぎない
- 必要な情報が入っている
- 優先順位が整理されている
ことが重要になる。
また、関係ない情報が多すぎると、
- 重要な条件が埋もれる
- 判断がぼやける
- 誤解の元になる
ことがある。
そのため、コンテキストは
多ければよいのではなく、必要なものが整理されていることが大切
である。
人間同士でも同じ
コンテキストの重要性は、AIに限った話ではない。
人間同士でも、
- 何の話をしているのか
- 何を前提にしているのか
- どんな目的なのか
が共有されていないと、会話はすれ違いやすい。
つまりコンテキストとは、AI特有の専門用語というより、
相手に正しく伝わるために必要な土台
と考えると理解しやすい。
より詳しくAIに聞いてみよう
- コンテキストとは何かを、中学生でもわかるように説明してください。
- AIにおいて、なぜコンテキストが重要なのか教えてください。
- プロンプトとコンテキストの違いを、初心者向けに整理してください。
- 良いコンテキストと悪いコンテキストの違いを具体例つきで説明してください。
- AIコーディングで、毎回伝えるべきコンテキスト情報を一覧で教えてください。