过去一年,写代码的日常被生成式 AI 深刻改变了:补全更快,样板代码更便宜,连不熟悉的语言也能「先跑起来再说」。很多人因此焦虑:程序员会被取代吗?
我觉得更准确的问题是: 当「把想法变成可运行代码」的成本下降后,哪些能力反而变得更稀缺? 真正的挑战,往往不在手指,而在判断。
挑战一:从「会写」到「会选」
AI 很擅长给出一种能编译的方案,但不保证这是你业务里该采用的方案。接口要不要拆、状态放哪一层、错误如何对用户呈现,这些选择依赖上下文。
以前时间花在实现细节上,现在更需要花在:需求边界、约束条件、取舍理由。写得快,选错了,返工会更快也更贵。
挑战二:验证成本没有消失
生成代码的成本下降,并不等于验证成本下降。安全漏洞、竞态、边界数据、权限漏洞、可维护性,这些仍然要人负责。
- 它是否真的覆盖了失败路径?
- 依赖是否可信、许可证是否合规?
- 半年后别人能不能读懂并改动?
- 出了线上问题,日志和回滚是否准备好了?
「AI 写的」不能成为质量免责声明。上线的人,依然是最终责任人。
挑战三:基础能力被表面繁荣掩盖
如果长期只靠提示词拼接结果,调试、读栈、理解网络与存储的肌肉会退化。一旦模型给错方向,你会缺少把系统「拆开看」的能力。
更稳妥的姿态是:把 AI 当加速器,而不是外挂大脑。你仍然要会最小化复现、会读文档、会设计实验证明自己的假设。
挑战四:沟通与产品感权重上升
当实现速度变快,瓶颈更容易出现在:问题定义是否清楚、跨角色是否对齐、方案是否服务真实用户。程序员越来越需要把「技术方案」翻译成「业务影响」。
这不是让每个人都去做经理,而是:能说清楚为什么这样做、不做的风险是什么,会越来越值钱。
挑战五:持续学习的节奏被拉高
工具链变化更快了。模型、IDE、代理工作流、评测方式都在迭代。完全不跟会掉队,什么都跟会被噪声淹没。
我自己的原则比较简单:
- 跟与工作直接相关的:能立刻提升交付质量的工具
- 跟底层不变的:系统、网络、数据、工程纪律
- 对热闹但与当前问题无关的:保持观察,不急着全部押上
那程序员还剩什么?
很多。把模糊目标变成可执行系统,仍然需要人。对复杂现场做诊断,仍然需要人。在伦理、隐私、安全上做取舍,仍然需要人。对结果负责,尤其需要人。
AI 降低了「从零写出第一版」的门槛,却提高了「对系统整体负责」的标准。未来更吃香的,未必是敲得最快的人,而是: 提问准、验证狠、沟通清、敢担责 的人。
工具在变,职业的内核没变:用可靠的方式,把现实世界里的问题变成可维护的系统。
焦虑可以有,但最好把焦虑换成训练清单:这周我验证了什么?我独立定位过哪个问题?我有没有把一次 AI 辅助的交付,变成可复用的工程经验?
这些清单,比反复刷「会不会被取代」的标题,更有用。