技术文章
晋升P7失败后我靠死磕Prompt工程找回了场子
上周末刚从张江科学城的一个分布式架构分享会回来,灌了三杯冰美式才把脑子清醒过来。租在公司附近的老破小里,听着窗外高架桥上的车流声,我忍不住想敲点东西。不为别的,就是上个月我晋升P7又双叒叕挂了。看着答辩评委那副“你技术深度不够”的嘴脸,我当时真的想把手里的激光笔砸他脸上。不过吐槽归吐槽,生活还得继续。今天不聊那些虚头巴脑的架构理论,就聊聊我这半年从“AI代码生成是垃圾”到“AI真香”的打脸历程,顺便复盘一下我是怎么靠死磕 Prompt 工程在屎山代码里找回场子的。
说实话,晋升失败这事儿,我一开始是极其不服气的。我负责的那个分布式订单中台,日均千万级流水,哪一行核心代码不是我熬夜抠出来的?但评委轻飘飘一句“缺乏对行业前沿技术的探索和业务赋能的思考”,直接把我钉死在P6的耻辱柱上。
更搞心态的是,答辩刚结束,产品经理就跑来找我,说是要搞个什么“双十一预售叠加跨店满减”的变态需求。当时我脑子里全是分布式事务的TCC补偿机制,听到这话差点一口老血喷出来。那段时间,系统因为高并发下的缓存击穿和分布式锁失效,天天报 Redisson lock timeout,测试小姐姐每天在钉钉上疯狂@我,一天能提十几个P2级Bug。
那阵子我整个人是崩溃的。每天加班到晚上十点半,回到出租屋倒头就睡。以前我是坚决抵触AI写代码的,觉得那玩意儿生成的代码没有灵魂,不懂底层逻辑,纯粹是糊弄事。但看着那堆祖传的屎山代码和永远改不完的Bug,我意识到,靠纯肉身硬刚,我迟早得猝死在工位上。
被逼上梁山后,我开始捏着鼻子尝试用AI辅助写代码。刚开始,我的用法极其粗暴:直接把几百行的报错日志和一堆乱七八糟的上下文扔给大模型,然后说一句“帮我修复这个Bug”。
结果可想而知,AI给我返回了一段看似完美、实则暗藏杀机的代码。它居然在重试机制里加了个死循环,差点把线上数据库的连接池直接打爆。当时看着监控大盘上飙升的CPU使用率,我冷汗都下来了,赶紧回滚。那一刻,我对AI的偏见达到了顶峰:“这破玩意儿果然不靠谱!”
但后来,在一个技术交流群里,有个大佬分享了他用AI重构核心链路的经验。我仔细一看,人家根本不是像我那样当“伸手党”,而是用了一套极其严谨的 Prompt 工程方法论。这直接打开了我的新世界大门。
我开始系统性地研究 Prompt 工程。说白了,就是把AI当成一个智商极高但缺乏业务上下文的实习生。你不能只给它一个模糊的指令,你得给它明确的角色、背景、约束和示例。
比如,在处理那个该死的分布式锁超时问题时,我现在的 Prompt 是这样的:
角色:你是一个拥有10年经验的Java后端架构师,精通高并发系统和Redis底层原理。
背景:我们的订单系统使用Redisson实现分布式锁,但在大促峰值时,偶尔会出现锁提前释放导致的数据不一致问题。当前锁的过期时间是30s,业务逻辑执行时间可能超过30s。
任务:请帮我设计一个优化方案,并给出具体的代码实现。
约束:
1. 不要使用简单的延长过期时间方案,这会导致内存泄漏。
2. 考虑使用看门狗(WatchDog)机制。
3. 代码必须包含完整的异常处理和 finally 块中的锁释放逻辑。
输出格式:先给出设计思路,再给出Java代码,最后说明潜在的坑点。
看到区别了吗?当你把上下文喂得足够饱,约束给得足够死,AI 吐出来的东西简直比很多初级开发写的还要严谨。它不仅给我提供了基于 Redisson 看门狗机制的完整代码,还顺便指出了我在 Redis 集群脑裂情况下可能遇到的 Redlock 争议问题。当时看到那段代码,我直接在工位上拍大腿:“真香!”
尝到甜头后,我开始把 AI 应用全面渗透到日常开发中。我不再让它直接写业务代码,而是让它做那些极其耗时但又必须严谨的脏活累活。
比如写单元测试。以前我最烦写单测,尤其是那些涉及复杂状态流转的分布式组件。现在,我把接口定义和核心逻辑扔给 AI,让它用 JUnit 5 和 Mockito 生成测试用例,并且强制要求它覆盖边界条件和异常分支。AI 生成的测试代码覆盖率基本能稳在 85% 以上,而且连那些刁钻的并发竞争条件它都能给你 mock 出来。
再比如代码审查(Code Review)。现在团队里提交 MR,我都会先让 AI 跑一遍。我写了一个专门的 Prompt,让它扮演一个“极其苛刻的架构师”,专门挑刺内存泄漏、线程安全问题、SQL 慢查询隐患以及不符合 SOLID 原则的设计。这玩意儿简直是个没有感情的喷子,经常能揪出我思维盲区里的漏洞。
| 传统开发模式 | 引入 Prompt 工程与 AI 应用后 |
|---|---|
| 手写复杂单测,耗时且覆盖率低 | AI 生成单测,覆盖率 >85%,包含边界条件 |
| 靠人眼进行 Code Review,容易漏掉隐患 | AI 扮演苛刻架构师,静态扫描并发与内存问题 |
| 遇到生僻报错,翻 StackOverflow 半天 | 提供精准上下文,AI 直接给出带原理解释的修复方案 |
| 编写压测脚本繁琐,场景覆盖不全 | AI 根据接口文档自动生成 JMeter/Locust 压测脚本 |
这套组合拳打下来,我的工作效率直接起飞。以前天天加班到晚上十点半,现在基本上晚上七八点就能把当天的活儿干完,剩下的时间我用来复盘、看源码,或者干脆去世纪公园跑个五公里。
回过头来看这次晋升失败,我反而要感谢那个评委。他骂得对,我以前的确是个纯粹的“代码机器”,只会埋头写 CRUD,缺乏对工具的极致利用和对业务全局的思考。
技术人的核心竞争力,早就不是“我能多快写出一个排序算法”或者“我能默写 Redis 源码”了。在 AI 时代,你的核心竞争力是“定义问题的能力”和“驾驭工具解决问题的能力”。Prompt 工程本质上就是一种将人类模糊的业务需求转化为机器可执行的精确指令的沟通能力。
这半年下来,我的心态也发生了很大的变化。以前总觉得工作就是拼命卷时长,现在明白了,工作生活平衡不是靠摸鱼摸出来的,而是靠提高单位时间的产出换来的。当你把那些重复性的、消耗精力的工作交给 AI,你才有时间去思考系统架构的演进,去研究分布式系统里的那些深水区问题,去參加技术分享会吸收别人的最佳实践。
最后,给还在晋升路上挣扎,或者对 AI 抱有偏见的兄弟们几句掏心窝子的话:
- 别把 AI 当神,也别把 AI 当垃圾。它是个极其强大的杠杆,但前提是你自己得是个有技术底蕴的支点。如果你连基本的分布式理论都不懂,AI 给你的代码你连 review 的能力都没有,那早晚得捅出大娄子。
- 死磕 Prompt 工程。不要觉得这是玄学,去研究大模型的注意力机制,去理解 Few-shot 和 Chain of Thought 的原理。把写 Prompt 当成写代码一样去迭代和优化。
- 跳出代码看业务。评委说你缺乏业务赋能,那你就去搞懂产品的商业逻辑。技术最终是要为业务服务的,能用技术手段帮公司省钱或者赚钱,才是最高级的技术深度。
好了,不说了,产品经理又在钉钉上催那个预售需求的接口文档了。不过这次我不慌,我已经让 AI 帮我把接口契约和 Mock 数据都生成好了。这感觉,简直不要太爽。

评论 0