简短答案
Lovable 忘记你的组件结构是因为模型从可见代码中组合每次生成,而在大约 15-20 个组件后,你的组件树的相关部分不再适合活动窗口。项目知识保持规则,但不检索特定的组件合同。解决方案是将组件结构存储为持久的记忆,Lovable 在每次生成时读取它。
为什么 Lovable 会忘记组件结构
Lovable 是一个基于情感编码的构建器,从提示中生成 React + Tailwind。三个设计选择将你的组件结构推离模型的工作上下文:
1. 生成读取可见代码,而不是整个树。 模型可以看到什么是固定的,什么适合活动窗口。随着项目的增长,你的基础组件(AppLayout、PageHeader、DataTable)会离开窗口,除非明确固定。
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
- 创建项目并加载上下文。 登录 MemoryLake,打开项目管理,点击创建项目,命名为“Lovable — Acme 组件树”。通过文档驱动上传你的基础组件(
AppLayout.tsx、PageHeader.tsx、DataTable.tsx、FormShell.tsx)、它们的文档和任何架构笔记。添加结构规则——“所有页面使用 AppLayout”,“所有表单使用 FormShell”——以及属性签名作为记忆在记忆标签中。 - 生成 MCP 服务器端点。 在项目中打开 MCP 服务器标签,点击添加 MCP 服务器,命名为“Lovable 组件记忆”,然后点击生成。MemoryLake 返回一个 API 密钥 ID、密钥和端点 URL。立即复制 Bearer 令牌——它只显示一次。
- 通过 REST 连接 Lovable。 Lovable 还不支持原生 MCP,因此使用 REST API。可以将组件合同的摘要粘贴到 Lovable 的项目知识区域,并在合同更改时从 MemoryLake 刷新,或者运行一个设置脚本,通过你的 Bearer 令牌调用 MemoryLake 的 REST 端点,并在每次发布时更新项目知识。