memory-systems
セッションをまたいで状態を保持するエージェントを構築する際に、短期・長期・グラフベースのメモリアーキテクチャを設計します。会話間でエンティティの一貫性を維持したり、蓄積された知識に基づく推論を実装する場合に活用してください。
description の原文を見る
Design short-term, long-term, and graph-based memory architectures. Use when building agents that must persist across sessions, needing to maintain entity consistency across conversations, or implementing reasoning over accumulated knowledge.
SKILL.md 本文
このスキルを使用する時期
短期、長期、およびグラフベースのメモリアーキテクチャを設計する
短期、長期、およびグラフベースのメモリアーキテクチャを設計する作業を行う場合、このスキルを使用します。
メモリシステム設計
メモリは、エージェントがセッション間での連続性を維持し、蓄積されたナレッジについて推論できるようにする永続化レイヤーを提供します。シンプルなエージェントはコンテキストの記憶に完全に依存しており、セッションが終了するとすべてのステートが失われます。高度なエージェントは、即座のコンテキストニーズと長期的なナレッジ保持のバランスを取る階層化メモリアーキテクチャを実装します。ベクトルストアから知識グラフ、そして時間軸付き知識グラフへの進化は、取得と推論を改善するための構造化メモリへの投資の増加を示しています。
使用する場合
以下の場合にこのスキルを有効化します:
- セッション間で永続化する必要があるエージェントを構築する場合
- 会話全体でエンティティの一貫性を維持する必要がある場合
- 蓄積されたナレッジの推論を実装する場合
- 過去のやり取りから学習するシステムを設計する場合
- 時間とともに成長する知識ベースを作成する場合
- ステート変化を追跡する時間認識システムを構築する場合
コアコンセプト
メモリは、即座のコンテキストから永続的ストレージへのスペクトラム上に存在します。一方の極では、コンテキストウィンドウ内の作業メモリがゼロレイテンシーのアクセスを提供しますがセッションが終了すると消えます。もう一方の極では、永続的ストレージは無期限に永続しますが、コンテキストに入るには取得が必要です。
シンプルなベクトルストアは関係と時間的構造に欠けています。知識グラフは推論のための関係を保持します。時間軸付き知識グラフは時間認識クエリのための有効期間を追加します。実装の選択は、クエリの複雑さ、インフラストラクチャの制約、および精度要件に依存します。
詳細なトピック
メモリアーキテクチャの基本
コンテキスト-メモリスペクトラム メモリは、即座のコンテキストから永続的ストレージへのスペクトラム上に存在します。一方の極では、コンテキストウィンドウ内の作業メモリがゼロレイテンシーのアクセスを提供しますがセッションが終了すると消えます。もう一方の極では、永続的ストレージは無期限に永続しますが、コンテキストに入るには取得が必要です。効果的なアーキテクチャは、このスペクトラム全体で複数のレイヤーを使用します。
スペクトラムは作業メモリ(コンテキストウィンドウ、ゼロレイテンシー、揮発性)、短期メモリ(セッション永続的、検索可能、揮発性)、長期メモリ(セッション間永続的、構造化、半永続的)、および永続メモリ(アーカイブ、クエリ可能、永続的)を含みます。各レイヤーは異なるレイテンシー、容量、および永続性の特性を持ちます。
シンプルなベクトルストアが不十分な理由 ベクトル RAG は、クエリとドキュメントを共有埋め込み空間に埋め込むことで意味論的取得を提供します。類似性検索は最も意味論的に類似したドキュメントを取得します。これはドキュメント取得に適していますが、エージェントメモリの構造に欠けています。
ベクトルストアは関係情報を失います。エージェントが「顧客X は日付Z に製品Y を購入した」ことを学んだ場合、ベクトルストアは直接聞かれたらこの事実を取得できます。しかし関係構造が保持されていないため、「製品Y を購入した顧客も購入した他の製品は何か?」に答えることはできません。
ベクトルストアはまた時間的有効性に対応しています。事実は時間とともに変化しますが、ベクトルストアは明示的なメタデータとフィルタリングを除いて、「現在の事実」と「陳腐化した事実」を区別するメカニズムを提供していません。
グラフベースメモリへの移行 知識グラフはエンティティ間の関係を保持します。分離したドキュメントチャンクの代わりに、グラフはエンティティ A が関係 R をエンティティ B に持つことをコード化します。これにより、単なる類似性ではなく関係を辿るクエリが可能になります。
時間軸付き知識グラフは事実に有効期間を追加します。各事実は「有効開始」および必要に応じて「有効終了」タイムスタンプを持ちます。これにより、特定の時点でナレッジを再構成する時間遡行クエリが可能になります。
ベンチマークパフォーマンス比較 Deep Memory Retrieval (DMR) ベンチマークは、メモリアーキテクチャ全体でコンクリートなパフォーマンスデータを提供します:
| メモリシステム | DMR 正確性 | 取得レイテンシー | 注釈 |
|---|---|---|---|
| Zep (Temporal KG) | 94.8% | 2.58s | 最高の正確性、高速取得 |
| MemGPT | 93.4% | 変動 | 良好な一般的なパフォーマンス |
| GraphRAG | 約75-85% | 変動 | ベースライン RAG より 20-35% 向上 |
| Vector RAG | 約60-70% | 高速 | 関係構造を失う |
| 再帰的要約 | 35.3% | 低 | 重大な情報喪失 |
Zep はフルコンテキストベースラインと比較して 90% の取得レイテンシーの削減を実現しました (2.58s vs 28.9s for GPT-5.2)。この効率は、コンテキスト履歴全体ではなく関連するサブグラフのみを取得することから来ています。
GraphRAG は複雑な推論タスクでベースライン RAG に対して約 20-35% の正確性向上を達成し、コミュニティベースの要約により幻覚を最大 30% 削減します。
メモリレイヤーアーキテクチャ
レイヤー1: 作業メモリ 作業メモリはコンテキストウィンドウ自体です。現在処理されている情報への即座のアクセスを提供しますが、容量が限定され、セッションが終了すると消えます。
作業メモリ使用パターンには、スクラッチパッド計算(エージェントが中間結果を追跡)、会話履歴(現在のタスク用に対話を保持)、現在のタスクステート(アクティブな目標の進行状況を追跡)、アクティブな取得ドキュメント(現在使用されている情報を保持)が含まれます。
作業メモリを最適化するには、アクティブな情報のみを保持し、完了した作業が注意の対象から外れる前に要約し、重要な情報に対して注意が集中する位置を使用します。
レイヤー2: 短期メモリ 短期メモリは現在のセッション間で永続しますがセッション間では永続しません。永続的ストレージのレイテンシーなしに検索と取得の機能を提供します。
一般的な実装には、セッション終了まで永続するセッションスコープデータベース、指定されたセッションディレクトリのファイルシステムストレージ、セッション ID でキー付けされたメモリ内キャッシュが含まれます。
短期メモリの使用例には、コンテキストを詰め込むことなくターン間で会話ステートを追跡、後で必要になる可能性があるツール呼び出しからの中間結果を保存、タスクチェックリストと進行状況の追跡を維持、セッション内で取得した情報をキャッシュするが含まれます。
レイヤー3: 長期メモリ 長期メモリは無期限にセッション間で永続します。エージェントが過去のやり取りから学習し、時間とともにナレッジを構築することを可能にします。
長期メモリ実装は、シンプルなキー値ストアから高度なグラフデータベースの範囲です。選択は、モデル化する関係の複雑さ、必要なクエリパターン、および許容できるインフラストラクチャの複雑さに依存します。
長期メモリの使用例には、セッション間でのユーザー設定の学習、時間とともに成長するドメイン知識ベースの構築、関係履歴を持つエンティティレジストリの維持、再利用できる成功パターンの保存が含まれます。
レイヤー4: エンティティメモリ エンティティメモリは、エンティティ(人、場所、概念、オブジェクト)に関する情報を追跡して一貫性を維持します。これは、複数のやり取りにわたってエンティティが認識される初歩的な知識グラフを作成します。
エンティティメモリはエンティティ ID を維持することで、1 つの会話で言及された「John Doe」が別の会話の同じ人物であることを追跡します。エンティティプロパティを時間とともにエンティティについて発見された事実を保存することで維持します。エンティティ関係をエンティティ間の関係が発見されるにつれて追跡することで維持します。
レイヤー5: 時間軸付き知識グラフ 時間軸付き知識グラフはエンティティメモリを明示的な有効期間で拡張します。事実は単に真または偽ではなく、特定の時間範囲中に真です。
これにより「日付X でのユーザーのアドレスは何か?」といったクエリが可能になり、その日付範囲中に有効な事実を取得します。陳腐化した情報が新しいデータと矛盾する場合のコンテキストの衝突を防ぎます。エンティティが時間とともにどのように変化したかについての時間的推論を可能にします。
メモリ実装パターン
パターン1: ファイルシステムアズメモリ ファイルシステム自体がメモリレイヤーとして機能できます。このパターンはシンプルで追加のインフラストラクチャを必要とせず、ファイルシステムベースのコンテキストを効果的にする同じジャストインタイム読み込みを可能にします。
実装はファイルシステム階層を組織に使用します。命名規則を使用して意味を伝えます。事実を構造化フォーマット (JSON, YAML) で保存します。時間追跡のためにファイル名またはメタデータに タイムスタンプを使用します。
利点: シンプルさ、透明性、携帯性。 欠点: 意味論的検索がない、関係追跡がない、手動の組織化が必要。
パターン2: メタデータ付きベクトル RAG リッチメタデータで強化されたベクトルストアは、フィルタリング機能を備えた意味論的検索を提供します。
実装は事実またはドキュメントを埋め込み、エンティティタグ、時間的有効性、ソース帰属、信頼度スコアを含むメタデータで保存します。クエリは意味論的検索と共にメタデータフィルターを含みます。
パターン3: 知識グラフ 知識グラフは、エンティティと関係を明示的にモデル化します。実装はエンティティタイプと関係タイプを定義し、グラフデータベースまたはプロパティグラフストレージを使用し、一般的なクエリパターンのインデックスを維持します。
パターン4: 時間軸付き知識グラフ 時間軸付き知識グラフは事実に有効期間を追加し、時間遡行クエリを可能にし、陳腐化した情報からのコンテキストの衝突を防ぎます。
メモリ取得パターン
意味論的取得 埋め込み類似性検索を使用して現在のクエリに意味論的に類似したメモリを取得します。
エンティティベース取得 グラフ関係を辿すことで特定のエンティティに関連するすべてのメモリを取得します。
時間的取得 有効期間フィルターを使用して特定の時刻またはの範囲内で有効なメモリを取得します。
メモリの統合
メモリは時間とともに蓄積し、無制限の成長を防ぎ、陳腐化した情報を削除するために統合が必要です。
統合トリガー 大きなメモリ蓄積後に統合をトリガー、取得が太多くの陳腐化した結果を返すとき、定期的なスケジュールで、または明示的な統合がリクエストされるときにトリガーします。
統合プロセス 陳腐化した事実を特定、関連する事実をマージ、有効期間を更新、廃止された事実をアーカイブまたは削除、インデックスを再構築します。
実践的ガイダンス
コンテキストとの統合
メモリが有用であるには、コンテキストシステムと統合される必要があります。必要なときに関連するメモリを取得するジャストインタイムメモリ読み込みを使用します。メモリを注意が集中する位置に配置するための戦略的注入を使用します。
メモリシステムの選択
要件に基づいてメモリアーキテクチャを選択します:
- シンプルな永続化ニーズ: ファイルシステムメモリ
- 意味論的検索ニーズ: メタデータ付きベクトル RAG
- 関係推論ニーズ: 知識グラフ
- 時間的有効性ニーズ: 時間軸付き知識グラフ
例
例1: エンティティ追跡
# 会話全体でエンティティを追跡
def remember_entity(entity_id, properties):
memory.store({
"type": "entity",
"id": entity_id,
"properties": properties,
"last_updated": now()
})
def get_entity(entity_id):
return memory.retrieve_entity(entity_id)
例2: 時間的クエリ
# 2024年1月15日でのユーザーのアドレスは?
def query_address_at_time(user_id, query_time):
return temporal_graph.query("""
MATCH (user)-[r:LIVES_AT]->(address)
WHERE user.id = $user_id
AND r.valid_from <= $query_time
AND (r.valid_until IS NULL OR r.valid_until > $query_time)
RETURN address
""", {"user_id": user_id, "query_time": query_time})
ガイドライン
- メモリアーキテクチャをクエリ要件にマッチさせます
- メモリアクセスに対する段階的な開示を実装します
- 陳腐化した情報の衝突を防ぐために時間的有効性を使用します
- 無制限の成長を防ぐため定期的にメモリを統合します
- メモリ取得の失敗を優雅に処理するように設計します
- 永続的メモリのプライバシーへの影響を考慮します
- 重要なメモリのバックアップと復旧を実装します
- 時間とともにメモリの成長とパフォーマンスを監視します
統合
このスキルは context-fundamentals に基づいています。以下に接続します:
- multi-agent-patterns - エージェント間の共有メモリ
- context-optimization - メモリベースのコンテキスト読み込み
- evaluation - メモリ品質の評価
参考文献
内部参考:
- Implementation Reference - 詳細な実装パターン
このコレクション内の関連スキル:
- context-fundamentals - コンテキストの基本
- multi-agent-patterns - クロスエージェントメモリ
外部リソース:
- グラフデータベースドキュメンテーション (Neo4j など)
- ベクトルストアドキュメンテーション (Pinecone, Weaviate など)
- 知識グラフと推論に関する研究
スキルメタデータ
作成日: 2025-12-20 最終更新: 2025-12-20 著者: Agent Skills for Context Engineering Contributors バージョン: 1.0.0
制限事項
- 上記で説明されたスコープにタスクが明確にマッチする場合のみ、このスキルを使用します。
- 出力を環境固有の検証、テスト、または専門家のレビューの代わりとは見なしてください。
- 必要な入力、許可、安全境界、または成功基準が不明な場合は、停止して明確化を求めます。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。