エージェントのメモリと状態管理
※このページには広告(PR)リンクが含まれます
🎯 このレッスンのゴール:最後の3問に答えられること
- ユーザーの好みを、別の日に始めた会話でも覚えておきたい場合、どのメモリで扱うのが適切ですか?
- 長い会話で古い文脈を失いたくないが、トークン消費も抑えたい場合、本文の短期メモリ戦略で適切なのはどれですか?
- 長時間かかる処理が障害で止まっても、途中の状態から復旧できるようにしたい場合、本文で挙がる手法はどれですか?
本文は約3分で読めます。先に問題を頭に入れてから読むと、答えの箇所が見つけやすくなります。
すぐに問題に挑戦する ↓エージェントのメモリと状態管理
はじめに
AIエージェントが真に実用的になるためには、過去の対話や処理結果を記憶し、状態を適切に管理する能力が不可欠です。メモリのないエージェントは毎回ゼロから始めることになり、ユーザー体験も業務効率も著しく低下します。この章では、エージェントのメモリ設計と状態管理の実践手法を学びます。
メモリの種類
AIエージェントのメモリは主に3つのレベルに分類されます。
- ◆短期メモリ: 現在の会話セッション内の情報。メッセージ履歴として保持される。セッション終了で消える
- ◆作業メモリ: 現在のタスク遂行に必要な中間状態。処理途中のデータやタスクの進捗状況
- ◆長期メモリ: セッションをまたいで永続化される情報。ユーザーの好み、過去の意思決定、学習した知識
短期メモリの管理戦略
会話履歴の管理はコストとパフォーマンスに直結します。
- ◆ウィンドウ方式: 直近N件のメッセージだけを保持。実装が簡単だが、古い文脈が失われる
- ◆トークン制限方式: トークン数の上限を設定し、超えた分は古い順に削除する
- ◆要約方式: 古い会話を定期的にLLMで要約し、コンパクトな形で保持する
- ◆重要度ベース: 重要なメッセージにフラグを立て、重要でないものを優先的に削除する
長期メモリの実装
セッションをまたいで情報を記憶する仕組みを構築します。
- ◆ベクトルストア方式: 重要な情報をエンベディングしてベクトルDBに格納。類似検索で呼び出す
- ◆構造化DB方式: ユーザー情報、設定、履歴をRDBに格納。正確な検索が可能
- ◆ファイルベース方式: メモリ内容をMarkdownやJSONファイルに保存。実装がシンプル
- ◆ハイブリッド方式: 構造化データはRDB、非構造化データはベクトルDBに格納
状態管理パターン
エージェントの実行状態を管理するためのパターンを学びます。
- ◆ステートマシン: エージェントの状態を明示的に定義し、遷移条件を管理する。予測可能性が高い
- ◆グラフベース: LangGraphのようにノードとエッジで処理フローを定義。柔軟な分岐が可能
- ◆イベントソーシング: すべての状態変更をイベントとして記録。任意の時点に復元可能
- ◆チェックポイント: 定期的に状態をスナップショットとして保存。障害時の復旧に利用
コンテキストウィンドウの最適化
LLMのコンテキストウィンドウを効率的に使う戦略を学びます。
- ◆情報の優先順位付け: システムプロンプト>直近の会話>関連するメモリ>背景情報の順に配置
- ◆動的コンテキスト: 現在のタスクに関連する情報のみをメモリから取得して挿入する
- ◆コンテキスト圧縮: 冗長な情報を要約し、重要なポイントだけを残す
- ◆段階的読み込み: 必要になったタイミングで追加情報をコンテキストに投入する
セッション管理の実装
マルチユーザー環境でのセッション管理も重要です。
- ◆セッションID: ユーザーごとにユニークなセッションIDを発行し、メモリを分離する
- ◆TTL設定: 一定期間アクセスがないセッションは自動的にクリーンアップする
- ◆並行処理: 同一ユーザーの複数リクエストが競合しないよう排他制御を実装する
- ◆データ暗号化: メモリに保存される個人情報は暗号化して保護する
🏋️実践ワーク
以下の課題に取り組みましょう。
- ◆要約方式の短期メモリを実装し、長い会話でも文脈が維持されることを確認してみましょう
- ◆ベクトルストアを使った長期メモリを実装し、過去の会話内容を呼び出してみましょう
- ◆ステートマシンでエージェントの状態遷移を定義し、各状態での振る舞いを実装してみましょう
📝まとめ
メモリと状態管理は、エージェントの「賢さ」を決定する重要な要素です。短期・作業・長期メモリの適切な使い分けと、状態管理パターンの選択により、文脈を理解し継続的に学習するエージェントを構築できます。次の章では、エージェントの品質評価手法について学びます。
理解度チェック
3問全問正解でこのレッスンが「完了」になり、コースの全レッスンを完了すると修了証が発行されます。何度でも挑戦でき、全問正解すると全問の解説が読めます(不正解のときは正解した問題の数だけ表示され、30秒後に答え直せます)。
Q1.ユーザーの好みを、別の日に始めた会話でも覚えておきたい場合、どのメモリで扱うのが適切ですか?
Q2.長い会話で古い文脈を失いたくないが、トークン消費も抑えたい場合、本文の短期メモリ戦略で適切なのはどれですか?
Q3.長時間かかる処理が障害で止まっても、途中の状態から復旧できるようにしたい場合、本文で挙がる手法はどれですか?
「AIエージェント開発・自動化上級講座」全10レッスンを無料で修了しよう
- ✓ 理解度チェックの採点と、合格レッスンの記録
- ✓ 全レッスン合格で修了証を発行(URLでシェア・LinkedInに追加できます)
- ✓ 全レッスンの解説動画と、続きから再開できる学習ダッシュボード
完全無料・クレジットカード不要
このレッスンで使うツール・次の学び方 PR
Audible(Amazonのオーディオブック) ↗ビジネス書・マーケティングの本を通勤中や家事の合間に聴いて学べる。プレミアムプランは30日間の無料体験あり(2026年11月時点)

関連するブログ記事
関連レッスン(他のコースから)
ChatGPT完全マスター講座
ChatGPTとは?AI革命の全貌
ChatGPTはOpenAIが開発した対話型のAIアシスタントです。
30分無料公開
ChatGPT完全マスター講座
アカウント作成と基本操作マスター
ChatGPTを使い始めるには、まずOpenAIアカウントを作成する必要があります。登録はスマートフォンでもPCでも3ステップで完了します。
30分無料公開
ChatGPT完全マスター講座
プロンプトエンジニアリングの基礎
ChatGPTの回答品質はプロンプト(指示文)の書き方で8割が決まります。
30分無料公開
ChatGPT完全マスター講座
高度なプロンプトテクニック
ChatGPTは「聞き方次第で別のツールになる」と言われます。
30分本文は無料で閲覧可
ChatGPT完全マスター講座
ビジネス文書作成の自動化
ビジネスパーソンが1日に文書作成に費やす時間は平均2〜3時間という調査があります。
30分本文は無料で閲覧可
ChatGPT完全マスター講座
マーケティングコピーの生成術
「コピーライターを雇うと1本10万円。ChatGPTなら1日100本。」——これはやや誇張ですが、現実的に近いことが起きています。
30分本文は無料で閲覧可