# 配置工作记忆 让我们为智能体添加工作记忆功能: ```typescript import { Agent } from "@mastra/core/agent"; import { Memory } from "@mastra/memory"; import { openai } from "@ai-sdk/openai"; import { LibSQLStore, LibSQLVector } from "@mastra/libsql"; // 创建具有工作记忆配置的内存实例 const memory = new Memory({ storage: new LibSQLStore({ id: "learning-memory-storage", url: "file:../../memory.db", // 相对于 `.mastra/output` 目录的相对路径 }), // 消息历史记录的存储 vector: new LibSQLVector({ id: "learning-memory-vector", connectionUrl: "file:../../vector.db", // 相对于 `.mastra/output` 目录的相对路径 }), // 用于语义搜索的向量数据库 embedder: openai.embedding("text-embedding-3-small"), // 用于消息嵌入的嵌入器 options: { semanticRecall: { topK: 3, messageRange: { before: 2, after: 1, }, }, workingMemory: { enabled: true, }, }, }); // 创建具有配置内存的智能体 export const memoryAgent = new Agent({ name: "MemoryAgent", instructions: ` 您是一个具有高级记忆能力的助手。 您可以记住之前的对话和用户偏好。 重要提示:您有权访问工作记忆来存储关于用户的持久信息。 当您了解用户的任何重要信息时,请更新您的工作记忆。 这包括: - 他们的姓名 - 他们的位置 - 他们的偏好 - 他们的兴趣 - 任何其他有助于个性化对话的相关信息 在询问用户已提供的信息之前,请始终参考您的工作记忆。 使用工作记忆中的信息提供个性化响应。 `, model: openai("gpt-4o"), memory: memory, }); ``` `workingMemory` 配置有几个重要选项: - `enabled`:是否启用工作记忆 - `template`:工作记忆内容的模板 智能体的指令也很重要。它们指导智能体在工作记忆中存储什么信息,以及如何在响应用户时使用这些信息。