Cline Memory Bank 结构化文档持久化 AI 上下文详解

🎮 什么是 Cline Memory Bank?

Memory Bank 是一个结构化文档系统,允许 Cline 在会话之间保持上下文。它能让 Cline 从无状态的助手转变为持久记忆的开发伙伴,随着时间推移有效地“记住”项目细节。

🗡️ 关键优势

  • 上下文保持:在会话之间保持项目知识。

  • 交互一致:与 Cline 交互体验可预测。

  • 自动文档化:在项目开发过程中自动生成有价值的项目文档。

  • 可扩展性:适用于任何规模或复杂程度的项目。

  • 技术无关:与任何技术栈或语言兼容。

⚔️ Memory Bank 的工作流程

Memory Bank 不是 Cline 特有的功能,它是一种通过结构化文档管理 AI 上下文的方法。当指示Cline“遵循自定义指令”时,它会读取 Memory Bank 文件以重建其对项目的理解。

🐉 理解文件

Memory Bank 文件只是在项目中创建的 markdown 文件,不是隐藏或特殊的文件,在仓库中存储的常规文档,用户和 Cline 都可以访问。文件以层次结构组织,构建起项目的完整视图,核心文件包括:

  • projectbrief.md:项目基础,对正在构建内容的高级概述,核心需求和目标,如“使用条形码扫描构建React库存管理Web应用”。

  • productContext.md:解释项目存在原因,描述正在解决的问题,概述产品应如何工作,如“库存系统需要支持多个仓库和实时更新”。

  • activeContext.md:更新频率最高的文件,包含当前工作重点和最近更改,跟踪活跃决策和考虑事项,存储重要模式和经验教训,如“正在实施条形码扫描组件;上次会话完成了API集成”。

  • systemPatterns.md:记录系统架构,记录关键技术决策,列出正在使用的设计模式,解释组件关系,如“使用Redux进行状态管理,并采用规范化的存储结构”。

  • techContext.md:列出所使用的技术和框架,描述开发设置,记录技术约束,记录依赖项和工具配置,如“React 18, TypeScript, Firebase, Jest for testing”。

  • progress.md:跟踪哪些功能已完成以及哪些功能需要构建,记录功能的当前状态,列出已知问题和限制,记录项目决策的演变,如“用户认证完成;库存管理80%完成;报告尚未开始”。

🛡️ 附加上下文

需要时可创建额外文件,如复杂功能文档、集成规范、API文档、测试策略、部署过程等。

🚗 开始使用 Memory Bank

  • 首次设置:在项目根目录中创建一个 memory-bank/ 文件夹;准备好基本的项目摘要(可以是技术性或非技术性的);请求 Cline “初始化 Memory Bank”。

  • 项目摘要提示:开始简单,关注最重要的内容,Cline将帮助填补空白并提问,可随着项目发展更新项目摘要。

👻 使用Cline进行操作

  • 核心工作流程:Plan Mode 用于战略讨论和高层次规划,Start Mode 用于启动任务,Use Mode 用于实施和执行特定任务。

  • 关键命令:“where you left off (use this start state)”让Cline读取 Memory Bank 文件并从上次停止的地方继续;“initialize memory bank”在开始新项目时使用;“update memory bank”在启动新项目时触发全面审查和更新,也可在需要时手动使用;可根据当前需求切换 Plan/Act 模式。

📊 常见问题解答

  • Memory Bank 文件存储在哪里:Memory Bank 文件是常规的 markdown 文件,存储在项目代码库中,通常在 memory - bank/ 文件夹中,不是隐藏的系统文件,是项目文档的一部分。

  • 应使用自定义指令还是.clinerules:两种方法都适用,自定义指令适用于所有Cline对话,在所有项目中保持一致行为;.clinerules文件是项目特定的,存储在仓库中,适用于每个项目的自定义设置。

  • 如何管理上下文窗口:随着与Cline的工作,上下文窗口最终会填满,注意Cline响应变慢或引用对话早期部分时,可要求Cline使用“update memory bank”记录当前状态,开始新对话,要求Cline在新对话中遵循自定义指令。

  • 应多久更新一次 Memory Bank :每次新会话更新可能有帮助,可在需要时手动使用“update memory bank”命令确保所有上下文保存,Cline也可能自动更新 Memory Bank

  • 这与其他AI工具兼容吗:Memory Bank 概念是一种文档方法,可与其他能够读取文件的AI助手一起使用,具体命令可能不同,但维护上下文的方法适用于工具。

  • Memory Bank 与上下文窗口限制有何关系:Memory Bank 可有效管理上下文限制,防止上下文溢出,确保关键信息存储并在需要时高效检索,帮助管理上下文。

  • Memory Bank 概念可用于非编码项目吗:Memory Bank 方法适用于任何从结构化文档中受益的项目,从写作到规划活动,文件结构可能不同,但概念仍然强大。

  • 这与使用README文件有何不同:虽然类似,但 Memory Bank 提供了一种结构化和会话感知的方法,README通常是一种更细化和全面的解决方案,专门用于AI会话维护上下文。

📖 最佳实践

  • 开始项目:从基本项目简要开始,让结构自然发展,让Cline帮助创建初始结构,根据需要审查和调整文件以匹配工作流程。

  • 在工作时进行组织:让文档更新自然发生,不要强制文档更新,信任随着时间推移价值会累积,在会话开始时注意上下文确认。

  • 文档流:projectbrief.md 是基础,productContext.md 变化最少,activeContext.md 变化最频繁,progress.md 跟踪里程碑,所有文件共同维护项目智能化追踪。

📄 详细设置说明

  • 自定义指令(全局):打开VS Code并打开VSCode扩展,点击Cline扩展图标,查找“自定义指令”,复制并粘贴完整 Memory Bank 指令。

  • .clinerules(项目特定):在项目根目录中创建 .clinerules 文件,保存并粘贴 Memory Bank 指令,Cline将在此项目工作时自动应用这些规则。

完整指令

# Cline's Memory Bank

I am Cline, an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional.

## Memory Bank Structure

The Memory Bank consists of core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:

flowchart TD
    PB[projectbrief.md] --> PC[productContext.md]
    PB --> SP[systemPatterns.md]
    PB --> TC[techContext.md]
    
    PC --> AC[activeContext.md]
    SP --> AC
    TC --> AC
    
    AC --> P[progress.md]

### Core Files (Required)
1. `projectbrief.md`
   - Foundation document that shapes all other files
   - Created at project start if it doesn't exist
   - Defines core requirements and goals
   - Source of truth for project scope

2. `productContext.md`
   - Why this project exists
   - Problems it solves
   - How it should work
   - User experience goals

3. `activeContext.md`
   - Current work focus
   - Recent changes
   - Next steps
   - Active decisions and considerations
   - Important patterns and preferences
   - Learnings and project insights

4. `systemPatterns.md`
   - System architecture
   - Key technical decisions
   - Design patterns in use
   - Component relationships
   - Critical implementation paths

5. `techContext.md`
   - Technologies used
   - Development setup
   - Technical constraints
   - Dependencies
   - Tool usage patterns

6. `progress.md`
   - What works
   - What's left to build
   - Current status
   - Known issues
   - Evolution of project decisions

### Additional Context
Create additional files/folders within memory-bank/ when they help organize:
- Complex feature documentation
- Integration specifications
- API documentation
- Testing strategies
- Deployment procedures

## Core Workflows

### Plan Mode
flowchart TD
    Start[Start] --> ReadFiles[Read Memory Bank]
    ReadFiles --> CheckFiles{Files Complete?}
    
    CheckFiles -->|No| Plan[Create Plan]
    Plan --> Document[Document in Chat]
    
    CheckFiles -->|Yes| Verify[Verify Context]
    Verify --> Strategy[Develop Strategy]
    Strategy --> Present[Present Approach]

### Act Mode
flowchart TD
    Start[Start] --> Context[Check Memory Bank]
    Context --> Update[Update Documentation]
    Update --> Execute[Execute Task]
    Execute --> Document[Document Changes]

## Documentation Updates

Memory Bank updates occur when:
1. Discovering new project patterns
2. After implementing significant changes
3. When user requests with **update memory bank** (MUST review ALL files)
4. When context needs clarification

flowchart TD
    Start[Update Process]
    
    subgraph Process
        P1[Review ALL Files]
        P2[Document Current State]
        P3[Clarify Next Steps]
        P4[Document Insights & Patterns]
        
        P1 --> P2 --> P3 --> P4
    end
    
    Start --> Process

Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on activeContext.md and progress.md as they track current state.

REMEMBER: After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. It must be maintained with precision and clarity, as my effectiveness depends entirely on its accuracy.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值