AI 真没抢走我的饭碗,但把「写代码」这活儿彻底改了样
上周 review 同事 PR 时突然意识到:我已经两个月没亲手写过完整的业务逻辑函数了。不是偷懒,而是 Cursor + Claude Sonnet 4 把「实现细节」全揽走了,我现在的日常变成了——盯着需求文档拆任务、给 AI 定接口契约、把生成的代码跑通测试、再把边界 case 补进 prompt 里。
下一篇
自建 AI 教学流水线跑了半年,单人边际成本真降到分级了 →
这变化挺微妙的。以前我是「造轮子」的,现在更像「验轮子」的。代码量少了 70%,但读代码、改 prompt、追踪幻觉的时间多了三倍。上周那个支付回调重构,AI 一把梭生成 300 行,看着顺眼,跑集成测试才发现它把幂等性键设成了 order_id 而不是 transaction_id,差点上线出事故。这种「看着对、跑着错」的坑,现在得靠人来兜底。
我现在的工作流长这样:
- 需求拆解:把模糊需求拆成确定性接口签名 + 验收标准,存成 Markdown 扔给 AI
- 契约先行:先定 TypeScript 接口、Zod schema、数据库迁移脚本,再让 AI 填实现
- 对抗式测试:写一组故意刁钻的测试用例(并发、重试、脏数据),看 AI 能扛住几轮
- Prompt 版本化:把每轮修改的 prompt 当代码一样进 Git,方便回溯哪版最稳
// 现在给 AI 的任务模板大概长这样
interface PaymentCallbackTask {
input: {
rawPayload: unknown;
idempotencyKey: string; // 必须是 transaction_id
};
output: {
status: 'success' | 'duplicate' | 'invalid';
orderId: string;
};
constraints: [
"幂等性键仅使用 transaction_id",
"重复回调返回 duplicate 不抛错",
"签名校验失败返回 invalid",
"所有外部调用需带超时和重试"
];
}最明显的感受:「会不会写代码」不再是门槛,「能不能把模糊需求变成可验证的规格」才是核心竞争力。 以前招人看 LeetCode,现在我更想看候选人给一段烂代码写多少条能跑通的测试用例,或者面对 AI 幻觉时怎么定位、怎么改 prompt 修正。
有同行问我会不会焦虑。说实话,刚开始真有点——毕竟敲键盘的爽快感没了。但后来发现,当实现成本趋近零,系统设计、架构取舍、技术债治理、跨团队协作这些「软技能」反而值钱了。AI 不会替你决定:这个服务该不该拆、一致性怎么妥协、技术债什么时候偿、新人怎么带。
现在招人,我会加一道必考题:
> 给你一段 AI 生成的有隐蔽 Bug 代码,你不许改代码,只能通过补充 prompt / 增加测试 / 调整上下文让它自己修对。演示一下你的过程。
这比白板写算法能看透多了。
对了,最近在折腾把这个流程固化成团队共享的 .cursorrules + GitHub Actions 自动跑对抗测试,想问下各位有没有类似的「AI 协作规范」落地经验?特别是怎么防止 prompt 漂移导致生成质量忽好忽坏,求个思路。
免费 AI 工具箱 · 全部完全免费
