Humanity has prevailed (for now!)
人类暂时取得了胜利!
昨天,在东京举行的 AtCoder 2025 世界巡回赛中,一位人类选手 Psyho 以较大差距暂时击败了 OpenAI 提交的自动化程序 OpenAIAHC,拿下榜首。
AtCoder World Tour Finals 是 AtCoder 主办的一年一度的赛事,旨在决出竞技编程的世界冠军。第一是来自波兰的 Psyho,OpenAIAHC 排在第二。
消息一出,连 OpenAI CEO 奥特曼都亲自转发了,配文「干得好,Psyho!」
这场胜利确实值得欢呼,但它始终是暂时的。OpenAIAHC 排在第二名紧追不舍,AI 参与编程竞赛的实力越来越强,从零调试的程序已经逼近人类顶尖选手。
正如当年 AlphaGo 「大战」李世石那样,AI 编程的优势也正在一点点显现,逐步占据主导地位。
今天的开发者,正在被 Claude Code、Gemini CLI、Cursor 等工具团团围住,不再是「用不用」的问题,而是「怎么用」。
最近 Kimi K2 发布,让 Claude Code 又火了一把。很多人第一时间注意到的,除了 K2 跑得多快、模型多大,还有它的 API 接入了 Claude Code。
启动 Claude Code,写上一段 prompt,回车,一大段结构清晰的函数就写好了。Gemini CLI,Cursor,同样如此。
编程从一个人对抗 bug 的痛苦过程,变成了一个跟 AI 一起搭积木的创意游戏。甚至有个很好听的名字叫 Vibe Coding(氛围编程,通过提示词与 AI 协作编程)。
非常多的人在社交媒体上分享自己 Vibe Coding 的经历,有人表示 Claude 是「目前用过最强的代码助手」,不过也有经验丰富的开发者分享使用 Claude 的痛苦经历。
AI 写的代码也被一些经验丰富的开发者感觉到「恶心」
Vibe Coding 到底行不行?是编程大赛勇夺第二的智能,还是在日常编程里一次次的「被恶心」。就在不久前,一项新的研究给 AI 编程泼了一盆冷水。
一项反直觉的研究:AI 编程,可能更低效
最近,美国 AI 安全机构 METR 公布了一项针对 Claude 3.5/3.7 的实测研究。他们找来了 16 名经验丰富的开源开发者,让他们在熟悉的项目中使用 Claude Code 辅助编程。
16 名经验丰富的开发者参与实验的结果(红色),以及从左到右经济学家、机器学习专家、和开发者在参与研究过程中和之后的预测结果(绿色)。
结果让很多人惊讶:
开发者使用 AI 后,完成任务的时间平均增加了 19%。
更有趣的是,虽然结果是变慢了,但参与者自我报告的感觉是变快了!他们觉得 AI 帮了很大的忙,写得更顺了,效率提升了 20%。
「AI 幻觉」好像转移到了人类身上,变成一种「效率幻觉」,你以为你变快了,但其实你只是感觉变快了。
为什么会这样?研究总结了下面几个原因,
写 prompt 很花时间,而且经常要改来改去;
Claude 给出的代码大多不能直接用,需要手动改逻辑、查 bug;
你在「提示 - 等待 - 修改」的循环中,陷入了一种「被打断的状态」。
看到这儿,我们也开始好奇,那我们自己用这些工具写点东西,会不会也遇到同样的问题?
于是我们做了一个小实验。
Vibe Coding 真的能让你飞起来吗?
我们设计了一个看起来不难、但逻辑不算太简单的小任务:
写一个命令行工具,输入关键词,返回知乎热榜中含该关键词的帖子标题,限制输出条数。
这个任务包含了网络请求、HTML 解析、字符串匹配、命令行参数解析,刚好可以试试 Claude Code 和 Gemini CLI 的能力。
这里我们使用 Gemini CLI 来完成这个任务,虽然在命令行里面使用中文真的很违和,但是 Gemini CLI 和 Claude Code 都能支持中文的输入。
动作还是非常快的,可能因为任务比较简单,代码生成的过程并不需要等待很久。它首先自动生成了需要安装哪些库,可以用来爬取网页,接着生成了 main.py,核心的代码文件。
中间遇到的问题是知乎需要登录,它还自动使用 Google 帮我搜索了一个公开的 API,以及尝试使用其他的工具,但是仍然没有用。最后它告诉我需要我自己输入 Cookie。
虽然短时间内它没有帮我完成这个任务,但整个体验的过程确实很舒适。像是指挥实习生去完成工作,实习生做得不好不可以骂,但是 Vibe Coding 里面能直接骂 Gemini CLI。
在使用 Kimi K2 的 Claude Code 时,同样的,我们尝试让他从零开始完成一个科研任务。在一个空文件夹中,我告诉 Claude Code 说,我要发一篇 CVPR(计算机视觉顶级会议) 的文章,我有一个具体的方向,你需要帮我写代码完成这个实验。
结果是,等到我把 Kimi K2 的免费 API Token 都用完了,整个项目还是约等于一个零。他先是自信的给我生成了全部的训练代码、网络结构代码、数据集代码、测试代码等等,然后告诉我说可以运行了。
我说你这个方法根本不 Novelty(创新),他说确实是。然后我要他去找最近两年的论文,接下来他就把我的 Token 全部消耗完了。
由于整个过程还是比较短的时间,我没有做太多的人为干预,完全交给 AI 去处理。即便是中间遇到了问题,我也是让 AI 自己去解决。
我觉得,他有一个最大的好处,它几乎可以完全控制这台电脑,不需要我去给他提供额外的上下文信息。
爽感 vs 效率,AI 编程可以鱼熊掌兼得吗?
这次小测试,让我印象最深的是,AI 给我的更多是「爽感」,而不是「效率」。
你会感到自己像个编程高手,代码像魔法一样自动冒出来,但一旦报错或逻辑不通,会发现你其实没有真正理解这段代码,也不太知道怎么改。
但我仍然觉得工具本身没有问题,如何使用工具才是决定能否发挥它潜力的重要因素。
来自 OpenAI 的 Sean Grove 在 AIEWF2025 上发表「新的代码」演讲
在 OpenAI 从事对齐推理工作的 Sean Grove 在最近的一个演讲里面则提到,在使用 AI 编程工具时重要的不是提示工程,而是「规范」。
当前的「Vibe Coding」存在一个问题,我们保留了 AI 生成的代码,却丢弃了包含我们原始意图的提示词。这就像「把源代码撕掉,只对编译后的二进制文件进行版本控制」一样,是不可持续的。
编程的未来不再仅仅是编写代码,而是通过规范(Specification)来定义和传达意图。真正的瓶颈和价值在于结构化的沟通,而「规范」正是这种沟通的最终体现。
有一位参与了文章开头提到的那项研究的开发者,在 X 上分享了自己参与的经历,他说自己就是那个用了 Vibe Coding,效率降低了 38% 的人。
他认为 LLM 只是工具,不要期待它是一颗「万能灵丹」。除了只有特定类型的编程任务,才拥有大量干净的训练数据这一缺点之外,还有像是上下文退化、在等待生成的过程中分心、以及 LLM 代码工具没有准确的成功衡量标准等「长尾问题」。
不过最后他也提到「如果我们想用好这个新工具,就必须理解它(以及我们自己)的短板,并主动去适应。」
那么,真的可以有一种方法,让所有人在使用这些 AI 编程工具的时候,同时收获效率和爽感吗?
除了这些「糟心」的体验分享,X 上也有非常多的用户分享自己使用这些 AI 编程工具提高生产力效率。
有人说 Claude Code 可以像你一样去使用你的电脑,他创建了一个 Claude.md 文档,在这个文档里,告诉 Claude 如何访问他文件夹中的重要目录。像是用于回忆、日记、想法、代码、待办事项、便签和脚本等不同的文件夹。
此外,他还创建一些自定义命令,用于创建日志的 /journal 命令,还有用于创建待办事项的 /todos 命令。Claude Code 能够在这些文件里面添加内容时,自动检索它的电脑文件,做到真正的智能助手。
他还分享了使用 MCP 连接到除了电脑本地资源以外的更多网络信息,能连接 Notion、地图软件、在线办公应用等等来进一步提升效率。他说 Claude Code 几乎能高效的帮助他,完成所有的工作。
对我来说,很明显我们遇到的瓶颈不是模型能力,而是创造力和理解力。
还是忍不住感慨,AI 编程的发展实在太快了……
2025 年最佳编程 AI:6款必备顶级 AI 工具,图片来自:pragmaticcoders.com,2025-06-24
从一开始还是只能在侧边栏里调用 GitHub Copilot,到后来丰富的 Agentic AI 编程工具,像是「Tab」一下的 Cursor、WindSurf、Trae,还有亚马逊也在最近推出了 Kiro,等等。
今年,再来到了从 GUI(图形用户界面)到 CLI(命令行界面)的转变,有了 Claude Code 和 Gemini CLI……而这一切竟然就是发生在最近两三年的时间里。