MemoryLake
返回全部文章
Pain Point2026 年 5 月 22 日7 分钟阅读

为什么 Bolt.new 会忘记我的项目上下文?

你花了一个晚上在 Bolt 中构建一个 React 应用。第二天早上你打开同一个项目,要求进行小改动,结果 Bolt 重写了昨天构建的一个组件,删除了周二添加的一个路由,并重新导入了你告诉它要删除的一个库。这并不是粗心,而是超出了容量。

简短答案

Bolt.new 会忘记你的项目上下文,因为它将整个代码库、聊天记录和系统提示塞入一个 200K 令牌的 Claude 窗口中,一旦项目的组件数量超过大约 15-20 个,最旧的上下文就会被优先驱逐。解决方案是保持一个持久的项目记忆,存储在 Bolt 之外,能够在任何单次聊天中存活。

为什么 Bolt.new 会忘记项目上下文

Bolt.new 在 WebContainer 中运行每个项目,并在每次交互中将整个可见文件树、你的消息历史和它自己的系统提示传递给 Claude。三个限制使得遗忘不可避免:

1. 200K 令牌上限。 支持 Bolt 的 Anthropic 的 Claude 模型有一个 200K 令牌的上下文窗口。Bolt 有自己的内部上限,用户报告大约在 500K 令牌时聊天会冻结。你的项目文件和聊天历史都在争夺这个空间。一个中型 SaaS 前端在第一天就能填满它。

2. 默认情况下整个树都在提示中。 Bolt 在每次交互中读取你项目中的每个文件,除非你明确将其添加到 .bolt/ignore。随着组件、钩子和配置文件的增加,留给新指令的窗口份额缩小,直到 Bolt 开始忽略或改写早期的要求。

3. 聊天历史是同一预算的一部分。 Bolt 对你昨天所说内容的“记忆”存在于滚动对话中。一旦窗口溢出,最旧的交互会被截断。决策、限制和“不要触碰这个文件”的规则会悄然消失。

结果是:Bolt 现在知道你的代码库,但它不记得围绕它的项目。

当 Bolt 忘记项目上下文时你会失去什么

每当 Bolt 丢失上下文时,你都要为此付出双倍的代价——一次是令牌,另一次是清理。

  • 重写的工作。 Bolt 重新生成上周构建的一个组件,因为它不再看到原始意图,留下你去进行差异比较和合并。
  • 丢失的需求。 “使用 Supabase 进行身份验证,绝不使用 Firebase”被驱逐,而 Bolt 在下一个提示中愉快地连接了 Firebase。
  • 破损的跨文件逻辑。 当一个引用的文件超出上下文时,Bolt 会创造一个存根,你的路由会返回 404。

这些并不是边缘案例。Bolt 的 GitHub 问题跟踪器上有数百条关于“提示太长:200001 令牌 > 200000 最大值”的评论线程,这些错误会在构建过程中清除会话。

Bolt.new 的内置解决方法

StackBlitz 已推出三种缓解措施。它们有帮助,但没有一种能给你真正的项目记忆。

`.bolt/ignore` 文件。 模仿 .gitignore,它告诉 Bolt 哪些文件夹和文件应从提示中排除。它为你买来了头部空间,但也让 Bolt 对你排除的任何内容失去感知——触碰一个导入了被忽略的助手的路由,Bolt 将根据猜测重新构建它。

聊天目标定位。 你可以通过直接提及单个文件或文件夹来限制请求的范围。这缩小了一个回合的工作集,但不会在回合之间保持约束。

StackBlitz 云备份。 你的项目会同步到 StackBlitz,因此即使聊天不再存在,代码仍然会存活。代码不是问题。推导、规则和产生代码的决策才是丢失的内容。

有关更深入的指导,Bolt 团队在 官方 Bolt 帮助中心 中记录了这些杠杆。

对于一个 5 屏幕的原型,原生工具很好。对于一个真正的产品,它们就不够了。

Bolt 的内置记忆不足之处

更深层次的问题是,Bolt 的记忆无法离开 Bolt。你将一个屏幕移动到 v0 进行设计润色,或将后端工作交给 Cursor,或请求 Claude 审查架构时,上下文就消失了。每个新工具都是空白的,你成为循环中唯一的持久记忆——在三个不同的聊天中粘贴相同的约束段落。

这是跨工具记忆层填补的空白:一个项目记忆,所有 AI 都可以读取,这样 Bolt 就是桌子上的一把椅子,而不是整张桌子。

MemoryLake 如何解决 Bolt 忘记项目上下文的问题

MemoryLake 将你的项目意图——文件、决策、命名模式和规则——存储在 Bolt 的聊天窗口之外。Bolt 在每个会话开始时从 MemoryLake 读取,其他你切换到的工具也是如此。

  • 超越聊天的项目记忆。 规格、设计笔记、ADR 和之前的对话都存储在 MemoryLake 项目中。当你打开一个新的 Bolt 聊天时,你粘贴从 MemoryLake 提取的简短上下文摘要,Bolt 就会在项目上已经对齐的情况下开始这一天,而不是 200K 令牌的原始文件。
  • 比原始提示多 10,000 倍的上下文。 MemoryLake 的检索引擎从数十亿个令牌的项目记忆中读取,并仅返回每次交互相关的内容。你不再试图将整个应用塞入 200K 窗口中。
  • 在 vibe-coding 堆栈中可移植。 相同的项目记忆可以在 v0、Lovable、Replit Agent、Cursor 和 Claude 中使用。从 Bolt 跳转到 v0 进行 UI 处理,项目也会随之而来。

MemoryLake 在 LoCoMo 长上下文基准测试中得分 94.03%,具有毫秒级检索和 AES-256 端到端加密。

在 3 个步骤中将 MemoryLake 连接到 Bolt.new

  1. 创建项目并加载上下文。 登录 MemoryLake,打开项目管理,点击创建项目,并将其命名为“Bolt — 登陆页面重建”。通过文档驱动上传你的规格、品牌指南、组件清单和任何过去的 Bolt 聊天记录。将硬性规则(“绝不使用 Firebase 身份验证”,“仅使用 Tailwind,不使用 styled-components”)作为条目添加到记忆选项卡中。
  2. 生成 MCP 服务器端点。 在你的项目中打开 MCP 服务器选项卡,点击添加 MCP 服务器,命名为“Bolt 集成”,然后点击生成。MemoryLake 返回一个 API 密钥 ID、密钥和端点 URL。立即复制密钥——它只显示一次。
  3. 连接 Bolt.new。 Bolt 还不支持原生 MCP,因此使用你的 Bearer 令牌调用 MemoryLake REST API 以获取紧凑的项目摘要,然后在新会话开始时将该摘要粘贴到 Bolt 的聊天中。开发人员可以将 Python SDK 接入预提示钩子,以便每个新的 Bolt 项目都以相同的真实来源打开。

常见问题

Bolt.new 有项目记忆吗?

Bolt 有一个每个项目的聊天,将你的代码和对话保存在一个 Claude 窗口中,但没有持久的记忆层能够在聊天重置后存活或跟随你到其他工具。一旦窗口填满,最旧的上下文就会被丢弃。

我如何让 Bolt 在会话之间记住我的项目?

将项目上下文存储在 Bolt 之外的记忆层中,如 MemoryLake,然后在每次会话开始时将从该记忆中提取的简短摘要粘贴到 Bolt 中,或通过 REST 以编程方式获取。

为什么 Bolt 不断忘记我告诉它的事情?

因为 Bolt 将你的聊天历史、代码和系统提示卷入同一个 200K 令牌的 Claude 窗口中。当窗口溢出时,最旧的交互会首先被截断,因此你在第一天设定的约束是最先消失的。

Bolt.new 的上下文窗口限制是多少?

底层的 Claude 模型使用 200K 令牌。用户经常遇到“提示太长:200001 令牌 > 200000 最大值”的错误,Bolt 自身的会话上限报告在 500K 令牌左右,聊天会完全冻结。

我可以与 v0 或 Cursor 共享 Bolt 项目记忆吗?

不支持原生共享。MemoryLake 将项目记忆存储在模型中立的项目中,因此相同的上下文可以通过 REST 或 MCP 在 Bolt、v0、Lovable、Cursor 和 Claude 中使用。