Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

Cursor 如何每天服务数十亿次 AI 代码完成

Posted on 2025-07-30

😘 通过全自动端到端测试覆盖与错误告别(赞助)

如果在发布前测试的用户流程不到 80%,错误就会悄悄出现。然而,对于任何团队来说,达到并保持这样的覆盖率都是困难且昂贵的。

QA Wolf 的AI 原生服务为网络和移动应用程序提供大容量、高速的测试覆盖,将您组织的 QA 周期缩短至 15 分钟以内。

他们可以帮您:

  • 数周内实现 80% 的自动化 E2E 测试覆盖率

  • 无限并行测试运行

  • 24 小时维护和按需测试创建

  • 保证零碎屑

工程团队行动更快,发布保持正常进行,测试自动进行 – 因此开发人员可以专注于构建,而不是调试。

结果如何? Drata 的测试用例数量增加了 4 倍,QA 周期加快了 86%。

⭐ G2 评分 4.8/5

安排演示以了解更多信息


免责声明:本文中的详细信息源自 Cursor (Anysphere) 工程团队在线分享的官方文档。所有技术细节均归功于 Cursor (Anysphere) 工程团队。原文和来源的链接位于文章末尾的参考资料部分。我们已尽力分析这些细节并提供意见。如果您发现任何不准确或遗漏之处,请留言,我们将尽力修正。

Cursor 是一款由人工智能驱动的代码编辑器 (IDE),自 2023 年 3 月由初创公司 Anysphere 首次发布以来,它迅速成为开发人员的杰出工具。

它经历了显著的增长和普及,目前已被众多财富500强企业采用。调查也表明,Cursor 的受欢迎程度迅速上升,是工程师中极受欢迎的 AI 编码 IDE。

Cursor 成功的核心原因在于其 AI 优先的理念,将尖端的 AI 模型紧密集成到熟悉的编码环境中。Cursor 基于 Visual Studio Code (VS Code) 构建,为开发者提供了稳定的界面、熟悉的按键绑定以及与现有 VS Code 扩展生态系统的兼容性。这最大限度地减少了用户的使用障碍,同时使 Cursor 的工程团队能够专注于开发强大的 AI 功能,而无需从头构建 IDE。

Cursor 的智能源于其采用最先进的大型语言模型,包括 OpenAI 的 GPT-4 变体和 Anthropic 的 Claude,甚至其自身也进行了微调。其后端专为大规模计算而设计,峰值时每秒可处理超过 100 万笔交易,每天处理数十亿次 AI 代码补全,确保提供响应迅速且流畅的体验。Cursor 还可以充当高效的 AI 结对程序员,能够理解整个代码库,回顾整个项目的细节,建议跨多个文件进行复杂的编辑,甚至按需执行任务。

在本文中,我们将了解 Cursor 的主要功能、这些功能的工作原理以及支持它的基础设施堆栈。

Cursor 的主要功能

Cursor 的主要功能及其背后的技术细节如下:

1 – AI代码自动完成

Cursor 最重要的功能之一是其 AI 驱动的代码补全功能,它通过在用户输入时提供代码建议来显著加快编码速度。开发人员可以通过按 Tab 键接受这些预测(通常显示为浅灰色文本)。此功能不仅限于单行代码,还可以为重构和多文件编辑提供更智能的建议。

Cursor 自动完成功能的响应速度堪称一项重大的工程壮举。其工作原理如下:

  • 当开发人员输入时,Cursor 客户端(开发人员机器上的编辑器)会收集当前代码上下文的一小段,然后在本地加密该代码段,然后通过网络将其发送到 Cursor 的云服务器。

  • 在服务器上,代码片段被安全解密,并且 Cursor 的内部代码大型语言模型 (LLM) 快速生成完成建议。

  • 然后将预测的代码返回给客户端并以内联方式显示。

整个过程设计为超低延迟,理想情况下不超过一秒,让用户感觉即时完成。至关重要的是,Cursor 不会持久存储这些自动完成请求的代码。加密代码会即时用于推理,然后丢弃,从而优先保护用户隐私。

后端数据层每秒的查询量(QPS)超过 100 万次,这主要归功于这些微小的自动完成请求。

2 – 人工智能聊天助手

除了内联建议之外,Cursor 还提供了强大的 AI 聊天助手。

它就像一个“代理”AI,能够处理整个项目中更大、更复杂的任务。用户可以通过 IDE 中的专用聊天面板与其交互,并以自然语言提供指令。

此功能利用 Cursor 的代码库索引系统来了解整个项目。

当被要求实现某个功能、修复错误或重构代码时,聊天代理可以跨多个文件生成或修改代码,并根据更高级别的指令进行协调编辑。这种操作多个文件的能力使其有别于许多其他AI编码工具。

聊天代理还可以通过特殊命令访问相关上下文,例如@Web,它可以搜索网络以收集最新信息,并将结果输入到对话中。

3 – 内联编辑模式

为了快速、有针对性的更改,Cursor 提供了内联编辑模式。

开发人员只需在编辑器中选择一个代码块,发出指令,Cursor AI 就会直接在选定区域内应用所请求的更改。

请参阅下面的屏幕截图以供参考:

来源: Cursor Docs

4 – 使用 Bugbot 进行 AI 代码审查

Cursor 1.0 引入了 BugBot,这是一款专为 GitHub 拉取请求 (PR) 设计的 AI 代码审查助手。设置 BugBot 需要通过 GitHub App 安装将 Cursor 连接到 GitHub 仓库。

BugBot 使用与 Cursor 聊天代理相同的强大 AI 模型自动分析代码更改。它通过检查 PR 来发现人工审核人员可能忽略的潜在 bug、错误或代码风格问题。然后,它会直接在 PR 上留下评论,并提供详细的解释和修复建议。

BugBot 既可以自动运行(每次 PR 更新时重新运行),也可以通过在 PR 上评论“bugbot run”来手动触发。每条评论都包含一个便捷的“Fix in Cursor”链接,允许开发者直接跳转到 Cursor 编辑器,加载相关上下文,立即应用建议的修复方案,从而缩短迭代循环。

5 – 后台代理

处理复杂或长期运行的编码任务的突出功能是 Cursor 的后台代理。

这些本质上是“云端的AI结对程序员”,可以与开发人员的本地编辑会话同时工作。它们允许开发人员卸载可能需要执行代码、运行测试或进行大范围更改的任务,而无需占用本地机器。由于其广泛的上下文需求,后台代理通常使用Cursor更先进的“Max”模型。

当我们启动后台代理时,代码会在 Cursor 云基础设施中的远程机器上执行。具体来说,后台代理在 Cursor AWS 基础设施中基于 Ubuntu 的独立虚拟机 (VM) 上运行。这确保了代理的操作(例如运行测试或更改代码)在沙盒中与用户的本地环境隔离。

6. 持久的项目知识:规则和记忆

为了克服 AI 模型在会话之间丢失上下文的局限性,Cursor 实现了两项持久化项目知识的功能:规则和记忆。这些功能使 AI 能够长期理解项目并遵循特定的准则。

规则是明确的系统级指令,开发者可以在特殊的 Markdown 文件(通常存储在代码库的“.cursor/rules 目录”中)或全局设置中创建。它们可以规定 AI 在生成或编辑代码时应始终遵循的编码风格、架构约定或任何自定义指令。启用后,这些规则内容会被注入到 AI 的上下文中,用于每次操作,从而确保行为的一致性。规则可以是特定于项目的(受版本控制的),也可以是特定于用户的(全局的)。它们允许团队编写 AI“了解”的最佳实践,而无需反复提示。

Cursor 1.0 的记忆功能已发布测试版。它允许人工智能自动记住过去聊天对话中的关键细节和决策,并在不同会话中传递这些知识。

“Sidecar 模型”会观察聊天内容,并建议可保存的记忆,开发者可以批准或拒绝。这意味着,如果开发者在一次会话中解释了一个棘手的功能或设计选择,AI 可以在之后回忆起该上下文,从而避免重复解释,并表现得仿佛它随着时间的推移了解了项目的细微差别。记忆本质上变成了在设置中进行管理的自动生成规则。

7 – 代码库索引和语义搜索

为了有效地协助大型项目,Cursor 在后台执行代码库索引,使其 AI 能够“理解”并回答有关整个代码库的问题。

工作原理如下:

  • 初始索引:当我们打开一个项目时,Cursor 会分析文件,将其拆分成更小的块(类似函数)。这些块随后在本地加密,并使用经过混淆的文件标识符发送到 Cursor 的服务器(甚至文件名也不会以明文形式发送)。服务器解密每个块,使用 AI 模型(例如 OpenAI 的嵌入模型)计算数值“嵌入”(一种捕捉代码含义的向量表示),并立即丢弃实际的文件内容和名称。只有这些嵌入向量存储在专门的向量数据库(Turbopuffer)中。这意味着服务器不会持久存储任何人类可读的代码。

  • 语义搜索:当开发者在聊天中提问(或使用 Cmd+K)时,Cursor 会将查询转换为向量,并针对存储的嵌入执行向量相似性搜索。这会根据含义(而非精确的关键字)查找相关的代码段,而无需服务器最初查看实际代码。

  • 获取相关代码:如果需要实际代码内容来回答问题,服务器会向 Cursor 客户端请求特定的代码块(由模糊 ID 标识)。然后,客户端发送相应的源代码(可能仍处于加密状态),服务器会即时解密以执行即时查询,然后丢弃。这种设计优先考虑隐私,因为嵌入通常是单向的,这意味着无法从中重建原始代码。Cursor 还遵循 .gitignore 和专用的 .cursorignore 文件,以防止索引敏感文件,并在发送代码块之前启发式扫描机密信息。

  • 索引同步:为了在开发人员编辑代码时保持索引的更新,Cursor 采用了 Merkle 树同步机制。Merkle 树是一种基于哈希的数据结构,可以高效地检测大型数据集中的更改。客户端会计算项目文件的 Merkle 树,而服务器则维护自己的 Merkle 树。通过每隔几分钟比较一次这些树,Cursor 可以精确地找出哪些文件已被修改,并仅发送这些更改的部分进行重新索引,从而最大限度地减少带宽和延迟。

请参阅下图,了解可视化项目代码文件的示例 Merkle 树。

基础设施和子处理器概述

Cursor 的 AI 功能依赖于云基础设施提供商、模型主机、索引引擎和分析工具的组合。这些服务的集成非常注重隐私、延迟和安全性。

以下是每个提供商如何融入 Cursor 堆栈的细分:

  • AWS 是 Cursor 基础设施的支柱。大多数后端服务(包括 API 服务器、作业队列和实时组件)都托管在 AWS 数据中心。大多数服务器位于美国,并在东京和伦敦部署了延迟优化的服务器,以提升全球响应时间。

  • Cloudflare 在许多 Cursor 服务前端充当反向代理。它可以提升网络性能、处理 TLS 终止,并提供额外的 DDoS 防护。

  • Microsoft Azure 托管了 Cursor 的部分二级基础设施。这些服务也位于美国,并参与处理与 AI 相关的请求。

  • Google Cloud Platform (GCP) 用于一组较小的后端系统,也托管在美国地区。

  • Fireworks 托管着 Cursor 经过精细调整的专有 AI 模型。这些模型用于实现低延迟代码补全和其他实时功能。Fireworks 的业务范围涵盖美国、欧洲和亚洲等地区。

  • OpenAI 为 Cursor 提供了基于 GPT 的模型,用于执行各种任务,包括聊天回复、摘要和补全。即使用户选择了其他模型(例如 Claude 或 Gemini),某些请求(尤其是背景摘要)仍可能被路由到 OpenAI。

  • Anthropic 提供 Claude 模型,Cursor 将其用于通用聊天和代码推理。与 OpenAI 类似,即使未明确选择,Anthropic 也可能接收代码数据进行推理,具体取决于任务路由。

  • Google Cloud Vertex AI 用于访问 Gemini 模型。这些模型可以由用户明确选择,也可以被调用来执行特定任务,例如大上下文摘要。

  • xAI 提供 Grok 模型,这些模型集成到 Cursor 的模型切换基础设施中。

  • Turbopuffer 是 Cursor 的嵌入引擎和向量索引存储。它存储代码库的混淆表示,具体来说,是由代码块和文件哈希等元数据生成的数值嵌入。

  • Exa 和 SerpApi 用于支持 Cursor 的 @web 功能,该功能可让 AI 助手查询互联网来补充答案。

  • MongoDB 用于分析和功能使用情况跟踪。它存储聚合使用信息,例如功能使用频率或会话指标。

  • Datadog 负责性能监控和日志聚合。隐私模式用户的 AI 请求相关日志会被删除所有代码内容。

  • Databricks(MosaicML)、Foundry 和 Voltage Park 用于 Cursor 专有模型的训练和微调。

  • Slack 和 Google Workspace 用于内部团队协作和调试。

  • Sentry 用于错误追踪。虽然追踪信息可能包含用户上下文,但代码内容永远不会被明确记录。

  • Mistral 仅用于解析公共文档,例如可通过互联网访问的 PDF。

  • Pinecone 存储公共文档的矢量嵌入,并被 Cursor 的 AI 在协助编码任务时用来理解常见的库和 API。

  • Amplitude 支持高级分析,例如跟踪某个功能的使用频率或会话持续的时间。

  • HashiCorp Terraform 用于通过基础设施即代码管理 Cursor 的云基础设施。

  • Stripe 负责处理计费和支付基础设施。

  • Vercel 托管 Cursor 面向公众的网站。

  • WorkOS 提供单点登录 (SSO) 和身份验证基础设施。

结论

Cursor 是一款开创性的 AI 优先代码编辑器,它将熟悉的开发环境与尖端的人工智能无缝融合。通过分叉 Visual Studio Code,Cursor 为开发者提供了稳定直观的界面,同时使他们能够快速专注于深度 AI 集成。

Cursor 的核心架构旨在提供智能辅助,同时不牺牲速度或隐私。它的许多功能(例如实时 AI 代码自动完成)均由运行在云服务器上的内部模型提供支持,仅发送加密的代码片段,以确保低延迟和数据安全。

这个复杂的云支持系统每天处理数十亿次 AI 完成,通过将 AI 深度嵌入到每个工作流程中,提高开发人员的工作效率并改变代码的编写和管理方式,重新定义了编码体验。

参考:

  • 光标 -> 涡轮喷气发动机,降低成本 20%

  • 光标处的代码库索引

  • 我们的问题

  • 游标代理概述

  • 光标变更日志

  • 后台代理


赞助我们

将您的产品展示给超过 1,000,000 名技术专业人士。

我们的时事通讯将您的产品和服务直接呈现给重要的受众——数十万工程领导和高级工程师——他们对重大技术决策和大宗采购有影响力。

房间很快订满 – 立即预订

广告位通常提前4周左右售罄。为了确保您的广告能够触达这些极具影响力的受众,请立即发送电子邮件至[email protected] 预订您的广告位。

原文: https://blog.bytebytego.com/p/how-cursor-serves-billions-of-ai

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme