AI Code:Cursor狂飙,Anthropic开战

56 阅读7分钟

AI Code:Cursor狂飙,Anthropic开战

生成式AI已经到来,第一个巨大的市场是软件开发。从历史上看,开发工具并不是软件类别中市场规模最大的。然而,这种发展完全合理:(1) 开发者通常首先为自己构建工具;(2) 潜在市场异常庞大【AI大模型教程】

市场地图

全球3000万开发者,每人年产出约10万美元,那么AI软件开发的总经济贡献为每年3万亿美元。若以最好的AI部署至少可以将开发者生产力提高一倍,从而每年为GDP贡献3万亿美元。这大约相当于法国的GDP

巨大的价值创造带来了初创公司收入和估值的同样巨大的增长。

  • Cursor在15个月内达到了5亿美元的年经常性收入(ARR)和近100亿美元的估值。
  • 谷歌花费24亿美元收购了Windsurf,击败了OpenAI。
  • Anthropic推出了Claude Code,并与其主要分销渠道AI开发工具展开了竞争。
  • 而OpenAI的GPT-5发布完全围绕编程展开。面对如此巨大的奖项,

我们进入了AI软件开发的战国时期。

最初,AI编程似乎是一个单一类别,但如今它是一个生态系统,

AI编程Stack会是什么样子: 橙色框是初创公司集群正在构建AI工具的领域。每个类别都给出了一个例子。

基本循环:计划 -> 编码 -> 审查

18个月前,早期的AI编程涉及向LLM请求特定的代码片段,并将生成的代码粘贴到源代码中,如今这一过程似乎已过时。今天的工作流程有时被称为计划 -> 编码 -> 审查。它从最初就开始使用LLM:首先开发新功能的详细描述,随后识别必要的决策或信息。代码生成通常由代理循环完成,可能涉及测试。最后,开发者审查AI的工作,并根据需要进行调整。

一个开始新项目的简单工作流程示例

除了项目特定需求外,大多数AI编程系统现在还包含全面的架构和编码指南(如 .cursor/rules)。这些指南可能涵盖公司范围、项目特定甚至模块特定的规则。

生成和审查代码

一旦我们有了可靠的计划,我们就进入一个迭代循环,其中AI编程助手生成代码,开发者审查它。最佳的用户界面和集成点主要取决于任务长度以及它是否应该异步运行。

标签完成与编辑无缝集成到现代编辑器或IDE中,如Cursor、Windsurf、Sourcegraph Amp和数十个VSCode插件。此功能自主完成当前行或执行本地编辑,无需显式提示,因为AI从周围上下文中直观推断必要操作。

基于聊天的文件编辑允许用户通过聊天提示并提供必要上下文给AI。这种方法利用具有大上下文窗口的更大推理模型,跨整个代码库工作,经常使用基本工具创建文件或添加包。

后台代理的运作方式不同,它们在长时间内无需直接用户交互即可工作。它们通常使用自动化测试来确保解决方案的准确性,这在缺乏即时用户反馈的情况下至关重要。结果是修改后的代码树或提交到代码仓库的拉取请求。例子包括Devin、Anthropic Code和Cursor Background Agents。

AI代理的版本控制:随着AI代理处理更多的实现工作,开发者关心的从代码如何更改转变为代码为什么更改以及它是否有效。当整个文件一次性生成时,传统的差异就失去了意义。

源代码管理系统集成使AI能够审查问题和拉取请求,并参与讨论。这种集成利用了源代码控制的协作性质,其中围绕问题或拉取请求的讨论为AI提供了实施的宝贵上下文。

质量保证与文档

代码编写完成后,需要集成测试和文档。这一阶段催生了自己的专业工具集。

为开发者和LLM生成文档——LLM现在非常擅长生成不仅面向用户的文档,还生成在运行时被LLM利用的文档。

AI质量保证——开发者现在可以依靠AI代理为UI、API和后台层生成、运行和评估测试,而不是手工编写测试用例。随着软件越来越由AI生成,拥有AI质量保证关闭了开发循环:不再是代码 -> 审查 -> 测试 -> 提交

代理工具

除了上述为人类开发者设计的工具外,还出现了一类单独的工具,这些工具明确为代理使用而构建。

代码搜索与索引——在操作大型代码仓库(数百万或数十亿行代码)时,不再可能为每次推理操作提供整个代码库给LLM。相反,最佳方法为LLM配备搜索工具,以找到相关代码片段。小型代码库:简单的RAG或grep搜索;大型代码库:能够解析代码并创建调用图的专用软件。

网络与文档搜索——像Mintlify和Context7这样的工具在生成和维护代码感知文档方面表现出色,从实时代码库中提取最相关的片段、注释和用法示例,以保持文档的准确性和最新性。

代码沙箱——测试代码和运行简单的命令行工具进行分析和调试对代理来说是一个重要工具。执行沙箱供应商:E2B、Daytona、Morph、Runloop和Together的Code Sandbox。

软件开发如何变化?

  • 基于AI的软件开发技术已经到来,如今组织必须将其操作化。
  • 最终,我们不认为成本会减缓AI开发工具的采用。
  • 这一切对全球3000万软件开发者意味着什么?AI会在可预见的未来取代软件开发者吗?当然不会。历史告诉我们,虽然替代定价在早期市场有效,但最终商品的成本会趋同于其边际成本,定价也是如此。

然而,软件开发者的工作本身已经发生了变化,培训也必须相应改变。 如今的大学课程将发生巨大变化;

  • 更长期地看,AI编程堆栈允许软件扩展自身。例如,平均桌面应用程序会有一个“氛围编码额外功能”菜单按钮吗?长期来看,应用程序作为不可变代码发布而没有任何自我扩展能力似乎难以置信。
  • 我们最终能否完全消除代码,而是让LLMs直接执行我们的高级意图?在最简单的场景中,情况已经如此:ChatGPT将愉快地执行简单算法。对于更复杂的任务,编写代码仍然更优,主要由于其效率。

是时候在AI的帮助下进行构建了

历史上,技术超级周期是历史上创办公司的最佳时机,这次也不例外。AI需要新工具,同时加速开发周期,这种组合极大地有利于初创公司。以编程助手为例:微软的GitHub Copilot似乎势不可挡,率先上市,拥有OpenAI合作伙伴关系、第一大IDE(VSCode)、第一大SCM(GitHub)和第一大企业销售队伍。 然而,多家初创公司有效竞争。在超级周期中成为现有企业很难。

https://a16z.com/the-trillion-dollar-ai-software-development-stack/

【AI大模型教程】