← 返回免费内容库
AI 编程6 分钟2,154

AI编程完整项目通过率仅27%?我用这3个方法提到90%

从完整项目失败率出发,讲如何用需求拆分、验收标准和迭代闭环提升 AI 编程的可交付性。

AI编程完整项目通过率仅27%?我用这3个方法提到90%

大家好,我是孟健。

最近36氪报道了一个扎心的研究:上海交大联合多校发布了ProjDevBench基准测试,评估Cursor、GitHub Copilot、Claude Code等六大AI编程工具从零构建完整项目的能力——总体提交通过率仅27.38%

看到这个数字,很多人可能会说:"看吧,AI编程就是噱头。"

但作为一个每天用Claude Code和Cursor写代码8小时以上的人,我的真实体感是:方法对了,完整项目的通过率可以到90%以上

今天不聊理论,直接拆解我在实战中总结的3个关键方法。


先看研究说了什么

ProjDevBench的核心发现:

  • 六种主流编程Agent的总体提交AC率仅27.38%
  • 从"补全现有代码"变为"从零构建"时,性能断崖式下跌(比如GitHub Copilot从71分跌到36分)
  • 交互轮次与性能呈强负相关(-0.734)——Agent越挣扎,结果越差
  • 41.86%的提交是Wrong Answer,17.46%直接编译错误

这些数据是真实的。但问题在于:这个基准测试模拟的是"把需求甩给AI,让它自己搞定"的场景

现实中,没有哪个高效的AI编程工作流是这样的。


方法一:写好AGENTS.md,让AI理解你的项目

这是我认为最被低估的一步。

大多数人用AI编程,上来就说"帮我写一个XXX"。AI不了解你的项目结构、代码规范、技术栈偏好,当然会乱写。

我的做法:每个项目根目录放一个AGENTS.md(Claude Code原生支持),里面写清楚:

## 项目概述
这是一个Next.js 14 + TypeScript + Prisma + PostgreSQL的SaaS应用

## 代码规范
- 组件用函数式 + hooks
- API路由用app router
- 数据库操作全部走Prisma
- 错误处理用自定义ErrorBoundary

## 目录结构
src/
  app/          # 页面和API路由
  components/   # React组件
  lib/          # 工具函数和配置
  prisma/       # 数据库Schema

## 测试要求
- 每个API路由必须有对应的测试
- 用vitest + testing-library

效果:AI生成的代码直接符合项目规范,不需要反复纠正风格问题。我做ShipSolo(shipsolo.io)的时候,有AGENTS.md的模块,一次通过率从约40%提升到85%以上

💡 Cursor用户可以用.cursorrules实现类似效果,原理一样。


方法二:任务拆解到"原子级"

研究里最关键的发现是:交互轮次越多,性能越差

这说明什么?AI在复杂任务上会陷入"试错循环"——改了A出现B的bug,修B又把C弄坏了。

我的对策:绝不让AI一次做超过一个功能点

举个例子,如果我要做一个"用户注册+邮箱验证+个人资料页"的功能,我不会说"帮我实现用户系统"。

我会拆成:

  1. "创建User的Prisma model,包含email、name、password、emailVerified字段"
  2. "写POST /api/auth/register路由,接收email+password,hash密码后存库"
  3. "写邮箱验证的token生成和验证逻辑"
  4. "写GET /api/auth/verify路由"
  5. "写注册页面的React组件和表单"

每一步都是独立可验证的。AI完成一步,我确认没问题,再给下一步。

这不是效率低,这是效率高。 因为你避免了AI在复杂任务上的指数级错误累积。

用这个方法,我一个人+AI,一个月做了近30个小产品。这在纯手写代码时代是不可想象的。


方法三:测试驱动 + 人机协作循环

研究团队发现,AI的主要失败模式是Wrong Answer(41.86%)和编译错误(17.46%)。

这两类问题,测试驱动开发(TDD)可以拦截80%以上

我的工作流:

  1. 先让AI写测试:"给这个API写3个测试用例:正常注册、重复邮箱、密码太短"
  2. 再让AI写实现:"现在写register路由的实现,确保通过上面的测试"
  3. 跑测试,看结果
  4. 如果失败,把错误信息喂给AI:"测试2失败了,错误是xxx,修一下"

这个循环通常2-3轮就能搞定。

关键在于:你不是把所有事交给AI,而是用测试作为"护栏"。AI负责写代码的苦力活,你负责定义"什么是对的"。

研究里AI通过率低的一个重要原因是:它们在没有测试反馈的情况下"盲写"。一旦你给它明确的测试信号,效果完全不同。


为什么27%和90%可以同时是真的?

因为工具的上限取决于使用者的方法

就像给你一把好锤子,你可以拿它砸钉子,也可以拿它砸自己的脚。

ProjDevBench测的是"AI自己做"的场景。而我说的90%,是"人+AI协作"的场景。

这3个方法的本质是:

  • AGENTS.md = 给AI足够的上下文
  • 任务拆解 = 控制AI的复杂度边界
  • TDD循环 = 提供明确的对错信号

它们不是什么高深的技巧,但组合起来,效果是质变的。


写在最后

AI编程的确没有一些营销号吹的那么神。"零代码构建完整项目"在当前阶段还是有很多限制的。

但如果你掌握了正确的方法,AI确实可以让一个人拥有一个团队的产出

我从腾讯T11到字节3-1,又到全职用AI编程创业,半年做了30+产品,公众号从0到15000+粉丝——这些不是AI自动完成的,是人+AI协作完成的。

不要问"AI能不能替代程序员",要问"你会不会用AI"。