☰
AI Agent重塑软件工程:从写代码到审代码的范式转移
2026/11/2 8:39:47 网站建设 项目流程

1. DHH的一席话,到底戳中了谁的神经

1.1 DHH是谁,以及他这句话的分量在哪

如果你常年混迹于Web开发圈,DHH这三个字母你不会陌生。他是Ruby on Rails的创造者,也是Basecamp和HEY的联合创始人,一直以“反主流、反复杂”著称。过去几年,他对AI编程工具的态度相当冷淡,甚至几次公开吐槽AI写出来的代码质量堪忧、过度封装、难以维护。在很多人眼里,他就是“传统手写代码派”的一面旗帜。

所以当这面旗帜突然转向,公开表示手写代码的时代正在落幕、AI Agent正在重塑整个软件工程的时候,引发的震动不难想象。这不是一个蹭热度的博主在喊口号,而是一个写了二十年生产代码、亲手缔造过两个成功产品的老手,在见过足够多的真实项目之后给出的判断。

我身边不少朋友看到这个消息的第一反应是:连DHH都变了吗?第二反应才是:他说得到底对不对,对我们的日常工作到底意味着什么。作为长期在业务一线做架构、带团队、写代码的人,我的看法比较坦率:他这句话不是危言耸听,但也并非字面意义上“以后没人写代码了”,而是整个软件生产的重心会发生一次明显的迁移。

1.2 他真正想说的,是“写代码”这个动作的贬值

很多讨论都把焦点放在“AI能不能写代码”上,其实走偏了。DHH真正戳中的痛点是:在现代软件工程里,“把思路变成语法正确的代码”这件事本身,正在从高价值活动变成低价值活动。十年前,你花一个下午手写一个复杂的SQL联表查询,会被同事当大神;今天,你把同样的需求丢给Agent,它在几秒内交出可运行版本。

注意,我在这里刻意区分了两个概念:写出可运行的代码,和交付可用的软件,完全是两码事。DHH讲“手写代码时代落幕”,不是说程序员这个岗位要消失了,而是说我们过去用来衡量工程师水平的那把尺子——谁的代码敲得快、谁的语法记得牢、谁能手写复杂算法——正在快速失效。软件工程的价值重心,正在从“怎么把代码写出来”,转移到“怎么把需求讲清楚、怎么让系统稳定跑、怎么让AI产出物符合业务预期”。

这个转移,我在过去半年的实际项目里体会相当深刻。以前我接到一个需求,第一反应是打开编辑器开始搭架子;现在我接到需求,第一反应是花更多时间把需求文档、边界条件、验收标准敲定,然后让Agent去产出初稿,我再集中精力做审查、修正、压性能。产出速度反而是快了一倍不止,但工作内容和工作节奏已经完全不一样了。

1.3 为什么是现在,而不是三年前

AI写代码不是今年才有的事,GitHub Copilot这类工具在2021年就出现了。为什么DHH的判断放在现在才显得有说服力?这里有个很关键的技术分水岭:Agent,也就是具备自主规划、多步执行、工具调用能力的AI系统,和单纯的“代码补全”“代码生成”完全是两代产品。

补全工具解决的是“这一行下一个单词是什么”,Agent解决的是“这个需求要从哪几个文件开始改、改完怎么验证、报错了怎么修正”。前者是打字员的替代品,后者是初级工程师的替代品。近几年主流大模型在长上下文、工具调用、多轮纠错上的进展,让Agent第一次有了在真实项目里连续干活的可能性,而不再只是写个demo、写个函数片段。

同时,软件工程自身也到了极度内卷的节点。业务方要求更快交付、更短迭代周期,而团队规模并没有等比例扩张。我接触的不少创业团队,两三个工程师要撑起一整个完整产品线,过去这几乎不可能,现在配合Agent,虽然风险不小,但至少有了尝试的底气。DHH本身就是独立开发者的精神偶像,他说这句话,背后一定有自己在小团队里用Agent提升产能的真实体感。这种“小团队+强Agent”的组合,很可能就是下一轮软件生产的常态。

2. Agent到底在哪些环节重塑了软件工程

2.1 从“人写代码”到“人审代码”:最直观的一层变化

软件工程的传统流程大致是:需求分析、架构设计、编码、测试、部署、运维。Agent最直接冲击的就是“编码”这一环,但它的影响不会停在这一环,而会向上下游蔓延。

先看编码本身。以前写一个订单超时自动关闭的功能,你需要手动写定时任务、写数据库状态更新、写异常日志、处理幂等;现在你只需要向Agent准确描述业务规则:订单创建后30分钟未支付,自动更新为已关闭状态,同一订单不能重复关闭,关闭操作需要记录操作日志。Agent会帮你把定时任务的选型、表结构字段、日志埋点一并给出初稿,甚至直接生成带注释的完整代码。

这时候工程师的核心工作变成了“审”。你要检查它选的方案是否符合现有架构、表索引是否合理、边界条件有没有覆盖、异常分支会不会导致数据不一致。我实测下来,一个有五年经验的工程师,配合Agent,能把编码阶段的效率提升50%以上;但前提是你得能一眼看出Agent埋下的雷。如果你的代码水平不足以上升到审查者层面,工具带来的红利很快会被线上故障吞掉。

2.2 测试的重新定义:Agent既是生产者,也是质检员

测试环节的变化比编码更隐蔽,但杀伤力更大。过去写单元测试是一份苦差事,很多团队测试覆盖率低得一塌糊涂,就是因为“写业务代码都来不及,谁有空给你补测试”。Agent介入后,我明显感觉到团队对测试的态度从“交作业”变成了“真正能用”。

原因很简单:Agent写测试用例的速度足够快,而工程师审查测试用例的成本比审查业务代码低得多。你给它一个函数,它能自动生成正常路径、异常路径、边界值的多组用例;你给它一个接口,它能根据参数定义自动构造合法的和非法的请求。这些事以前需要半天,现在半小时搞定。

更关键的是,Agent还能反向推动测试策略的完善。比如我在一个支付项目中,让Agent帮我审查一段退款逻辑,它不仅能指出代码本身的问题,还能主动提醒我:这个接口缺少对重复退款请求的幂等校验,并顺手补上了对应的测试用例。这种“发现问题并给出验证方案”的能力,已经超出了传统工具的范围,是真的在按照工程师的思维方式工作。当然,这里要说清楚,Agent生成的测试一样要人审,尤其是断言写得太弱、只跑通不校验这类问题,非常常见。

2.3 部署与运维的日常:从“人盯系统”到“Agent值守”

部署运维这个环节,以前被认为是“经验活”,要懂网络、懂Linux、懂中间件,出了问题还要能快速定位。Agent的出现让这个门槛骤降了一截。我现在维护的几个服务,日常操作基本都在跟Agent对话:把CI流程里报错的信息丢给它,它能快速给出错误定位和修复建议;把线上日志的异常片段贴给它,它能给出可能的原因列表,并告诉你下一步该查哪个指标。

我印象最深的一次是处理一个内存泄漏问题。服务运行几天后内存持续走高,老手都要折腾一阵。我当时把堆内存快照的分析报告喂给Agent,它给出的判断是某个缓存使用了静态集合且没有设置淘汰策略,导致对象无法被回收。我沿着它的思路去查代码,果然在一个工具类里发现了一个被当作“临时缓存”用的static List,越积越多。这个排查过程走下来不到半小时,放在以前至少要半天。

但我要特别提醒一点:Agent在运维领域的强项是“知识检索+经验匹配”,它的短板是“不掌握你系统的实时状态”。所以线上告警的最终处置,尤其是涉及数据修复、服务回滚这类高风险操作,你还是得自己来。它可以做你的参谋,但不能当你的替身。

2.4 团队协作方式:沟通成本变成了主要成本

Agent重塑软件工程最容易被忽略的一点,是它改变了团队内部的沟通方式。传统的协作链条是“产品经理-技术负责人-工程师”,需求经过层层转述,信息损耗严重。引入Agent之后,我观察到一种新的协作模式正在形成:产品经理直接跟Agent对话,把原始需求拆成具体的功能点和技术约束,再由工程师负责审查、补充、拍板。

这个模式的启动成本不低。它要求产品经理能把“用户点这个按钮后页面要提示什么”这种模糊想法,转译成“当用户点击按钮时,调用某接口,成功时展示提示A,失败时展示提示B”这种Agent能理解的描述。很多产品经理一开始完全做不到,但一旦团队磨合顺畅,效率提升非常明显——因为在传统模式里,产品经理要把需求讲给工程师,工程师要理解后再翻译成技术方案,这个“翻译”过程才是需求变味的重灾区。Agent帮你省掉了这层翻译,但前提是前面的需求描述得足够精确。从这个角度看,Agent并没有消灭沟通,而是把沟通的价值前移了:你把需求讲得越好,Agent产出越接近可用;你讲得含糊,它给你的就是一堆看着像样但没法落地的废代码。

3. 一线实操:Agent进入真实工程后的布局思路

3.1 先想清楚哪些活该交出去,哪些必须自己握在手里

Agent不是万能钥匙,用不好反而添乱。我给自己定了几条简单的分工原则,实践证明挺好用。

适合交给Agent的:有明确规则、重复度高、验证标准清晰的活。比如写CRUD接口、生成单元测试、补注释和文档、批量修改同类型代码、数据格式转换、写一次性脚本。这类活的特点是产出质量容易判断,错了也容易发现。

不适合交给Agent的:涉及全局架构取舍、性能调优上限、数据一致性策略、复杂业务规则联动、团队接口约定这类高语境决策。不是说Agent完全给不出答案,而是它的答案通常“看起来合理但缺乏现场感”,你没有亲身踩过这个系统的坑,就很难判断它给你的方案是不是埋着雷。最典型的例子是数据库选型和索引设计,Agent给出的常规建议往往没问题,但一旦数据量级上来、并发模型特殊,经验的价值就完全压过工具。

可以尝试但需要盯紧的:遗留系统的重构、跨模块依赖分析、监控告警策略调整。这些事Agent能提供很大帮助,但输出结果必须经过严格评审。

3.2 我推荐的Agent落地路径:从辅助编码到半自主执行

如果你所在团队刚刚开始接触Agent,不建议一上来就追求“全自动写代码”,这个步子太大了,容易扯着自己。我建议分三个阶段走。

第一阶段:把Agent当高级补全和即时问答工具用。让它帮忙写函数、解释报错、生成测试。这个阶段的目标是让团队成员熟悉它的脾气,知道它擅长什么、不擅长什么。这个阶段千万不要给它过大的权限,也不要让它直接改公共代码。

第二阶段:针对单文件、单模块级别的任务,给Agent明确的范围和验收标准,让它产出完整改动,你再审查后合入。比如让它“给某个接口增加分页参数,并同步修改前端调用处的两行代码”。这个阶段的核心目标是建立“AI产出物要有审查流程”的团队习惯。

第三阶段:在积累了足够多成功和失败样本、对Agent的能力边界有了清晰认知之后,再把它引入到跨文件、跨模块的较大任务里,甚至可以配合自动化测试和CI流程,让它在沙盒环境里自主跑通验证再提交。这个阶段最考验的是团队的工程约束能力,因为Agent会出于“省事”心理选择最顺手的路径,而这些路径往往不是最优的。

3.3 一个真实的模块交付案例:从需求到合入

讲一个我在实际项目里的完整案例,方便你理解这套流程怎么跑。

需求背景:一个后台管理系统的“订单导出”功能,原本只支持按时间范围导出,现在要求增加“按订单状态筛选”和“导出字段自定义”。数据量不大,单表千万级以内,但对导出性能和内存占用有要求,不能把全量数据加载到内存里再写Excel。

我的做法是:先花二十分钟把需求整理成Agent能理解的描述——包括表结构、现有导出接口的路径、状态字段的枚举值、字段自定义的交互逻辑、性能约束(必须分批查询+流式写入),以及验收标准。然后把这段描述连同相关代码文件一起丢给Agent。

Agent给出的方案出乎意料地完整:它新建了一个导出配置对象,在数据库查询部分用了游标分批读取,在Excel写入部分用了流式API,还顺手给接口加了一个防止重复提交的幂等标记。整体代码质量不错,但我在审查时发现了两个问题:一是它对自定义字段的校验不够严格,用户传入了不存在的字段名时不会报错而是直接忽略,这个行为在管理后台容易被诟病;二是它把状态筛选写成了精确匹配,没有考虑到某些状态下单导出应该按历史状态记录而不是当前状态。

我把这两个问题反馈给Agent,它快速给出了修改版本。在我确认逻辑无误之后,又让它补了对应的单元测试和接口文档。整个流程下来,从需求到合入花了大概四十分钟,其中我的有效工作时间大概只有一半,剩下的时间是等待和复查。放在以前,这个功能我一个人写至少需要大半天。

这个案例里最重要的是我的角色没有被弱化,反而被强化了——如果没有前期把需求边界想清楚,以及审查时对业务规则的深刻理解,Agent产出的初稿就成了带着隐患的废品。工具提效的前提,是使用工具的人依然保持完整的工程判断力。

4. Agent时代工程师的新能力栈:该怎么补课

4.1 核心编程能力没有被替代,而是换了考察方式

很多人担心一个问题:既然Agent都能写代码了,我还需要苦练编码吗?我的回答是:要练,但练的重点变了。

过去我们练编码,练的是“从0到1把功能写出来”,记忆语法、熟悉API、掌握设计模式。现在有了Agent,这些知识本身不再是瓶颈,真正的瓶颈变成了三个新能力。

第一,读代码的能力。你不再需要频繁亲手写代码,但你每天要看大量Agent生成的代码。你能不能在20秒内扫完一段逻辑,判断出它的复杂度、边界漏洞、潜在卡顿点,直接决定了Agent在你手里是帮手还是麻烦。这个能力只能靠大量阅读高质量代码来积累,没有捷径。

第二,拆解需求的能力。Agent听不懂“这个页面优化一下”这种话,它需要的是“这个接口在参数X为空时直接返回错误码Y,而不是默认查询最近一个月数据”这种精确描述。能把模糊的、口语化的业务需求,拆解成结构化、无歧义、可验证的技术指令,正在成为新一代工程师最核心的竞争力。

第三,验证结果的能力。Agent跟你说“改完了”,你不能只回一个“好”,你得能判断它改得对不对。你要么通过代码审查来判断,要么通过运行测试来验证,最怕的就是连验证手段都没有就直接合入。任何一次Agent产出物的异常,都值得你追根溯源,因为你放过的每一个问题,都会在线上十倍奉还。

4.2 架构和业务理解,成了区分工程师层次的分水岭

Agent能替代掉的是“执行层”的大部分工作,但在软件工程里,真正决定项目成败的从来不是执行,而是架构设计和业务理解。

架构决策这件事,Agent目前给不出真正意义上的“最优解”。它可以帮你罗列微服务和服务网格的优缺点,可以给你画出常见的容灾架构图,但当你要在“快速上线”和“长期可演进”之间做取舍、在“自研中间件”和“引入开源方案”之间下决心时,它给不了你基于团队现状、成本预算和历史包袱的综合判断。这些判断依赖“对这个团队、这个系统、这个业务多年的浸染”,AI没有这种“现场感”。

业务理解更是如此。一个写了十年电商系统的老手,知道“库存扣减”和“订单创建”必须放在同一个事务里,知道“优惠券过期”要考虑用户已领取未使用的状态,这些知识不在任何一本教科书里,只存在于无数次线上故障和产品复盘里。Agent可以从文档里学到规则,但学不到“为什么这个规则会存在”背后的历史。

所以我会给所有年轻工程师一个建议:**不要再花大量时间背API、背框架、背面试八股,把精力放到理解你所在行业的业务逻辑、搞懂你系统的数据流和状态机、多参与线上故障的复盘和架构评审上去。**这些才是Agent时代真正无法替代的经验壁垒。

4.3 新工具链:每个人都在重新学习“怎么和Agent对话”

工具适应速度,正在拉开工程师之间的差距。我这里说的不是“会不会用某个具体产品”,而是“能不能系统性地和Agent协作”。

我目前的工作流里,Agent已经深入到了几个关键节点:需求描述阶段,我会用固定的结构化模板把需求拆成“背景、输入、输出、约束、验收标准”五段式;代码实现阶段,我会把相关上下文打包给Agent,让它产出候选方案;审查阶段,我会带着“数据安全、边界条件、性能开销、代码风格一致性”四个检查维度逐项过它的产出。

这套流程的熟练度,大概花了我一个月左右才真正稳定下来。初期我踩过不少坑,最典型的是上下文给得不够,Agent给出的方案驴唇不对马嘴。后来我养成了一个习惯,跟Agent协作时,一律先把涉及的文件、已有的接口签名、表结构说明、相关技术栈约定附上再开始,宁多勿少。毫不夸张地说,你给Agent喂的上下文质量,和它产出的代码质量是严格正相关的,这是我认为Agent时代最值得打磨的工程技能。

要不要学相关框架?我的建议是感兴趣可以接触,真到生产环境还是以“能解决实际问题”为准。框架的价值在于抽象和简化,但如果你连底层的逻辑都没摸过,出了诡异问题你连排查方向都没有。反而是一线最基本的工具——Git协作、Shell命令、容器化、CI配置、API调试——这些永远不会过时,它们是你审查、验证、部署Agent产出的基础设施。

5. 那些被热搜反复提起的概念,到底该关注什么

5.1 吴恩达的Agent教程,为什么值得每个人看一看

热词里“吴恩达Agent教程”出现了,这里多说几句。吴恩达是AI教育领域最有影响力的人之一,他反复讲Agent不是“能聊天的模型”,而是“能调用工具并自我纠错的系统”。他对Agent的定义其实非常朴素,强调的核心是“Agentic Workflow”——让模型在多个环节里反复迭代、尝试、反馈、修正,而不是指望一次对话就给出完美答案。

这一点放到软件工程里格外重要。我此前提到Agent能“多步执行、报错了自己修”,背后的机理正是这种迭代式工作流。你给Agent一个任务,它先制定计划、再逐步执行,每执行一步就检查结果,不理想就调整策略再来。这种能力在代码生成场景里的表现就是:它可能一开始写出的代码跑不通,但它能读懂报错、修改代码、重新运行,直到通过。这个“自我纠错”的过程,是传统代码生成工具完全不具备的。

我的建议是,你可以把他的系列教程当作一个理论框架,但真正的学习一定发生在实战里。自己动手把一个小功能交给Agent去做,观察它怎么规划步骤、怎么应对报错、在什么情况下会放弃或者跑偏,这个过程比看十个小时教程都管用。

5.2 AI Agent怎么扛并发:工程化的终极考题

热词里还有一条“AI Agent怎么扛并发”,很有意思,这戳中了很多人的一个误区——以为Agent是万能的,什么任务丢给它都能像高性能服务一样秒回。实际上,Agent本身通常不是一个高并发的处理系统,它更像是一个“按需调度的大脑”。

一个Agent在处理任务时,内部涉及模型推理、工具调用、多轮上下文维护,每一步都可能耗时数秒甚至更长。如果直接把线上请求全部转给Agent处理,让它去实时写代码或者实时做数据分析,并发一上来,立刻就会超时、排队、拖垮体验。所以Agent落地时的关键工程问题,一定是并发模型怎么设计。

我在实际项目里的做法是两层结构:对用户侧,依然提供轻量的即时接口,快速响应用户操作;对Agent侧,把重计算任务放进异步队列,由工作节点串行或小并发处理,结果通过回调或轮询返回。这本质上是一个“前台快、后台慢”的架构,用户的交互不被Agent的推理时间阻塞。很多人把“让Agent跑起来”想得太简单,真到生产环境,队列、重试、超时、状态存储,一个都不能少。

5.3 安全边界:Agent越权是真实风险,不是科幻情节

这次热搜里也有“Agent安全”相关的词条,我特别想强调这一点,因为在真正的工程环境里,Agent的权限管理是一个必须严肃对待的问题。

Agent要高效工作,就得让它能读代码、改文件、跑命令、调接口——这些权限组合在一起,已经接近一个开发者的完整权限了。但它和真人开发者最大的不同是,它没有“分寸感”,它不会意识到“这个目录在生产环境,不能随便动”;它也不会因为“这个是线上高危操作”而主动停下来跟你确认,除非你事先做了约束。

我的安全底线很简单:**Agent只能在隔离环境里执行破坏性操作,任何对主分支的写操作都必须经过人工审核的拉取请求流程;任何涉及生产数据、密钥、支付相关的操作,一律禁止Agent直接触碰。**如果你的Agent工具支持沙盒模式,建议默认开启。虽然会牺牲一点便利性,但相比“Agent因为误操作把测试库数据清了”这种灾难,这点牺牲太值得了。

另一个容易被忽视的安全点是Agent的记忆和上下文。Agent在多轮对话里保存的“记忆”,可能会被后续任务中的恶意输入污染——如果你处理的是外部传来的数据,要警惕prompt注入风险,攻击者可能通过“忽略之前的指令”这类方式诱导Agent执行违规操作。不要觉得这是危言耸听,我自己在用Agent处理用户上传的文本时,就亲自遇到过内容里暗藏的指令性语句。处理这类问题的思路是:对Agent的输入做预处理和隔离,涉及的敏感操作一律通过程序化校验,而不是依赖Agent的“自觉”。

6. 身边朋友问得最多的问题:我的实践解答

6.1 Agent生成代码质量飘忽不定,怎么稳定下来

这是问得最多的。同一个Agent,有时候写出来的代码堪称惊艳,有时候连最简单的功能都实现得稀烂。我总结下来,质量波动的主要原因不在“模型状态”,而在“输入质量”。

你跟它描述需求时,用什么句式、给多少上下文、有没有附带示例,直接决定输出质量。举个例子,你让它“优化一个接口性能”,它往往会给出很泛泛的建议;但如果你告诉它“这个接口在参数有值时走了全表扫描,我怀疑是索引失效,先看看执行计划再决定怎么改”,它给出的方案就会精准得多。

所以稳定Agent输出质量的最好方法,不是等它变聪明,而是整理一套自己的描述模板。我习惯把需求拆成:背景与目标、现有代码路径、输入输出定义、约束条件、验收标准。每次照这个模板写,输出的可用率会明显提升。

6.2 代码审查工具是变重了还是变轻了

很多人直觉上以为有了Agent,代码审查就可以放松了,我强烈反对这种想法。恰恰相反,Agent介入后,代码审查的重要性不降反升,而且是几何级上升。

道理很简单:以前你写的每一行代码都是经过自己脑子思考的,你知道自己为什么这么写;Agent写的代码,它脑子里的推理过程不会完整呈现在注释里。你看到一个调用很奇怪的函数,你无法从前因后果里判断它是不是搞错了。所以每一条Agent提交的代码,你都要带着“挑刺”的心态去审,而不是带着“信任”的心态去读。

我给自己定了一条规矩:**凡是Agent生成超过50行的代码改动,一律要求附上它自己的变更说明。**说明里要讲清楚改了哪些文件、为什么这么改、影响范围是什么。这个要求能逼着Agent把思路外显出来,也让审查变得有的放矢。如果你发现某次改动的说明含糊、理由牵强,那基本可以断定这段代码质量堪忧,直接打回重做比下去修修补补更省事。

6.3 大龄工程师会不会被Agent淘汰

这个问题几乎每次技术聚会都会有人问。讲真,我觉得被淘汰的不是“年纪大的工程师”,而是“停止了成长、靠着旧经验吃老本的工程师”。

经验丰富的老工程师,只要愿意拥抱Agent,优势反而会被放大。他们的架构判断力、业务直觉、踩坑记忆,是Agent不具备的;而Agent帮他们省掉的重复劳动,可以让他们把精力投入到更高级的系统设计和团队指导里。

真正危险的是那种抗拒变化、坚持“过去二十年都是这么干的”、拒绝学习新工具新流程的人。不是AI淘汰了他们,是时代淘汰了不愿意跟上时代的人。这个逻辑,放到任何一个技术变革周期里都成立。

6.4 面对“Agent会不会失控”的担心,我的态度

最后说一个偏哲学但绕不开的问题:Agent会不会在某天失控,自己决定写一堆没人要的功能?

我的观察是,目前的Agent本质上还是一个“高级的执行工具”,它的所有行为都源自于你的输入和它所处的环境约束。它不会自己产生“我要去干一件坏事”的动机,但它会在无人把控时,顺着最省力的方向一路跑下去,产出一些看起来很合理但其实偏离目标的代码。

所以“失控”的真实现法不是“它产生了自我意识”,而是“你给了它太大的自主权,却没有给它足够的校验关卡”。你只要守住两条线——一是权限最小化,不让它接触没有必要的生产环境;二是一切输出经过审查再进主干——Agent就永远只是一个高效的工具,而不是一个脱缰的野马。

7. 我的阶段性结论:工具在变,工程本质没有变

7.1 软件工程的核心,从来不是为了写代码

回顾DHH那句话,以及围绕它展开的这么多讨论,我最想强调的一点是:软件工程的核心目标从来不是“写代码”,而是“交付可用的软件”。代码只是实现目标的手段,不是目的本身。Agent动摇了“手写代码”的地位,但它没有动摇“交付软件”这个根本逻辑。

只要这个根本逻辑不变,软件工程里的几条铁律就永远不会过时:你要理解业务,才知道自己该构建什么;你要有能力验证,才知道自己构建的东西对不对;你要懂得运维和监控,才知道线上系统跑得稳不稳;你要有敏锐的安全意识,才知道哪些东西碰不得。这些能力,Agent给不了你,只能靠你自己在实际项目里一点点积累。

在我最近的观察里,凡是在Agent浪潮里真正受益的团队,都不是因为工具用得最早、最激进,而是因为团队的工程基本功扎实——架构评审、代码审查、测试覆盖、灰度发布、故障复盘,一样没落。Agent帮他们做的,是在这些固定流程不变的情况下,把每一步里的重复劳动压缩掉。这不叫“被重塑”,这更像“本来就该有的样子,只是现在更高效了”。

7.2 一个给所有正在焦虑的人的实操建议

如果你正在担心“All you need is Agent是不是真的”“我要不要彻底转向”,我的建议是先别急着下结论,也别急着大动作转型。花一周时间,挑一个不那么重要的模块,用Agent走一遍完整的开发流程:从写需求描述、生成代码、自测、审查到合入。全程记录你花了多少时间、踩了多少坑、对它产出的信任度怎么变化。

一周之后,你对“Agent重塑软件工程”这件事会有自己的答案,而且这个答案会比任何大V的论断都贴近你的实际处境。我个人走完这一轮之后,体会是:**手写代码确实在退场,但手写代码的人不会退场——前提是你愿意换一种姿势拥抱这场变化。**工具来来去去,真正的工程师精神从来都是一件事:在快速变化里,持续生产可靠的、可维护的软件。这一点,从DHH做Rails的时代到Agent时代,从未变过。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询