共计 4497 个字符,预计需要花费 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)将变得愈发重要。
通常,人们所认为的品味是指视觉效果,如流畅度、色彩、UI等设计方面。
然而,我认为定义软件的另一半在于其逻辑与功能运作。
它将决定产品设计的意图,即你期望软件如何工作。
这种思维方式将促使更多人视自己为逻辑工程师,而非单纯的软件开发者。
这种转变使得思考的高度上升到“是什么”而非停留在“如何做”。然而,要实现这一目标,我们还有很长的路要走。
网络上流传着许多因为过度依赖AI而导致软件明显缺陷的案例。
尽管如此,未来的人们可以不再那么谨小慎微,更加关注品味。
这有些类似于Vibe Coding。
但Vibe Coding的创作过程却存在问题。我们创造,但未曾深入理解。
在这种状态下,虽然能够产生大量代码,但却难以掌握其细节,这种创作方式会引发诸多问题。
若对底层细节缺乏了解,最终会发现自己创造的产品变得庞大且难以修改。
因此,作为不懂代码的人,如何控制所有细节?
这是我们感兴趣的,也是与现有专业开发者息息相关的议题。
此外,目前我们也缺乏让“品味”真正主导软件构建的能力。
所谓“品味”可以理解为对应构建内容的清晰与正确的认知,并将其变为现实。
这要求你对软件的运作逻辑、效果与实现方式等方面有明确的理解。
而不是像现在那样,构思后还需翻译成计算机可执行的格式,费时又复杂。
或者说品味就是对“应构建内容”的正确认知,这样才能创造出优秀的产品。
03 Cursor的起源故事
作为全球增长最快的产品之一,Cursor不仅改变了软件开发的方式,也重塑了整个行业。
那么,改变这一切的Cursor是如何起步的呢?
Cursor的起源源于我们对未来十年人工智能发展的思考。
那时有两个决定性时刻:
一个是Code Pilot测试版的成功,让我们首次接触到真正有用的人工智能产品。
另一个是OpenAI等相关团队发布的一系列关于模型扩大的论文,证明了只需简单的规模扩展,AI便能提升性能。
在2021年底至2022年初,我们对人工智能的发展前景充满信心。
那时我们注意到,许多人谈论模型制作,但没有人真正深入知识工作领域,去探索AI化之后的改变。
这促使我们踏上了探索之路。我们想了解随着技术的成熟,知识工作领域将会发生怎样的变化?需要怎样改进模型以支持工作的演变?一旦规模和前期培训结束,如何持续推动技术能力的发展?
因此,我们决定开发Cursor。
当然在早期,我们曾犯了一个错误。
我们选择研究一个相对竞争不激烈且枯燥的知识领域——帮助机械工程实现自动化和产品开发。
然而,我和我的联合创始人并非机械工程师,对这一领域十分陌生,宛如盲人摸象。
对于没有基础的我们而言,需要完成许多复杂的任务。
例如,开发模型需要数据,但当时关于零件和工具的三维模型数据稀缺,获取来源也十分困难。
最终,我们意识到,机械工程并非我们的兴趣所在,不值得投入过多精力。
环视四周,我们发现编程领域多年来变化不大,似乎没有跟上未来的发展潮流。
他们对未来软件开发方向及AI将如何重塑一切,似乎缺乏足够的雄心与紧迫感。
这使我们走上了创立Cursor的道路。
我们得到的教训是,尽管某个领域看似拥挤,但如果你发现现有解决方案的雄心不足,或与自己的愿景存在明显差距,仍然蕴藏着巨大的机会。
要把握机会,首先需要寻找实现重大飞跃的空间。你需要找到可以施展才华的领域。
而AI为我们提供了广阔的空间。我认为这个领域的上限极高。目前,即使是最优秀的工具,未来几年内仍有大量工作待完成,改进空间巨大。
04 为什么选择构建IDE?
在决定走向编程这条道路时,有多种选择可供考虑。
一种是为工程师创建一个集成开发环境(IDE),并在其中整合人工智能;
一种是开发一个完整的AI代理开发产品;
还有一种是专注于打造一个高效的编码模型,致力于构建最佳编码工具。
Cursor专注于构建IDE的原因在于决策权的归属。
我们关注的是让人类掌控他们所构建工具中的所有决策。
相对而言,那些一开始只注重模型或端到端自动化编程的人,试图构建一个AI主导的未来。我们在对待AI决策的理念上有根本的区别。
我们始终以现实主义的态度看待当前技术的发展。
05 每个人都需要成为工程管理者在利用AI代理的过程中,往往会出现许多不尽如人意的情况。
可以将人类比作项目经理,而AI代理则像是那些能力不足的下属。
作为管理者,我们必须投入大量时间用于审查、批准和规范流程。
观察那些在使用AI方面取得成功的客户,可以发现他们在操作时表现得相当谨慎。
这些客户非常依赖于“下一步编程的预测”,确保AI能够准确预测出他们希望的结果。
总体而言,操作方式主要有两种。
一种是花费大量时间编辑操作指令,然后将所有指令一次性交给AI,最后再对其工作进行审查。
另一种则是将指令分解,先给出一部分让AI执行,接着审核,再给出下一部分,如此反复,直到达到满意的效果。
通常,成功的客户更倾向于采用第二种方法。
06 快速迭代是Cursor成功的关键
在构建Cursor的初期,我们非常执着于创建一种全新的产品。
如今,我们以VS Code作为基础进行开发,类似于许多浏览器使用Chromium作为基础的模式。
起初,我们并没有如此,而是从头开始打造Cursor的原型,这需要耗费大量精力。
我们以令人惊讶的速度创造了许多功能,从零开始搭建了自己的编辑器,并且开发了AI组件。
大约五周后,我们开始全面使用自家编辑器。当我们确认其基本功能后,立刻让其他人参与使用,并进行了短期测试。
大约三个月后,我们发布了Cursor。我们的策略是尽早上线,并根据用户反馈进行改进。最初的用户反馈极具价值,促使我们决定放弃从零构建的版本,转而基于VS Code进行开发。
从那时起,我们便不断根据用户的反馈进行产品迭代。
07 使用Cursor的建议
成功使用Cursor很大程度上依赖于对模型能力的了解。
这包括它们能够处理的任务复杂性、质量、差距以及具体的能力限制。然而,我们目前在产品中没有很好地教导人们这一点。
为了培养这种直觉,我提出两个建议。
首先,正如之前提到的,不要一次性将所有指令告诉模型,然后静待结果。
相反,我建议将任务分割成多个部分,虽然整体指令的制定时间相似,但细分处理会更有效。
这样一来,你只需逐步指定,便能逐渐完成任务,最终实现目标。
与此同时,我鼓励现有的专业开发者,通过实践来探索这些模型的潜能。
很多时候,我们没有给予人工智能足够的机会,低估了其能力。像Cursor这样的工具,初级和高级工程师均可从中获益。
我们观察到,初级工程师往往过于依赖AI,而高级工程师则常常低估AI的帮助,倾向于坚持传统工作流程。
对于高级工程师来说,推广和采用这类工具通常是通过公司内部开发者体验(DevEx)团队来实现的。
08 招募与组建强大的团队
对于我们而言,拥有一批顶尖的工程师和研究人员一起开发Cursor至关重要。
这不仅出于个人考量,也关系到公司的战略方向。
我们的目标是找到既有求知欲又愿意实验的人,因为我们需要构建许多新项目。
保持清醒的头脑同样重要。
除了创造产品,招募合适的人才也是我们的重点之一。
我们专注于寻找我们认定为顶尖的人才,有时甚至会花费数年时间来招募。
不过,我认为我们最初并不擅长这种方法。
我们在以下几个方面获得了宝贵的经验:
- 谁是合适的候选人?
- 谁能对团队产生实际影响?
- 优秀人才的特征是什么?
- 如何吸引那些不急于找工作的人才?
在早期,我们过于偏向于寻找那些来自知名院校的候选人,他们在学术上表现优异。
我们过于重视资历、兴趣和经验,虽然这为我们提供了众多优秀人才,但有时他们与我们最初设想的候选人并不一致。
另一个教训是关于面试流程的问题。
我们面试过程的核心环节是邀请候选人来公司,与我们共同完成一个为期两天的项目。
这既是一种考核,也是一种互动体验。
其优点在于,候选人能够完成真实的端到端项目,展示他们在两天内的实际成果,同时不会占用团队过多时间。这能帮助我们判断是否愿意与此人共事,因为我们会在这两天内密切合作。
吸引候选人同样至关重要,尤其是在公司早期阶段,产品尚未成熟。
本文由人人都是产品经理作者【智能乌鸦】原创/授权发布,转载请注明出处。
题图来自Unsplash,基于CC0协议。
