在人工智能迅猛发展的背景下,软件开发的格局正在经历一场深刻的变革。Cursor的首席执行官在最近的采访中提出了“后代码时代”的新概念,认为未来的软件开发将不再需要传统的编程语言,而是通过自然语言来表达意图,从而实现自动编程。这一观点不仅对现有的开发模式提出了挑战,同时也为软件开发开辟了新的可能性。
自去年下半年以来,人工智能编程的热潮席卷而来。
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 后代码时代,品味的重要性
我们认为,最终会发展到这样一个阶段,而这一进程需要现有的专业工程师参与和推动。
这一过程看似是从代码演变而来的。
毋庸置疑,这将是一个由人为主导的过程。
人类绝不会放弃对软件各方面的掌控。
在后代码时代,品味将变得愈加珍贵。
通常,人们所理解的品味主要体现在视觉效果上,如流畅度、色彩和用户界面等设计方面。
然而,我认为定义软件的另一半在于其逻辑和运作方式。
这将决定产品设计的初衷,即期望软件如何运行。
这种思维方式将使越来越多的人视自己为逻辑工程师,而不仅仅是软件开发者。
思考的高度将上升到抽象的“是什么”,而不再停留在“如何做”。但要实现这一目标,我们依然任重道远。
互联网上流传着许多因过度依赖人工智能而导致的软件缺陷和问题。
尽管如此,未来的人们可以更轻松地关注品味,而无须过于谨慎。
这就有点像Vibe Coding。
但Vibe Coding的创作方式存在问题。我们在创作,但却从未真正理解。
在这种状态下,虽然可以生成大量代码,但却难以理解其中的细节,这种创作方式会导致很多问题。
若不理解底层细节,所创造的东西很快可能变得庞大且难以修改。
因此,对于不懂代码的人而言,如何掌控所有细节?
这是我们关注的核心,也是与现有专业开发者密切相关的议题。
此外,我认为目前尚缺乏使“品味”主导软件构建的能力。
品味可以理解为对应构建内容的清晰和准确的构想,并将其付诸实践。
这要求你对软件的逻辑、效果及其实现方式有明确的理解。
现在的情况是,构想一旦产生,仍需经过繁琐的翻译才能转化为计算机可执行的格式。
或者说,品味也可以被视为对“应构建何物”的正确理解,这样才能创造出优秀的产品。
03 Cursor的起源故事
作为全球发展最快的产品之一,Cursor不仅改变了人们开发软件的方式,也重塑了整个行业。
那么,改变一切的Cursor究竟是如何起步的呢?
Cursor的诞生源自我们对未来十年人工智能发展趋势的思考。
在这个过程中,有两个决定性的时刻:
一是Code Pilot测试版的成功,使我们首次体验到了真正有用的人工智能产品。
另一个是OpenAI等团队发布的一系列模型扩展论文,表明通过简单的规模扩展,人工智能的性能能够得到显著提升。
在2021年底至2022年初,我们对人工智能的未来发展充满信心。
当时,许多人谈论模型制作,但没有人深入探讨知识工作领域在AI化后将如何变化。
这促使我们走上了探索之路。我们希望了解随着技术的成熟,这些知识工作领域将如何演变?需要怎样改进模型以支持工作方式的转变?一旦规模与初期培训结束,如何继续推动技术能力的发展?
因此,我们决定开发Cursor。
当然,在初期,我们犯了一个错误。
我们选择研究一个竞争较少且相对枯燥的领域——帮助机械工程实现自动化和产品设计。
然而,我和我的联合创始人都不是机械工程师,对这个领域知之甚少。这简直像盲人摸象。
对于我们这些零基础的新人来说,需要面对许多棘手的问题。
例如,开发模型需要数据,但当时关于零件和工具的三维模型数据稀缺,获取渠道也非常困难。
最终,我们意识到机械工程并非我们的兴趣所在,不值得投入过多精力。
我们环顾四周,发现编程领域多年来变化不大,未能跟上未来的发展趋势。
在这个领域,针对未来软件开发方向及人工智能如何重塑一切,似乎缺乏足够的野心和紧迫感。
这促使我们走上了创建Cursor的道路。
我们的教训是,即便某个领域看似竞争激烈,只要发现现有解决方案的野心不足,或者与我们的愿景相比存在明显差距,仍然隐藏着巨大的机会。
要抓住机会,首先需要有实现重大突破的空间。你必须找到可以施展拳脚的领域。
而人工智能为我们提供了广阔的空间。我相信这个领域的发展潜力巨大。即便是目前最优秀的工具,在接下来的几年中仍有大量工作亟待完成,改进空间也非常广阔。
04 为什么选择构建IDE?
在决定踏上编程之路时,有多条选择路径。
一种是为工程师打造一个集成开发环境(IDE),并在其中嵌入人工智能;
另一种是开发一个完整的人工智能代理开发产品;
还有一种是专注于构建一个极为优秀的编码模型。
Cursor专注构建IDE的原因在于希望将决策权归还给用户。
我们关注的是让用户在他们所构建的最终工具中掌控所有决策。
相比之下,那些一开始只关注模型或端到端自动化编程的人,试图构建一个由人工智能主导的未来。我们在AI决策方面的理念存在根本的不同。
我们始终以现实主义的态度审视当前的技术。
打造以用户为中心的产品
最初,我在开发产品时采用了自家研发的软件,实际上我们就是这款工具的最终用户。这种做法使我们深信,必须由人类来掌控关键决策,而不是让人工智能全权接管。
同时,现有的编程环境在扩展性上存在显著局限,要适应不断变化的编程形式,控制整个应用程序显得尤为重要。
我们坚信,集成开发环境(IDE)将比目前的编码环境更具广阔的发展前景。
我们能够掌控这些工具,创建出崭新的环境。显然,IDE的形态将会随着时间的推移而演变。
目前而言,我们主要将IDE视作软件开发的核心场所。
Curser不仅支持人工智能的独立运行,还能实现人与人工智能的协同工作,随后再让其独立开展任务。
每个人都应成为工程经理
使用AI代理时,常常难免出现一些不理想的结果。
可以把人类比作工程经理,而AI代理则像是那些不太聪明的下属。
身为经理,我们需要投入相当多的时间进行审核、批准和规范化管理。
因此,我们观察到,在使用AI方面最为成功的客户,尽管在使用时仍然保持谨慎态度。
他们非常依赖于“下一步编程预测”,确保人工智能能够准确预见后续操作的结果。
总体而言,有两种操作方式可供选择。
一种是耗费大量时间编辑操作指令,随后将其一次性交给AI,再进行审查。
另一种则是逐步分解指令,先让人工智能处理一部分,然后审核;接着再指定其他任务,反复进行直到达到预期效果。
成功的客户往往更倾向于采取第二种策略。
快速迭代是Cursor成功的关键
在构建Cursor的初期,我们坚定地认为它应该是一个全新的产品。
如今,我们以VS Code为基础进行软件开发,类似于许多浏览器基于Chromium的做法。
起初,我们并没有这么做,而是从零开始搭建Cursor的原型,这一过程耗费了大量精力。
我们以惊人的速度构建了多种功能,从零开始创建了自己的编辑器,并加入了人工智能模块。
大约五周后,我们开始全面使用自己的编辑器,并在发现其基本可行后,迅速让其他人参与使用,进行了短暂的测试。
大约三个月后,我们正式发布了Cursor。我们的策略是尽快推出版本,并根据用户反馈进行调整。最初的用户反馈极为宝贵,这促使我们决定放弃从零构建的版本,转而基于VS Code进行开发。
自那时起,我们便不断根据用户反馈进行产品的迭代。
使用Cursor的建议
成功使用Cursor在很大程度上依赖于对模型能力的理解。
这包括它们能够处理的任务复杂性、质量差异及其能做和不能做的事情。目前,我们在产品中对用户的教育尚显不足。
为了培养这种直觉,我有两个建议。
首先,正如之前提到的,不要一次性将所有指令交给模型后再等待结果。
相比之下,建议将任务划分为多个部分,虽然整体上花费的时间相仿,但分解后的指令会更细致。
这样一来,你只需逐步指定任务,就能逐步推进,最终形成完整的成果。
同时,我鼓励现有的专业开发者通过实践来探索这些模型的潜力。
因为很多时候,我们没有给人工智能一个公平的机会,往往低估了它的能力。像Cursor这样的工具,初级和高级工程师都能从中获得巨大的收益。
我们观察到,初级工程师可能会对AI产生过度依赖,而高级工程师则容易低估AI的帮助,倾向于坚持现有的工作流程。
对于高级工程师而言,这种工具的推广与采纳通常由公司内部的开发者体验团队推动。
招聘与建立强大团队的重要性
对于我们而言,拥有一支世界顶尖的工程师和研究人员团队共同开发Cursor至关重要。
这不仅出于个人的考虑,也是公司战略的需要。
我们的目标是寻找那些兼具求知欲与实验精神的人,因为我们需要构建许多新东西。
保持清醒的头脑同样重要。
除了产品开发,吸引合适的候选人也是我们关注的重点。
我们专注于寻找认定的世界一流人才,有时甚至愿意花费数年时间去招募他们。
不过,我认为我们起初并不擅长这种方式。
我们在以下几个方面获得了宝贵的经验:
- 如何识别合适的人选?
- 什么样的人对团队真正有价值?
- 优秀人才的特征是什么?
- 如何吸引那些不忙于找工作的优秀人才?
在早期,我们过于偏向于寻找符合知名学校标准的人,他们在校表现极佳。
过于看重资历与经验,虽然这为我们提供了大量优秀人才,但他们有时与我们最初理想的候选人相去甚远。
另一个经验是面试流程的调整。
我们面试策略的一个核心环节是邀请候选人到公司,与我们一起完成为期两天的项目。
这不仅是测试,也是互动的机会。
这个过程的优点在于,候选人可以完成一个真实的端到端项目。
这样,你能看到两天内的实际产出,同时不会占用团队过多时间,有助于你判断是否愿意与此人合作,因为你将和他共事两天。
吸引候选人也是至关重要的,尤其在公司成立初期,产品尚未成熟。
本文由人人都是产品经理作者【智能乌鸦】,微信公众号:【乌鸦智能说】,原创/授权发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议。
Please specify source if reproduced后代码时代,产品品味成制胜法宝:Cursor CEO深度访谈 | AI工具导航

