别再吹“AI 让人人都是工程师”了!不懂代码连向Cursor 提问的资格都没有
原创 蒋志伟 InfoQ
作者 | 蒋志伟
本文内容适合所有关注 AI 前沿的读者,无论你会不会写代码,阅读时长建议 12-15 分钟
1 程序员又又又要失业了?
最近,技术圈大牛分享了一些有趣的 AI 编程故事,瞬间让一款 AI 工具 Cursor 火爆全球。Cloudflare 副总裁 Ricky 在 Twitter 上分享一段十分钟视频:视频中他 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,我们不妨先从时间轴入手,系统梳理其相关背景和实际应用效果。
2 AI 工程师、AI 全自动程序员的前世今生
2023 年 6 月部分学者和工程师提出了“AI 工程师”的概念,这个“AI 工程师”处于全栈工程师和机器学习工程师之间,占据后端工程师的一部分,专注于大模型的构建。概念一出,OpenAI 科学家、前特斯拉 AI 和自动驾驶主管 Andrej Karpathy 表示赞同:“大模型创建了一个全新的抽象和专业层,到目前为止,我把它称为‘提示工程师’。”马斯克也认同 Prompt engineering的概念:而 ChatGPT 本身对 AI 工程师的最新定义是这样的:“AI 工程师(Artificial Intelligence Engineer)是专门从事开发和应用人工智能(AI)技术的工程师。”
看到出来,AI 工程师、提示词工程师其实是未来一个专门做 AI 领域的工程师职位。
AI 工程师不一样的定义:像真人工程师的 AI 机器人
阿里巴巴将“AI 程序员”(AI 工程师)比作“像真人的工程师机器人 ” [1]
9 月 19 日,2024 云栖大会,阿里云宣布「通义灵码」重磅升级,从「辅助编程」工具,进化到能自主执行任务拆解、代码编写、缺陷修复、测试等任务的「AI 程序员」,最快分钟级完成从 0 到 1 的应用开发,提升数十倍开发效率。「AI 程序员」可以脱离 IDE 软件,像真人程序员一样执行缺陷修改、需求分析、代码实现、问题排查等任务工作流,同时具备架构师、开发工程师、测试工程师岗位技能,最快可分钟级完成应用开发
很早以前,国外就有类似的产品,旨在通过编程机器人取代工程师的大部分工作。下面我们以 Devin 和 Cursor 为例进行说明。
第一款全球火爆的 AI 编程机器人 Devin
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。
3 庖丁解牛 Cursor 真的不需要写代码?
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 给我们教程。
搭建 Cursor、Git 和 Netlify涉及一系列步骤,以下是详细的指导:
一、安装和配置 Git
Git 是一个开源的分布式版本控制系统,用于高效地处理任何或小或大的项目。以下是安装和配置 Git 的基本步骤:
- 下载 Git:访问 Git 官网(https://git-scm.com/)下载 Git 安装包,或者在国内镜像网站下载其他版本。
- 安装 Git:双击打开已下载的 exe 执行文件,选择安装位置,然后默认下一步直接安装即可。
- 检测 Git 安装:打开命令行窗口,输入
git --version命令,如果显示 Git 版本号,则表示安装成功。
二、安装和配置 Node.js
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用于构建服务器端应用程序。以下是安装和配置 Node.js 的基本步骤:
- 下载 Node.js:访问 Node.js 官网(https://nodejs.org/)下载 Node.js 安装包,选择 LTS 版本进行安装。
- 安装 Node.js:双击打开已下载的 exe 执行文件,选择安装位置,然后默认下一步直接安装即可。
- 检测 Node.js 安装:打开命令行窗口,输入
node -v命令,如果显示 Node.js 版本号,则表示安装成功。
三、安装和配置 npm
npm 是 Node.js 的包管理器,用于安装和管理 Node.js 项目的依赖项。npm 通常与 Node.js一起安装,无需单独安装。
四、安装和配置 Netlify
Netlify 是一个云平台,用于构建、部署和托管网站和应用程序。以下是安装和配置 Netlify 的基本步骤:
- 注册 Netlify 账号:访问 Netlify 官网(https://www.netlify.com/)注册一个免费账号。
- 创建 Netlify 项目:登录 Netlify 账号后,点击“New site from Git”按钮,选择你的 Git 仓库,并配置部署设置。
- 部署网站:配置完成后,Netlify 会自动构建和部署你的网站,并提供一个唯一的网站地址。
五、安装和配置 Cursor
Cursor 是一个基于 AI 的代码编辑器,旨在简化代码编写和调试过程。以下是安装和配置 Cursor 的基本步骤:
- 下载 Cursor:访问 Cursor 官网(https://www.cursor.so/)下载 Cursor 安装包,选择适合你的操作系统版本。
- 安装 Cursor:双击打开已下载的 exe 执行文件,选择安装位置,然后默认下一步直接安装即可。
- 配置 Cursor:打开 Cursor,按照提示进行配置,包括选择语言、主题、插件等。
4 总结
Cursor的出现确实为编程领域带来了新的可能性,它可以帮助开发者更高效地完成代码编写和调试工作。但我们也要清醒地认识到,AI 编程工具并不能完全取代程序员,它只是一个辅助工具。想要真正利用好 AI 编程工具,依然需要扎实的编程基础和对代码的理解。
5 未来展望
未来,AI 编程工具将会更加智能化,能够更好地理解用户的意图,并生成更符合需求的代码。但同时,我们也需要关注 AI 编程工具带来的伦理和安全问题,例如代码版权、数据隐私等。
6参考文献
[1] 阿里云宣布「通义灵码」重磅升级,从「辅助编程」工具,进化到能自主执行任务拆解、代码编写、缺陷修复、测试等任务的「AI 程序员」,最快分钟级完成从 0 到 1 的应用开发,提升数十倍开发效率。
[2] 央视报道:人类程序员真要失业?首位‘AI 软件工程师’亮相引爆科技
[3] Devin 被爆出造假,媒体报道,Devin 接外包任务的视频,被工程师发现演示中解决的问题并不是 Prompt 要解决的那一个。另外,一位工程师花了半个多小时,把 Devin 演示视频中的外包任务完成了一遍,而 Devin 完成任务可能用时 6 个多小时。
[4] OpenHands 是一个热门的开源项目,其前身为 OpenDevin。
7 作者简介
蒋志伟,InfoQ 作者,资深科技媒体人,关注人工智能、云计算、大数据等领域。
Views: 0
