ブログ | CTO オフィス

AIのコンテキストウィンドウ管理は魔法ではありません。 それは設計です。

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2025年8月27日 発表

では、はっきりさせましょう。AI アーキテクチャでコンテキスト(セッション)がどこにあるかを理解することが非常に重要だからです。 僕がブログで「dang」という言葉を使ったので、あなたもその重要さがわかるはずです。 ええ、本当にそう感じています。

独自の LLM 対応アプリを構築し、OpenAI API を使用してそれを実行する場合、ChatGPT は使用されません。 あなたはモデルと話しています。 生のもの。 そして、アプリがGPT-4を呼び出すという理由だけで ChatGPT のように動作すると考えているなら、それはすでに間違いです。

ChatGPTは単なるモデルではなく、ランタイムとして機能します。

多くの人が誤解していますが、それはOpenAIのブランド戦略がわかりにくかったからです。 「ChatGPT」の体験—記憶やトーン、文脈を把握し、6つ前の質問の内容をスムーズに追跡して、突然海洋植物学の博士号を幻覚することがない仕組み—は魔法ではありません。 それはアーキテクチャによるものです。 そして、そのアーキテクチャはAPIを使うだけで無料では提供できません。

ChatGPT アプリは階層化された管理された体験です。 以下を結びつけています:

  • プロンプト エンジニアリング
  • コンテキスト管理
  • 永続メモリ
  • ガードレールとバックアップ策
  • 要約、切り詰め、制御ロジック

API には、それらの機能はデフォルトで一切備わっていません。

GPT-4(あるいは他のどのモデルであっても)を直接呼び出すときは、ステートレスな形式で生のメッセージを渡し、コンテキストの枠が溢れたり断片化したりしないことに期待するしかありません。 これはデジタル執事ではなく、何の情報も持たない空のモデルです。

コンテキストウィンドウはあなたが決めるものです。

ChatGPT では、推論サーバーがコンテキストウィンドウ全体を管理しています。 あなたが入力すると、サーバーが記憶し(限界まで)、アプリが関連する内容をほぼ正確に追跡してくれます。 さらにその上にメモリシステムがあり、OpenAI が慎重にどの情報を戻すかを調整しています。

API を活用していますか? あなたが推論サーバーです。 つまり、以下のことです。

  • あなたがメッセージスタックを構築します。
  • 含める内容はあなたが自由に決められます。
  • あなたがトークンの予算を管理します。
  • 情報が切り詰められたり要約されて、まとまりがなくなります。

もし間違えてしまっても(初期は誰でもそうです)、モデルがセッション途中でユーザー名を忘れたり、入れていないデータを勝手に作り出した場合は、その責任はあなたにあります。

メモリは単なる機能ではなく、 ネットワーク インフラストラクチャの一部です。

ChatGPTには記憶があります。 あなたにはありません。 自分で構築しなければ使えません。 API利用時はステートレスです。 あなたがすべてのコンテキストや記憶、進行を管理します。 ChatGPTアプリを使うと、OpenAIがそれらをすべて対応します。 それが組み込まれています。

ChatGPTの「メモリ」は、単にプロンプトに貼ったメモではありません。 私たちはセッションを超えてユーザーの情報、好み、目標、制約を記憶し、適切なタイミングでそれらをプロンプトに文脈的に反映させる仕組みを持っています。 あなたのアプリにも同じような機能を搭載するには、次のものが必要です。

  • データ ストア
  • メモリエントリーのスキーマ
  • 何をいつ含めるかを決める制御ロジック
  • トークン数の増加を抑える方法

つまり、インフラストラクチャのことです。

だから、多くの自社開発AIアプリが使いにくく感じるのです。 彼らはLLMをチャットボットとして扱い、システムの一部であるツールとしてではないからです。 その結果は? 会話が途切れ、同じ指示を繰り返し、不自然な後退が起こり、ユーザーは苛立ちます。

それで?

APIを基盤にするなら、それが意図的かどうかにかかわらず、インフラストラクチャを築いていることになります。 ユーザーがChatGPTのような体験を期待するなら、あなたは必ずそれを実現しなければなりません。

  • 永続メモリ
  • 高度なコンテキスト圧縮
  • ターン制状態管理
  • ガードレール、フォールバック、インジェクションのロジック

しかし、それは始まりにすぎません。 それがエンタープライズグレードのアプリ配信スタックの上に構築されているなら—そうですよね? そうですよね?ならばプラットフォームの他の部分も当然機能してくれなければなりません。

ここで、アプリケーション配信とセキュリティのチームが活躍します。

アプリ配信: 単にHTMLやJSONを提供する時代は終わりました

AIネイティブアプリはステートフルでチャットベース、しかも多くはリアルタイムに動きます。 つまり:

  • セッションアフィニティが再び重要になります。 もしセッショントークンを昔のように管理しなければ、ステートレスのバックエンドで会話状態を分散させられません。
  • レイテンシーはユーザー体験の致命傷です。 あなたは静的なページを配信しているのではなく、複数回の対話をリアルタイムでストリーミングしています。 ロードバランサーとエッジのロジックは、低レイテンシの会話フローを優先する方法をしっかり理解している必要があります。
  • トークンコストは帯域幅、計算能力、そして現金で決まります。 効率的なデリバリが今こそ重要です。 ペイロードのサイズはネットワークの問題だけでなく、請求にも影響します。

これは単なるパンフレットサイトではありません。 ここで動的なインターフェイスを提供しています。 CDNをただ導入して終わりにはできません。

セキュリティ: プロンプトを管理しなければ、リスクもあなたに降りかかります

LLM はプロンプトで動作を制御できます。 つまり、プロンプト自体が攻撃の入口になっているのです。

  • インジェクション攻撃は現実に起きており、すでにあなたの周りで発生しています。 入力のサニタイズを怠ると、ユーザーがあなたのAIをその場で書き換えてしまいます。
  • プロンプト操作により機密メモリが漏洩し、ワークフローが乱されたり、意図が偽装されたりします。
  • モデルの出力はポリシー実施と可視化を導入しなければ、外部に持ち出されたり、改ざんされたりするリスクがあります。

セキュリティ管理は常に進化させるべきです。

  • AIトラフィックを理解するWAFが必要です。 悪意あるJSONをブロックするだけでは足りません。 ペイロードの構造だけでなく、命令セットにも守りが必要です。
  • 特に規制の厳しい環境では、LLMの判断に対する監査記録が必要です。
  • API呼び出しに加え、プロンプトの複雑さやコストの急激な増加に対しても、レート制限と不正対策が必要です。

さらに、ユーザーレコードをコンテキストウィンドウに挿入すると発生するデータガバナンスの問題も見逃せません。

エージェント型AIが制御不能になる前に、今すぐ適切なスタックを築いてください。

ChatGPT は磨き上げられた製品です。 OpenAI API は素のツールです。 この二つを混同すると、あなたのスタックは崩壊します

賢く構築しましょう。 成長著しいAIポートフォリオを支えるために、エンタープライズレベルのアプリ配信とセキュリティのスタックを構築してください。 AIエージェントを開発し、エージェント型アーキテクチャを積極的に取り入れるときに、その重要性を実感するでしょう。 もしコンテキストの変化や幻覚がエンドユーザー向けAIの課題だと思っているなら、エージェントAIがビジネスや運用用AIに与える影響をぜひ見届けてください。