お問い合わせ
技術・設計・開発32 min read

メモリ設計:短期/長期/外部記憶をどう分ける?(コスト試算)

LLMアプリのメモリ方式(都度全文・要約・外部記憶)を品質・コスト・運用で比較し、3方式×5シナリオのトークン試算表で「この条件ならこの方式」を判断できる実務ガイド。コスト試算の根拠と各方式の運用トレードオフも解説。

LLMアプリのメモリ設計は、モデルの性能以前に「品質・コスト・運用」のバランスを決める設計判断です。 本記事では、3つのメモリ方式(都度全文・要約・外部記憶)を定義し、5つの業務シナリオでトークン数とコストを試算。「この条件ならこの方式」を判断できる選定ガイドと、入力パラメータ式の試算表を公開します。

この記事の前提と使い方

本記事は、AIエージェントの4設計要素(TMPE)を前提知識とし、4要素のうち特にM(メモリ)をプロダクト設計としてどう実装するかを扱います。

使い方: まず「3方式の違い」をデータフローで掴み、次に試算表のセクションで自社のシナリオに近い数字を確認してください。最後の選定ガイドで、どの方式を主戦略にするかの判断に落とせます。

対象読者と前提

本記事はビジネスサイドの方を主な読者として想定しています。技術内容は正確に記述しますが、ソースコードやJSON・スクリプトは掲載しません。「何ができるか」「なぜそうするか」を中心に、図解・表・箇条書きで表現しています。

図1: 本記事の全体構成マインドマップ

背景と前提:なぜメモリ設計が必要なのか

LLMは基本的にステートレスです。毎回の推論は「その時点で渡したコンテキスト(入力トークン)」にのみ依存します。会話が長くなるほど、同じ履歴を繰り返し送ることになり、入力トークン課金と遅延が膨らみます

「コンテキストウィンドウが大きければ解決」は半分だけ正解

長文対応モデルは進歩していますが、二つの構造的な制約は残ります。

制約内容
コストトークン課金は入力長に比例する。長いほど高い構造は変わらない
計算負荷Transformerはコンテキスト長に対して計算・メモリ負荷が増えやすい

ドリフト:長い対話で起きる「ズレ」

さらに、長い対話ではドリフト(意図・制約から徐々にズレる)が現実的な問題になります。研究でもmulti-turnの文脈ドリフトが定義され、リマインダーなどの軽い介入で改善できる「運用でコントロール可能な現象」と整理されています。

メモリ設計の最短ルート

メモリは 短期(コンテキスト内)/長期(プロフィールや合意事項)/外部記憶(検索して参照) に分け、どれを「毎回そのまま入れるか」「要約して入れるか」「必要時に取りに行くか」を決めるのが最短ルートです。


3方式の定義とデータフロー

ここでは「都度全文」「要約メモリ」「外部記憶(RAG/DB)」を、データの流れで定義します。実装では混在し得ますが、比較のために「主戦略」で分類します。

短期・長期・外部を分ける最小モデル

図2: 三層メモリアーキテクチャの概念図
記憶層何を入れるか特徴
短期(コンテキスト)直近の会話、ツール結果、タスク状態「最後のNターン」が扱いやすい
長期(プロフィール)ユーザー嗜好、制約、合意事項再利用価値が高いが頻繁に変わらない情報
外部記憶(RAG/DB)全文ログ、社内ナレッジ、ドキュメント普段は入れず、必要時に検索して参照する層

この3層をどう使うかが、次の3方式の違いです。


方式1:都度全文(毎回、履歴を全部送る)

図3: 都度全文方式のデータフロー
観点評価
強み履歴の忠実性が最大。要約による情報落ちや改変が起きない
弱み会話が伸びると入力トークンが累積し、同じ履歴を繰り返し課金する
ありがちな誤算ツール出力(検索結果・ログ・表)が長いと、1ターンでも入力が跳ねる

方式2:要約メモリ(直近N+古い履歴の要約)

図4: 要約メモリ方式のデータフロー
観点評価
強み長い対話でも、入力に入れる"過去"を要約で固定化でき、コストと遅延を抑えやすい
弱み要約は「脱落・誤重み付け・誤りの混入」リスクがあり、更新を繰り返すと誤りが蓄積する(context poisoning)

方式3:外部記憶(検索して必要な断片だけ持ってくる)

図5: 外部記憶方式のデータフロー
観点評価
強み大容量を外に逃がし、必要な断片だけを持ってくる。更新と根拠提示に向く
弱み検索の品質・遅延・運用(インデックス更新、権限、監査)がプロダクト品質を左右する

要約メモリのドリフトと最新対策

要約メモリは「安い・長持ち」になりやすい一方で、ビジネス側が期待する"継続性"を壊す典型要因がドリフトです。

ドリフトは「要約の誤差が時間方向に増幅する」問題

図6: 要約の連鎖更新による誤差蓄積

要約には次の4種類の誤差が入り得ます。

  • (a) 重要情報の脱落:合意事項や制約が消える
  • (b) 曖昧な表現への置換:具体的な数値が「適切な範囲」に変わる
  • (c) 事実の取り違え:AとBの属性が入れ替わる
  • (d) ニュアンス変更:強い言い換えで意味が変わる

これが"次の要約"の入力になると、誤差が連鎖し、誤った前提が固定化する危険があります。一方で、ドリフトは一定水準で安定し、リマインダー(目標・制約の再提示)など軽い介入で下げられることも示されています。

更新戦略:4つの原則でドリフトを抑える

原則内容
矛盾チェック要約がシステム指示・ツール定義・ログと矛盾していないかを要約時に点検する
時系列(最新優先)出来事を時間順に並べ、後から上書きされた情報は「最新が勝つ」形にする
UNVERIFIEDラベル会話に書かれていない事実を推測で補完しない。曖昧なものは未検証として残す
チャンク化(見出し分割)長文段落より、カテゴリ別の短い箇条書きにして後から取り出しやすくする

要約は「状態(state)」として扱う

要約が状態なら、監査(ログ保存)、差分比較、回帰テストが可能になります。要約生成の入力・出力・プロンプトをログして、品質の変化を追跡できるようにしましょう。

評価(eval)はメモリの品質保証として必須

要約・外部記憶は、誤りが入っても即座に気づきにくく、後になって事故が顕在化します。推奨される評価手法は次の通りです。

  • Transcript Replay:長い会話ログを再生して、次ターン精度や制約保持を測る
  • 要約品質のLLM採点:要約の正確性・網羅性をLLMで自動評価
  • トークン圧迫監視:重要文脈が落ちていないかを定量的にチェック

安全性と運用上の注意:メモリは攻撃面になる

"長期に残るメモリ"は、ユーザー価値の源泉である一方、攻撃面にもなります。

  • 知識ベース汚染:RAG知識ベースや長期メモリを汚染して、特定条件で悪性挙動を誘発する攻撃が報告されている
  • メモリポイズニング:通常のユーザー入力だけで長期メモリを汚染し、将来の応答を歪める脅威

メモリは「真実」ではなく「入力データの一種」

メモリを安全に運用するには、次の4点をプロダクト要件に含める必要があります。

  • (1) 書き込み条件:何をメモリに保存するかのルール
  • (2) 出典(provenance):そのメモリはどこから来たか
  • (3) 削除/訂正:誤ったメモリを修正できる仕組み
  • (4) 権限境界:誰のメモリを誰に見せるか

外部記憶(RAG/DB)運用の実際

外部記憶は「必要なときだけ参照できる」ため、長期運用でコストが読みやすくなりますが、品質は検索設計に強く依存します。

ハイブリッド検索は"用語一致"と"意味一致"を両取りする

図7: ハイブリッド検索のデータフロー
検索方式強み弱み
BM25(全文検索)用語・固有名詞・型番の一致に強い言い換えや概念の類似に弱い
ベクトル検索言い換え・概念類似に強い固有名詞の完全一致に弱い場合がある
ハイブリッド(RRF等)両方の強みを統合、実運用の定番設計空間が広く、チューニングが必要

リランキングのトレードオフ

ハイブリッド検索にリランキングを加えるとPass@10(上位10件の適合率)が改善し得る一方、追加の遅延とクエリあたりコストが発生します。効果とコストの見合いで判断しましょう。

レイテンシは平均ではなく「P95/P99」で見る

検索はLLM本体より高速でも、ユーザー体験では「遅い時がある」が致命傷になります。ベンチマークでは平均ではなくP95/P99のテールレイテンシを重視し、スループットと同時に評価することが推奨されています。

外部記憶で本当に大事な3つのポイント

ポイント内容
データ鮮度古い文書を取ってくると、LLMは自信満々に古い手順を生成する(=もっともらしい誤り)
チャンク設計小さすぎると文脈が欠け、大きすぎるとノイズが増え入力トークンも増える
権限と監査誰の記憶を誰に見せるかを誤ると、情報漏洩とコンプライアンス事故に直結する

トークンとコスト試算の枠組み

ここでは「価格は変動する」前提で、スプレッドシートにそのまま移せる入力パラメータ式に落とします。金額は「単価パラメータ」として置き、固定値断定を避けます。

変数定義(シートの入力欄に相当)

セッション特性
変数意味
T1セッションのターン数(ユーザー発話回数)
Δ1ターンで増える会話ログ量(ユーザー+アシスタント+ツール出力の平均トークン)
N短期として保持する「直近ターン数」
プロンプト構造
変数意味
B毎回ほぼ固定で入るトークン(システム指示、ツール仕様、プロフィール等)
S要約メモリの長さ(トークン)
R外部記憶から注入する参照コンテキストの長さ(トークン)
外部検索
変数意味
q1ターンあたりの検索回数(0, 1, 2...)
c_db検索1回あたりの外部基盤コスト
単価(モデル/プロバイダ依存)
変数意味
p_in入力1トークン単価
p_out出力1トークン単価
p_cachedキャッシュされた入力トークン単価
hキャッシュヒット率(0〜1)

キャッシュの書き込みコスト

プロバイダによってはキャッシュの「書き込み」に追加コストがある体系もあるため、必要なら p_cache_write を別立てにしてください。


3方式の入力トークン概算(セッション単位)

都度全文:T に対して二次で増える

各ターン t(1..T)で入力は概ね B + tΔ。セッション総入力は:

Tok_full ≈ T・B + Δ・T(T+1)/2

ポイントは T に対して二次で増えることです。長い会話ほど同じ履歴を何度も送るため、コストの伸びが急激になります。

要約メモリ:一次に近い伸び

各ターンの入力は概ね B + S + min(t,N)・Δ。セッション総入力(T > N のケース)は:

Tok_sum ≈ T・(B+S) + Δ・(N(N+1)/2 + (T−N)・N)

要約更新の追加LLM呼び出しがある場合は、更新頻度Kを置いて更新回数 U ≈ ⌊T/K⌋ を加算します。

要約更新のスパイク

要約更新は「別モデルで安くやる」設計もありますが、更新時にコストと遅延のスパイクが発生します。式で見える化しておくのが実務的です。

外部記憶:一次+検索コスト

各ターンの入力は概ね B + min(t,N)・Δ + R。セッション総入力(T > N):

Tok_ext ≈ T・(B+R) + Δ・(N(N+1)/2 + (T−N)・N)

これに加えて、外部検索コストを Cost_search ≈ (T・q)・c_db と置きます。


トークン増加の比較:会話が長くなるほど差が開く

Loading chart...

この図の核心は単純です。都度全文は会話が長くなると二次曲線で急増し、要約・外部記憶は一次に近い伸びに留まる。10ターン以下なら差は小さいですが、20ターンを超えると差が顕著になります。


キャッシュが入ると比較がどう変わるか

Prompt/context caching は「同一(または同一プレフィックス)のプロンプトを繰り返すと、遅延と入力コストが下がる」機構で、各社が提供しています。

観点内容
削減効果長いエージェントタスクでAPIコストを41〜80%削減し、TTFT(最初のトークンが返るまで)も改善し得る
注意点「どこをキャッシュ可能な塊にするか」を誤ると、ナイーブな全コンテキストキャッシュが逆にレイテンシを悪化させ得る
効く条件繰り返しが多い固定部分(システム指示など)で効果が大きい

キャッシュの効き方は方式によって異なります。

  • 都度全文:システム指示部分はキャッシュが効くが、毎ターン伸びる履歴部分は効きにくい
  • 要約メモリ:要約が安定している間はキャッシュが効きやすい
  • 外部記憶:検索結果が毎回変わるため、参照部分のキャッシュヒット率は低い

シートでは 「キャッシュ対象トークン比率 α」「キャッシュ割引係数」 を変数化するのが安全です。


3方式 × 5シナリオの試算表

以下は「比較ができる」ことを目的にした例です。金額は上のパラメータ(p_in, p_out, p_cached, h, c_db)を差し込んで計算します。

シナリオ一覧と入力パラメータ

シナリオTΔBNSRq
短尺FAQ6200800425000
中尺の継続サポート20250900635000
長尺のコーチング/要件定義60250900645000
ナレッジQA(参照が主役)122008504012001
分析エージェント(検索+ツール多用)304001000645020003

トークン概算の比較

シナリオ都度全文 Tok_full要約 Tok_sum外部記憶 Tok_ext都度全文 vs 最安の比率
短尺FAQT=6: 9.0千Δ相当11.5千(S加算)7.2千約1.0倍(差が小さい)
中尺サポートT=20: 70.5千Δ相当39.5千39.5千約1.8倍
長尺コーチングT=60: 511.5千Δ相当81.0千81.0千約6.3倍
ナレッジQAT=12: 25.8千18.0千24.6千(R大)約1.4倍
分析エージェントT=30: 216.0千73.5千114.0千(R+q大)約2.9倍
Loading chart...

表の読み方

  • 都度全文は T が大きいほど Δ の二次項が支配的になり、伸びが速い
  • 要約と外部記憶は「短期N+一定量(SまたはR)」に概ね抑えられるため、伸びが一次に近い
  • 外部記憶は R(参照コンテキスト長)と q(検索回数)がコストと遅延の主要ドライバになる
  • 短尺FAQでは方式間の差が小さいため、最もシンプルな都度全文でも問題ない

外部記憶の「保管コスト」も忘れずに

外部記憶にはトークンコストとは別に、ベクトルストレージ(日次課金)や検索ツール呼び出し課金もかかります。シートでは c_db にこれらを含めて計算してください。


3方式の特性レーダーチャート

Loading chart...

選定ガイド:この条件ならこの方式

図11: メモリ方式の選定フローチャート

都度全文が向く条件

条件理由
短く終わる会話(10ターン以下)二次曲線の影響が小さく、コスト差がほぼない
厳密な再現性が必要要約による改変がなく、ログそのものが事実になるため、デバッグ・監査が単純
キャッシュが効くプロンプト構造固定部分を安定化し、動的部分を末尾に寄せる構造にすれば、長めの会話でも成立し得る

要約メモリが向く条件

条件理由
会話が長い(20ターン超)都度全文の二次増加を避けられる
過去の合意・制約・進捗を持ち続ける必要があるコーチング、要件定義、長期案件管理など
ドリフト対策をセットで導入できる構造化、時系列、矛盾チェック、UNVERIFIEDラベル、回帰評価が必須

要約メモリ単体の導入は危険

要約メモリを「安いから」という理由だけで導入し、ドリフト対策を省略すると、長期運用で品質が劣化します。(1) 構造化、(2) 時系列、(3) 矛盾チェック、(4) 未検証ラベル、(5) 回帰評価をセットにしてください。

外部記憶が向く条件

条件理由
参照すべき情報量が大きい社内ナレッジQA、規程、製品DB、履歴検索
更新頻度がある外部に持つことで、最新化が容易
根拠提示が必要「何を根拠に回答したか」を示せる
検索の運用体制があるハイブリッド検索、リランキング、テールレイテンシ評価など、検索の運用がプロダクト品質の中心になる

実務での結論:三層分離+"参照に行く"を標準にする

多くのプロダクトで安定する結論は次の三層構造です。

内容運用のポイント
短期直近Nターン+直近ツール結果短く保つ。不要なツール結果は省略
長期プロフィール/合意事項小さく、構造化し、更新は厳格に
外部ログとナレッジを保持し、必要時に検索して注入検索品質=プロダクト品質

そして、要約・外部記憶・キャッシュのいずれを使う場合でも、「メモリは入力であり、品質保証とガードレールが必要」 という姿勢が重要です。

メモリの運用設計は省略できない

永続メモリは価値を生む一方で攻撃面にもなります。書き込み・取り出し・削除・監査の運用設計を、プロダクト要件の一部として最初から組み込んでください。

Agentic Base

この記事の著者

Agentic Base 編集部

AIエージェントとWebメディア運用の知見を活かし、実践的なナレッジを発信しています。

関連記事

RAGとは何か:仕組み・MCP連携・Agentic RAGまで2026年の全体像を一気に理解する
2026.03.14技術・設計・開発25 min read

RAGとは何か:仕組み・MCP連携・Agentic RAGまで2026年の全体像を一気に理解する

1Mトークン時代にRAGは不要になったのか?コスト1,250倍の差、Lost in the Middle問題、Agentic RAGへの進化、MCP連携まで、2026年のRAGの位置づけを判断フレームワーク付きで解説。

記事を読む
Dify で始めるノーコードAIエージェント:設計パターンと実装ガイド
2026.03.12技術・設計・開発33 min read

Dify で始めるノーコードAIエージェント:設計パターンと実装ガイド

Difyを使ったAIエージェントの設計パターンを解説。ワークフロー vs エージェントの判断基準、RAGナレッジベース構築、Human-in-the-Loop設計まで、UIの使い方ではなく「使えるエージェント」の作り方を体系化します。

記事を読む
MCP サーバー設計入門:AIエージェントに外部ツールを安全につなぐ方法
2026.03.12技術・設計・開発41 min read

MCP サーバー設計入門:AIエージェントに外部ツールを安全につなぐ方法

MCPとは何か、従来APIとの違い、設計判断の基準からセキュリティ対策まで、ビジネスサイド・初学者にもわかる形で解説。10,000以上のサーバーが稼働するMCPエコシステムの全体像と、導入時に押さえるべき設計原則を体系化します。

記事を読む
Codex・Gemini CLI・Claude Code、結局どれがいい?料金&実力を忖度なしで比較【2026】
2026.03.11技術・設計・開発25 min read

Codex・Gemini CLI・Claude Code、結局どれがいい?料金&実力を忖度なしで比較【2026】

「比較記事を読んでも結局わからない」を解決。Gemini CLIは無料で毎日100回使える、Claude Codeは自律精度No.1、Codexはセキュリティ最強——実務で3つとも使い込んだ結論を、5つのシナリオ別に公開。

記事を読む