マガジン

長い会話の途中でAIが指示を忘れる理由と、立て直す4つの手順

AIを使いこなす

Claudeで執筆し、GPTで自動校閲・修正しています。

長い紙片の束から必要な部分を選んでまとめる手元
記事の内容をもとに制作したAI生成イメージです。実際の製品画面や検証結果の写真ではありません。

結論から言うと、AIは人のように「覚えていたのに忘れた」わけではありません。会話が長くなると、最初に出した指示が(1)AIに渡される範囲から外れる、(2)範囲内に残っていても大量のやり取りに埋もれて効きにくくなる、(3)後から出した別の指示と食い違う、といったことが起こり、結果として「忘れたように見える」状態になります。 対処は、原因を切り分けてから、重要な指示を短く出し直し、要点をメモにして新しい会話で再開する、という流れです。この記事では4つの手順と、そのまま使える要約メモのひな形を紹介します。

この記事の目次
  1. 「忘れる」の正体は、一度に見られる範囲の問題
  2. 崩れ方から原因を見分ける
  3. 立て直す4つの手順
  4. 引き継ぎ用の要約メモのひな形
  5. 崩れにくくする運用のコツ

「忘れる」の正体は、一度に見られる範囲の問題

生成AIが1回の返答を作るときに参照できる文章の量には上限があります。これを「コンテキストウィンドウ」と呼びます。OpenAIの会話状態の管理ガイドでは、コンテキストウィンドウを「単一リクエストで使える最大トークン数」とし、入力・出力・推論のトークンを含むと説明しています。また、多ターンの会話は、過去のユーザーとアシスタントのメッセージを配列で渡して実現でき、過去の入力トークンは毎回課金される、とも書かれています。つまり、毎回の返答のたびに、これまでのやり取りがまとめて読み直されているということです。

Anthropicのエンジニアリング記事Effective context engineering for AI agentsは、トークン数が増えるほどモデルが情報を正確に思い出す力が下がる現象を「context rot」と呼び、モデルの注意には限りがあると述べています。上限に達していなくても、長くなるだけで精度が落ちうる、という点が大切です。

位置の影響を調べた研究もあります。論文Lost in the Middle(2023年)は、関連情報が入力の最初か最後にあると性能が高く、真ん中にあると大きく下がることを、複数文書の質問応答などの課題で示しました。ただし特定の課題とその時点のモデルでの結果なので、今のどのAIでも同じ強さで起きるとは言えません。

崩れ方から原因を見分ける

下の表は、症状から原因の見当をつけるための編集上の整理です。実際の内部処理はサービスごとに異なり、私は各アプリの挙動を個別に検証していません。

  • 最初に頼んだ文体や形式だけ守らなくなる、疑わしい原因:序盤の指示が埋もれた、または範囲から外れた、まず試すこと:手順1→2
  • 数十往復後に、決めた前提を聞き返してくる、疑わしい原因:前提が参照されていない、まず試すこと:手順1→3
  • 直前の修正指示と元の指示が混ざる、疑わしい原因:指示の矛盾、まず試すこと:手順2で優先順位を明示
  • 何度直しても同じ崩れ方をする、疑わしい原因:会話全体が重くなっている、まず試すこと:手順3→4

立て直す4つの手順

手順1:今、何を守るつもりかをAIに言わせる

いきなり叱らず、AIが今どの指示を認識しているかを確認します。

「この会話で私が頼んだルールのうち、今あなたが守る前提にしているものを、箇条書きで全部挙げてください。推測で補わず、分からないものは『不明』と書いてください。」

挙がった一覧に抜けや誤りがあれば、その部分が効いていない指示です。人が一覧と手元の元の指示を見比べて確認してください。

手順2:重要な指示を短く、直近に出し直す

抜けていた指示を、長い説明ではなく数行にまとめて、今のメッセージの末尾に置きます。位置の研究に照らせば、最初と最後が比較的使われやすいため、効かせたい指示は最後に寄せる、というのが合理的な工夫です(これは研究結果を踏まえた編集上の提案です)。

「以降の返答は次の3点を必ず守ってください。①です・ます調 ②300字以内 ③結論を最初の1文に。前の指示と食い違う場合は、この3点を優先してください。」

手順3:要点を要約メモにして、人が直す

出し直しても崩れるなら、会話そのものが重くなっています。AIに要約メモを作らせ、人が目を通して直します。Anthropicの記事は、長い履歴をまとめ直して新しい文脈で続ける手法(compaction)を紹介し、設計上の決定や未解決の問題は残し、冗長な出力や処理済みのやり取りは捨てるという考え方を示しています。AIが自動で要約すると、重要な条件が落ちることもあるため、人が確認する工程は省かないでください。

「ここまでの会話を、別の新しい会話に貼り付けて続きをするための要約メモにしてください。下の項目に沿って、事実と私の指示だけを書き、推測は『推測』と明記してください。」(項目は次章のひな形)

手順4:新しい会話に貼って再開する

直したメモを新しい会話の最初に貼り、続きの依頼を添えます。重要なルールはメモの末尾にも置くと安心です。再開後に、手順1の確認を一度だけ行ってください。

引き継ぎ用の要約メモのひな形

以下は説明用のひな形で、内容はすべて仮の例です。機密情報や個人情報は、そのまま貼らず、架空の名称や伏せ字に置き換えてください。

【引き継ぎメモ】
■目的
社内向けニュースレター(第12号)の下書きを作る

■守るルール(優先順位順)
1. です・ます調
2. 1段落は3文以内
3. 数字は出典の記載がある場合のみ使う

■決定済みの事項
- 見出しは3本構成(今月のお知らせ/新機能/来月の予定)
- 「新機能」の見出しは案Bに決定

■未決定・要確認
- 来月の予定の日付(担当者に確認中)

■ここまでの成果物
- 「今月のお知らせ」の本文は完成(下に貼付)

■やってはいけないこと
- 確認できていない日付を書かない

■次にやってほしいこと
- 「新機能」の本文を、上のルールで400字程度で作成

使うときの目安は次のとおりです。

  • 「守るルール」は5つ程度までに絞ります。多すぎると、それ自体が埋もれます。
  • 完成した文章はメモに全文を入れず、必要な部分だけ貼ります。
  • 「決定済み」と「未決定」を分けると、AIが未確定の内容を既定事項として扱うのを防げます。

崩れにくくする運用のコツ

  • 話題が変わったら、会話を分けます。1つの会話に複数の作業を詰めない方が、指示の矛盾も減ります。
  • 長い資料を貼るときは、依頼文を資料の後ろにも一度置きます(位置の研究に基づく編集上の提案です)。
  • 利用するアプリが古い履歴を自動で切り詰めたり要約したりするかは、サービスと設定で異なります。OpenAIのガイドにも、サーバー側の圧縮機能が別途用意されていると書かれています。自分の使うサービスの説明を確認してください。

なお、ここで紹介した手順は、私が特定のサービスで試して効果を測ったものではありません。公式資料の説明と研究を踏まえた進め方なので、まずは小さな作業で試して、効く手順を残してください。

出典・参考資料