
先说一下我上周的工作情况,因为我们人事变动,前端资源紧张,一些需求前端同学没有人力支持,我就试着用AI帮忙跨栈解决。然后上周我就改了6个代码库,有前端、后端、还有微信小程序,语言涉及Java、Python、JavaScript。代码绝大部分都是AI帮忙写的,这个时候你是不是开始觉得程序员这个行业危矣!但这个经历让我有产生了一些新想法,我先直接抛结论:AI会干掉大量初级程序员,但对高级程序员来说反而是一种能力增强。
为什么这么说?让我换个角度思考这个问题。假设没有AI,这些工作我依然能完成,只不过原本一周能搞定的事情可能需要两周,也许我需要多查些资料、多看看代码、多调试几次。但反过来想,如果只有AI没有我,不管给它多少时间,它产出都是0。另一件事,在今年的国际大学生程序设计大赛(ICPC)上(这可是编程领域的顶尖赛事,被誉为程序员的奥林匹克),GPT-5和Gemini都超越人类拿到了金牌,所以我可以很笃定的讲,写代码你绝对写不过头部的那几个AI。 结合这两件事,我得出一个结论:程序员的核心价值已经不再是写代码了,而是知道该做什么、该怎么做、以及如何管理好这个过程。AI可以是完美的执行者,但它还不足以成为决策者。
当AI能完成大部分代码编写工作时,程序员面临两种可能:如果无法与AI有效协同,可能被淘汰;如果善用AI提升生产力,则会变得更强大。这引出几个关键问题:
- 程序员的核心价值到底是什么? 如果写代码本身不再是壁垒,那什么才是我们不可替代的能力?
- 如何与AI协作才能发挥最大效能? 是简单地把AI当作代码生成工具,还是需要掌握新的协作方式?
- 什么样的程序员会被淘汰,什么样的会变得更强? 技术能力的分水岭会发生怎样的变化?
带着这些问题,让我们先明确AI时代程序员的新定位,然后再看如何在实际工作中践行这些角色。
AI时代程序员的三种新定位
1. 产品经理——决定做什么
决定应该实现什么样的功能,把控产品方向和需求。在使用AI之前,必须先搞清楚要解决什么问题,包括明确功能目标、梳理业务流程、定义验收标准。
举例来说,在这次修改6个代码库的过程中,我首先需要决策应该修改和增加哪些功能,这些功能与之前的功能如何配合协同才更合理。比如前端页面需要新增一个数据展示模块,我要先确定这个模块应该放在哪个位置、与现有功能如何交互、用户操作流程是否顺畅。
AI可以帮我写代码,但无法替我决定产品的功能规划和用户体验设计。只有把这些问题想清楚,才能给AI提供准确的上下文,让它生成符合预期的代码。
2. 架构师——决定怎么做
虽然以AI目前的能力,这个"架构师"仍需关注一些琐碎的细节,但核心职责是设计系统架构和技术方案。关键问题是:哪种方案更适合你当前的业务情况?成本更低?风险更小?
这需要基于业务背景、团队现状、历史技术债务、未来扩展规划等因素综合考虑,而这些都是AI所不了解的信息,所以它很难帮你做出最优决策。技术方案的选择必须由你来决定,包括选择合适的技术栈、设计系统架构、评估技术风险。
在我修改6个代码库的过程中,有些需要调整API接口,有些需要修改数据库表结构,有些需要重构前端组件。这些偏架构层面的决策都是我做的,AI只是帮我完成具体的实现。
3. 管理者——管好AI执行
这里管理的对象不是人,而是AI。与管理人类团队不同,AI协作需要采用更细致的微管理(Micromanagement)方式。因此,在与AI协作时,你需要像管理实习生一样,把任务拆解得足够细,每个环节都要明确要求和验收标准。
有效的AI协作需要遵循以下原则:
- 拆解任务 — 不要给AI一个大而模糊的任务,而是拆解成具体的小步骤。比如"实现用户登录功能"应该拆解为"创建登录API接口"、"添加参数校验"、"编写单元测试"等独立任务。
- 提供明确上下文 — 告诉AI当前代码的结构、使用的框架、命名规范、编码风格。例如不要说"优化这段代码",而要明确"将这段重复代码提取成公共方法"。
- 严格代码审查 — AI生成的代码必须逐行Review,检查逻辑正确性、异常处理、安全漏洞和性能问题,不能因为是AI写的就盲目信任。另外,Review不仅是为了找出问题,更是为了理解AI的实现思路,方便后续的维护和扩展。
- 持续反馈优化 — 如果AI的输出不符合预期,要明确指出问题在哪里,让它修改。这个过程可能需要多轮迭代。
总结
AI不会取代程序员,但会重新定义程序员的工作方式。未来的程序员不再是纯粹的代码编写者,而是懂业务的产品经理、懂技术的架构师、会管理的协调者。那些只会写代码、不思考业务和架构的程序员会被淘汰,而那些能有效驾驭AI、将其作为生产力工具的程序员会变得更强大。
关键在于:不要把AI当作威胁,而要把它当作助手;不要被动地担心被取代,而要主动地学习如何与AI协作。就像当年IDE的出现没有让程序员失业,反而让我们写代码更高效一样,AI也会成为我们工作中不可或缺的伙伴。
最后,如果你还在纠结"AI会不会取代程序员"这个问题,不如问问自己:我是在单纯地写代码,还是在做有价值的决策?我是在被动地完成任务,还是在主动地思考和创造? 答案决定了你在AI时代的位置。









