article_image

🔗 原文链接

生产力网红扎堆跃入 AI 赛道,过去说效率逆天改命,现在变成了 AI 逆天改命。但正如那句“古训”说的那样,真正能赚钱的方法是不会有人公开的。如果 AI 真的像他们说的那么强,他们可以用他们的 AI Agent 24 小时接开发外包。可以说有多强的服务器,就能有多大的收益。

所以“AI 编程有多强”、“AI 潜力有多大”,和“AI 马上取代程序员”是完全不同的话题。如果我们谈论 AI 马上取代程序员,我们就得知道程序员每天都干什么。

面试造核弹,入职读屎山。

真实的编程工作从来都不是解一道算法题,也不是在单一文件中修复语法错误,而是在混乱中创造秩序:你需要理解庞大代码库的历史包袱、协调多个模块的交互、处理用户数据中的“脏输入”,和表达能力有问题的客户和管理人员沟通,甚至要在不完善的文档和模糊的需求中摸索解决方案。这种复杂性往往没有标准答案。

那么这种能力应该怎么评估?

作为尝试,OpenAI 在他们的最新研究里提出了一个新的测评基准 SWE-Lancer。他们从真实商业项目(上市公司Expensify的开源代码库)中提取了1,488个付费开发任务,覆盖从漏洞修复到功能开发的全场景。结果显示,即便是当前最强的Claude 3.5 Sonnet模型,在需要编写代码的任务中成功率仅有26.2%——这意味着超过七成的问题,AI给出的方案无法通过真实工作场景的验收。

比如,一个价值1,000美元的“修复个人资料页与分享页头像不一致”任务,暴露了AI的典型短板。模型虽然能快速定位前端代码中的头像显示模块,却屡屡忽视三个关键点:

  1. 用户上传头像时可能触发多线程冲突
  2. 第三方分享插件会缓存旧头像
  3. 移动端和网页端的用户登录状态同步机制

这种需要跨模块追溯因果关系的能力,恰是AI的致命弱点。人类工程师会通过日志排查、断点调试逐步缩小问题范围,而AI往往止步于“找到明显错误代码”的层面。

另一个例子是复杂任务中的“拼图难题”。在价值1.6万美元的“应用内视频播放”开发任务中,成功方案需要同时修改11个文件,涉及浏览器事件循环、移动端硬件解码优化、跨平台API兼容性调整。

AI在此类任务中的失败率高达89%,最常见的错误是:

  • 只修改了核心播放器模块,却忘记更新相关配置文件
  • 未能处理Android端特定机型的解码延迟
  • 忽视了用户从后台切换回应用时的播放状态恢复

这就像要求AI拼好一幅1000块的拼图,但它只会盯着其中几十块反复调整。

为什么模型会失败?

因为 AI 被设计的工作方式和真实人类的工作方式不同。

当任务描述是“用户有时无法保存修改后的邮编”(价值500美元),程序员会主动追问:

  • 具体发生在哪些国家?
  • 输入框是否有特殊格式限制?
  • 错误是否与浏览器类型相关?

而AI往往直接修改邮编验证函数,结果导致加拿大用户(邮编含字母)遭遇新问题。论文数据显示,涉及“需求澄清”的任务中,AI的二次修改请求率是人类的3.2倍。

另一个问题是 AI 还没有系统级的思维。有时 AI 提交的方案虽然通过了网页端测试,却在 iOS 端因内存泄漏导致崩溃。它们擅长局部代码生成,却无法像人类一样预判“修改A模块会对B模块产生什么连锁反应”。

AI 调试能力不足。当代码运行出错时,人类会通过控制台日志、性能监控工具甚至用户反馈逐步定位问题。但AI的“调试”更像是一次次重写代码的赌博。数据显示,在需要三次以上调试的任务中(例如“企业账户导出PDF崩溃”问题),AI的成功率骤降至7%,而人类工程师仍能保持34%的通过率。

OpenAI的研究还揭示了一个更深层的结论:软件工程本质上是社会学问题。

在一个价值2.4万美元的“重构过期支付模块”任务中,AI提交的方案虽然技术可行,却因不符合团队代码规范(如变量命名风格、文档格式)而被驳回。

面对“选择iOS图片粘贴技术方案”的决策任务(价值3,200美元),AI能准确推荐“原生API+自定义剪贴板”的混合方案,却在后续沟通中无法解释“为什么这个方案比第三方库更适配现有架构”。

也就是说,真实编程不仅需要正确性,还涉及与人的协作成本、技术债务管理、长期可维护性——这些无法被简化为代码行数的维度,构成了AI难以突破的“玻璃天花板”。

《SWE-Lancer》的价值不在于证明AI的失败,而在于它用真实商业场景的数据,照亮了技术革命的现实边界。当最先进的模型在26%的任务中战胜人类时,我们看到的不是威胁,而是机遇:那些被AI攻克的26%,可能是工程师最不想处理的重复性工作;而那74%的失败案例,恰恰标定了人类创造力的不可替代性。


author_avatar

UNTAG 官方