我招了一个“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生成的烂代码,请你指出问题并修复。" 能答上来的,才是真正的人才。

相关推荐
支支დ1 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
香芋芋圆2 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF2 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
宿6743 小时前
vue3-async
前端·javascript·vue.js
黄敬峰3 小时前
Agent Memory 进阶:用 LLM 总结压缩上下文,告别"金鱼记忆"
面试
YXWik63 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_928996223 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_3 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
原则猫3 小时前
TS 类型工具
前端
excel4 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript