コンテキストエンジニアリング
Context Engineering
AIに適切な背景情報や前提条件を与え、回答の精度を高める技術
簡単に説明すると
AIが状況に合った答えを出せるよう、必要な情報を整えて渡す技術のことだよ。 AIには目の前の状況がわからないし、余計な情報が混じっていると注意がそれて精度が落ちてしまうから、必要な情報を補ったり不要な情報を省いたりする工夫が要るんだ。 ちょっとしたところでは、長くなった会話を要約して新しいセッションに引き継ぐメモを書くのもこれにあたるんだ。 大規模なものになると、関連資料を自動で集めてAIに渡す仕組みなどに発展していくんだよ。
名前のヒミツ
Context(コンテキスト)は「文脈」や「背景」、Engineering(エンジニアリング)は「工学」や「設計」という意味。 AIが空気を読んで適切な回答をできるように、背景情報をうまく設計する技術を指すんだよ。
くわしく見てみよう!
コンテキストエンジニアリングとは、AIに与える情報全体を設計して、回答の精度を高める技術のことだよ。
指示文の書き方に加えて、過去のやり取りや関連資料、システムのデータなど、AIが見る情報全体を整える技術なんだ。
この技術が必要なのには2つの理由があるんだ。
1つは、AIは一般的な知識は持っているけれど、ユーザー個別の事情や今のタスクの背景までは知らないから、状況に合わせて情報を補う必要があるってこと。
もう1つは、AIに渡す情報の中に関係のないノイズが混じっていると、AIの注意がそれて精度が落ちてしまうってこと。
さらに情報量が多くなるほど処理が遅くなったり利用コストが上がったりするから、不要な情報を省いたり要約したりして整える必要があるんだ。
具体的なやり方は、ちょっとした工夫から大規模な仕組みまで幅広いんだ。
身近なところでは、長くなった会話の要点をまとめて新しいセッションへ引き継ぐメモを書くのも、情報の肥大化を防ぐ取り組みの1つなんだ。
大きな仕組みになると、関連資料を自動で探して読ませる「RAG」、過去のやり取りを保存しておく「メモリ管理」、長い情報をコンパクトに要約する「コンテキスト圧縮」などの技術を組み合わせて使うんだよ。
似た言葉に「プロンプトエンジニアリング」があるけれど、こちらは「何を聞くか」を工夫する技術なんだ。
コンテキストエンジニアリングは「何を見せるか」を工夫する技術で、プロンプトエンジニアリングと補い合う関係になっているんだよ。