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

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端