ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

校招入职两个月,我总结出一套AI Coding工作流:从需求到提交的六段式实战

校招入职两个月,我总结出一套AI Coding工作流:从需求到提交的六段式实战 1. 校招进组第一周我发现同事的代码有一半是AI写的刚入职那会儿我盯着组里一位三年经验老哥的提交记录发愣——他一天能推十几个commit代码风格还出奇地统一。后来混熟了才知道人家早就把AI Coding揉进了日常开发流程里从需求拆解到单测补全中间一大半机械活儿都交给了Coding Agent。我当时的第一反应是这不就是高级点的代码补全吗直到自己上手跑通一整条链路才发现完全不是一回事。所谓AI Coding工作流核心不是让AI替你写代码而是把AI当成一个能理解上下文、能执行命令、能读写文件的协作方嵌进你原本的开发节奏里。它解决的是重复劳动消耗注意力这个问题——写样板代码、查API用法、补边界条件、生成测试用例、排查报错这些事占掉一个校招生每天大量时间而AI恰好擅长。这套流程适合刚入行的校招生、独立开发者以及任何想把自己从体力活里解放出来的工程师。下面我把自己踩了两个月坑之后稳定下来的完整流程拆开讲包括工具怎么选、每个环节怎么接、哪些地方AI会坑你。2. 为什么我最终选了CLI形态的Coding Agent而不是IDE插件2.1 插件和Agent的本质区别在哪刚开始我和大多数人一样装了个IDE里的AI补全插件敲代码时它给我提示下一行。用了一周我就发现不对劲这东西只能看到当前文件的光标附近它不知道我的项目结构、不知道我数据库表长什么样、更不知道我上一个函数是怎么定义的。它本质上是个超级输入法而不是能干活的人。Coding Agent不一样。它能主动读文件、执行shell命令、跑测试、根据报错自己改代码。举个我实际遇到的例子我让它给UserService加一个根据邮箱查用户的方法并补上单元测试它会先去读UserService的现有代码、找到项目里用的ORM、看已有的测试文件怎么写的、然后动手改改完还会跑一遍测试确认通过。这个过程中它自己决定要看哪些文件这就是Agent和补全插件的分水岭。2.2 CLI形态给我的三个实际好处我最后选的是命令行形态的Agent比如Codex这类CLI工具而不是IDE里点来点去的图形界面原因很实在上下文可控CLI里我可以明确告诉它只看src/service目录避免它把整个仓库塞进上下文导致又慢又贵。IDE插件经常自作主张扫全项目。可脚本化我能把常用操作写成alias比如ai-review一键让它review我暂存的改动ai-test一键补测试。图形界面点三下的事命令行一行搞定。和git天然贴合Agent直接操作工作区文件我改完git diff一看就知道它动了什么review成本极低。IDE插件有时候在内存里改同步到磁盘还有延迟。提示CLI工具第一次跑一定要在干净的分支上试别在主分支直接让它改。我吃过一次亏它顺手重构了一个我没让它碰的文件虽然逻辑没错但混在提交里很难拆。2.3 环境准备里最容易翻车的两个点安装本身不复杂但有两个坑几乎每个人都踩第一个是认证和网络。这类工具通常需要登录账号才能用登录流程走不通的话后面全白搭。我的建议是先把登录跑通、确认能正常对话再去配置项目。别一上来就折腾配置文件最后分不清是登录问题还是配置问题。第二个是项目信任设置。Agent要读写你的文件、执行命令所以首次在一个新项目里启动时它会问你是否信任这个项目。这里必须选信任否则它会进入受限模式只能读不能写你会以为工具坏了。我第一次遇到时纳闷了半天明明让它改代码它却只给我看建议后来才发现是没授权。3. 把AI接进需求到提交的完整链路我的六段式流程3.1 需求理解阶段先让它复述再让它拆接到一个需求我不会直接说帮我实现XXX。我会先把需求原文贴给它然后说你先用自己的话复述一遍这个需求列出你不确定的地方先别写代码。这一步价值极高。AI复述的过程会暴露它理解偏差的地方比如需求里说用户可以看到自己的订单它可能理解成所有用户都能看到所有订单。它列出的不确定点往往就是需求本身模糊的地方正好逼我去找产品确认。我统计过这一步能提前拦下大概三成的返工。确认理解一致后再让它拆任务把这个需求拆成可独立提交的小步骤每步说明改哪些文件。拿到这个清单我就有了一个施工图后面每一步都能单独验证。3.2 编码阶段小步快跑一次只让它干一件事新手最容易犯的错是一次性把整个需求丢给AI指望它一口气写完。结果就是它写了一堆你看不懂的代码改起来比重写还累。我的做法是严格按上一步拆的清单一次只推进一个步骤。比如第一步在User模型加email字段和唯一索引我就只说这一件事。它改完我立刻git diff看改动确认没问题再进下一步。这样做的好处是每一步的改动量小、可理解、可回滚出问题能精确定位是哪一步引入的。这里有个技巧让它改代码时明确要求只改必要的文件不要顺手重构无关代码。不加这句约束它经常好心帮你优化别的函数把diff搞得很大。3.3 自查阶段让AI当第一个reviewer代码写完在提交前我会让它自己review一遍检查刚才的改动找出潜在的bug、边界条件遗漏、以及不符合项目现有风格的地方。它经常能揪出我自己忽略的东西比如空指针没处理、并发场景没考虑、错误信息没国际化。当然它也会误报说一些其实没问题的地方但review这件事本来就是宁可多看一眼。我把它当成一个不知疲倦但偶尔犯轴的初级reviewer它提的意见我逐条判断采纳合理的。3.4 测试阶段补测试是AI最稳的战场写单元测试是AI表现最稳定的场景因为测试有明确的输入输出、有现成的测试框架和风格可以模仿。我会说给刚才的改动补单元测试覆盖正常路径和至少两个边界情况参考项目里已有的测试写法。它写出来的测试通常能直接跑偶尔需要微调断言。这一步帮我省下的时间最多以前我写测试要磨蹭半天现在几分钟搞定覆盖率还上去了。3.5 提交阶段让AI写commit message改完测完我会让它根据diff生成commit message根据当前暂存的改动写一条符合Conventional Commits规范的提交信息。它写的message比我手写的规范多了类型、范围、描述都齐全。我只需要扫一眼确认准确就行。3.6 排查阶段把报错原样丢给它线上或本地报错时我把完整的错误堆栈、相关代码片段、以及我做了什么操作触发它一起丢给AI。它经常能直接指出问题所在或者给出几个排查方向。比自己对着日志发呆快得多。4. 配置文件里那些没人告诉你的事4.1 配置文件到底管什么这类CLI工具一般有个配置文件通常在用户目录下的隐藏文件夹里管几件事用哪个模型、API怎么连、有哪些自定义命令、忽略哪些文件。理解这个文件的结构你才能把它调教成顺手的工具。我见过太多人配置文件写错了导致工具行为诡异然后以为是工具本身的问题。比如有个配置项是忽略文件列表如果你没把node_modules、dist、.git这些加进去Agent每次都会去扫这些目录又慢又浪费上下文。4.2 模型选择不是越强越好配置里通常能选不同的模型。我的经验是分场景用场景模型选择倾向理由复杂逻辑设计、架构拆解能力最强的模型需要深度推理值得花成本日常编码、补测试中等能力模型够用且快成本低简单格式化、写commit轻量模型任务简单没必要上大模型一开始我图省事全用最强的月底一看用量吓一跳。后来按场景分级成本降了一大半效果几乎没差别。4.3 自定义命令把重复操作固化下来配置文件里可以定义自定义命令有的叫prompt模板、有的叫slash command。我把几个高频操作固化成了命令/reviewreview当前暂存的改动/test给当前改动补测试/explain解释选中的代码在干什么/commit生成commit message这样我不用每次打一长串提示词一个命令搞定。这是把工作流产品化的关键一步用久了效率提升非常明显。注意自定义命令的提示词要写清楚约束比如只输出代码不要解释、必须参考项目现有风格。提示词越具体输出越稳定。4.4 一个真实的配置踩坑记录有次我改了配置里的模型名结果工具启动就报错提示模型不支持。排查了半天才发现是模型名拼写和实际可用的对不上。这类问题的教训是改配置前先备份改完立刻跑一个最简单的命令验证别攒一堆改动一起测否则出问题不知道是哪处引起的。5. 让AI真正好用的四个上下文管理技巧5.1 主动喂上下文别指望它自己找Agent虽然能自己读文件但它不知道你脑子里想的是什么。我养成的习惯是让它干活前主动把相关的文件路径、数据结构、业务背景告诉它。比如用户表结构在models/user.py订单逻辑在services/order.py现在要加一个功能……。主动喂上下文比让它自己摸索快得多也准得多。它自己找文件经常找错或者读了一堆无关的。5.2 用文件引用而不是粘贴代码大多数CLI工具支持用文件名的方式引用文件。这比直接粘贴代码好因为引用是实时的文件改了它读到的也是最新的而且不占你的输入长度。我基本不粘贴代码全靠引用。5.3 长对话要及时清理一个对话窗口聊太久上下文会越来越长AI会开始忘事或者被前面的内容干扰。我的做法是一个任务一个对话任务完成就开新的。别在一个窗口里从早聊到晚那样后面它的表现会明显下降。5.4 把项目规范写进一个文件让它读我在项目根目录放了一个约定文件类似AGENTS.md或CONTRIBUTING.md写清楚项目的代码风格、目录结构、命名规范、测试怎么写。每次开新对话第一句就是先读一下项目根目录的规范文件。这样它写出来的代码天然贴合项目风格省去大量来回调整。6. 那些AI会坑你的地方以及我的应对6.1 它会自信地编造不存在的API这是最危险的坑。AI有时候会调用一个根本不存在的函数或方法而且写得特别像真的。我第一次遇到时差点信了跑起来才发现报错。应对方法任何它调用的、你不熟悉的API都要去官方文档或源码里确认一遍。尤其是第三方库版本之间差异很大它可能记的是旧版本的用法。我现在养成习惯它用了新API我就顺手查一下几秒钟的事能避免大坑。6.2 它会悄悄改掉你没让它碰的逻辑前面提过它有时会顺手重构。更隐蔽的是它可能在你没注意的地方改了一个条件判断逻辑上更优雅了但改变了原有行为。应对方法每次改动后必看diff重点看那些你没要求改的文件。我现在的习惯是git diff逐块过一遍看到意外的改动就追问它为什么改不合理就回退。6.3 它写的测试可能假通过AI写的测试有时候断言写得太松比如只断言结果不为空实际上没验证核心逻辑。这种测试跑起来是绿的但没起到保护作用。应对方法review测试的断言部分确认它验证的是真正的业务逻辑而不是走过场。我一般会问它这个测试如果我把核心逻辑改错它能失败吗让它自己检查。6.4 上下文太长时它会开始胡说对话太长之后AI会开始重复、跑题、或者忘记前面的约束。这不是它坏了是上下文超限的正常表现。应对方法及时开新对话把关键信息重新喂一遍。别硬撑着一个超长对话那样只会越来越糟。7. 两个月用下来我对AI Coding的真实判断7.1 它到底帮我省了多少时间说实话没有宣传的那么夸张。我的体感是编码环节省了大概一半时间测试环节省了七成但review和调试环节反而多花了时间——因为要仔细检查它的输出。综合下来整体效率提升大概在三到四成。这个数字已经很可观了但前提是你真的把流程跑顺了。7.2 什么任务适合交给它什么别交用久了会形成一个清晰的边界感适合写样板代码、补测试、写文档注释、生成commit、解释陌生代码、排查常见报错、格式转换。谨慎核心业务逻辑、涉及资金和权限的代码、性能敏感的代码、需要深度领域知识的逻辑。别交架构决策、需求判断、涉及安全边界的代码。核心原则是AI负责怎么做你负责做什么和对不对。把判断权牢牢握在自己手里。7.3 给刚入行的校招生的一句实在话别把AI当成替代你思考的工具把它当成一个执行力很强但需要你把关的实习生。你越清楚自己要什么、越能写出精确的指令、越认真review它的输出它就越有用。反过来如果你自己都没想清楚要做什么指望AI帮你理清那只会得到一堆看似合理实则跑不通的代码。我现在的日常是需求想清楚拆成小步让AI执行我逐块验收。这套流程跑顺之后我确实能把更多精力放在真正需要思考的地方——理解业务、设计结构、判断取舍。这才是AI Coding工作流真正的价值所在不是让你少写代码而是让你把时间花在更值钱的事情上。
返回列表