LangChain 创始人警告:你的 Agent 正在把记忆交给别人

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
LangChain 创始人警告:你的 Agent 正在把记忆交给别人
6524点击    2026-04-15 14:18

LangChain 创始人警告:你的 Agent 正在把记忆交给别人


LangChain 联合创始人 Harrison Chase 上周发文,说透了 AI Agent 领域一个还没有多少人讲清楚的问题:外壳和记忆是同一件事,你没法分开。


这篇文章发布后,收获了超过 157 万次浏览、537 次转发、3270 个点赞。它不是在蹭热点,而是戳到了一个痛处——越来越多的开发者在用封闭的 Agent 外壳构建产品,却没意识到这意味着什么:他们正在把用户的记忆,连同记忆背后的数据价值,拱手交给平台方。等他们意识到的时候,迁移成本已经足以让人打退堂鼓了。


这篇文章,我尽量把 Harrison 的论点完整讲清楚,因为我认为它值得被更多中文开发者看到。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

Agent 外壳的完整结构:上下文注入、控制循环、行动执行、观察验证、持久化——这些都在外壳里,不在模型里


01 外壳是什么


过去三年,构建智能体系统的"最佳实践"已经彻底变了。2023 年 ChatGPT 刚出来那会儿,开发者能做的主要是 RAG 检索链——把文档切成片段,向量化,检索时拼进提示词。LangChain 就是在那个时代起家的。


模型能力提升了一点之后,出现了更复杂的流程编排——条件分支、多 Agent 协作、循环调用(LangGraph 就是为此而生)。再往后,模型能力又上了一个台阶,一种新型支架诞生了:Agent 外壳


所谓外壳(harness),就是包裹着模型、让它能够持续行动的那一整层系统。它不是模型本身,但没有它,模型就只是一个问答机器——你输入,它输出,对话结束,什么都不记得,什么都不会主动做。


外壳负责的事情包括:把提示词、记忆、技能信息注入上下文;管理工具调用的控制循环;把 bash、API、MCP 工具的执行结果反馈回模型;把浏览器截图、测试日志、文件内容当作观察输入;把中间状态持久化到文件系统或 Git……今天的主流外壳案例有:Claude Code、Deep Agents、Codex、OpenCode、Letta Code 等等。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

模型本身只负责推理和决策,外壳负责其余所有事情:控制、行动、观察、持久化


经常有人说:模型越来越强,外壳会被吸收进去,慢慢消失。Harrison 的回答是:这不对。


发生的事情是:2023 年那种靠大量手工提示词拼凑出来的"脚手架"确实在消失——因为模型自己学会了更多。但这个空缺被另一种东西填满了,那就是真正的外壳。Agent 按定义就是一个在循环中与工具交互、处理环境反馈的模型。围绕它的系统,不会消失,只会演化。


最有力的证据:Claude Code 的源码被泄露时,代码量高达 512k 行。那些代码,全是外壳。世界上最好的模型的制造商,正在重度投入外壳建设——OpenAI 旗下的 Codex 同样如此。


02 外壳即记忆


Harrison 在文章里引用了 Letta CTO Sarah Wooders 的一篇博客,标题是《记忆不是插件,它就是外壳》。他说,他完全认同这个观点。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

很多人以为记忆可以像"插件"一样接入 Agent——这是错误的直觉


一般人的直觉是:记忆是一个独立的服务,可以和外壳解耦。你有一个 Agent,你给它"接上"一个向量数据库,它就有了记忆。需要换记忆系统?换个数据库就好了。


Sarah 的回答是:把记忆插入外壳,就像把驾驶插入汽车。这个问题本身就问错了。管理上下文,也就是管理记忆,是外壳最核心的职责之一,它们是一体的。


把记忆接入 Agent 外壳,就像问怎么把驾驶接入汽车。管理上下文,也因此管理记忆,是 Agent 外壳的核心能力与核心职责。


为什么这么说?因为几乎每一个跟记忆相关的决策,都要在外壳层面做出。比如:


• AGENTS.md 或 CLAUDE.md 文件怎么加载进上下文?加载多少?什么时候刷新?

• 技能元数据怎么呈现给 Agent(写进系统提示?还是以 system message 形式按需注入?)

• Agent 能不能修改自己的系统指令?谁来决定边界?

• 上下文压缩时,什么内容会被丢弃,什么必须保留?压缩摘要由谁生成、存在哪里?

• 历史交互记录是否被存储?是否可以被查询?以什么格式?

• 当前工作目录怎么呈现给 Agent?文件系统的哪些部分暴露给它,哪些不暴露?


这些问题的答案,全部嵌在外壳的实现里。记忆是什么,在哪里,怎么管理——这不是一个可以独立配置的参数,而是外壳架构的一部分。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

开放外壳的理想状态:短期记忆、长期记忆、工具、提示词,全部在开发者可控的外壳里


03 封闭外壳的代价


如果你用的是封闭的外壳,尤其是藏在 API 背后的封闭外壳,会发生什么?


Harrison 把后果分成三个严重等级:


LangChain 创始人警告:你的 Agent 正在把记忆交给别人


Anthropic 最近发布的 Claude Managed Agents 就是第三类的典型案例。这个产品把字面意义上的一切都封进了 API 背后:外壳怎么运转、记忆以什么格式存储、压缩摘要怎么生成——全是黑箱,全锁在 Anthropic 的平台里。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

封闭外壳(Black Box Harness):长期记忆被完全遮蔽,开发者只剩 Prompt 和工具的访问权


即便不是整个外壳都在 API 后面,这个趋势也在悄悄推进。Codex 本身是开源的——但它在压缩时生成的摘要是加密的,这个摘要只在 OpenAI 的生态里可用。你的 Agent 积累的"工作记忆",被以这种不动声色的方式绑进了专有系统。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

极端情况:整个外壳连同短期记忆、长期记忆全部移入模型提供商 API 内部,开发者只剩工具和 Prompt 的访问权


04 平台的算盘


为什么模型提供商有动力把外壳和记忆都推进 API 后面?


因为记忆制造锁定效应,而锁定效应是他们仅凭模型本身没法得到的


到今天为止,更换模型提供商还比较容易。Anthropic 和 OpenAI 的 API 格式高度相似,顶多改改提示词,两三天就能迁移。根本原因是这些接口是无状态的——每次对话独立,没有积累,没有历史。


一旦有了状态,有了记忆,迁移就会变得极其痛苦。因为记忆是真实的数据资产:一个陪伴用户半年的 Agent,在这期间积累了用户的偏好、沟通风格、工作习惯……这些数据是独一无二的。你换平台,你就失去它们。


你可能会问:记忆不就是存在数据库里的一些文本吗?迁出来不难吧?


关键不在于数据导出,而在于记忆格式与外壳紧密耦合。记忆的价值来自外壳知道如何使用它——什么时候调用哪段记忆,如何格式化后注入上下文,哪些记忆与当前任务相关。当外壳是黑箱时,就算你把数据导出来,新的外壳也不知道怎么用这份数据。它们是专为那个外壳设计的。


LangChain 创始人警告:你的 Agent 正在把记忆交给别人

一个中间过渡状态:长期记忆仍在开发者的外壳里,但短期记忆(对话上下文压缩等)已经开始被模型提供商接管


这就是为什么 Harrison 说记忆是下一个时代最重要的护城河。不是护城河里的水,而是护城河本身。


一个有趣的类比:当年用 iOS 打游戏、存了几百个小时的进度,换到安卓意味着什么?存档清零。即便两个平台的游戏功能完全一样,那几百小时的沉淀会让你留下来。Agent 记忆的锁定效应,远比游戏存档更强——因为它是个性化的,随着时间越积越有价值,越积迁移成本越高。


大型模型提供商当然清楚这一点。他们提供外壳,不是因为做外壳是他们的核心业务,而是因为外壳是获取记忆的最短路径,而记忆是构建锁定效应的关键。从这个角度看,Anthropic 推出 Claude Managed Agents、OpenAI 让 Codex 生成加密压缩摘要,都不是偶然,而是一个深思熟虑的战略动作。


05 那封邮件


Harrison 自己讲了一个故事,让这个道理变得非常具体。


他内部在用一个邮件助理,跑在他们自家的无代码平台 Fleet 上。Fleet 是他们为企业构建的 Agent 搭建平台,有内置的记忆系统。过去几个月里,他和这个邮件助理每天打交道,助理慢慢学会了他的习惯:哪类邮件要立刻回复,哪类可以延后;他的语气是什么样的,喜欢用什么措辞;哪些发件人是重要客户,哪些是低优先级……


几周前,那个 Agent 被意外删除了。


我很崩溃!我用同一个模板重新建了一个,但体验差得不是一点点。我得重新教它我所有的偏好,我的语气,一切。


他说,事故的意外收获是,让他真实感受到了记忆有多值钱,粘性有多强。


但注意:这是在他自家平台上,记忆是完全开放的——他知道记忆存在哪里,格式是什么,理论上可以从备份里恢复。崩溃,是因为恢复工作量大。


如果这个邮件助理是跑在 Claude Managed Agents 上的呢?删除之后,他会发现:没有任何方法恢复,没有任何接口可以导出,甚至不知道那六个月的记忆原来长什么样。那些偏好,那些习惯,那些交互历史——全部蒸发了,蒸发在一个他看不到的地方。


06 记忆还很早


有意思的是,Harrison 并不掩饰当前的局限:现在的 Agent 记忆技术还非常早期。


他观察到,在实际产品开发中,长期记忆往往不在最小可行版本(MVP)里。你得先让 Agent 基本能用,才会去考虑跨会话的个性化。这意味着整个行业还没有形成统一的记忆抽象和最佳实践——没有公认的记忆数据格式,没有跨外壳的迁移协议,甚至连"什么算好记忆"都还在探索中。


Harrison 的预判是:等到记忆的最佳实践慢慢明朗、独立的记忆服务开始形成更标准的接口之后,记忆和外壳的解耦可能才会变得可行。但现在不是。


而这,恰恰是平台方选择在现在推进锁定策略的原因:趁着开发者还没明白记忆的价值,趁着行业还没有形成开放标准,先把你锁进来。等你意识到问题,六个月的记忆已经沉淀了,迁移成本足以让你选择留下。


这是一个先下手为强的局。而你,往往是局里那个后知后觉的人。


07 开放的解法


Harrison 给出的答案是:开放外壳,自己持有记忆。


他在文章里推的是他们正在做的 Deep Agents——这显然有利益相关,但论点本身成立。一个理想的开放外壳应该:


开源:外壳怎么管理记忆,代码可以读,没有黑盒

模型无关:今天用 Claude,明天换 Gemini,记忆不丢失,提示词改一改就行

遵循开放标准:采用 agents.md、skills 等行业共识的格式,让记忆具备迁移性

存储自选:接 MongoDB、PostgreSQL 还是 Redis,由你决定,不被锁定在某家的存储服务上

可自部署:不依赖任何一家平台的托管,可以跑在你自己的云上、你自己的服务器上


说到底,这跟 SaaS 时代的数据主权之争如出一辙。你可以把数据存在 Salesforce 或 Notion,但如果你无法随时把数据完整导出来、迁移到别处,你就没有真正的控制权。Agent 外壳里的记忆,也是一样的逻辑。


08 对我们意味着什么


如果你只是用 Claude Code 做开发的个人用户,这件事目前没有直接影响——Claude Code 的记忆(CLAUDE.md、项目上下文)还在你本地的文件系统里,可见、可控、可备份。你知道 CLAUDE.md 是什么,你可以编辑它、版本控制它、甚至带着它换到别的工具里用。这就是开放外壳的优势。


但事情正在变化。Anthropic 已经在推进服务端的上下文管理、服务端压缩,未来这条线会往哪里走,值得持续关注。对于个人开发者来说,现在最重要的事情是:理解你在用的外壳到底在本地做了什么、在云端做了什么,哪些记忆是你的,哪些是在别人的服务器上。


但如果你在给用户构建 Agent 产品——个人助理、企业知识助手、客服机器人、销售跟进工具——这件事值得认真对待。


你用的外壳是什么?它的记忆存在哪里?格式是什么?你有没有办法在不损失数据的情况下更换底层模型?你的用户,有没有权利要求导出他们的"Agent 记忆"?


那个邮件助理的故事放大一万倍,就是你正在做的事情。你的用户用了你的 Agent 半年,那六个月里积累的偏好、数据、记忆——这是属于谁的?


没有记忆,你的 Agent 谁都能复制。有了记忆,你拥有了一个专有数据集——那是差异化体验的真正来源,也是真正的竞争壁垒。


这件事的本质,是 Agent 时代的数据主权之争刚刚开始。只不过这一次,护城河不是用户数量,也不是功能多寡,而是每一个用户在使用过程中沉淀下来的、只属于这个 Agent 产品的记忆。记忆越深,粘性越强,迁移门槛越高——这个飞轮一旦转起来,你会发现自己越来越难离开某个平台,不是因为它最好,而是因为你的记忆在那里。


模型提供商会越来越聪明地用便利性换你的数据控制权。他们提供的外壳会很好用,很省事,文档齐全,出了问题有客服——只不过你的用户数据,就这样悄悄成了他们平台的护城河。


这不是一个极端的反平台主义立场,也不是说所有人都应该自己搭外壳基础设施。有些场景里,用封闭外壳是完全合理的选择。但如果你打算做一个随时间积累价值的 Agent 产品——个性化越来越深、用户越用越离不开的那种——那在选择外壳的时候,有一个问题必须先想清楚:六个月后,如果你要迁移,你带得走什么?


不是每个产品都需要开放外壳。但如果你打算做一个有长期价值的 Agent 产品,你的外壳,就是你的记忆。你的记忆,就是你的生意


来源:Harrison Chase (@hwchase17),X,2026 年 4 月 11 日
• 原文:https://x.com/hwchase17/status/2042978500567609738
• Sarah Wooders:Why memory isn't a plugin (it's the harness)


文章来自于"深思SenseAI",作者 "深思SenseAI"。

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

4
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0