需手动集成记忆模块并配置向量数据库:检查项目结构和@agentkit/core≥0.8.3版本,配置memory字段,选用chroma或pinecone作为后端,注入memoryservice并调用init()、recall()和store()完成读写闭环。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在AgentKit中为智能体添加真实可用的记忆模块,让每次对话都能延续上一次的上下文、记住用户偏好或关键事实,不能只靠LLM的临时上下文窗口硬撑。
确认AgentKit项目结构与记忆支持能力
进入你的AgentKit项目根目录,检查是否存在 memory/ 或 src/memory 子目录;若无,说明当前模板未启用记忆模块,需手动集成。
运行 npm list @agentkit/core 确认版本 ≥ 0.8.3——低于此版本不支持 MemoryService 接口,强行配置会导致运行时 undefined is not a function 报错。
打开 agent.config.ts,查找 memory 字段。若该字段缺失或值为 null,后续所有记忆写入操作将静默失败,且无任何错误提示。
接入向量数据库作为长期记忆后端
方法一:使用内置Chroma适配器(推荐本地开发)
执行 npx chroma-cli start 启动本地Chroma服务;确保端口 8000 可访问,否则AgentKit初始化时会卡在连接等待,超时后降级为内存型记忆,重启后数据即丢失。
在 memory/config.ts 中配置:
export const memoryConfig = {<br> type: "chroma",<br> host: "http://localhost:8000",<br> collectionName: "agent-main-memory"<br>};
方法二:直连Pinecone(生产环境)
从Pinecone控制台复制 Environment 和 API Key,填入 .env 文件:
PINECONE_ENVIRONMENT=us-west1-gcp<br>PINECONE_API_KEY=pcsk_xxx
【collectionName 必须全小写且不含下划线】,否则Pinecone SDK会抛出 400 错误并终止初始化流程。
在Agent逻辑中注入并调用记忆服务
第一步:在 src/agent.ts 顶部导入
import { MemoryService } from "@agentkit/memory";<br>import { memoryConfig } from "./memory/config";
第二步:实例化服务并挂载到Agent上下文
在Agent构造函数内添加:
this.memory = new MemoryService(memoryConfig);<br>// 必须在首次调用 .recall() 前完成 await this.memory.init()
第三步:在处理用户输入前主动检索相关记忆
调用 await this.memory.recall({ query: userInput, topK: 3 }),返回结果会自动按语义相关性排序。不手动设置 topK 将默认取 5,可能引入噪声片段干扰当前决策。
第四步:将本轮交互写入长期记忆
在生成响应后立即执行:
await this.memory.store({<br> content: `User: ${userInput}\nAI: ${response}`,<br> metadata: { sessionId, timestamp: Date.now() }<br>});
这一步不可省略——仅调用 recall 不会自动触发写入,记忆库始终为空。
验证记忆是否真正生效
启动Agent服务后,向其发送消息:“我叫李伟,住在杭州。”
等待响应结束,立刻再发一条:“我住哪儿?”
若返回“你住在杭州”,说明记忆读写链路完整;若返回“我不知道”或复述上条消息,则检查 store() 是否被调用、Chroma服务是否存活、collectionName 是否拼写一致。
直接访问 http://localhost:8000/api/v1/collections/agent-main-memory/count,返回值大于 0 即证明数据已落库。











