本文内容适合所有关注 AI 前沿的读者,无论你会不会写代码,阅读时长建议 12-15 分钟
最近,技术圈大牛分享了一些有趣的 AI 编程故事,瞬间让一款 AI 工具 Cursor 火爆全球。
Cloudflare 副总裁 Ricky 在 Twiiter 上分享一段十分钟视频:视频中他 8 岁闺女用 Cursor 在 45 分钟内搭起来一个聊天机器人,被 180 万人在线围观。
在线学习提供商 DesignCode 的创始人 Meng To,分享他 8 岁儿子用 Cursor + Claude AI 制作游戏,全程 2 小时,目前引来 70 多万人围观。
他推文中分享道:
我 8 岁的儿子在没有任何编码经验的情况下建立了一个 Three.js 网站,他利用 Claude AI 工具,并让 Cursor 为他完成所有代码工作。实际上,他完成了好几个项目,包括两个平台游戏、一个绘图应用、一个动画应用和一个 AI 聊天应用,每个项目大约花费 2 小时。我仅帮助他设置了 Cursor、Git 和 Netlify。
最后,Meng To 还不忘感叹一句:“代码已成为一种设计工具,甚至不再需要人来编写代码了。”
当下这些趣事给我第一感觉:老美的儿童编译教育真是走在前面啊。不过部分中文博主们不淡定了,跟风喊出了下面各种革命性的口号:“用中文编程,人人都是程序员”,“程序员又又又要失业了”......
似乎啊,国内工程师又又又一次走到失业的“边缘”,有了 Cursor 真不需要编写代码了?
鉴于互联网上充斥着 AI Software Engineer、AI Engineer、Code Copilot、AI 全自动程序员、Prompt Engineer、AI 编程神器、Devin 等目不瑕接的概念,这些碎片化信息让人眼花缭乱。为了更清晰地了解 Cursor,我们不妨先从时间轴入手,系统梳理其相关背景和实际应用效果。
2023 年 6 月部分学者和工程师提出了“AI 工程师”的概念,这个“AI 工程师”处于全栈工程师和机器学习工程师之间,占据后端工程师的一部分,专注于大模型的构建。
概念一出,OpenAI 科学家、前特斯拉 AI 和自动驾驶主管 Andrej Karpathy 表示赞同:“大模型创建了一个全新的抽象和专业层,到目前为止,我把它称为‘提示工程师’。”
马斯克也认同 Prompt engineering 的概念:
而 ChatGPT 本身对 AI 工程师的最新定义是这样的:“AI 工程师(Artificial Intelligence Engineer)是专门从事开发和应用人工智能(AI)技术的工程师。”
看到出来,AI 工程师、提示词工程师其实是未来一个专门做 AI 领域的工程师职位。
9 月 19 日,2024 云栖大会,阿里云宣布「通义灵码」重磅升级,从「辅助编程」工具,进化到能自主执行任务拆解、代码编写、缺陷修复、测试等任务的「AI 程序员」,最快分钟级完成从 0 到 1 的应用开发,提升数十倍开发效率。 「AI 程序员」可以脱离 IDE 软件,像真人程序员一样执行缺陷修改、需求分析、代码实现、问题排查等任务工作流,同时具备架构师、开发工程师、测试工程师岗位技能,最快可分钟级完成应用开发
很早以前,国外就有类似的产品,旨在通过编程机器人取代工程师的大部分工作。下面我们以 Devin 和 Cursor 为例进行说明。
2023 年初,一家叫 Cognition 的 AI 公司,宣称发布名为 Devin 的第一个 AI 软件工程师(the first AI software enginneer)火爆技术圈,国内有的翻译为 AI 全自动程序员。
重要部分内容翻译过来:
Devin 是一个自主代理:掌握全栈技能,能自主学习不熟悉的技术,端到端地构建和部署应用程序,自己改 bug,用户只需在 Devin 界面输入一句指令,它就能端到端处理整个开发项目。 在 SWE-bench 基准测试中,它无需人类帮助,可解决 13.86% 的问题。相比之下,GPT-4 只能处理 1.74% 的问题,且都需要人类提示告知处理哪些文件。
官宣甚至提到 Devin 接 Upwork (全球有名的外包平台,国内猪八戒网) 上外包的活!
下面是 Cognition 公司给的演示 Demo:
Devin 火爆一度央视也这样报道: “人类程序员真要失业?首位‘AI 软件工程师’亮相引爆科技”[2]
讲真,Devin 外包的活都能接了,好像工程师真的又要"失业"了。
Devin 迅速销声匿迹
但是,仅仅一个月后,剧情来了大反转,Devin 被爆出造假。[3] 媒体报道,Devin 接外包任务的视频,被工程师发现演示中解决的问题并不是 Prompt 要解决的那一个。另外,一位工程师花了半个多小时,把 Devin 演示视频中的外包任务完成了一遍,而 Devin 完成任务可能用时 6 个多小时。
总结来看,PPT 上的 Demo 看似很诱人,但如果不了解技术,还真是可能被“忽悠”过去。结果是,首位 AI 软件工程师的名号还没立稳,就已然陨落。
不过,对于 AI 全自动程序员的未来发展,依然可以关注一个热门的开源项目 OpenHands [4],其前身为 OpenDevin。
Cursor 创始团队在采访中透露,他们在 2022 年底获得了 GPT-IV 使用权,利用 AI 大模型解决调试和重复性代码编写等方面诸多低效问题。
团队尝试了多种将 AI 集成到编码工作流程中的方法,早期版本的重点是增强开发体验,但在与现有工具和工作流程的无缝集成方面遇到了挑战。最终,团队以 VSCode 为基础进行开发。
2023 年 8 月,Cursor 获得 6000 万的 A 轮融资,OpenAI 和谷歌首席科学家 Jeff Dean 参投。
经过三年的试错,Cursor 最近才突然爆火。和其他 Code Copilot 不同,Cursor 定位为 The AI-first Code Editor,旨在构建新型的代码编辑器,而不是编程 AI 插件。
我们首先回归到本文开头提到的小女孩、小男孩编程的故事。Meng To 为他 8 岁儿子学习编程时,提前帮他搭建好了编程环境,包括设置了 Cursor、Git 和 Netlify。
对于工程师而言,编程搭建开发环境,通常比大部分编码工作更困难、更复杂。现在,让我们看看 AI 给我们教程。
不需要理解上面知识,只是想给大家表达几点:
环境搭建往往复杂,里面涉及很多技术术语和指令,非技术读者可以自己去尝试
安装过程还会有出错情况,不懂点基本编程知识和原理,非技术读者一般束手无措。
我们再看看 Ricky 闺女写聊天程序的过程:
一样环境提前搭建好的,要学会如何安装 Nodejs 和 NPM
视频一开始,小女孩是输入一段代码的,npm run dev,这段代码的含义是启动项目。首先,这个项目 Ricky 并没有讲如何创建的,这是小女孩第二堂编程课,我相信前面应该有学习如何创建 Nodejs 项目相关课程,下面是 AI 提示创建步骤
不得不说,小朋友们表现已经足够优秀!也让我们看到 Cursor 做编程教育巨大潜力。但是,视频里面写的程序和真实项目差异巨大。如果按 100 简单度量程序难度和成熟度,示例程序 1,99% 真实项目在 10-100 之间,其实没有可比性的。
“不用懂任何编程语言、任何知识、全民程序员、程序员要失业”,这是国内外妖魔化的营销口号,那么,为什么 Cursor 会被误解为开发系统不需要写代码呢?
我猜其中一个原因是 Cursor 有一个创新功能 Composer,它的交互确实够强大。具体来说 Composer 的功能是以下这些:
你可以在对话框中,输入想完成某种功能的提示词
Cursor 可以自动开始创建、修改代码文件
而不用关心这些代码文件如何创建保存,具体在哪个文件哪个代码块上修改
一些简单的入门程序,还真不用输入代码几下能搞定。比如我课程中有一个电商后台管理系统,希望添加、修改商品类目用弹出层来实现。
在 Cursor AI 对话框中输入简单描述,会引导你如何修改相关所有的程序文件代码。人只需点击 Apply 按钮,让所有改动生效,而不需要关心代码具体位置。
点击apply all,自动修改了相关的 HTML、Css、JavaScript 文件 ,达到我们要的效果。
当然,这个例子 Cursor 确实不用我写代码,但前提是得看懂代码,会编程。要不就像下面网红一样翻车。
线上视频 [5] 也可以在国内短视频搜到 "#Cursor 是最近比较火的 AI 编程工具"。
来看一段国外科技网红博主宣称教授我们用 AI,轻松开发游戏赚大钱的现场演示:
博主告诉我们:你不需要任何的编程知识和经验,10 分钟内开发一款游戏。
很有趣的是:国内搬运来了他的视频,点赞分享量是国外的好几倍。
翻车过程
没有任何解释下,输入了一堆程序代码
一句话介绍 React,非技术读者真要学习和使用 React,估计 90% 人一天都看不懂
演示过程,遇到提示权限不足问题,最后手动用 sudo 命令解决
经过 3-4 不断调试,最终生成一个简单的游戏,简单到网上随便一搜,源代码一大把
网红博主提前精心准备的演示 PPT,还是免不了翻车,更何况实际使用呢?下面是热心网友吐槽回复,有懂游戏开发的工程师,指出代码质量严重不合格。
绝大部分时候 99% 肯定不能。
这里我们指的真实项目,写一个 Hello world 程序和可用代码完全是两码事
定制化强,不懂原理和编程,修改难度指数级提高,排错地狱级别
基本的编程知识和常用语法学习是要掌握的,可以缩短学习周期
聊天模型直接操作代码,只是降低了研发的时间成本。
工具本质就是工具,至少懂点编程基础知识, 学会编程伪语言。
Cursor 在未来也有些新赛道。儿童编程的前景非常光明,而工程师们也很容易上手其他编程语言,全栈工程师将成为一种发展趋势。随着前端自动化编程工具的集成,前端编程在未来将有巨大的发展潜力和创造空间。
比如 Cursor + v0 + reweb.so。其中 v0 是一款 AI 工具,你可以直接通过网站截图让它生成完整的前端代码。而 reweb.so 则可以直接把前端代码粘贴,自动生成控件控制台,不写代码情况下调整页面。
下面我用提示词“生成前端代码,用 Next.js & Tailwind”生成效果,这里用 Next.js 和 Tailwind 是因为 reweb 目前只支持 Next.js & Tailwind。
网站原图 截图后 v0 前端代码和预览效果
进入 reweb.so 项目后台,直接粘贴 v0 生成的前端代码。
可以看到,reweb 生成了编辑控件,不用写代码,直接操作控件调整页面。
Cursor + v0 + reweb 带来了实质意义:对于不懂编码非技术人员,稍微了解编程知识,可快速入门网站建设。还可以成为一些通用低代码产品的平替方案。此外,在后端进行全栈开发,有倍增的提效。
更直观上下文引用能力
支持选择文件模版,目录上下文等设计高级 Prompt 能力。
国内百度快码也支持:比如通过上下文,进行文件进行代码仿写。
Cursor 的全方位编辑能力
Inline Chat 功能:允许开发者在编辑器内部直接进行代码优化、提问等操作,而无需切换到聊天面板。这种设计极大地提高了开发效率,让开发者能够更专注于编辑器本身。
代码自动补全多行编辑:Cursor 能够根据当前的代码上下文同时建议多行代码的修改,你要做的就是按下 Tab 键,让 Cursor 帮你修改就可以了。
Cursor Composer 功能:可以在对话模式中同时直接创建和修改多个文件的代码,虽然目前还处于 Beta 阶段,这种全方位的编辑能力让 Cursor 在使用体验上远超 Github Copilot 提供的 Chat participants 和 Chat variables 两种上下文引用方式。
下面是我课程项目的案例,完成一个小功能:把添加类目功能用友好的弹出层实现。我只在 Cursor 输入了提示词“新增类目改成弹出层”,然后在不写代码情况下,完成功能的全过程。
系统性测评太复杂,涉及场景很多,有兴趣可以看看我的编程课程。
比如:
高频缺陷查找,数据建模略,Cursor 集成 Claude 3.5 比很多工具表现好
多行补全不完整,经常输出一部分,不是特别稳定
Cursor 底层不是自己代码大模型,代码质量是依赖 Claude、gpt4o 等大模型结果
这个事,前几天 Cursor 创始成员接受科技媒体采访,半开玩笑坦言:如果 GitHub 整合 OpenAI o1 大模型,Cursor 可能要倒闭了[6] 。
本系列课程《循序渐进精通 AI 编程之道》已将上述 Cursor 完整实操及代码纳入其中。课程旨在为工程师提供系统性的 AI 编程学习路径,帮助学员掌握生产级 AI 代码编写技巧。所有案例均来自真实项目,并结合企业实际需求,提供线下技术培训实战课程,助力企业最大化 AI 研发效率。
参考资料