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

为什么 Lovable 会忘记我的组件结构?

你有一个干净的布局:`AppLayout` 包裹一切,`PageHeader` 位于顶部,数据表在 `DataTable` 中,表单使用 `FormShell`。当有二十个组件时,新页面跳过 `AppLayout`,内联标题,并从头开始重新实现相同的表单包装。你设置的结构悄然崩溃。

这不是 Lovable 的即兴发挥。当组件上下文超出模型的视野时,就会发生这种情况,而有办法使结构保持持久。

简短答案

Lovable 忘记你的组件结构是因为模型从可见代码中组合每次生成,而在大约 15-20 个组件后,你的组件树的相关部分不再适合活动窗口。项目知识保持规则,但不检索特定的组件合同。解决方案是将组件结构存储为持久的记忆,Lovable 在每次生成时读取它。

为什么 Lovable 会忘记组件结构

Lovable 是一个基于情感编码的构建器,从提示中生成 React + Tailwind。三个设计选择将你的组件结构推离模型的工作上下文:

1. 生成读取可见代码,而不是整个树。 模型可以看到什么是固定的,什么适合活动窗口。随着项目的增长,你的基础组件(AppLayoutPageHeaderDataTable)会离开窗口,除非明确固定。

2. ~15-20 组件上下文丢失阈值。 Lovable 的社区记录了在 15-20 个组件左右开始漂移的情况。新组件停止重用原始组件,开始重新实现布局,并逐渐分裂树结构。

3. 项目知识是全局文本,而不是组件合同。 你可以在项目知识字段中写入“使用 AppLayout,使用 FormShell”,这有帮助。但这仍然是全局建议,而不是检索——模型不会提取生成文件的特定合同或示例。官方的 Lovable 文档在 docs.lovable.dev 中涵盖了项目知识模型和这种行为背后的上下文限制。

结果是:结构在早期是一致的,随着项目的增长而逐渐碎片化。

当 Lovable 忘记组件结构时你会失去什么

结构漂移的成本在于提示漂移所没有的方式:

  • 重复原始组件。 三种“页面标题”的变体,因为模型每次都重新构建一个,而不是重用你的。代码库的大小翻倍,清晰度减半。
  • 跳过布局。 跳过 AppLayout 的页面失去了你的导航、身份验证和全局样式。你在 QA 时发现它们,而不是在生成时。
  • 重构税。 每次发布结束时都需要重新调整页面以符合规范布局,并合并重复组件。

解决方案不是“每次都固定更多文件”——而是将组件结构作为一流的、可检索的记忆。

Lovable 的内置解决方法

Lovable 提供了三种方法来保持结构在视野中。每种方法都有帮助,但都有限制。

固定文件 使特定组件对模型可见。固定 AppLayout.tsx,模型将更可靠地重用它。问题是你只能固定少量文件,否则窗口会挤出新工作。

项目知识 让你用简单的英语陈述结构规则:“所有页面使用 AppLayout。所有表单使用 FormShell。” 有用,但仍然是全局文本,而不是合同检索。

手动重构过程 是人类的后备方案。它们有效,但会抹去让你选择 Lovable 的速度优势。

Lovable 的内置记忆不足之处

更深层次的问题是,组件树是一个长期存在的合同。模型需要知道的不仅是“使用 AppLayout”,还包括“这是它的属性签名,这是一个示例用法,这是何时在其中使用 PageHeader”。这应该存在于结构化记忆中,而不是一个全局文本字段或一组固定的文件中。

组件结构需要高于构建器。

MemoryLake 如何修复 Lovable 忘记组件结构

MemoryLake 是一个跨模型的记忆层,Lovable 通过 REST 读取。与其固定文件并祈祷,不如将组件合同存储为记忆,让检索在每次生成时提取相关部分。

  • 组件合同作为可查询的记忆。 每个基础组件都有一个记忆:它的目的、属性签名、何时使用它,以及一个规范示例。检索仅返回与正在生成的组件相关的合同。
  • 带示例的结构规则。 “所有页面使用 AppLayout”与确切的代码片段配对,以便模型没有理由重新发明。
  • 10,000 倍的原始提示检索范围。 MemoryLake 从数十亿个项目记忆中读取,仅返回对生成文件重要的内容,因此你的结构在超过 15-20 个组件后依然存在。

MemoryLake 在 LoCoMo 长上下文基准测试中得分 94.03%,是截至 2026 年的最高已发布结果,具有毫秒级检索和 AES-256 端到端加密。

在 3 个步骤中将 MemoryLake 连接到 Lovable

  1. 创建项目并加载上下文。 登录 MemoryLake,打开项目管理,点击创建项目,命名为“Lovable — Acme 组件树”。通过文档驱动上传你的基础组件(AppLayout.tsxPageHeader.tsxDataTable.tsxFormShell.tsx)、它们的文档和任何架构笔记。添加结构规则——“所有页面使用 AppLayout”,“所有表单使用 FormShell”——以及属性签名作为记忆在记忆标签中。
  2. 生成 MCP 服务器端点。 在项目中打开 MCP 服务器标签,点击添加 MCP 服务器,命名为“Lovable 组件记忆”,然后点击生成。MemoryLake 返回一个 API 密钥 ID、密钥和端点 URL。立即复制 Bearer 令牌——它只显示一次。
  3. 通过 REST 连接 Lovable。 Lovable 还不支持原生 MCP,因此使用 REST API。可以将组件合同的摘要粘贴到 Lovable 的项目知识区域,并在合同更改时从 MemoryLake 刷新,或者运行一个设置脚本,通过你的 Bearer 令牌调用 MemoryLake 的 REST 端点,并在每次发布时更新项目知识。

常见问题

Lovable 记得我的组件树吗?

Lovable 可以看到什么是固定的,什么适合活动窗口。随着代码库的增长,除非你不断固定它们,否则你的基础组件会超出视野,这导致在 15-20 个组件左右出现记录的漂移。

我如何让 Lovable 重用我现有的组件?

通过 REST 将 Lovable 连接到像 MemoryLake 这样的记忆层。将每个基础组件的合同存储为一个记忆,包含属性签名和规范示例,并让项目知识在每次发布时从 MemoryLake 中提取。

为什么 Lovable 不断创建重复组件?

因为模型在这一代中看不到你现有的原始组件,它从训练默认值中组合新的组件。没有检索,每个未跟踪的组件都有可能被重新发明。

Lovable 中的 15-20 组件漂移是什么?

一个社区记录的阈值,超过该阈值后,Lovable 的生成开始失去对结构和约定的追踪,因为相关的代码库部分不再适合活动窗口。

MemoryLake 能否为其他 AI 工具存储组件合同和规则?

可以。MemoryLake 以工具中立的格式存储所有内容,因此相同的组件记忆可以供 Lovable、Cursor、Claude Code、v0 和 Bolt 使用。