ストリーミングワーキングメモリ
この例では、ユーザーの名前、場所、好みなどの関連する会話の詳細を維持するワーキングメモリを持つエージェントを作成する方法を示しています。
セットアップ
まず、ワーキングメモリを有効にしてメモリシステムをセットアップします。設定されたストレージプロバイダーなしの new Memory()
は、アプリケーションの再起動間でデータを保持しないことに注意してください。データを永続化するには、@mastra/libsql
のようなストレージプロバイダーを設定できます:
import { Memory } from "@mastra/memory";
const memory = new Memory({
options: {
workingMemory: {
enabled: true,
},
},
storage: new LibSQLStore({
url: "file:../mastra.db",
}),
});
メモリインスタンスをエージェントに追加します:
import { openai } from "@ai-sdk/openai";
const agent = new Agent({
name: "Memory agent",
instructions: "You are a helpful AI assistant.",
model: openai("gpt-4o-mini"),
memory, // または toolCallMemory
});
使用例
ワーキングメモリーの設定が完了したら、エージェントと対話することができ、エージェントは対話の重要な詳細を記憶します。
import { randomUUID } from "crypto";
const threadId = randomUUID();
const resourceId = "SOME_USER_ID";
const response = await agent.stream("Hello, my name is Jane", {
threadId,
resourceId,
});
for await (const chunk of response.textStream) {
process.stdout.write(chunk);
}
概要
この例では以下のことを示しています:
- ワーキングメモリを有効にしたメモリのセットアップ
- エージェントが対話間で関連するユーザー情報を維持する方法
高度なユースケース
ワーキングメモリに関連する情報の制御や、ワーキングメモリが保存されている間の読み込み状態の表示については、高度なワーキングメモリの例をご覧ください。
エージェントメモリについて、他のメモリタイプやストレージオプションを含む詳細は、メモリのドキュメントページをご確認ください。