共计 4778 个字符,预计需要花费 12 分钟才能阅读完成。
在当今人工智能迅猛发展的背景下,软件开发领域正在经历一场深刻的变革。Cursor的首席执行官在最近的采访中提出了“后代码时代”的概念,认为未来的软件开发将不再依赖传统的编程语言,而是通过自然语言来表达意图,从而实现自动化编程。这一想法不仅对现有的开发模式构成挑战,同时也为软件开发开辟了全新的可能性。

自去年下半年起,AI编程迅速崛起。
Anysphere被广泛视为这一领域的领军企业,其旗下的明星产品Cursor在推出后的20个月内便达成了1亿的年经常性收入(ARR),而在短短两年内,这一数字更是攀升至3亿ARR(约合人民币21亿)。
在5月1日,Lenny’s Podcast对Anysphere的联合创始人兼首席执行官Michael Truell进行了采访。
在这次交流中,Michael分享了他对未来的看法、所获得的经验教训,以及如何为即将到来的AI时代做好准备的建议。
乌鸦君梳理了这次访谈中的重要信息和观点,相信会给你带来新的启发:
01. 什么是后代码时代?
02. 在后代码时代,品味至关重要
03. Cursor的创立故事
04. 为什么选择构建IDE?
05. 每个人都应成为工程经理
06. 快速迭代是Cursor成功的关键
07. 使用Cursor的建议
08. 招聘与构建强大的团队
01 什么是后代码时代?
我们创建Cursor的初衷是为了开发一种全新的软件构建方式。
用户只需通过自然语言向计算机表达意图,即可实现自动编程。
在谈到“新”时,我想将其与几种未来软件发展的流行观点进行对比。
有些人认为,未来的软件开发将与现在相似,仍需要依赖如TypeScript、Go、C和Rust等正式编程语言来编写代码。
还有一些人则认为,只需输入指令,机器人就能完成代码编写。
然而这两种观点都存在不足之处。
认为一切将不变是错误的,因为技术会不断演进,且只会越来越好。
而依赖聊天机器人所带来的问题在于,它们常常缺乏准确性,用户需要不断地进行修改提示,而不能简单地说“请帮我调整应用”。
未来的软件开发将呈现出更加独特的景象。
在这种未来中,人们能够从更高的层面来编辑和控制细节,理解和修改的过程也将更加轻松。
这种方式超越了传统的代码形式,类似于伪代码,使软件逻辑的表达更接近自然语言。我们正致力于将复杂的符号和编码结构转化为更易于人类阅读和编辑的形式。
02 在后代码时代,品味至关重要
我们相信,最终会发展到这样的阶段,并且这一进程需要现有专业工程师的参与和推动。
这一过程看似是从传统代码演变而来的。
毫无疑问,这必将是一个由人类主导的过程。
人们不会放弃对软件各个方面的控制权。
在后代码时代,品味(taste)将愈发重要。
通常,品味被认为是与视觉效果相关的内容,如流畅度、色彩、用户界面等视觉设计方面。
然而,我认为,定义软件的另一半在于其逻辑和运作方式。
这将决定产品设计的理念,即你期望软件如何运作。
这种思考方式将使越来越多的人将自己视为逻辑工程师,而不仅仅是软件开发者。
这使得人们的思考从“如何做”提升到更抽象的“是什么”。不过,要达到这一目标,我们还有很长的路要走。
网络上有许多因过度依赖AI而导致的开发软件存在明显缺陷和问题的案例。
尽管如此,未来的人们将不必如此谨小慎微,而是更多地关注品味。
这有点类似于Vibe Coding的概念。
不过,Vibe Coding的创作方式存在问题。我们在创作,却未曾理解其内涵。
在这种状态下,虽然你可以产生大量代码,但却难以掌握其细节,这样的创造将带来诸多问题。
如果不理解底层细节,你会发现自己创造的东西变得庞大复杂,难以进行修改。
因此,作为对代码不熟悉的人,该如何掌控所有细节呢?
这是我们所关注的,也是与当前专业开发者密切相关的问题。
此外,我认为目前我们仍缺乏让“品味”真正主导软件构建的能力。
品味可以理解为对应构建内容有清晰、准确的构想,并将其实现。
这要求你对软件的逻辑、效果以及实现方法有透彻的理解。
而不是像现在那样,有了构想后还需翻译成计算机可执行的格式,过程繁琐且耗时。
或者也可以说,品味是对“该构建什么”的正确认知,只有这样才能创造出优秀的作品。
03 Cursor的创立故事
作为历史上增长最快的产品之一,Cursor不仅改变了软件开发的方式,也影响了整个行业。
那么,这一切变革的起点是什么呢?
Cursor的创立源于我们对未来十年人工智能发展的思考。
当时有两个关键时刻:
一个是Code Pilot测试版的成功,这让我们首次接触到真正有用的人工智能产品。
另一个是OpenAI等团队发布的一系列关于模型扩展的论文,证实了只需简单的规模扩张,AI性能就能得到提升。
在2021年底至2022年初,我们对人工智能的发展前景充满信心。
那时我们注意到,许多人都在讨论模型的构建,却没有人真正深入探讨知识工作领域在AI化之后的变化。
这促使我们踏上探索之路。我们希望了解随着技术的成熟,知识工作领域未来将如何发展?需要通过怎样的改进来支持工作方式的变化?在规模和初期培训完成后,如何持续推动技术能力的发展?
因此,我们决定开发Cursor。
当然,在初期,我们犯了一个错误。
我们选择了一个竞争力不足且乏味的知识领域——帮助机械工程实现自动化和产品开发。
但我和我的联合创始人并非机械工程师,对该领域非常陌生。这仿佛是盲人摸象。
对于我们这些零基础的新人来说,需要克服许多困难。
例如,开发模型需要数据,但当时关于零件和工具的三维模型数据稀缺,获取途径也很有限。
最终,我们意识到,机械工程并非我们的兴趣所在,不值得投入更多精力。
我们环顾四周,发现编程行业多年来变化不大,尚未跟上未来的步伐。
他们对未来软件开发的方向和AI如何重塑一切似乎缺乏足够的野心和紧迫感。
这使我们决定创建Cursor。
我们获得的教训是,即使某一领域看似竞争激烈,如果你发现现有解决方案缺乏足够的雄心,或明显与自己的愿景不符,仍然蕴藏着巨大的机会。
要抓住机会,首先需要有实现突破的空间。你需要找到一个能够施展才能的领域。
而AI为我们提供了广阔的发展空间。我相信这个领域的潜力极大。即使是目前最优秀的工具,未来几年仍然有大量工作待完成,改进的空间也相当巨大。
04 为什么选择构建IDE?
在决定走上编程这一道路时,我们有多个选择。
一种是为工程师开发一个IDE(集成开发环境),并在其中集成人工智能;
另一种是打造一个完整的人工智能代理开发产品;
还有一种则是专注于开发一个极具编码能力的模型,力求打造最佳编码模型。
Cursor专注于构建IDE的原因在于决策权的归属。
我们关注的是让人类掌控他们所构建工具中的所有决策。
与之相对,那些一开始只关注模型或端到端自动化编程的人,试图构建一个由AI主导的未来。我们对AI决策的看法存在根本区别。
我们始终以现实主义的态度看待当前的技术。
构建新的编程环境:让人类主导在我早期开发产品时,我选择了使用自己创作的软件,这是一种自我体验的方式。我们实际上是这些工具的最终使用者。这使得我们坚信,必须由人类掌握关键决策,而非让人工智能全权负责。
此外,现有的编程环境在可扩展性上存在很大局限,若想适应编程模式的变迁,必须对整个应用程序拥有完全的控制权。
我们坚信,IDE将比现有的编码环境更具发展潜力。
我们有能力掌控这些工具,打造一个崭新的编程环境。值得注意的是,IDE的形式会随着时间演变而变化。
目前,我们将IDE视为软件开发的核心区域。
Curser不仅能让AI独立运行,还能实现人与AI的协作,之后再让AI独立完成任务。
每个人都应成为工程经理
在使用AI代理的过程中,常常会出现许多不理想的结果。
可以将人类比作工程经理,而AI代理则是那些不太聪明的员工。
作为管理者,我们需要投入大量时间进行审核、批准和规范流程。
因此,我们注意到,那些成功应用AI的客户在操作时表现得相当谨慎。
他们特别依赖“下一步编程预测”,确保AI能够准确预测后续操作的结果是他们所期望的。
总体来说,操作有两种方式。
一种方式是花费大量时间编辑指令,然后一次性交给AI,再进行审核;另一种是将指令分解,逐步指定,让AI逐步工作并审核,循环进行直到达到理想效果。
那些成功的客户通常选择第二种方法。
快速迭代:Cursor成功的关键
在构建Cursor之初,我们非常执着于创造一个全新的产品。
如今,我们以VS Code为基础进行开发,这就像很多浏览器使用Chromium作为基础一样。
起初,我们并没有直接采用这种方式,而是从零开始构建Cursor的原型,这需要耗费大量精力。
我们以惊人的速度迅速开发出多种功能,从零开始构建自己的编辑器,并增加了人工智能组件。
大约五周后,我们便开始全面使用自己的编辑器。发现其基本可用后,我们立刻让其他人参与使用,并进行了短暂的测试。
大约三个月后,我们正式发布了Cursor。我们的策略是尽快发布,并根据反馈不断进行调整。最初的用户反馈极其宝贵,促使我们决定放弃从零构建的版本,转而基于VS Code进行开发。
自那时起,我们便根据用户反馈不断迭代产品。
使用Cursor的实用建议
成功使用Cursor在很大程度上依赖于对模型能力的理解。
包括它们所能应对的任务复杂度、质量差异,以及能做什么与不能做什么。目前,我们在产品中尚未很好地对用户进行这方面的教育。
为了培养这种直觉,我有两个建议。
首先,正如之前提到的,不要一次性将所有指令告知模型,而是将事情拆分成不同的部分。这样一来,您可以用相似的时间来指定整体,但分割得更加细致。
这样,您只需逐步指定,就能完成一点点工作,最终达到成型。
与此同时,我鼓励现有的专业开发者通过实践去探索这些模型的极限。
因为许多时候,我们并没有给人工智能一个公平竞争的机会,低估了它的能力。像Cursor这样的工具,无论是初级还是高级工程师,都能从中获得巨大的收益。
我们注意到,初级工程师往往对AI过于依赖,而高级工程师则倾向于低估AI的帮助,固守旧有的工作流程。
对于高级工程师而言,这类工具的推广与采用主要依靠公司内部开发者体验(DevEx)团队的推动。
招聘与构建高效团队的重要性
对我们而言,拥有一支世界级的工程师和研究人员团队,共同开发Cursor至关重要。
这不仅出于个人原因,也符合公司的战略需求。
我们的目标是寻找那些充满求知欲和实验精神的人,因为我们需要构建大量新功能。
同时,保持清晰的头脑也很重要。
除了产品开发,寻找合适的人才也是我们的重点。
我们专注于招募我们认为的顶尖人才,有时甚至需要数年才能找到合适的人选。
不过,我认为我们起初并不擅长这一点。
我们积累了一些宝贵的经验:
- 谁是适合的人选?
- 谁能为团队带来实际价值?
- 优秀人才的特征是什么?
- 如何吸引那些不急于找工作的人才?
在早期,我们过于偏向寻找那些来自知名院校且在学校中表现出色的候选人。
我们过于重视资历、兴趣和经验。
虽然这为我们带来了许多优秀人才,但他们有时与我们最初理想中的候选人并不相符。
另一个经验是关于面试流程的问题。
我们面试策略的核心环节是邀请候选人来到公司,与我们一起完成为期两天的项目。
这既是测试,也是互动。
此流程的优势在于,能够让候选人完成一个真实的端到端项目。
而且,这不会占用团队过多时间,能帮助我们判断是否愿意与此人共事,因为我们会一起工作两天。
吸引候选人同样重要,尤其在公司初创阶段,产品尚未成熟。
本文由人人都是产品经理作者【智能乌鸦】原创/授权发布,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议。
