在过去几年里,我更换AI编程工具的频率,几乎赶上了前端框架的迭代速度。
一开始,我像许多人一样,让GPT帮我写一个孤立的函数,感觉很神奇。后来,GitHub Copilot成了我的标配,它总能猜到我接下来要写的几行代码,尤其是在写那些重复的样板文件时。再之后,Cursor出现了,它将对话和编码更紧密地集成在编辑器里,我开始尝试让它帮我完成更复杂的任务。
关注腾讯云开发者,一手技术干货提前解锁👇
我一度认为,找到那个最强的工具,就能一劳永逸。
但改变发生的契机很偶然。只是因为Cursor的定价策略调整,我切换到了Claude Code。体验并没有发生翻天覆地的变化,Cursor 似乎也并不是最强的工具,Claude Code 足以媲美,而腾讯自家孩子 CodeBuddy 更是在免费内测开放许久以后,给出了足够良心的定价。
我发现,尽管工具换了,我遇到的核心挑战没变,而我之前摸索出的有效工作模式,依然有效。
这让我意识到一个更根本性的问题,我们中的许多人,包括过去的我,都可能用错了力气。我们痴迷于比较不同AI的编码能力,就像在争论锤子A和锤子B哪个敲钉子更快,却忽略了关键不在于单次挥锤的力量,而在于你是否有一张清晰的蓝图和一套高效的施工流程。
这篇文章的目的,就是分享我提炼出的这套施工流程——一套通用的、结构化的AI编程协作方法论。它无关乎你用的是Claude Code、Cursor、CodeBuddy,还是未来任何可能出现的新工具。它的核心是改变你与AI的协作模式:从一个偶尔寻求帮助的「使用者」,转变为一个能系统性地引导AI、共同交付高质量工作的「架构师」。
让我们从一个几乎所有开发者都会遇到的场景开始:接手一个陌生的代码库。
第一幕:AI,迷宫中的导航员
任何一个有经验的开发者都熟悉那种感觉:你被空降到一个陌生的代码库,像被扔进了一座没有地图的迷宫。文档要么不存在,要么早已过时。你只能靠着零星的注释和直觉,在成千上万行代码中摸索,试图在脑中重建一个 Prototype。这个过程不仅痛苦,而且极其低效,它消耗的是我们最宝贵的资源:认知带宽。
过去,这是无法避免的“功课”。但现在,我认为这是一种时间的浪费。
在与AI协作的初期,我发现它的第一个、也是最被低估的能力,不是写代码,而是读代码。与其把它看成一个初级程序员,不如把它看成一个顶级的代码分析师,一个能帮你快速绘制出迷宫地图的导航员。
让我用一个例子来说明。最近,我需要理解一个名为 eino 的Go语言AI框架中的ReAct机制。这是一个架构复杂的项目,如果按照传统方式,我预估需要一到两天的时间,才能理清它的核心脉络。
这一次,我没有直接一头扎进代码里。我做的第一件事,是写一份清晰的任务简报。我发现,一个结构化的指令远比一句模糊的"帮我看看这个项目"要有效得多。
📚 借鉴总结:四要素框架是基于Google Prompt工程最佳实践等资料,结合个人理解总结提炼而成:
我把包含这四个要素的Prompt和项目代码一起交给了AI。结果是惊人的。
不到一个小时,我得到了一份完整的分析报告。它不仅精准地定位了核心入口函数(NewAgent())、剖析了核心循环的每一步(推理、工具调用、观察、再推理),还为我生成了一张清晰的Mermaid流程图,将整个复杂的调用链路可视化。
一天的工作,一小时完成。这已经不是量级的提升,而是工作范式的改变。
这背后是什么原理?我认为关键在于两点。第一,AI拥有近乎无限的脑容量,它可以同时扫描和关联成百上千个文件,在我们的大脑还在费力地跟踪两三个函数跳转时,它已经构建起了完整的调用图。第二,它强大的模式识别能力,使其能迅速识别出代码中隐藏的设计模式和架构意图。
这种导航能力,一旦掌握,可以延伸到许多场景:用它审查代码中潜在的风险,用它快速熟悉一个开源项目并参与贡献,或者用它来评估一个新技术框架的可行性。
至此,我们解决了“读”的问题。AI为我们绘制了地图,指明了方向。但真正的旅程才刚刚开始。接下来,我们需要在这张地图上建造新的东西——也就是“写”代码。
而这,恰恰是最多人掉进陷阱的地方。它引出了我们的第二个话题:如何避免随性而至的“感觉式编程”,并与AI建立一个结构化的协作流程。
第二幕:告别感觉,拥抱结构
在这里,我们容易走上一条歧路。
这条歧路,大家称之为感觉式编程(Vibe Coding)。它的诱惑极大,你只需要向AI许愿,然后复制代码,粘贴,运行。如果出错了,就再许一个愿:修复这个bug。
这个过程,好处是项目进展都看在眼里,可视化的同时,效率似乎还起飞了。但实际上很有可能 AI 给你写了一个不知道靠什么 Bug 运行成功的神奇系统。而在这个过程中,你只动了嘴,没动脑子,能力并无半分长进。
我就掉进过这个坑里。一次又一次的失败让我明白,问题不在于AI的能力,在于我的协作方式。我不是在引导它,是在放任它。
于是,我开始寻找一种更有序、更可靠的方法。
这套流程的本质,是将软件开发的经典工程原则,应用到与AI的协作中。你不再是一个简单的“使用者”,而是一个项目的“总建筑师”。
2.1 第一阶段:勘探 (Explore)
在动工之前,建筑师必须勘探地形。同样,在写任何代码之前,我和AI必须就问题和现有环境达成共识。我不会直接下令,而是会提出要求,比如:“阅读这些文件,理解当前用户认证的逻辑,但先不要写任何代码。”
这个阶段的目标,是在我和AI之间建立一个共享的、准确的上下文。这是后续所有工作的基础。
2.2 第二阶段:规划 (Plan)
这是整个流程中最关键的一步,也是最能体现开发者价值的一步。当地形勘探清楚后,我们需要一张蓝图。
我会要求AI提出一个详细的实现计划,并鼓励它思考不同方案的优劣。有时,我甚至会把同一个问题抛给不同的AI模型,像是在听取多个技术顾问的建议。最终,我会选择并敲定一个最优方案,让AI把它整理成一份清晰的、步骤化的任务列表。
一个有效的技巧是,让这份计划以技术文档或GitHub Issue的格式输出。它就像一个检查点,如果后续的“建造”阶段偏离了轨道,我们随时可以回到这份蓝图,重新校准方向。
2.3 第三阶段:建造 (Code)
有了蓝图,建造工作就变得有条不紊。这里的核心原则是:小批量、可验证。
🌟 个人改进:在基础的"小批量、可验证"原则上,我进一步增加了"自动化"和"并行化"两个维度——拆分任务后,可以启动多个AI实例并发处理独立模块,大幅提升效率;部分重复度高的任务,比如Codereview则可以集成到CI中自动化review,开发者则只需要介入AI提炼出的风险点代码。
我绝不会让AI一次性生成整个功能。我会按照规划好的任务列表,让它一个函数、一个模块地生成。每生成一小部分,我都会立即审查和验证。这就像一层一层地盖楼,确保每一层的地基都稳固可靠。
在这个过程中,AI负责处理那些繁琐的“胶水代码”,而我则能将全部精力聚焦在核心逻辑的审查上。我们的对话通常是这样的:“好了,先实现计划中的getUserInfo函数。”,AI生成后,我检查并提出修改:“这里需要增加一个用户不存在的异常处理。”……这种小步快跑的反馈循环,极大地降低了出错的风险。
2.4 第四阶段:验收 (Commit)
当所有模块都按计划建造完毕后,就进入了最后的验收阶段。
我会让AI辅助我完成收尾工作:生成规范的提交信息,更新相关的文档。更重要的是,我会让它扮演一位苛刻的“代码审查员”,对即将提交的修改进行一次预审,检查是否存在潜在的逻辑漏洞或风格问题。这相当于在正式交付前,进行了一次高质量的内部质检。
📚 实践领悟:四阶段工作流是我在编码实践中潜意识使用,在阅读Claude Code最佳实践后系统化总结的方法:勘探 → 规划 → 建造 → 验收。
这套方法论的威力有多大?让我们来看一个真实的重构案例。
我有一个很久以前写的epub翻译工具,代码陈旧,逻辑混乱。我决定用它来检验不同工作方式的优劣。
从三天到两小时,差异是惊人的。这套方法不仅适用于重构,也同样适用于开发新功能、编写数据分析脚本,甚至优化数据库查询。
然而,我知道你可能会有一个疑问:这个过程听起来充满了来回的沟通和确认,虽然看起来很稳妥,但它的效率真的比我自己直接写代码更高吗?
这是一个非常好的问题,值得我们深入探讨。
第三幕:重新思考“效率”
我们建立的这套“勘探-规划-建造-验收”的流程,听起来很严谨,但它也引出了一个非常实际的疑问:来回地与AI讨论、确认,真的比我们自己撸起袖子直接写代码更快吗?
这个问题很关键,因为它迫使我们去审视一个更根本的问题:我们到底应该如何衡量“效率”?
如果我们把效率定义为“每分钟敲出的代码行数”,那么这套方法可能毫无优势。但任何一个资深的工程师都知道,这是一种虚荣且危险的指标。真正的效率,是交付一个健壮、可维护的解决方案的总时长。这个时长,不仅包括了写代码的时间,更包括了调试、返工、以及未来维护的隐性成本。
一旦我们从这个更宏观的视角出发,就会发现,那些看似拖慢节奏的规划与沟通,实际上是对项目后期时间和精力的巨大节省。
🌟 :基于大量项目实践,我发现了时间分配的根本性转变。在使用结构化AI协作后,一个任务的总耗时或许没有像传说中那样缩减80%,有时可能只是从13小时减少到11小时。但时间花费的构成,发生了根本性的变化。
试想一下传统的开发流程:2小时的快速编码,紧接着是长达8小时的、痛苦的调试和排错,最后可能还有3小时的返工。大部分时间,我们都陷在一种低质量、高挫败感的“找茬”游戏中。
而现在,我的时间分配变成了这样:大约有3小时花在前期与AI的沟通和方案设计上,4小时用于分模块的生成与验证,2小时用来代码审查和完善文档。虽然编码的总时长可能增加了,但那漫长的8小时“痛苦调试”几乎消失了。
我们实际上是用高质量、高确定性的设计时间,替换掉了低质量、充满不确定性的纠错时间。
我们把原本会被浪费在修复bug上的精力,投入到了更有价值的活动上:比如为代码补充更清晰的注释,编写更完备的单元测试。这不仅提升了单次交付的质量,更是在为项目的长期健康投资。
这背后,还有一个关于认知负荷的重要洞察。
试想一下,一个新手同事一次性给你提交了一个包含上千行改动的巨大请求。你的第一反应是什么?大概率是头痛。你几乎不可能仔细审查每一行代码的逻辑,只能走马观花地看一遍,这其中必然会遗漏隐患。
让AI一次性生成几百行代码,也是在制造同样的灾难。
而结构化协作的核心——小批量生成,完美地解决了这个问题。当AI每次只为你生成一个独立的、不超过50行的函数时,两个奇妙的好处出现了:
这才是与AI协作的精髓。你不是在和它比谁打字快,而是在利用它来外包你的认知负担,让自己能更专注、更深刻地思考。
当然,这并不意味着所有任务都必须严格遵循这个流程。一个成熟的方法论,必然是灵活的,能够根据不同的场景进行调整。一个紧急的线上bug修复,和一个需要深思熟虑的新功能设计,它们的协作模式必然不同。
这就引出了我们最后一个话题:如何建立一个决策框架,来智能地选择与AI的协作模式。
第四幕:协作的艺术:一个决策框架
到目前为止,我们已经建立了一套可靠的结构化协作流程。但这套流程更像是一套精良的工具,而一个真正的工匠,需要知道何时使用锤子,何时使用凿子。
试图用同一种协作模式应对所有编程任务,是新手最常犯的错误,也是挫败感的来源。修复一个万分紧急的线上bug,与设计一个关乎未来的核心系统,这两者的协作方式必然截然不同。
4.1 第一象限:重要 × 紧急 → 你是“外科医生”
4.2 第二象限:重要 × 不紧急 → 你是“总建筑师”
4.3 第三象限:不重要 × 紧急 → 你是“项目甲方”
4.4 第四象限:不重要 × 不紧急 → 你是“探索家”
🌟 :基于经典的四象限思维模型,结合AI协作场景,我创新性地提出了以下决策框架。经过不断的实践,我发现,决定我们应该如何与AI协作的,是两个最古老的项目管理维度:重要性和紧急性。它们构成了一个简单的四象限模型,可以帮助我们在几分钟内,为任何任务选择最合适的协作模式。
那么,在实际工作中,如何快速判断一个任务属于哪个象限,并决定协作的"放权"程度呢?
🌟 基于后台工程师的经验,我提炼了一套快速的"风险评估"方法。我不会用一个复杂的评分表,而是会在脑中问自己几个关键问题:
肯定回答越多,我越倾向于“建筑师”或“甲方”模式,给予AI更大的自主权。否定回答越多,我越会切换到“外科医生”模式,进行微操。
这个框架在实践中效果显著:
这个决策框架的价值在于,它将你从单一、僵化的工作流中解放出来,让你拥有了根据不同战场、选择不同战术的灵活性。
至此,我们已经完整地探讨了AI编程协作的“道”与“术”。我相信你心中可能还有最后一个问题:这一切会走向何方?作为工程师,我们今天的努力,在AI飞速演进的未来,还有价值吗?
结语:最后的想法
写下这篇文章时,我诚实地评估,自己依然是那个最终的“责任人”。尽管在我的大部分工作中,AI已经是不可或缺的副驾驶,但我仍然需要坐在主驾驶位上,进行指导、审查和决策。
我认为,本文分享的AI协作方法论的核心瓶颈在于:AI尚不具备一个可靠的“验证闭环”。
它能写代码,可以运行代码,但一个端到端的验证可能AI自己并不能理解或者无从下手。虽然AI可以解析执行结果,读懂图片,但还需要每次我手工将结果贴给它。这意味着,整个工作流中成本最高、也最关键的“验证”环节,仍然强依赖于人。
但我几乎可以确定,这个瓶颈很快就会被突破。个人推测,方向很可能就是测试驱动开发(TDD)与AI的结合。试想一下,未来的工作流是这样的:我们用自然语言定义一个需求和它的验收标准(测试用例),AI则进入一个“编写-测试-修正”的循环,直到所有测试用例通过。
当这个闭环完成时,AI将能真正自主地完成更复杂的任务。到那时,我们的角色也将彻底地从一个代码的“创作者”,转变为一个对AI工作进行规划、指导和验收的“管理者”。
面对这样的未来,焦虑是无用的。关键是想清楚,什么才是我们作为工程师,真正不可替代的价值。经过这几年的探索,我想分享我最终沉淀下来的几个看法。
首先,方法论永远比工具重要。今天我们讨论的是Claude Code,明天可能会有更强大的工具出现。但无论工具如何迭代,我们今天讨论的结构化协作流程、风险决策框架,其背后的工程思想是通用的。掌握了如何拆解问题、如何定义目标、如何验证结果,你就能自如地驾驭任何工具。
其次,系统思维正在取代局部优化。AI的出现,正在将“写代码”这件事本身商品化。我们的价值,不再体现在能多快地写出一个函数,而是体现在能否设计出一个健壮、可扩展的系统。真正的效率,来自于交付高质量解决方案的全周期速度,而非敲击键盘的速度。
最后,也是最重要的一点,这无关竞争,而关乎合作。AI不是一个需要我们去战胜的对手,它是我们思考能力的“放大器”。它能将我们从繁琐的实现细节中解放出来,让我们得以将全部的智力资源,投入到更上游、更有创造性的工作中去——定义问题、权衡取舍、做出决策。
回到最初的起点。从三年前,我让GPT写下第一个函数,到今天,我的大部分工作都深深地烙上了与AI协作的印记。我最大的感悟是:在这个时代,一个工程师最核心的竞争力,正在从“解决问题”的能力,迁移到“定义问题”和“设计解决方案”的能力。
掌握一门特定的语言或框架,其价值的半衰期正在急剧缩短。但那些更本质的能力——如何清晰地描述一个复杂的需求,如何系统性地设计一个稳固的架构,以及如何为最终结果定义一个可验证的衡量标准——无论技术如何变迁,都将是你最宝贵的资产。
这才是AI时代,工程师进化的真正方向。
附录
关于本文内容来源的说明
本文融合了个人原创思考、业界最佳实践的学习总结,以及实践中的领悟。为便于读者区分,我使用以下标记:
参考资料:
-End-
原创作者|厉辉
感谢你读到这里,不如关注一下?👇