translation/translated/documents/course/03-agent-memory/21-configuring-working-memo...

66 lines
2.0 KiB
Markdown
Raw Normal View History

# 配置工作记忆
让我们为智能体添加工作记忆功能:
```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`:工作记忆内容的模板
智能体的指令也很重要。它们指导智能体在工作记忆中存储什么信息,以及如何在响应用户时使用这些信息。