コンテンツにスキップ

Zep - エージェント向けのコンテキストエンジニアリングとメモリ チートシート

Zep - エージェント向けのコンテキストエンジニアリングとメモリ チートシート

Zep は AI エージェント向けメモリと コンテキストエンジニアリング レイヤーです。Graphiti 時間的ナレッジグラフエンジン上に構築され、会話履歴とビジネスデータを取り込み、事実が時間とともにどう変わるかを追跡するクエリ可能なグラフに融合し、エージェント応答に基づく関連の統治されたロー遅延コンテキストを戻します。オープンソースコアとマネージドクラウドサービス (SOC 2 / HIPAA) を備えており、Python、TypeScript、Go 用の SDK を提供します。

インストール / セットアップ

ターゲットコマンド
Python SDKpip install zep-cloud (クラウド)
TypeScript SDKnpm install @getzep/zep-cloud
自ホスト (コミュニティ版)プロジェクトの Docker Compose 経由で実行
API キーexport ZEP_API_KEY=...

コア概念

用語意味
ユーザーエージェントが提供するエンドユーザー
スレッドユーザーの会話セッション
グラフユーザー/グループの時間的ナレッジグラフ
事実グラフ内の時刻認識リレーションシップ
コンテキストブロックアセンブルされた、注入準備完了のコンテキスト文字列

ユーザーとスレッド

from zep_cloud.client import Zep
zep = Zep(api_key="...")

zep.user.add(user_id="nick", email="nick@example.com")
zep.thread.create(thread_id="t1", user_id="nick")
呼び出し説明
user.add(...)ユーザーを作成
thread.create(...)会話スレッドを開始
thread.add_messages(...)メッセージを追加 (グラフに自動取り込み)
user.delete(...)ユーザーとそのデータを削除

メモリを追加

zep.thread.add_messages(
    thread_id="t1",
    messages=[{"role": "user", "content": "I moved to Berlin.", "name": "Nick"}],
)

# チャット以外のビジネスデータを直接グラフに追加
zep.graph.add(user_id="nick", type="text",
              data="Nick's subscription tier is Pro.")
呼び出し説明
thread.add_messages(...)会話ターンを取り込み
graph.add(...)任意のテキスト/JSON をグラフに追加
取り込みエンティティ/事実を抽出し自動的にタイムスタンプ

コンテキストを取得

# プロンプト用にアセンブルされたコンテキストブロックを取得
memory = zep.thread.get_user_context(thread_id="t1")
print(memory.context)   # 注入準備完了の関連事実文字列

# または、グラフを直接クエリ
edges = zep.graph.search(user_id="nick", query="where does Nick live?")
呼び出し戻り値
thread.get_user_context(...)合成されたコンテキストブロック
graph.search(...)クエリにマッチする事実/エッジまたはノード
検索スコープエッジ (事実), ノード (エンティティ), またはエピソード

なぜ時間的なのか

Zep はグラフベースで時刻認識されているため、矛盾する更新は盲目的に上書きしません — 古い事実はタイムスタンプで無効化され新しい事実が記録されるため、エージェントは 現在 の真実を取得しながら履歴はクエリ可能に残ります。

機能利点
事実の無効化現在のコンテキストが正確に保たれる
出所事実をそのソースにトレース
統治されたアクセスロー遅延、パーミッションされたコンテキスト
クロスセッションメモリはスレッド間で永続

一般的なワークフロー

# Zep メモリ付きエージェントループ
zep.thread.add_messages(thread_id="t1", messages=user_turn)
context = zep.thread.get_user_context(thread_id="t1").context
# `context` を LLM システムプロンプトの先頭に、その後生成

Zep vs その他のメモリレイヤー

アスペクトZepMem0生ベクトルストア
モデル時間的グラフ (Graphiti)マルチティア埋め込みのみ
時間的事実あり限定的いいえ
コンテキストアセンブリ組み込みブロック取得手動
最適な用途本番エージェントメモリパーソナライゼーションシンプル回想

リソース