技术深度解析
Cortex的架构看似简单,但概念上却意义深远。其核心是用一个完全基于Markdown的基于文件的语义图取代了传统的向量数据库+嵌入模型栈。该系统分为三个层次运行:
1. 存储层:一个Markdown文件目录,每个文件代表一个知识单元。文件可以包含用于元数据的YAML前置元数据、用于交叉引用的维基链接(`[[...]]`)以及用于分类的标签(`#tag`)。文件系统本身就成了数据库——无需PostgreSQL、无需Pinecone、无需Redis。
2. 索引层:启动时,Cortex解析所有Markdown文件,并在内存中构建一个图,其中每个文件是一个节点,每个维基链接是一条边,每个标签是一个属性。这个图可以通过MCP(模型上下文协议)进行遍历,MCP为LLM查询知识库提供了标准化接口。与返回概率匹配的向量搜索不同,Cortex基于精确的链接遍历和标签过滤返回确定性结果。
3. 推理层:当代理需要上下文时,它会向Cortex发送一个MCP请求。系统通过遍历图来解析请求——例如,从根笔记沿着维基链接链追踪到相关概念,然后将相关的Markdown内容作为纯文本返回。LLM将这段上下文作为其提示的一部分接收,使其能够在无需任何嵌入步骤的情况下对知识进行推理。
MCP协议在此至关重要。由Anthropic开发并于2024年底开源,MCP定义了AI模型如何与外部工具和数据源交互。Cortex实现了一个MCP服务器,暴露了诸如`read_file`、`search_links`、`list_tags`和`get_context`等端点。这意味着任何兼容MCP的代理——无论是基于Claude、GPT还是开源模型——都可以无需自定义集成代码就能接入Cortex。
性能特征与基于向量的系统截然不同。下表将Cortex与使用OpenAI嵌入+Pinecone的典型RAG流水线进行了比较:
| 指标 | Cortex (Markdown图) | 传统RAG (嵌入 + 向量数据库) |
|---|---|---|
| 检索延迟 (p50) | ~15ms (文件I/O + 图遍历) | ~120ms (嵌入 + ANN搜索 + 重排序) |
| 存储开销 | 约为原始文本大小的1.2倍 | 约为原始文本大小的10倍 (嵌入 + 索引) |
| 确定性 | 100% (精确匹配) | 概率性 (召回率约85-95%) |
| 人类可读性 | 完全可读 (Markdown是纯文本) | 不可读 (嵌入是不透明的) |
| 冷启动时间 | <100ms (解析文件) | 5-30分钟 (构建索引) |
| 最大知识量 | ~1000万token (受文件系统限制) | 几乎无限 (随数据库扩展) |
数据要点: Cortex在延迟、确定性和简单性方面胜出,但在规模上有所不足。对于约1000万token(大约20,000页文本)以下的知识库,Cortex更快、更可靠。超出这个范围,向量数据库仍然占主导地位。权衡很明确:Cortex针对质量和可解释性进行了优化,而非蛮力扩展。
相关开源仓库:核心Cortex项目在GitHub上(cortex-ai/cortex),截至2026年6月拥有约4,200颗星。MCP规范在modelcontextprotocol/spec(12,000+颗星)。对于那些想要尝试的人,官方的Cortex快速入门使用了一个`notes/`目录,其中包含演示维基链接和标签的示例Markdown文件。
关键参与方与案例研究
Cortex处于几个运动的交汇点:Andrej Karpathy倡导的LLM Wiki哲学、Anthropic的MCP协议,以及来自LangChain和AutoGPT等公司向代理原生架构的更广泛推动。
Andrej Karpathy的影响不容低估。在他2024年的博文“LLM Wiki”中,Karpathy认为LLM的理想知识存储是一个纯文本文件集合——而不是一个数据库。他演示了一个原型,其中模型可以读取和写入一个Markdown文件文件夹,有效地将文件系统用作记忆。Cortex本质上是对这一愿景的生产级实现,增加了MCP集成、版本控制和多代理协作。
Anthropic的MCP团队发挥了重要作用。虽然MCP是为通用工具使用而设计的,但Cortex是首批专门将其用于知识管理的项目之一。Anthropic并未正式认可Cortex,但几位Anthropic工程师根据Cortex团队的反馈为MCP规范做出了贡献。
竞争方法包括:
| 解决方案 | 方法 | 主要限制 | GitHub星数 |
|---|---|---|---|
| Cortex | Markdown图 + MCP | 规模上限约1000万token | 4,200 |
| LangChain (记忆) | 向量存储 + SQLite | 复杂流水线,不透明嵌入 | 95,000 |
| Mem0 | 混合向量 + 图 | 专有,不够透明 | 8,500 |
| Zettelkasten (Obsidian) | 手动图,无MCP | 非代理原生,无协议 | 60,000 (Obsidian) |
数据要点: Cortex是按星数计算最小的项目,但最专注。其利基市场是明确的:为需要确定性、可解释性和低延迟的代理提供轻量级、可审计的知识管理。它并非旨在取代大规模RAG系统,而是为代理记忆提供一个更简洁、更可靠的替代方案。