这两年聊软件工程十个群里八个在聊AI-Native可你要是把“AI-Native SDLC”拆开去问多数人的理解还停留在“用AI帮我写代码”或者“装一个能自动补全的IDE插件”这个层面。实际上AI-Native SDLC是让AI从需求分析、架构设计、编码、测试、代码评审一路参与到持续集成和线上运维成为整个软件生命周期里的一等公民而不是某个环节的临时外挂。我自己的工程师角色也发生了明显变化从“亲手写每一行代码”变成“定义上下文、设计约束、做关键决策、把质量关”。这篇文章会结合我在团队里跑了一年多AI-Native流程的真实经验把完整的实践套路、工具选型逻辑、高频prompt模板以及踩过的坑整理出来。适合正在做技术管理或研发效能改进的人参考也适合那些从“个人用AI爽一爽”过渡到“团队级落地”的工程师。1. AI-Native SDLC的本质不是给SDLC加个AI花边1.1 传统SDLC的产物流问题出在哪里传统软件开发生命周期有一个很致命的地方每个阶段都会产生“给人类看的产物”。需求阶段写自然语言文档设计阶段画架构图和写设计文档编码阶段产生代码测试阶段写测试报告运维阶段补各种wiki。听起来很顺但这些产物彼此之间的信息传递是断裂的文档写归写代码改归改几十年了也没真正打通。更麻烦的是这些产物对AI来说非常难消费。你让AI去读一份过时的设计文档它读得再认真也只能基于错误信息输出结论。我常跟同事打一个比方AI是团队新来的实习生你把它扔进一个只有结论、没有上下文的会议室它当然什么都干不了。传统SDLC的核心问题不是“AI不够强”而是整个流程根本没有为“机器可读”设计过。所以AI-Native SDLC的第一步不是买工具而是重新审视每个阶段应该产出什么才能让AI顺利衔接下一阶段。需求不只是给产品经理看的也是给测试生成器和代码实现器看的。设计不只是给人做评审的也是给编码Agent做约束的。这才是“AI-Native”和“AI辅助”的分水岭。1.2 AI辅助与AI-Native的区别主驾和副驾换了位置很多人以为AI-Native就是把AI从副驾挪到主驾人撒手不管了其实完全不是。我更愿意用驾驶辅助的级别来类比AI辅助像L2级辅助驾驶系统帮你补全代码、修小bug但方向盘一直在人手里路线也是人定的。AI-Native更像是L3级有条件自动驾驶在明确的路段里AI可以自己完成一段完整的驾驶任务但人依然是安全员负责划边界、设目的地、在关键路口接管。这个区别在工程上表现得很具体。AI辅助的场景里PR还是人写的描述信息跟代码逻辑可能脱节。AI-Native的场景里PR描述由AI根据diff自动生成代码审查先由AI过一遍逻辑漏洞提测前AI已经补了一批测试用例。人做的事情不是“从零写字”而是审查AI的产出是否有问题。打个更容易理解的比方过去你写一篇文章键盘上一个字一个字敲。AI-Native是你先写了一个非常详细的大纲然后让AI把大纲扩充成文再逐段校对。整个人还是内容的第一责任人但工作方式已经完全不同了。我自己的体会是能力的瓶颈变了不再是“写得出”而是“你是否能清晰表达需求以及是否有能力判断产出质量”。1.3 核心范式四个关键转变我归纳了一下AI-Native SDLC对流程的影响集中在四个转变上。第一文档从“给人看”变成“给模型看”。这不是说人不看了而是文档的首要读者变了。AI模型没有耐心从五十页文档里自己挖线索这跟人一样。你得把仓库结构、业务规则、技术约束写在AI最容易找到的地方。我在团队里推了一个约定每个模块根目录必须有一份AI-friendly的README里面写清楚模块职责、关联文件、关键约定。第二代码从“最终产物”变成“中间产物”。传统视角里代码是交付物但在AI-Native流程里代码更多是“在当前上下文约束下的一个解”。需求变了约束变了AI重新生成并不心疼。这就要求代码的可读性、结构化程度更高让AI每次生成时都能快速理解现状而不是把过去代码当不可碰的祖传宝贝。第三测试从“事后验证”变成“事前约束”。传统流程里测试是开发完之后才补的事在AI-Native流程里测试用例是需求阶段就写好的。AI生成的代码必须通过这些测试才算合格。这有点像TDD的思路但触发者从人变成了系统。第四运维从“看监控”变成“对话排查”。以前出线上问题工程师盯面板、翻日志、查链路。现在AI可以把失败的日志聚类、给出可能根因并用自然语言把排查过程讲给你听。你不再需要从密密麻麻的堆栈里肉眼找线索而是直接问AI“这个报错跟我们最近哪个变更相关”它能基于仓库信息和日志给出排序后的答案。2. 准备阶段先把上下文工程的地基打好2.1 模型选型的三个判断维度我经常被问“你们用的什么模型”。说实话模型选择没有标准答案但我有三条判断标准编码能力、长上下文处理能力、工具调用能力。编码能力不用多说代码生成质量直接决定开发体验。长上下文处理能力有一点容易被忽略真正的工程量往往需要同时理解多个文件我试过往上下文里塞过几十个文件有些模型到后面就开始“忘事”所以选型时一定要测一个场景——把仓库里五个相关的类丢进去让它跨文件重构看它能记住多少信息。工具调用能力决定了Agent能不能拉取仓库文件、执行测试、读取日志这直接影响AI在CI流水线里能干多少活。部署方式上如果项目涉及敏感业务数据建议考虑私有化部署或企业内部API网关。最好不要让每个工程师自己随便选模型、随便接外部服务因为后面会带来上下文不统一、prompt无法复用、数据安全失控几个问题。我给团队定的规矩是默认用两个模型一个强代码能力的执行Coding Agent一个强通用推理能力的Review Agent各干各的活。2.2 仓库索引和“AI友好文档协议”工具选好之后更重要的事情是整理仓库。我见过很多团队兴致勃勃引入AI结果发现AI写的代码十次有八次不符合现有架构原因是它根本不了解项目历史。AI不知道这个模块为什么用消息队列而不是直接调用也不知道这里的日志格式是团队统一约好的。解决这个问题的办法是建立AI友好的“仓库索引”。我采用的格式其实很简单在项目根目录放一个AI_INDEX.md里面包含项目架构概览、模块与目录的对应关系、关键设计决策及原因、代码规范摘要。不用写很多但要把AI需要知道的“背景信息”说清楚。拿我自己的项目举个例子AI_INDEX.md里有一段是这样的## 模块关系 - 订单服务(orders)核心业务依赖用户服务(users)和库存服务(inventory)。 - 库存扣减通过消息队列异步执行禁止在订单事务里同步调用库存API。 - 数据库变更走Flyway脚本禁止应用层直接修改表结构。这段内容人看起来平平无奇但对AI来说就是“免死金牌”。它看到禁止事项之后就不会再生成违反架构的代码。团队里我已经把这件事叫做“上下文工程”它很可能成为未来几年软件工程里最基础的一项能力就像现在的代码规范检查一样。2.3 IDE与Agent的选型逻辑在IDE和Agent工具的选择上我的态度是“工具为人服务不要被工具绑架”。现在市面上有很多AI编码工具有的是IDE插件有的是独立Agent它们各有优势。我见过有的团队半年换三次工具每次切换都带来一堆配置问题团队怨声载道。我的建议是先明确你们要解决的痛点再选工具。如果你们的核心痛点是“写重复性代码耗时太多”那一个补全型插件就够了。如果痛点是“跨模块重构太大胆、容易漏改依赖”那需要的是能读取整个仓库并执行搜索替换的Agent。如果痛点是“线上bug定位太慢”那需要的是能接日志和链路数据的智能运维助手。确定场景之后还要统一团队的工具链版本。AI模型更新很快插件也是天天变同一个prompt昨天和今天跑出来结果可能完全不一样。我们在团队里做了一个简单的做法把模型版本号、插件版本号、prompt版本号写进工程配置里每次重大变更都记录一次。看起来有点繁琐但长期下来非常值得否则你很难复盘“哪些改进真正带来了效率提升”。3. 全流程实操从需求到交付的AI-Native流水线3.1 需求阶段把一句话变成可验证的交付物AI-Native流程里需求阶段的目标不是写一份长长的PRD而是产出一批“AI可以直接消费的结构化上下文”。我通常在收到一个模糊的需求时会先让AI做一次拆解。我常用的prompt是你是一位资深产品技术顾问。现在有一个需求背景是{粘贴原始需求}。 请帮我完成三件事 1. 列出这个需求涉及的用户角色和使用场景。 2. 写出3个核心用户故事每个用户故事拆成“作为...我希望...以便...”。 3. 针对每个用户故事给出可验证的验收标准使用Given-When-Then格式。 要求每个验收标准必须可以被自动化测试覆盖避免“响应迅速”“体验良好”这类模糊描述。这一步的价值在于AI能逼着我们把需求里的模糊地带暴露出来。比如一个“订单超时自动取消”的需求AI会问超时是从下单时间算还是支付时间算取消之前要不要通知用户取消之后库存要不要回补这些问题人开会可能要扯很久AI一次就全列出来了。拿到AI的问题列表之后我会逐条确认然后让AI把确认后的结果写成一份“需求上下文卡”。这份卡片是后续所有环节的输入测试工程师拿它生成测试用例开发工程师拿它写实现运维拿它设计告警规则。整个需求链条第一次变得真正可执行、可追踪。3.2 设计阶段让AI出方案人来拍板进入设计阶段我很少让AI直接写“一套完美架构”而是让它做“多方案对比”。架构设计本质上是权衡AI最擅长的是把一套选项的利弊摊开而不是给人一个唯一答案。我的做法是把需求上下文卡和现有架构文档一起喂给AI然后让它输出基于当前系统现状为以下需求提出3个可选技术方案 A最小改动方案尽量复用现有模块。 B重构优先方案允许调整相关模块的内部结构。 C彻底替换方案引入新组件替代老模块。 每个方案请列出改动范围、新增风险、实施周期、对现有功能的影响、回滚难度。 最后给出你的推荐及理由。AI生成完对比表我做的事情其实是“拍板”。举个例子有一次我们做一个多租户数据隔离的需求AI推荐方案B理由是租户数量不多、重构成本可控、长期维护性好。但我基于团队人手偏少的实际情况选了方案A先解决合规上线再排期重构。这个决策AI也能做但它不知道团队人力和业务优先级所以真正有价值的不是AI替你做决定而是它帮你把决定的代价摊开你可以在充分知情的前提下拍板。拍板之后我还会让AI生成一份ADR架构决策记录草稿。ADR记录“为什么选这个方案、放弃了什么、代价是什么”这份文档过去没人乐意写现在AI两分钟就能生成初稿技术负责人改一改就能提交。我发现这半年团队的设计文档提交率比过去高了很多就是因为生成成本低大家不再抗拒。3.3 编码阶段契约先行人和AI分好工编码阶段是大家最熟悉的场景但AI-Native的编码方式和“让AI给我写个函数”很不一样。我的关键经验是三个字契约先行。每次让AI动手写代码之前先跟它对齐接口契约。举个实际例子。我们某个模块需要新增一个“优惠券核销”的接口我没有直接说“帮我写个核销接口”而是给了这样一段上下文项目背景优惠券系统核销需要校验状态、记录流水、扣减库存。 约束 1. 接口路径遵循现有 /api/v1/coupons/{couponId}/redeem 格式。 2. 入参只需要 userId 和 orderId其他数据从内部服务获取。 3. 返回结构统一成功返回 {code:0, data:...}失败返回业务错误码。 4. 缓存更新放在数据库事务提交之后。 请先输出接口定义草稿和对应的DTO字段确认后再写实现。这样做的原因是AI写代码时最怕“自由发挥”。接口路径、入参出参、错误码规范这些一旦没对齐后面Review和联调要花好几倍时间补救。先定义契约让AI按契约实现剩下的代码几乎不用怎么改我只需要检查边界条件和异常处理。人和AI的分工也很明确AI负责从接口契约到完整实现的中间过程我负责审核契约、补边界异常、确认性能和安全性。我在团队里定了一个“检查点”机制AI完成一个相对完整的模块后必须停下来等人审查不能一口气改十几个文件。一次改太多文件人脑根本没法有效Review风险就埋下了。3.4 测试阶段让AI做覆盖分析再补位测试阶段我观察到一个很有意思的现象团队里最欢迎AI的是测试工程师因为他们日常要写大量边界用例和mock数据这是非常耗时又机械的工作。我常用的测试prompt是让AI先做覆盖分析再逐批生成测试请分析当前模块的单元测试覆盖率情况。 1. 列出核心业务逻辑中尚未被测试覆盖的分支和异常路径。 2. 按优先级排序优先覆盖影响资金、订单状态流转、并发更新相关的场景。 3. 对每个缺失场景给出建议的测试用例描述暂不写代码等我确认后再逐批生成。这一步很见效果。过去测试同学凭经验补用例经常盯着某个复杂分支反复测没测到的路径还是漏掉。AI不会累也不会凭感觉它能把所有条件分支列透彻让遗漏无处可藏。确认之后我再让它逐批生成测试代码每批不超过五个用例生成完立即跑一遍测试有问题当场反馈修正。值得强调的是AI生成的测试用例不能完全不看就扔进仓库。我踩过的坑是AI生成的mock数据可能掩盖真实问题——它为了让测试通过可能把某个依赖服务mock成“永远返回成功”结果真正出错时测试还是绿的。所以我对AI生成的测试有一条铁律核心断言必须验证真实业务结果禁止为了制造“绿色测试”而把关键逻辑mock掉。3.5 代码评审与安全扫描AI先当第一道闸门代码评审这个环节AI的价值被很多团队低估了。过去Review依赖“人肉检查”遇到diff大的PR人看完就头晕评论几条已经算负责任。现在我们的流程是每个PR一提交AI先自动做一轮“机器Review”。我设的机器Review任务包括扫描是否有明显bug模式空指针、资源未关闭、事务边界错误、检查代码风格是否符合团队规范、核对是否有调试代码或硬编码的密钥、识别本次变更是否涉及未覆盖的已有接口。AI跑完之后生成一份简短的Review报告附在PR首个评论里。这个机制真的能拦住不少低级问题。有一次一个同事在压测代码里顺手打了System.out.println包含内网IPAI在第一轮Review就把它标出来了。又有一次AI发现一个事务里调用了远程HTTP接口提示可能拖慢事务并导致连接池耗尽这个判断非常准我们后来特意给AI补了一条规则事务方法里禁止同步调用远程服务。安全扫描我也交给AI做摘要。传统SAST工具的问题不是扫不出来而是漏洞报告动辄几百条人根本看不过来。AI能把这些漏洞按风险等级、可利用性、受影响模块聚类然后告诉工程师“这三个高危漏洞都是同一个根因改一个公共工具类就能解决”把处理漏洞的时间从论天算压缩到论小时算。3.6 CI/CD把AI放在正确的位置上CI/CD接入AI我的建议相对保守不要让AI直接决定能不能发布而是让它在流水线里做“增强分析”的活。我们实践下来比较靠谱的几个用法第一流水线失败时AI自动拉取失败日志、关联最近代码变更生成“失败原因摘要和可疑位置”让开发不用打开日志就知道从哪里开始查。第二AI自动检查PR描述质量如果描述里没有写清楚影响范围流水线就提示补充避免后期查问题无从下手。第三AI对构建产物的大小变化、依赖版本变化做提醒比如某个依赖从1.2升到2.0且改动面很大AI会在合并前标出来。不要把AI放进“自动合并”的最高权限位置上至少现阶段不要。AI在代码生成和上下文理解上很强但在判断业务影响和团队规则上还不够成熟。把AI当成一个能力很强的“分析员”和“助理”而不是“决策者”能避免很多麻烦。4. 高频场景Prompts与微调套路4.1 上下文三层结构我一直在用的模板很多人prompt写不好不是表达能力不行而是给AI的上下文太单薄。我总结了一个三层结构你按这个结构写AI的理解质量立刻提升一个档次。第一层是仓库与项目全局包括项目是什么、用了什么技术栈、目录结构什么样、核心架构约束。第二层是当前任务涉及的业务背景包括这个模块是干什么的、上下游依赖是谁、过去踩过什么坑。第三层是本次任务的明确约束包括输入输出格式、禁止事项、完成标准。一个完整的prompt长这样【项目背景】这是一个B2B采购系统技术栈为Spring Boot MyBatis MySQL 消息队列使用RocketMQ。订单状态流转由状态机统一管理。 【模块背景】OMS模块负责订单生命周期管理。历史变更记录全部写入 order_flow_log表禁止直接在订单表内冗余存储流水。 【任务】实现订单“取消”功能的状态变更逻辑。 约束 1. 订单只有状态为“待支付”或“已确认”时允许取消其他状态一律拒绝。 2. 取消后需要发送一条MQ消息通知库存回补消息体包含orderId和skuId。 3. 方法入口是OrderCancelService.cancel(String orderId, String operatorId)。 4. 返回统一结果对象ResultT失败时携带错误码。 请先分析状态机现有实现再给出本次改动涉及的文件清单确认后再编写代码。用了这个结构之后AI很少再给出天马行空的答案因为它知道你不是让它凭空写代码而是让它在特定约束下完成任务。4.2 需求拆解prompt把模糊想法变成可执行任务需求阶段最容易出的问题是“想法很丰满落不了地”。我的做法是用一个多轮prompt把需求逼到位。第一轮让AI列问题。第二轮人工回答问题。第三轮让AI基于答案生成需求上下文卡。你会发现自己对需求的理解在两轮互动之后变得非常清晰。这比你自己苦思冥想效率高得多因为AI会从一个“不懂业务”的角度把你的逻辑漏洞全部刺出来而这正是需求评审最需要的。4.3 缺陷分析prompt让AI帮你定位线上问题线上出bug的时候很多人的第一反应是把整个日志文件丢给AI然后问“哪里有问题”。这个做法体验很差因为信息太杂AI会花大量精力在无关日志上。我的做法是给AI“先缩小范围”的任务这是一个线上异常告警对应服务为XXX最近一次变更涉及文件列表如下 {列出文件} 异常日志片段如下 {粘贴日志} 请按以下步骤分析 1. 先根据日志定位到具体异常类型和发生模块。 2. 结合最近变更文件列表判断是否由本次变更引入。 3. 如果无法确定给出还需要补充哪些数据如请求参数、上下文日志。 4. 按可能性从高到低列出3个候选根因并说明如何验证。这样AI给出的结论非常具体而且可以直接指导排查方向。我实测下来这个prompt配合结构化日志比盯着APM面板慢慢找效率高三到五倍。前提是日志里要有traceId或requestId否则AI也没法把一次请求的上下文串起来。4.4 重构建议prompt让AI先动手人再定方案重构是最容易被AI胡搞的场景因为AI不理解代码背后的历史包袱。我的prompt里一定要加一句“不要假设历史代码是错的我的目标是以最小改动消除当前隐患”。请分析模块{模块名}中以下两个问题 1. 重复代码较多涉及同一逻辑的复制粘贴请列出去重方案不要给出大规模重构方案。 2. 如果一个方法在并发场景下可能出问题请指出并给出最小改动方案。 约束不要修改公共依赖、不要改变数据库结构、不要影响存量接口的兼容性。 输出格式问题列表、风险等级、建议改动文件、改动范围预估。你会发现AI按这种约束给出的重构建议非常务实不是那种“建议引入领域驱动设计”的虚话而是可以立刻落地的具体改动。人看完再决定要不要执行避免了AI兴致勃勃搞一个大型重构最后被团队否决的尴尬。5. 常见问题与排查技巧实录5.1 模型一本正经地编造API这是我在AI-Native流程里遇到最多的坑。AI生成代码时会编出仓库里根本不存在的函数名、类名而且语气非常自信看起来就像真的一样。你把代码一跑编译直接报错你还得回去翻代码找它到底把哪个函数名记错了。我的排查经验是在prompt里明确要求AI“只能使用仓库内已有函数禁止臆造不存在的API”。但对于存量代码AI依然可能出错因为它的训练数据里见过太多类似命名的函数。有一个高效的对策让AI在回复代码时必须把用到的关键函数在仓库中的路径标出来比如“这里调用的RedissonClient.getLock定义在pom依赖redisson-spring-boot-starter-3.17.0中”这样Review时一眼就能核对。5.2 会话越长越“笨”上下文过载另一个常见问题是AI在同一会话里聊了很长时间之后开始逻辑混乱前面对齐的约束后面对不上甚至开始胡说。这跟人一样注意力是有限的模型在长上下文里对早期信息的注意力会衰减。我的处理办法是“短会话、多轮清晰交接”。每次任务结束后把结论和当前进度用一个“上下文摘要”保存下来新开一个会话时直接粘贴摘要而不是带着上次几千行对话继续聊。这就像你工作中写交接文档一样AI的记忆不是用来无限叠加的你需要把最核心的东西提炼出来喂给它。5.3 AI生成的代码风格不统一Review负担反而增加团队人多了之后每个人用AI的方式不一样有人喜欢让AI写流式Lambda有人喜欢传统for循环结果仓库代码风格乱成一团。这个问题不是AI的错是团队没有及时固化规范。我的解决办法是用“.aiguide”文件AI指导文件来约束模型输出风格内容通常包括代码缩进和格式约定、命名规则、禁止使用的模式例如禁止在循环里打印日志、禁止捕获异常后吞掉、事务和锁的使用约束。然后在IDE插件里让AI每次生成代码前都优先读取这个文件。坚持一个月后仓库代码风格明显回归统一。5.4 敏感数据偷偷进入AI上下文这个必须严肃对待。我在团队里见过有人把包含用户手机号的日志直接贴给公共AI服务分析也有人把数据库连接串放在prompt里让AI优化SQL。这些东西一旦进入模型上下文就脱离了你自己的安全边界。我现在给团队立的规矩有三条第一公共模型服务禁止粘贴任何含真实用户信息的日志或数据要脱敏或者用测试数据。第二涉及安全敏感的项目只允许私有化部署的模型处理不能走外部API。第三AI生成的代码里如果包含密钥、token、密码字面量Review时必须立刻标记PR不能合入。这三点没有任何讨论余地。5.5 团队热度消退AI工具用一段时间就吃灰很多团队刚开始搞AI-Native时热情高涨过一两个月就回到老样子因为新鲜感过去了而流程上的阻力还在。我见过不止一个团队买了工具、配置了插件结果一个月后使用率跌到两成。要解决这个问题我觉得最关键的是把AI嵌入“不得不用的场景”比如PR提交时AI自动生成描述如果描述质量不达标机器人就在PR上催测试覆盖率下降时AI自动列出缺失用例清单责任到人。让AI成为流程的一部分而不是可选的“效率工具”。6. 团队落地从个人工具到组织能力6.1 先选一条业务切片跑通别铺开搞一个团队如果想转向AI-Native我的建议非常明确不要追求一次全部切换先选一条相对独立的业务切片跑通全流程。比如挑一个“用户反馈处理”的小模块从需求、编码、测试到CI整个串一遍AI参与。这个切片跑通之后你已经有了具体可复制的模板和prompt库再逐步扩展到核心系统。我见过一上来就把所有团队拉入AI工具改造的公司结果资源投入很大但每个团队用的方式都不一样根本形不成合力。一条切片跑通的意义在于团队成员可以亲眼看到一套完整可复制的流程而不是听你讲一大堆理论。6.2 质量门禁不能丢只是人的时间从写变成审有人担心AI-Native会让代码质量下降这个担心是合理的但它通常发生在“只让AI写、没人审”的失控状态下。我们团队的做法是质量门禁一点都没放松甚至更严。因为人的审查时间被省下来了以前写三小时代码再随便看一眼现在AI写代码人有大把时间做Review。我们团队Review的认真程度反而提升了。关键是要让每个人明白AI不是免除责任而是把责任聚焦到判断上。你的产出不受欢迎不是你打字慢而是你识别不出AI产出中的问题。6.3 度量什么才能证明AI-Native真的有效我始终相信效率改进不能只靠感觉要看数据。团队里我建议关注四个指标的长期趋势而不是看单次爆发。第一个是PR周期时间从提交到合入的平均时间这个指标能反映编码和评审环节的整体效率。第二个是评审讨论深度比如每条PR平均评论数、是否有对核心逻辑的有效讨论这个指标反映AI辅助是否真的让人更认真看代码。第三个是缺陷密度每千行代码的重要缺陷数这个指标用来验证AI生成代码的质量是否可控。第四个是自动化覆盖率包括测试覆盖率和流水线检查覆盖率代表团队对质量底线的自动化程度。这几个指标在AI-Native落地后的头两三个月可能出现波动因为习惯还在养成中。不要急着下结论至少要跑一个季度再看趋势。6.4 给团队的三条经验以及我的真实体会最后分享三条我实践下来最想告诉团队的经验。一是上下文工程是AI-Native的必备技能它比会写prompt更底层。你需要知道AI要理解什么才能正常工作然后把这件事做到位。写AI友好的文档维护仓库索引给AI划清边界这些都是过去软件工程里没有的新工作。二是模型的输出质量很多时候取决于你输入信息的结构。糊里糊涂问AI得糊里糊涂的答案上下文给得清晰输出就能直接用。这不是什么玄学跟带新人是一样的道理——你把背景讲清楚了新人才干得出靠谱的活。三是别怕试错但要控制试错成本。AI-Native没有一个放之四海而皆准的模板我们也是在踩坑中一点一点校准的。先小范围试点定义清楚成功标准再扩大范围是最稳妥的路。我个人这一年多最大的变化是写代码的时间少了思考的时间多了。我需要花更多精力把需求讲清楚、把上下文准备好、把代码Review做到位这让我觉得自己的工作更有价值。AI没有抢走工程师的饭碗它只是让工程师从打字员变成了真正思考和判断的人。