AIに仕事を頼んでいると、「さっき伝えた条件が抜けている」「逆に、もう使わない古い案を引きずっている」ということがあります。これを単なる物忘れとして考えると、少し分かりにくいです。

前回、ハーネスエンジニアリングとは何か?という記事で、コンテキストエンジニアリングを「今、どの情報をAIに見せるか」の設計だと書きました。

ただ、そもそもコンテキストとは何でしょうか。

今回は、コンテキストを会社の会議机に置き換えて説明します。難しい言葉に見えますが、地方の小さな会社でAIを使うときにも、かなり大事な考え方です。

コンテキストは、AIが今の仕事で参照できる材料

コンテキストとは、AIが今の回答を作るために、その場で参照できる情報のまとまりです。

私たちが入力した直近の指示だけではありません。使っているサービスによって違いはありますが、主に次のような情報が含まれます。

  • 今回入力した質問や指示
  • それまでの会話
  • AIサービス側に設定されている基本ルール
  • 添付した文書や画像
  • Web検索や社内資料の検索で見つけた情報
  • AIがツールを使って得た結果

例えば、AIに「前と同じ条件で、取引先への案内文を作って」と頼んだとします。人間同士なら、担当者が前回の打ち合わせを覚えていて、何となく通じるかもしれません。

AIの場合は、その「前の条件」が今のコンテキストに入っているかどうかが重要です。チャット画面に過去の会話が残っていても、その全てを毎回同じように参照しているとは限りません。サービスによって、過去の内容を選んだり、要約したり、別に保存した情報を加えたりします。

OpenAIのプロンプトエンジニアリングの説明でも、回答に必要な関連情報をコンテキストとして渡すことと、モデルが一度に扱える量には上限があることが説明されています。

会議机に置き換えると分かりやすい

AIを、仕事を頼める担当者だと考えてみます。そして、目の前に会議机があるとします。

AIの用語会社で置き換えると
学習済みの知識担当者が入社前から身につけている一般知識や技能
チャット履歴過去の議事録
保存されたメモリーAIサービスが残した引き継ぎメモ(対応している場合)
プロンプト今回の指示書
コンテキスト今、机の上に広げてある資料一式
コンテキストウィンドウ机そのものの広さ

この中で一番大事なのは、書庫にある資料と、机の上に出ている資料は同じではないという点です。

過去の議事録が保存されていても、今回の会議で机に出していなければ、担当者はその内容を使えません。AIのメモリーやチャット履歴も似ています。保存されていることと、今の回答で参照されていることは別です。

ちなみに、会話の中で会社の事情を伝えることは、その場でAI本体を学習し直すこととは別です。今回の会議で、必要な資料を机に置いたと考える方が近いです。

逆に、机の上には私たちが書いた指示以外の資料も載ります。AIサービスのルール、添付ファイル、検索結果などです。つまり、プロンプトはコンテキストの一部であって、全部ではありません。

コンテキストウィンドウは机の広さ

AIが一度に扱える量の上限をコンテキストウィンドウと呼びます。これはトークンという、AIが文章や資料を処理する細かな単位で数えます。日本語の1文字や1単語と、トークンがそのまま一致するわけではありません。

机の面積には限りがあります。質問や資料だけでなく、AIがこれから書く回答にも同じ枠を使います。モデルによっては、回答を組み立てるための内部処理にも、この枠を使います。OpenAIの会話状態に関する公式資料でも、コンテキストウィンドウには入力、出力、対応モデルの推論用トークンが含まれると説明されています。

机いっぱいに資料を積めば、その分だけ良い回答になるわけではありません。ここは、人間の仕事と同じですね。

大きな机でも、散らかっていれば仕事はしにくい

商品カタログ、10年前の議事録、採用されなかった企画書、別のお客様の資料まで、全部を机に積んだとします。机が広くても、今日使う見積書を見つけにくくなります。

AIでも、関係のない情報が増えると、今回の指示が埋もれたり、新旧の条件がぶつかったりする可能性があります。会話を続けるうちに、最初は「一般のお客様向け」だった文章が、途中から「取引先向け」に変わったのに、両方の条件が残っている。こういう状態は分かりやすい例です。

会話が長くなったときの処理は、AIサービスによって異なります。古い内容の一部が参照されにくくなる場合もあれば、要点を圧縮して引き継ぐ場合、回答用の余白や出力上限が足りずに文章が途中で切れる場合もあります。

OpenAIのResponses APIには、長い会話から次に必要な状態を少ない量で引き継ぐコンパクションという仕組みがあります。会議の録音を全て机に載せる代わりに、引き継ぎメモへまとめるイメージです。ただし録音そのものではないので、細かな表現まで必ず残るとは限りません。詳しい仕組みはCompactionの公式資料にあります。

また、会社がAPIを使ってAIを業務システムに組み込む場合は、扱うトークン量が処理時間や費用にも関係します。一方、一般向けのチャットサービスは契約プランや利用上限が別なので、長い文章を書いたら、その場で必ず追加請求されるという意味ではありません。

コンテキストの節約は、情報を削ることではない

では、指示を一言にすればよいのかというと、それも違います。

机の上を片付けすぎて、商品名も、相手も、納期も分からなければ、担当者は仕事ができません。コンテキストの節約は、文章を無理に短くすることではなく、今回の仕事に必要な情報を選び、重複や脱線をなくすことです。

OpenAIの現在のモデルガイダンスでも、同じ指示や例を何度も繰り返さず、必要な例や文体の条件は残すという考え方が示されています。

一つのチャットでは、一つの仕事を扱う

一つの質問ごとに新しいチャットへ分ける必要はありません。同じ採用ページを作り、表現を直し、最終版を確認するところまでは、同じ仕事です。背景を共有できるので、そのまま続けた方が進めやすいと思います。

ただし、採用ページの相談から資金繰りの相談へ移るなら、仕事が変わっています。新しいチャットに分け、必要な会社情報だけを渡した方が整理しやすくなります。

節目で引き継ぎメモを作る

会話が長くなったら、決定事項を一度まとめます。AIには、例えば次のように頼めます。

ここまでの内容を、次の項目で引き継ぎメモにしてください。

- 目的
- 読者
- 決定事項
- 使わない案や表現
- 未決事項
- 根拠にした資料

会話で決まっていないことは、推測で補わないでください。

このメモを人が確認し、新しいチャットの冒頭へ貼ります。AIの要約にも抜けや間違いはあり得るので、契約条件や金額などは元の資料と照合した方が安心です。

長い資料は、使う場所と最新版を示す

80ページの資料を毎回丸ごと貼るより、「最新版の料金表の3ページ目」「就業規則の休暇に関する章」のように、今回使う場所を示します。

資料を検索できるAIサービスなら、ファイル全体を保管したまま必要な箇所を探せることもあります。それでも、どの文書の、どの版を優先するかは伝えた方がよいです。古い料金表と新しい料金表が同時にある状態は、人間でも間違えます。

何度も使う会社情報は、一枚にまとめる

事業内容、主なお客様、正式な商品名、自社の強み、使ってはいけない表現など、何度も使う事実は「AI向けの会社概要」として一枚にまとめておくと便利です。最後に更新日も書いておきます。

ただし、毎回その全てを渡す必要はありません。採用の仕事なら採用に関係する部分、案内文なら商品とお客様に関係する部分というように、今回使う項目を選びます。

同じ条件は一度だけ、現在の条件を明記する

「親しみやすく」「少し柔らかく」「堅すぎない感じで」と似た指示を重ねるより、何をどう変えるかを一度だけ書きます。

途中で方針を変えたときは、「以前の条件は使わず、以下を最新版とします」と明記します。これだけでも、新旧の指示がぶつかりにくくなります。

回答の大きさも決める

「できるだけ詳しく」と頼むと、必要以上に長い回答になることがあります。「見出しを3案」「本文は300字程度」「最初は構成だけ」のように、欲しい大きさを伝えます。

大きな仕事は、構成を決める、下書きを作る、事実を確認する、表現を整える、という順番に分けると進めやすいです。ただし、同じ目的の仕事を細かく別のチャットへ分けすぎると、今度は背景の説明を何度もやり直すことになります。

指示は「目的・相手・材料・条件・完成形」で渡す

AIへの指示は、魔法の呪文ではありません。私は、小さな引き継ぎ書として考えるのが分かりやすいと思っています。

まずは次の5つを揃えます。

  1. 目的:何のために作るのか
  2. 相手:誰が読む、または使うのか
  3. 材料:必ず使う事実や原文は何か
  4. 条件:守ること、書いてはいけないことは何か
  5. 完成形:長さ、形式、案の数はどうするか

例えば、地域の建設会社が採用ページを作るという架空の例で比べてみます。

最初の指示が次の内容だけだと、AIが一般的な表現で補ったり、意図と違う文章を作ったりしやすくなります。

若い人を採用したいので、うちの採用ページの文章を
親しみやすく、いい感じに作ってください。

必要なコンテキストを整理すると、次のようになります。

目的:採用ページの冒頭文を作る

相手:地元で働きたい、建設業が未経験の人

材料として使う事実:
- 現場は近隣地域が中心
- 資格取得の費用を会社が支援する
- 入社後は先輩が仕事を教える

条件:
- 「即戦力」「地域No.1」「アットホーム」は使わない
- 給与や休日など、渡していない情報は作らない
- 難しい業界用語は使わない

完成形:
- 見出しを1案
- 本文を180字程度
- 不足があれば、書き始める前に質問を2つまで出す

後の指示は長く見えますが、無駄に長いわけではありません。今日の仕事に必要な資料が、見出し付きで一度ずつ置かれています。

修正を頼むときも同じです。「もう少し柔らかく」だけでは、どこを、何のために変えるのかが曖昧です。

第1段落だけ直してください。
事実と文字数は変えません。
未経験の人が「自分には無理そう」と感じない表現にして、2案出してください。

これなら、残すものと変えるものが分かります。簡単ですね。

会社で使うなら、載せない情報も決める

必要なコンテキストを渡すことと、会社の情報を何でも入れることは別です。

個人情報、取引先との秘密、公開前の価格、口座情報などは、本当に必要かを確認します。利用するAIサービスの契約、データの扱い、社内ルールも先に確認した方がよいです。必要がなければ、会社名や個人名を仮名にする方法もあります。

また、契約書、法令、補助金、税務などは、AIが作った要約だけを根拠に最終判断しない方がよいです。コンテキストをきれいに整えても、回答が必ず正しいとは限りません。原文や専門家による確認が必要な仕事は残ります。

ここは、便利さとは分けて考えたいところです。

まとめ

コンテキストは、AIが今の回答を考えるために参照できる「机の上の資料一式」です。そしてコンテキストウィンドウは、その机の広さです。

広い机を用意することより、今日の仕事に必要な資料だけを、分かる順番で置く方が大切です。だから節約するのは、必要な背景ではありません。重複した説明、終わった別の相談、古い条件です。

まずは次にAIへ仕事を頼むとき、目的・相手・材料・条件・完成形の5つを書いてみる。私は、そこから始めるのがよいと思います。