
## 1. Cursor：基于 IDE 的“分层索引”与语义 RAG

Cursor 的核心竞争力在于它与 IDE（VS Code 分叉）的深度集成，其检索是一个**后台持续运行**的自动化流水线。

### 核心实现机制：

- **Merkle Tree 增量同步：**
    
    Cursor 使用 **Merkle Tree（默克尔树）** 算法来检测本地文件的变化。这意味着它不需要每次都重新扫描整个项目，只需对比哈希值就能快速定位改动过的代码块，保证索引的秒级更新。
    
- **语法感知切片 (Syntax-Aware Chunking)：**
    
    不同于通用的文本 RAG 将代码按字符数切割，Cursor 会解析代码的 **AST（抽象语法树）**。它能识别类、函数和方法，确保检索出来的代码块是逻辑完整的，而不是断头断尾的代码片段。
    
- **混合向量库：**
    
    它使用 **Turbopuffer** 这种专为 AI 扩展设计的云端向量数据库。它将代码转化为高维向量（Embeddings），当你输入 `@Codebase` 时，系统会进行**语义搜索**（比如搜“支付逻辑”能找到没有关键词但功能相关的 `handle_checkout` 函数）。
    
- **隐私处理：**
    
    在索引时，Cursor 仅向服务器发送混淆后的元数据和向量，而非明文代码，平衡了检索性能与企业代码安全。
    

---

## 2. Claude Code：基于 CLI 的“代理式工具”与上下文压缩

Claude Code（Anthropic 推出的命令行 Agent）的思路更偏向于**按需搜索**和**多级内存管理**。

### 核心实现机制：

- **工具化搜索 (Agentic Search)：**
    
    Claude Code 不倾向于后台静默索引，而是给 Agent 一套“搜索工具”（如 `grep`、文件树列举）。当它需要了解项目时，它会主动决策：“我需要看看 `/src` 目录下有哪些 API 定义”，然后调用工具去查。
    
- **三层内存分级 (3-Tier Memory)：**
    
    它建立了一个层级架构来管理检索到的信息：
    
    1. **用户级 (~/.claude/CLAUDE.md)：** 跨项目的全局偏好。
        
    2. **项目级 (CLAUDE.md)：** 项目架构、规范和关键逻辑的“快照”。
        
    3. **动态导入：** 针对当前任务实时搜索到的代码。
        
- **五层上下文压缩 (Context Compaction)：**
    
    由于 CLI 工具主要靠长上下文（Claude 3.5/4 系列的 200k+ 窗口），它在调用模型前会进行 5 层压缩处理（包括摘要化、无用信息剪枝、上下文折叠等），确保在不损失关键检索信息的前提下节省 Token。
    
- **RAG 自动切换模式：**
    
    当项目规模超过上下文窗口极限时，Claude Code 会自动开启 RAG 模式，从“全量加载”切换为“精准检索”。
    

---

## 3. 深度对比：Cursor vs Claude Code

|**特性**|**Cursor (IDE 模式)**|**Claude Code (CLI/Agent 模式)**|
|---|---|---|
|**检索触发**|**静默索引**：后台持续生成向量|**任务驱动**：Agent 根据目标主动去搜|
|**核心算法**|向量搜索 (Vector) + Merkle Tree|模式匹配 (Grep) + 代理决策|
|**上下文管理**|侧重于**“找得准”**（相似度匹配）|侧重于**“装得多”**（超长窗口 + 动态压缩）|
|**擅长场景**|快速定位文件、行内补全、解释代码|跨文件的架构重构、自主 Bug 修复、自动化测试|

