我招了一个“Prompt工程师”来写前端,结果项目差点崩了

上个月团队扩招,我面试了一个特别"潮"的候选人。他说自己不用手写代码,全靠AI生成,自称"Prompt工程师"。我觉得挺新鲜,就招了进来。结果一个月后,他负责的模块上线,三天内爆出十几个bug。我打开他的代码,愣住了:一个函数两百行,重复逻辑遍地,没有错误处理,没有类型定义。效率确实高,一天产出是我两倍。但修他的代码,花了我三倍的时间。

一、"Prompt工程师"的诞生

今年招聘季,我收到一份简历,技能栏写着"AI辅助编程(Cursor / Copilot / Claude Code)"。面试时他演示了一段:用Cursor生成一个完整的React组件,带样式、带状态、带API调用,前后不到一分钟。我问:"如果AI生成的代码有bug,你怎么排查?"他说:"再让AI修啊,多轮对话总能搞定。"

我当时觉得,这代表未来。于是给了他offer,让他负责一个内部中后台模块。

二、效率惊人,但代码质量惊人地差

他确实快。别人一天写一个页面,他能写三个。但两周后,我去review他的代码时,发现问题了。

1. 重复代码堆砌

同一个工具函数,出现在五个文件里,每个实现略有不同。AI每次生成时没有"复用"的意识,只解决当下。

2. 没有错误处理

所有API调用都没有.catch(),没有try...catch。问为什么不处理,他说:"AI没写,我忘了补。"

3. 类型形同虚设

虽然用了TypeScript,但到处都是any。AI不知道业务实体的具体类型,就给了any,他也懒得改。

4. 组件过度设计

一个简单的列表页,AI生成了6个自定义Hook,4个context,拆成了20个文件。改一个功能要跨十几个文件。

三、上线后,炸了

模块上线后,用户反馈:页面白屏、数据不更新、按钮点了没反应。我们紧急回滚,花了三天排查修复。

  • 白屏是因为API返回空数据时,AI没判断data.list是否存在,直接.map()
  • 数据不更新是因为useEffect依赖数组写错了,AI用了[]但内部引用了外部变量。
  • 按钮没反应是因为事件处理函数里抛了异常,没捕获,导致React组件卸载。

我问他:"这些你都没测吗?"他说:"AI生成的代码,我以为没问题。"

四、反思:Prompt工程师不等于合格工程师

这件事让我重新思考:AI编程时代,我们需要什么样的人?

AI能写代码,但不能写好的代码。 好代码的标准:可读、可维护、健壮、高效。这些需要工程师自己来把控。

Prompt工程师的能力是"让AI干活",但合格工程师的能力是"让AI干正确的活,并且能兜底"。如果只会写prompt,不懂边界、不懂异常、不懂架构,AI写的代码就是定时炸弹。

后来我把他的模块全部重写了,并给团队定了一条新规:AI生成的代码,作者必须逐行review并自测,提交PR时附上AI的原始提示词和修改说明

五、最后

我不会因为这个失败的案例就不再招"Prompt工程师",但我会在面试里加一道题:"给你一个AI生成的烂代码,请你指出问题并修复。" 能答上来的,才是真正的人才。

相关推荐
jingling5551 小时前
Flutter | 商城项目完整实战
前端·flutter·前端框架
IT_陈寒1 小时前
React状态管理这个坑,我爬了整整三天才出来
前端·人工智能·后端
小新1102 小时前
从零开始 Vue.js
前端·javascript·vue.js
naildingding2 小时前
Vue基础核心
前端·vue.js
弱鸡前端2 小时前
纯前端实现pdf从生成到下载
前端
明月_清风2 小时前
TanStack + Cloudflare 边缘实战:从 0 到 1 构建全栈应用
前端·全栈
东风破_2 小时前
你天天用的 Python dict,90% 的人没搞懂这三个坑
前端
Delicate2 小时前
JavaScript的“变脸”艺术:类型转换戏法大揭秘
javascript
前端Hardy2 小时前
21.8 万周下载!这个 React 表格组件,10 行代码就能跑起来
前端·javascript·后端