@systemdesignone: 如果你想在3周内成为AI工程高手,请学习以下15个概念:1 AI Agents: 记忆、状态与一致性…
摘要
由@systemdesignone发布的推文整理了15个AI工程核心概念,深入探讨了AI agent的记忆、状态与一致性,并提供新闻通讯链接以便进一步学习。
查看缓存全文
缓存时间: 2026/05/23 10:08
如果你想在三周内精通 AI 工程,那么学习以下 15 个概念:
1 AI Agent:记忆、状态与一致性 → https://newsletter.systemdesign.one/p/ai-agent-memory…
2 机器学习系统设计 101 → https://newsletter.systemdesign.one/p/machine-learning-system-design-interview…
3 设计个人 AI 聊天助手 → https://newsletter.systemdesign.one/p/ai-chat-assistant…
4 RAG 工作原理 → https://newsletter.systemdesign.one/p/how-rag-works
5 LLM 概念 - 深入解读 → https://newsletter.systemdesign.one/p/llm-concepts
6 如何设计 AI Agent → https://newsletter.systemdesign.one/p/how-do-ai-agents-work…
7 什么是强化学习 → https://newsletter.systemdesign.one/p/what-is-reinforcement-learning…
8 向量数据库工作原理 → https://newsletter.systemdesign.one/p/what-is-a-vector-database…
9 上下文工程 101 → https://newsletter.systemdesign.one/p/what-is-context-engineering…
10 AI 编码工作流 101 → https://newsletter.systemdesign.one/p/ai-coding-workflow…
11 LLM 评估详解 → https://newsletter.systemdesign.one/p/llm-evals
12 AI Agent 工作原理 → https://newsletter.systemdesign.one/p/ai-agents-explained…
13 MCP 工作原理 → https://newsletter.systemdesign.one/p/how-mcp-works
14 自主模式详解 → https://newsletter.systemdesign.one/p/agentic-design-patterns…
15 多 Agent 架构详解 → https://newsletter.systemdesign.one/p/multi-agent-system…
这个列表还应该包含什么?
===
附注 - 想要免费获取我的系统设计手册吗?
立即加入我的 newsletter,已有 21 万以上的软件工程师订阅: → http://newsletter.systemdesign.one/join
===
收藏并转发,帮助其他人掌握 AI 工程。 关注 @systemdesignone 并开启通知。
AI Agent 记忆 - 深入解读
来源:https://newsletter.systemdesign.one/p/ai-agent-memory
- 分享本文(https://newsletter.systemdesign.one/p/ai-agent-memory/?action=share),我将为推荐者提供奖励。
构建 AI Agent¹(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-1)最困难的部分与模型本身无关……
调用语言模型是简单部分……
让 Agent 在跨越数小时或数天的工作流中保持连贯才是真正的难点:要记住说过的话、追踪已完成的事项、并在用户改变主意时保持稳定。
即使每年都有更强的模型,Agent 仍然会因为这些精确的失败点而崩溃……它们会忘记之前的对话、重复已经问过的问题,并且在长时间任务中表现不一致。模型很少是原因。真正的原因是缺失或设计不当的状态和记忆,以及保持两者一致的一致性规则。
本 newsletter 将逐一解析这三个部分……
100 多个 Claude Code 技巧,让代码交付速度提升 10 倍(合作伙伴)(https://codenewsletter.ai/subscribe?utm_source=nl_ad_system)
Anthropic 和 OpenAI 的顶尖工程师表示,AI 现在编写了他们 100% 的代码。
如果你不使用 AI,你正在花费 40 小时做他们 4 小时就能完成的事。
这 100 多个 Claude Code 技巧解决了这个问题,帮助你实现 10 倍的交付速度。
订阅**The Code(https://codenewsletter.ai/subscribe?utm_source=nl_ad_system)**即可获得:
- 100+ 顶尖工程师使用的 Claude Code 技巧 — 免费
- The Code newsletter — 每天 5 分钟学习最新 AI 工具、技巧和技能,更快地用 AI 编码
立即领取你的免费手册(https://codenewsletter.ai/subscribe?utm_source=nl_ad_system)
(感谢The Code(https://codenewsletter.ai/subscribe?utm_source=nl_ad_system)对本篇文章的赞助。)
我想向大家介绍**Sivasankar(http://www.linkedin.com/in/sivasankar-natarajan)**作为特邀作者。
他是一位技术总监和 GenAI 实践者,拥有超过 20 年的大数据、云和 GenAI 解决方案架构与构建经验。
他的工作重点是帮助组织设计实用且可扩展的智能系统。他喜欢通过动手 DIY 项目和实际实验探索新想法,经常将真实用例转化为工作原型。
你可以在**LinkedIn(http://www.linkedin.com/in/sivasankar-natarajan)**上联系 Sivasankar(Shiva)。
以下是本 newsletter 的内容概览:
- **状态 vs 记忆。**各自的作用是什么,它们有何区别,以及混淆两者是大多数 Agent 错误的根本原因。
- **记忆生命周期。**Agent 如何创建、更新、总结和删除记忆,以避免记忆随时间腐化。
- **变化下的一致性。**状态如何对新指令即时响应,而长期记忆只在变化持续后才更新。
- **参考架构。**四个层次(大脑、状态、记忆、外部系统)以及各自负责的内容。
- **扩展与故障模式。**有状态 Agent 在规模扩展时会在哪些地方失效,以及记忆自身出错的三种方式。
最后,你将了解如何设计能够追踪正确事项、从故障中恢复,并对其不控制的数据保持真实的 Agent。
让我们从状态开始吧……
状态
状态是 Agent 保留的关于当前任务的信息:计划、活动约束、已完成的事项以及下一步该做什么。
它是 Agent 对“现在”的画像……
理解其重要性最简单的方法是比较一个有状态 Agent 和一个无状态 Agent。
无状态 Agent 在两次请求之间不保留任何信息……
每个输入都是全新的开始,这适用于一次性任务,比如“将这句话翻译成法语”、“总结这段文字”或“解释什么是 API”。
有状态 Agent 追踪当前任务、会话或工作流……
在每个决策点,它会检查状态来回答三个问题:我处于哪一步?已经完成了什么?下一步该做什么?这些答案驱动下一步行动、检查约束,并阻止 Agent 重复自己。
当工作流包含多个步骤时,状态就变得至关重要……
用户预订航班(步骤一完成,约束锁定),要求订酒店(步骤二,新约束叠加),然后更改返回日期(早期步骤无效,需重新规划下游步骤)。
没有状态,这三个问题都没有答案。
无状态 vs 有状态 AI Agent(https://substackcdn.com/image/fetch/$s_!9SyD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08322369-dba8-4e77-9919-1189d8841814_888x474.jpeg) 状态维护在 Agent 端(运行推理循环的后端服务器),而不是客户端(用户交互的聊天 UI、移动应用或 API 调用方)。
客户端会断开连接、刷新和重试。Agent 仍然需要一个稳定的进度视图。
因此,视图存在的位置取决于工作流运行的时间长度……
在单个会话内结束的短生命周期工作流可以保留在内存存储中。任何需要跨重启存活的内容都需要外部存储:数据库、KV 存储(按 ID 查找的 Redis 风格)、或由编排框架管理的序列化状态对象²(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-2)。
例如,LangGraph³(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-3)提供了 SqliteSaver 和 PostgresSaver 作为现成的检查点后端。
在每个步骤开始时,Agent 加载最新的状态快照并重建其上下文。这种加载使一系列步骤感觉像一条链,而不是一组独立的调用。
仅在有人首先写入了状态的情况下,在每个步骤加载状态才能生效……
这正是检查点⁴(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-4)所做的:在你认为有意义的里程碑处保存状态,而不是每小步都保存。如果 Agent 崩溃、超时或在工作流中途重新部署,它会重新加载最后一个检查点并从那里恢复。
设想一下旅行 Agent 在 API 调用失败时选择返回航班……
如果没有检查点,Agent 必须重新向用户询问日期、预算和去程航班详情。有了检查点,保存的状态已包含所有这些信息,因此在重试时,Agent 从失败的那一步继续执行。
同样的设置也适用于 Agent 自身代码的内部错误以及重建其下层基础设施的重新部署。
这种模式在生产环境的大规模系统中运行……
LinkedIn 的内部 SQL Bot⁵(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-5)是一个基于 LangGraph 构建的分层多 Agent 系统,其长时间运行的查询工作流依赖该框架的检查点层来暂停、检查状态并在不丢失任务中间上下文的情况下恢复。
长时间运行的 Agent 会随时间变化……
新字段出现,步骤重新排序,逻辑发生变化。如果没有版本控制,正在进行的工作流会在模式变更的瞬间中断,昨天写入的存储状态明天就无法读取。
版本控制使昨天的状态保持可读性……
它将旧格式向前迁移,并阻止在新模式下不再合理的执行路径。这样,工作流变更可以推出而不会杀死正在进行的任务。
状态版本控制:进行中工作流的模式迁移(https://substackcdn.com/image/fetch/$s_!rn18!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc72e5012-2d43-4050-a019-8a5ffcc9d087_2048x1143.jpeg) 这在生产系统中最为明显,工作流持续数分钟、数小时甚至数天……
一旦你观察一个具体计划如何在它们中流动,存储、检查点和版本控制就联系起来了。
用户说:“帮我计划一次完整的旅行。”Agent 然后执行一个序列:
- 选择日期和目的地。
- 选择去程航班。
- 然后选择回程航班。
- 选择住宿。
- 确认行程。
每一步之后,状态向前推进……
一旦选择了去程航班,状态表示下一步是选择回程航班。并且在偏好确认后、去程航班选定后、回程航班选定后、酒店预订成功后,都会设置检查点。
如果酒店步骤因网络错误“失败”,Agent 重新启动、重新加载状态,看到日期和航班已锁定,然后仅重试酒店步骤。
无需重新询问或提出顺序错误的建议……
带检查点的状态驱动多步骤规划(https://substackcdn.com/image/fetch/$s_!506w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f486a-b335-4be7-a373-ebb3d34e0d77_1075x790.jpeg) 这就是状态带给你的。
接下来是记忆:Agent 跨任务携带的信息……
分享本文并获取推荐奖励。
分享(https://newsletter.systemdesign.one/p/ai-agent-memory?utm_source=substack&utm_medium=email&utm_content=share&action=share)
记忆
如果说状态是 Agent 对“现在”的画像,那么记忆就是跨越时间的内容:已经做出的过去决策、积累的偏好、可以参考的过往对话,以及它从其他系统查询的参考数据(航班时刻表、酒店列表)。
AI Agent 中的记忆:短期、长期和外部(https://substackcdn.com/image/fetch/$s_!WdnL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbae4b9cc-72d5-456b-97b3-979225d8f227_668x564.jpeg) Agent 以三种形式存储记忆,按记忆持续的时间以及 Agent 是拥有数据还是仅从其他地方读取来区分。
短期记忆保存当前活动任务的上下文……
它是短暂的,任务结束时清除。大多数实现将其保存在内存结构、会话变量或 LLM⁶(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-6)提示中。生命周期很简单:任务开始时创建,Agent 推理和工具使用时更新,任务完成时清除。
用于不需要超出当前工作流生命周期的一次性任务决策。
长期记忆跨交互存储信息:用户偏好、过往预订、重复模式。
存储选项包括向量数据库⁷(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-7)、KV 存储、文档存储或关系数据库。只有当信息确实值得保留时才会写入,而检索在新任务开始或当前任务中出现相关信号时触发。
每隔一段时间,Agent 会总结或合并旧条目,以防止存储失控增长……
当偏好稳定、行为重复或某条信息应带入未来交互时,使用这一层。
长期记忆的一大优势是不在每个轮次将全部历史加载到提示中。Agent 存储值得保留的内容,并且只拉取当前决策所需的内容。
Mem0⁸(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-8)是一个基于此思想构建的生产系统:
在 LOCOMO⁹(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-9)(一个长对话基准测试)上测试,Mem0 层将 p95 检索延迟¹⁰(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-10)降低了 91%,相比全上下文基线¹¹(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-11)。在同一测试中,令牌成本降低了 90% 以上。
在 LLM-as-judge 评估¹²(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-12)中,它比 OpenAI 的记忆系统得分高 26%。
外部记忆是 Agent 按需查询而不是存储的大型参考数据:航班数据库、酒店列表、知识图谱、内部记录系统。
这些是持有数据权威版本的外部源,例如预订系统或定价 API……
它们存在于云数据库、API、知识图谱或外部 RAG¹³(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-13)索引中。没有什么是一次性全部加载到提示中的。当决策依赖于必须保持官方、可审计且跨应用程序共享的数据时,Agent 直接查询记录系统¹⁴(https://newsletter.systemdesign.one/p/ai-agent-memory#footnote-14)。
记忆生命周期
即使记忆再好,如果从不管理,它也会变坏。管理意味着让每个条目经历四个阶段:
- 创建:当新信息到达时(用户选择了一个航班)。
- 更新:当细节改变时(用户添加了第二个城市)。
- 总结:压缩细节(只保留重要的时间和地点,而不是每个 API 响应)。
- 删除:当信息不再需要或保留窗口结束时(预订完成后清除过往旅行详情)。
跳过这个循环,长期记忆会无限增长。
旧偏好开始与新偏好矛盾,Agent 基于一堆半真半假的信息做决策……
一次旅行同时运用了所有三种记忆类型:
- 短期记忆保存当前旅行信息(城市、日期、航班搜索结果)。
- 长期记忆保存重复偏好(航空公司、座位等级、餐食选择)。
- 外部记忆提供 Agent 不拥有的实时数据(当前航班时刻表、酒店可用性、座位价格)。
对 Agent 来说,困难的部分不是存储这些东西……
而是决定:什么时候状态应该覆盖记忆?什么时候记忆应该根据刚发生的事情更新?以及什么时候两者都不应该动,因为真正的答案存在于外部系统中?
这就是下一个问题……
变化下的一致性
真实用户会在任务中途改变主意。
他们尝试新选项、纠正自己、调整需求,有时周一说的和周二完全相反。
相似文章
@aiwithmayank: 10个免费资源,让初学者变身AI工程师 收藏这整个列表,按顺序学习。这是…
一条推文串,整理了10个免费学习AI工程的资源,从哈佛的CS50 AI课程到Karpathy的神经网络教程、fast.ai、Hugging Face课程,以及像Ollama这样的本地工具,提供了一条从入门到掌握就业技能的清晰路径。
@techNmak: https://x.com/techNmak/status/2058886981090951627
一条推文线程,列出了25个常用但常被误解的人工智能概念,例如tokens、embeddings、RAG、agents和LoRA。
@Av1dlive:OpenAI 工程师关于 Agent 记忆的 26 分钟演讲,能让你在真正掌握构建 Agent 记忆的方法方面,收获远超独自摸索数月所得……
OpenAI 工程师带来一场 26 分钟的分享,探讨如何为 AI Agent 搭建高效的记忆系统,为 Agent 架构开发者提供极具价值的实战洞察。
@shedoesai: 如何在不浪费1000多小时的情况下精通AI。没有无用的教程。没有虚假的AI大师。没有信息过载…
精选的AI学习栈,涵盖LLM、智能体、MCP、提示工程、RAG和向量数据库,包含视频、仓库、指南、书籍、论文和课程。同时提供了关于大型语言模型是什么以及它们如何工作的易懂解释。
@dickiebush: 这周我花了8小时阅读了50多篇关于AI的文章。一天学到的东西比大多数人一整年学到的还多……
一条推荐8篇AI关键文章的推特,作者称一天内学到的东西比大多数人一年还多。