エージェントメモリー
Mastraのエージェントは、会話履歴を保存し、関連情報を思い出し、インタラクション間で永続的なコンテキストを維持するための強力なメモリーシステムを活用できます。これにより、エージェントはより自然でステートフルな会話を行うことができます。
エージェントのメモリを有効にする
メモリを有効にするには、単にMemory
クラスをインスタンス化し、エージェントの設定に渡すだけです。また、メモリパッケージをインストールする必要があります:
npm install @mastra/memory@latest
import { Agent } from "@mastra/core/agent";
import { Memory } from "@mastra/memory";
import { openai } from "@ai-sdk/openai";
// 基本的なメモリのセットアップ
const memory = new Memory();
const agent = new Agent({
name: "MyMemoryAgent",
instructions: "あなたはメモリを持つ役立つアシスタントです。",
model: openai("gpt-4o"),
memory: memory, // メモリインスタンスを接続
});
この基本的なセットアップでは、ストレージにLibSQL、埋め込みにFastEmbedを含むデフォルト設定を使用しています。詳細なセットアップ手順については、メモリを参照してください。
エージェントコールでのメモリの使用
インタラクション中にメモリを活用するには、エージェントのstream()
またはgenerate()
メソッドを呼び出す際にresourceId
とthreadId
を必ず提供する必要があります。
resourceId
: 通常、ユーザーまたはエンティティを識別します(例:user_123
)。threadId
: 特定の会話スレッドを識別します(例:support_chat_456
)。
// メモリを使用したエージェント呼び出しの例
await agent.stream("私の好きな色は青だということを覚えておいて。", {
resourceId: "user_alice",
threadId: "preferences_thread",
});
// 同じスレッドの後で...
const response = await agent.stream("私の好きな色は何?", {
resourceId: "user_alice",
threadId: "preferences_thread",
});
// エージェントはメモリを使用して好きな色を思い出します。
これらのIDは、会話履歴とコンテキストが適切なユーザーと会話のために正しく保存され、取得されることを保証します。
次のステップ
Mastraのメモリ機能をさらに探索して、スレッド、会話履歴、セマンティック検索、ワーキングメモリについて学びましょう。