Skip to content

第四课:对话记忆

目标

理解模型为什么能知道“那里”指上一轮提到的杭州。

源码:04-memory.ts

运行:

bash
npm run lesson:04

基础记忆

正在绘制流程图…

第一轮:

typescript
let memory: Message[] = [
  { role: "user", content: "我住在杭州" },
];

保存第一轮结果并追加新问题:

typescript
memory = [
  ...firstTurn.messages,
  { role: "user", content: "那里今天天气怎么样?" },
];

下一轮把 memory 重新交给模型。

记忆在哪里

课程第二轮创建了新的 DemoModel,仍然能找到杭州。这说明记忆不在模型对象中,而在应用保存并重新提供的消息中。

两种循环

正在绘制流程图…
  • Agent 内部循环:一次请求中模型和工具反复交互。
  • 多轮对话循环:每轮结束后保存消息,下一轮重新提供。

工程限制

真实项目不一定永远携带全部历史。对话过长后通常会:

  • 裁剪无关消息;
  • 总结旧对话;
  • 保存到数据库;
  • 按当前问题检索相关记忆。

本课结论

基础记忆就是程序保存相关历史,并在下一轮调用时重新交给模型。

内容仅供学习参考 · 隐私说明与免责声明见“关于”页面