Claude Code的创造者Boris Cherny:当AI开始包办写代码,开发者真正该学什么?
最近,Y Combinator采访了Claude Code的创造者Boris Cherny,话题从Anthropic最新发布的Opus 5,一直谈到Claude Code的设计哲学,以及AI Agent正在如何改变软件开发。
访谈中有很多值得关注的内容。例如,随着模型能力提高,Claude Code已经删除了大约80%的系统提示词;开发者也不应该再像过去那样,把任务拆成非常详细的步骤交给模型,而应该告诉它目标、边界和完成标准,然后给它足够的空间自己寻找解决方案。Boris认为,很多人仍然在用半年前的方式使用今天的模型,过度限制AI,反而无法发挥它真正的能力。

但这场访谈里,最让我感兴趣的并不是Opus 5又能连续工作多久,也不是Claude Code未来可以同时调度多少个Agent,而是Boris给开发者和计算机专业学生的建议。
他的建议不是多学习几种编程语言,也不是研究更复杂的提示词,而是尽快使用这些工具,同时努力成为一个更全面的人。除了计算机和软件工程,还应该理解产品、设计、商业、数据分析,并且学会与用户交流。
在Boris看来,未来回报最高的,不只是那些熟练使用AI工具的人,而是那些知识面更广、能够跨越多个专业,并且理解自己究竟在解决什么问题的人。
这实际上提出了一个比“程序员会不会被AI替代”更现实的问题:当AI已经开始包办越来越多代码,今天仍在学校学习计算机的学生,究竟还应该学什么?
一、代码正在从核心能力变成基础设施
过去几十年里,软件开发一直有一个很高的门槛。一个人即使有很好的产品想法,也必须先学会编程语言、开发框架、数据库、服务器和各种工程工具,才有可能把想法变成可以运行的软件。
正因为实现成本很高,能够写代码本身就是一种稀缺能力。企业需要大量程序员,不只是因为软件需求很多,也是因为每一项需求都需要人把它转化为具体代码。
AI Coding正在改变这件事。
Boris此前曾说,对他自己的工作而言,编程已经在很大程度上成为一个“基本解决的问题”。他从2025年11月开始就没有再手工修改代码,每天提交的十几个甚至几十个PR,全部由Claude Code完成。我们当然不能因为Claude Code的创造者不再亲自写代码,就认为所有软件工程问题都已经解决,但这种变化至少说明,在最熟练使用AI工具的人群里,软件开发的工作方式已经完全不同。
我自己这两年使用AI Coding,也有非常明显的感受。过去需要花费大量时间查文档、寻找API、调试语法错误的工作,现在大部分都可以交给AI完成。即使面对一个不熟悉的开发框架,也不再需要先系统学习几个月,才敢开始做项目。
目前我的日常开发里,95%以上的代码都是AI编写的。真正需要我手工修改的代码已经非常少,很多时候,即使发现了问题,我也不会直接打开文件修改,而是把问题、预期结果和相关上下文交给AI,让它自己定位并完成调整。在开发DoseLoop,也就是“用药有数”这款App时,AI完成了100%的代码。我没有手写其中任何一行代码。
这并不意味着软件开发变得没有难度,而是难度正在发生转移。过去最困难的是如何把一个方案写成代码,今天越来越困难的是如何把问题说清楚,怎样设计系统,以及如何确认AI完成的结果是正确的。
代码不会消失,但它正在变得越来越像云服务器、电力和互联网:非常重要,却不再是只有少数专业人士才能掌握的资源。
二、计算机基础仍然重要,但学习它的目的变了
每当讨论AI Coding,就会出现一种很极端的观点:既然AI已经可以写代码,学生就没有必要再学习数据结构、算法、操作系统和数据库了。
我并不认同这种看法。
AI可以生成代码,不等于它生成的每一种方案都是正确的,更不等于使用者可以在完全不了解软件系统的情况下,长期维护一个复杂产品。一个人如果不理解数据库事务,就很难发现数据一致性的问题;不理解网络和并发,就无法判断一个系统为什么在用户增加后崩溃;不理解安全,就可能把AI生成的漏洞直接部署到生产环境。
计算机基础仍然是开发者判断系统是否合理的前提。变化在于,过去学习这些知识,主要是为了亲手完成实现;未来学习这些知识,更多是为了理解、设计和判断。
以前考试会要求学生在白纸上写出排序算法,是为了证明他有能力把算法实现出来。未来真正重要的,也许不再是能否凭记忆写出每一行代码,而是能否理解不同算法的成本,知道什么情况下应该使用它,以及能够判断AI生成的实现是否存在问题。
基础知识正在从一种生产技能,逐渐变成一种判断技能。
这和计算器出现以后,人们仍然需要学习数学是一样的。计算器替代了大量手工计算,却没有降低数学思维的价值。恰恰因为计算变得便宜,人们才有机会处理更复杂的问题。
AI对编程也会带来类似的变化。手工编写代码的比例会下降,但理解计算机系统、拆解复杂问题和判断技术方案的能力,反而会更加重要。
三、真正最先贬值的,是语法和工具熟练度
过去,一个开发者的职业竞争力经常表现为熟悉多少种语言、使用过多少框架,或者能否熟练记住某个工具的各种命令。
这些能力不会突然失去作用,但它们的价值正在快速下降。
编程语言、开发框架和工具,本来就是为了把人的意图转化为机器能够执行的指令。当AI可以完成这种翻译以后,熟记大量语法和API的意义自然会降低。
一个学生花几个月背诵某个框架的用法,可能还没有真正掌握,框架就已经更新了。即使他全部记住,AI也可以在几秒钟内查阅完整文档,并生成符合当前版本的代码。
真正能够长期保留价值的,不是某一种工具的具体操作,而是工具背后的原理。例如,为什么前端需要状态管理,为什么数据库需要索引,为什么大型系统需要异步任务,以及不同技术方案之间存在什么取舍。
这也是未来计算机教育需要改变的地方。学校当然还要教学生写代码,因为不经过实际编程,很难真正理解软件是如何运行的。但学习重点不应该停留在“能否写出来”,而应该进一步走向“为什么这样设计”“还可以怎样实现”以及“这种方案会产生什么后果”。
AI可以替代语法记忆,却不能自动替代一个人的系统理解。
四、找到值得解决的问题,比写出代码更难
当实现软件变得越来越容易,真正的瓶颈就会向更上游移动。
过去,很多产品没有出现,是因为开发成本太高。一个普通人即使发现了问题,也很难组织一支包括产品、设计、前端、后端和测试人员的团队,把它做成完整产品。
现在,一个人借助AI就可以完成过去一支小团队的工作。原型可以在几小时内完成,一个小型应用可能几天就能运行,技术实现不再是最难跨越的门槛。
但产品数量增加,并不意味着好产品也会按相同比例增加。
AI可以帮助开发者迅速实现一个功能,却无法自动回答用户是否真的需要这个功能;可以根据要求设计一个界面,却很难替代长期积累形成的审美和对用户行为的理解;也可以生成完整的商业计划,但不能保证用户愿意付钱。
当代码变得便宜,最稀缺的能力就不再是把需求实现出来,而是判断什么需求值得实现。
这需要开发者走出代码编辑器,理解真实世界中的人是如何工作、生活和作出选择的。一个医疗应用需要理解患者、医生和医院的实际流程;一个旅游产品需要理解游客在陌生环境中的焦虑和决策方式;一个企业软件则必须理解组织内部复杂的利益关系和业务规则。
这些知识不会自动存在于计算机专业的课程里,却决定了软件最终有没有价值。
未来最危险的情况,可能不再是开发者做不出产品,而是在AI帮助下,用非常高的效率做出一个没有人需要的产品。
五、产品、设计和商业,不再只是管理者的能力
在传统软件公司里,分工通常非常明确。产品经理负责定义需求,设计师负责界面和交互,程序员负责实现,市场和销售负责把产品卖出去。
这种分工建立在一个前提上:每个专业领域都有较高的执行成本,一个人很难跨越多个岗位完成全部工作。
AI正在降低这些专业之间的执行门槛。
产品经理可以直接让AI做出原型,设计师可以自己修改前端代码,开发者也可以完成需求分析、界面设计和数据分析。在Claude Code团队里,不只是工程师写代码,产品经理、设计师、工程管理者、数据科学家甚至财务人员也在写代码。Boris认为,工程、产品和设计之间已经出现了大量重叠,未来“软件工程师”可能逐渐变成更宽泛的“Builder”。
这并不意味着所有人都要成为每个领域的专家,而是说,只掌握单一执行技能的人会越来越容易受到AI影响。
一个优秀开发者仍然可以在基础设施、数据库或者安全领域拥有很深的专业能力,但他还需要理解这些技术最终服务于什么产品,用户为什么需要它,以及企业为什么愿意为它付出成本。
专业深度依然重要,只是专业深度必须与更广泛的现实理解结合起来。
过去我们经常把产品意识、设计感和商业判断看作程序员的加分项,未来它们可能会逐渐成为基本能力。因为当AI承担越来越多实现工作,开发者剩下的主要职责,就是决定方向、作出取舍并对最终结果负责。
六、学生应该从“完成作业”转向“创造产品”
传统计算机教育中的很多项目,本质上是在验证学生是否掌握了某项知识。老师规定题目、输入、输出和评分标准,学生只需要在明确边界内完成任务。
这种训练可以帮助学生学习基础知识,却很难培养面对真实问题的能力。
现实世界不会给出完整需求,也没有人提前告诉你正确答案。用户经常说不清自己需要什么,产品上线后会出现完全没有预料到的使用方式,技术方案还要受到成本、时间、安全和组织资源的限制。
因此,AI时代学生最好的学习方式,不只是完成更多编程题,而是尝试做出真正有人使用的东西。
这个产品不必很大,可以是一个解决自己问题的小工具,也可以是为同学、家人或者某个特定群体开发的应用。重要的是把它真正交给别人使用,并观察他们是否理解、是否愿意持续使用,以及产品到底解决了什么问题。
在这个过程中,学生才会发现,写出代码只是产品开发的一部分。他还需要采访用户、整理需求、设计交互、处理异常、保护数据、部署服务,并根据反馈不断调整。
AI可以帮助学生更快完成其中很多工作,但不能代替真实用户带来的反馈。
一个没有用户的课程项目,最多只能证明学生完成了题目;一个有人愿意持续使用的小产品,才能证明他理解了问题,并且有能力把技术转化为现实价值。
七、AI时代需要的不是更少学习,而是学习更多
有人可能会认为,既然AI已经能够承担大量工作,学生需要学习的内容应该越来越少。
实际情况很可能正好相反。
过去,程序员只要深入掌握一个技术领域,也可以找到相对稳定的位置。未来,纯粹的代码实现越来越容易被AI完成,开发者需要理解的范围反而会扩大。
他不仅要理解技术,还要理解产品;不仅要能够调用AI,还要能够验证AI;不仅要知道系统怎样运行,还要知道用户为什么使用、企业如何持续经营,以及技术可能给社会带来什么影响。
这并不是要求每个学生都成为全才,而是要建立一种跨领域学习的能力。一个人的核心专业仍然可以是软件工程,但他不能把自己限制在代码以内。
Boris给学生的建议,本质上不是放弃计算机科学,而是不要只学习计算机科学。他认为,最优秀的工程师往往同时具备其他能力:有人兼具产品和基础设施经验,有人具有很强的设计感,有人理解商业,也有人愿意长期与用户交流。
这种变化并不只属于计算机专业。随着AI进入设计、写作、金融、法律和科研,几乎每个专业都会面对类似问题:当AI可以完成本专业的大量执行工作,人还能提供什么价值?
答案不会是比AI执行得更快,而是提出更好的问题、作出更可靠的判断,并承担AI无法承担的责任。
八、会写代码依然重要,但只会写代码已经不够了
我不认为计算机专业会因为AI Coding出现而失去价值,软件也不会因为代码生成成本下降而减少。相反,当更多人拥有创造软件的能力,软件会进入更多行业,解决更多过去不值得开发或者无法开发的问题。
就像印刷术没有让写作消失,而是让阅读和写作进入更广泛的人群;摄影没有让艺术消失,而是改变了艺术的表现形式;电子表格也没有消灭会计,而是让企业可以处理更多数据。
AI Coding同样不会简单地消灭程序员,它会扩大能够创造软件的人群,同时重新定义专业开发者的价值。
过去,程序员的优势是能够把想法变成代码。未来,这项能力会被越来越多人拥有,甚至不需要他们真正理解每一行代码。
专业开发者的优势,将变成能够理解复杂系统、识别真正的问题、设计可靠的方案、判断AI的结果,并把技术、产品、用户和商业连接在一起。
所以,当AI开始包办写代码,计算机学生当然还应该学习编程,也应该学习算法、数据库、网络和操作系统。但不能再把学习的终点放在“找到一份写代码的工作”上。
更重要的问题是:你准备使用这些技术解决什么问题?你是否理解这个问题背后的真实世界?你能否判断AI给出的答案是正确的?你做出的东西,是否真的有人需要?
AI没有让学习编程失去意义,它只是让“只会编程”越来越不够。
过去,掌握代码意味着拥有创造软件的资格。未来,这种资格会变得越来越普遍。真正拉开人与人差距的,不再是谁能够写出更多代码,而是谁知道应该创造什么,并且能够让它真正产生价值。