主流の AI アプリケーションは「メモリ」をどのように処理するのでしょうか? • ChatGPT: フルインジェクションと軽量要約 - より思いやりのあるパートナー • Claude: オンデマンド検索とツールアクセス - より強力なアシスタント @manthanguptaa は、「リバース エンジニアリング」を通じて ChatGPT と Claude のメモリおよびコンテキスト管理メカニズムについて詳細な調査を実施し、予期せず 2 つのまったく異なるスキーム、「事前計算インジェクション」(ChatGPT) と「オンデマンド検索ツール」(Claude) を発見しました。 ChatGPTのメモリスキーム:フルインジェクションと軽量要約 ChatGPTのコアロジックは、「すべての会話にあなたの経歴と最近の要約を含める」ことです。モデルが記憶から情報を検索するかどうかを「考える」のではなく、システムが各プロンプトに関連情報を強制的に挿入します。 コアアーキテクチャ(4層構造) 1. セッションメタデータ [一時] • コンテンツ: デバイスの種類、ブラウザ、おおよその位置情報、タイムゾーン、サブスクリプション レベル、さらには使用習慣 (平均的な会話の深さやよく使用されるモデルなど)。 • 機能:セッション終了時に破棄されるワンタイムインジェクション。これにより、モデルは現在の会話中に環境(ダークモード、画面サイズなど)に基づいて応答を調整できますが、長期記憶には保存されません。 2. ユーザーメモリ[長期] • 内容: 明確な事実。例:「私の名前はマンサンです」「私はプログラマーです」「私はコリアンダーが好きではありません」 仕組み:データの追加、削除、変更には専用のツールがあります。「私の名前はXです」と言えば保存されます。また、会話に基づいて重要な情報を自動的に取得し、保存を要求します。 • 使用法: これらの事実はシステムによって維持される「アーカイブ」として記録され、各会話はプロンプトに完全に挿入されます。 3. 最近の会話の概要 [会話全体] • コンテンツ:ChatGPTの真にユニークな点は、まさにこれです。過去の会話をすべて取得するのではなく、直近10~15件の会話の軽量な要約(タイムスタンプ:タイトル || ユーザーの発言内容の抜粋)を事前に計算します。 • 機能:ユーザー投稿の要約のみを表示し、AIによる回答は表示しません。これは「興味マップ」のような機能で、過去の投稿全体を読むために大量のトークンを消費することなく、モデルがユーザーの現在の関心を把握できるようにします。 4. 現在のセッション ウィンドウの内容: トークン制限までの現在の会話の完全な記録。 クロードの記憶スキーム:オンデマンド検索とツールアクセス クロード氏のソリューションは、いわば「検索エンジンを持ったスペシャリスト」のようなものです。デフォルトでは以前の会話履歴を引き継がず、必要なときに「古いメッセージを掘り出す」だけです。 コアアーキテクチャ 1. ユーザーメモリ[長期] • コンテンツ: ChatGPT と同様に、重要な事実 (名前、職業、好みなど) を保存します。 • 形式: XML 形式 (...) でシステム プロンプトに挿入されます。 • メカニズム: 暗黙的なバックグラウンド更新と明示的なユーザー編集をサポートします。 2. 現在のセッションコンテンツ: 現在の会話の完全な記録。 3. 履歴検索ツール [主な違い] Claude は、プロンプトに以前の対話要約を自動的に含めることはありません。代わりに、モデルがいつ呼び出すかを自律的に決定する2つの専用ツールが付属しています。 • conversation_search: キーワードやトピックに基づいて過去の会話を検索します。 • recent_chats: 最近の会話のリストを時系列順に取得します。 • プロセス: ユーザーが質問する -> クロード氏は「以前の会話を参照する必要があるか?」と考える -> そうであれば -> ツールを使用して関連情報を取得する -> 特定のフラグメントを取得する -> ユーザーに回答する。 利点、欠点、使用シナリオ 1. チャットGPT アドバンテージ: • シームレスな移行:非常にスムーズな体験です。別のトピックに移動した場合でも、概要から背景の概要を把握できます。 • 高速: 追加の検索手順は必要ありません。 欠点: • 詳細の損失: 概要のみ、ユーザーコメントの概要のみを保存するため、前回提供した特定のコードソリューションを記憶しておらず、一般的なアイデアしか記憶できない可能性があります。 • 干渉のリスク: 無関係な古い要約が現在のタスクに干渉する場合があります。 最良のシナリオ: • 普段の会話や付き合いのため: あなたのちょっとした好みを覚えておく必要があります。 • マルチタスク: 同時に多くの異なる質問をしており、それらをすばやく切り替える必要があります。 • 浅く継続的なタスク:「先週の話の続き」など、要約をざっと見るだけで中断したところから再開できます。 2. クロード アドバンテージ: • 高精度: 検索により、漠然とした要約ではなく、数か月前の会話から特定の JSON 構造や特定の論理設定を取得できます。 • クリーンなコンテキスト: デフォルトでは無関係な履歴は読み込まれないため、トークンが節約されるだけでなく、古い情報による干渉も回避されます。 欠点: • 積極性が十分でない: モデルが間違いを犯して「履歴を確認する必要はない」と判断した場合、まるで記憶喪失になったかのように答えます。 • 遅い: ツールの呼び出しには時間がかかります。 最良のシナリオ: • 長期プロジェクト開発:例えば、コードを書くときに、「先月書いた認証モジュールを再利用したい」と思った場合、特定のコードを見つけることができます。 • ナレッジベース検索: 過去に蓄積された大量のメモを深く統合するために必要です。 • 複雑な論理タスク: 非常に高いコンテキスト精度が求められ、あいまいな要約は許容されません。 追加の比較の観点:記憶の「解像度」と「制御可能性」。 この記事で言及されている内容のほかにも、注目に値する 2 つの視点があると思います。 1. メモリ解像度:ChatGPTは「低忠実度」のサムネイルです。チャット中に直近10件の会話のサムネイルを参照します。大まかな概要は把握できますが、詳細を把握することはできません。 • クロードは「高忠実度」のサーチライトです。通常は暗闇の中にありますが(歴史を調べているわけではありません)、サーチライトをオンにすると(検索中)、過去の特定の一角を照らし、それをはっきりと見ることができます。 2. 開発者とユーザーの観点: ChatGPT のソリューションは、成熟した「製品機能」のようなものです。OpenAI はこれを適切にパッケージ化しており、ユーザーには見えず、エクスペリエンスは一貫しており、ユーザーを維持し、アクティビティを増やすことを目的としています。 Claudeのアプローチは、むしろ「エージェント能力」に近いものです。Anthropicはモデルにツールを使用する能力を与えますが、これはエージェントの開発方向性とより合致しています。つまり、モデルはチャットするだけでなく、ツール(メモリツールを含む)を使用して問題を解決します。これは、将来的に非常に長いコンテキストや大規模な知識ベースを処理する際に、より高い限界をもたらすでしょう。 オリジナルのブログ投稿
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。
