谈谈 AI 编程时代的「道法术」

B站影视 电影资讯 2025-09-26 11:35 1

摘要:本次分享源于在公司内部的一次 AI 编程交流。与直接上手工具相比,我更想先把方向和框架说清楚:为什么要用、用什么原则判断、如何系统推进。实践反复证明,缺少这些底层认知,后续的 AI 编程容易迷失,遇到问题也缺少可复用的解决路径。

本次分享源于在公司内部的一次 AI 编程交流。与直接上手工具相比,我更想先把方向和框架说清楚:为什么要用、用什么原则判断、如何系统推进。实践反复证明,缺少这些底层认知,后续的 AI 编程容易迷失,遇到问题也缺少可复用的解决路径。

在过去的 AI 编程实践中,我观察到一个现象:掌握工具很快,用好工具很难。部分开发者在使用 Cursor、Copilot、Codex 等时,常陷入两个极端:要么过度依赖生成,失去对代码的掌控;要么仅把 AI 当作自动补全,没有发挥真正价值。问题的根源并不在工具,而在于缺少一套应对 AI 编程的思维框架。

今天的分享不讲具体技巧,而是退一步,讨论 AI 编程时代的基础原则与核心方法论。这些内容看似“务虚”,实则来自持续实践的“硬道理”。决定我们能否驾驭 AI,而非被 AI 驾驭。

AI 正在重塑软件开发的底层逻辑。从代码生成到架构设计,从测试到部署,几乎每个环节都在被重塑。我们站在一个历史性的转折点:编程不再是纯粹的人类活动,而是人机协作的新范式。这带来机会,也提出了新的问题:AI 编程的底层逻辑是什么?传统编程的基础原则和方法论是否仍然适用?角色如何重新分工,人与模型如何有效对话,工程流程如何重构以承载新的协作模式。

在实践和观察中,我发现在使用 AI 编程时容易陷入几个典型误区,这些误区严重影响了 AI 工具的价值发挥。

第一个误区是 过度依赖或完全排斥,把 AI 当作万能钥匙,放飞自我,不加思考地接受所有生成的代码,结果是代码库迅速腐化,充满了自己都不理解的「魔法代码」。我也曾有过类似经历:一个项目几乎全由 AI 生成,后来没有仔细阅读与检视,直到某天出现 bug 时,代码已难以理解和修复。另一个极端是完全排斥,认为 AI 不靠谱而拒绝尝试,坚持手写每一行。这两种态度都错失了 AI 的真正价值——作为增强而非替代的工具。

第二个误区是 对 AI 能力的模糊认知,不清楚 AI 擅长什么、不擅长什么,碰到问题容易进入死胡同。AI 擅长模式识别、代码开发、自动化测试,但在业务理解、方案设计、需求验收上仍需人类把关。不了解这些边界,就容易在错误的地方使用 AI,或在合适的地方没有使用,效率不升反降。

第三个误区是 被动等待或盲目追新。总在等待完美的模型或工具出现,认为现在的工具还不够好而观望;也有人相反,热衷追新,将大量时间花在切换模型和工具上,却从未深入掌握任何一个。前者错失当下机会,后者被工具表层牵着走,两者都不可取。

正确的态度应该是:掌握基础的原则和方法论,了解最新的进展,理性评估每个工具的优劣,懂得在合适的场景使用合适的工具,通过实践不断优化人机协作的模式。

理解 AI 编程,需要把握三个核心要素:模型、工具和人。这三者的关系和相互作用,决定了 AI 编程的效果上限。

模型是智能的引擎,它决定了能力的天花板。 不同模型有不同的优势,头部模型 GPT-5、Claude 4、Gemini 2.5 各有侧重,国产模型性价比较高。一些复杂的任务,需要更强的模型能力,比如代理能力、上下文理解、多模态等。理解不同模型的特点、优势和局限,是用好 AI 编程的第一步。

工具是桥梁,将模型能力转化为实际生产力。 一个好的工具能让模型的价值放大数十倍,从早期 Github Copilot 到现在的 Cursor、Claude Code、Codex 等,优秀的工具不仅能够完整理解整个项目,使用各种工具,支持异步运行,具备自定义命令和 Hooks 等功能,大幅提升开发效率。

人始终是核心,是整个系统的指挥官和决策者。 人定义需求、设计架构、把控质量、做价值判断。AI 再强大,也需要人来设定目标、提供上下文、验证结果。更重要的是,人具有 AI 不具备的能力:创造性思维、道德判断、责任承担。在 AI 时代,人的角色不是被削弱,而是被提升,从代码的编写者升级为系统的设计者,从实现细节的执行者升级为业务价值的创造者。

这三者形成了一个协作闭环:人通过工具使用模型,模型通过工具赋能人,工具基于人的反馈不断优化。 成功的 AI 编程不是某个要素的单点突破,而是三者的协同进化。这也是我们需要系统性方法论,而非简单工具教程的原因。

在探索 AI 编程的过程中,我发现很多问题的根源不在于工具不够强大,而在于缺乏系统的思维框架。这就是为什么我选择用「道法术器」这个框架来组织今天的分享。

道是永恒的原则,是软件工程的第一性原理。 包括价值导向(为什么做)、抽象思维(如何管理复杂性)、简约设计(less is more)、演化思维(拥抱变化)、权衡智慧(没有银弹)、协作精神(1 + 1 + 1 > 3)。这些原则在 AI 时代不仅没有过时,反而更加重要。当 AI 让编码变得容易,我们更需要思考"该不该做"而不只是"能不能做"。道是我们在快速变化中的锚点,是判断和决策的根本依据。

法是经过验证的方法论,是前人智慧的结晶。 敏捷实践、设计模式、测试驱动开发、契约驱动开发等这些方法论在 AI 时代获得了新的生命力。AI 让这些最佳实践更容易实施:自动生成测试用例、智能推荐设计模式、加速敏捷迭代。掌握这些方法论,你就可以更快掌握与 AI 协作的通用语言。

术是具体的技巧和技能,是日常实践中的 know-how。 如何写出好的提示词、如何选择合适的模型、如何调试 AI 生成的代码,这些技巧需要在实践中不断打磨。术是变化最快的一层,但掌握了道和法,你就能快速学习和适应新的术。

器是工具和平台,是术的载体。 Cursor、Copilot、Claude、Codex、Devin 这些工具日新月异,但记住:工具永远是手段而非目的。选择工具要基于你的需求和场景,而不是盲目追新。

这四个层次是递进且相互支撑的关系。道指引方向,确保我们不迷失;法提供路径,让我们高效前进;术解决具体问题,让想法变成现实;器提升效率,让我们事半功倍。 今天我们重点探讨道和法,因为这是根基——有了坚实的根基,术和器的学习将水到渠成。下次分享,我们将深入具体的术和器,展示如何把这些理念转化为实际生产力。

进入「道」的部分,我们要探讨软件工程的底层架构——那些永恒不变的原则。在 AI 时代,「道」的意义不是被削弱,而是被强化。当工具快速迭代、技术日新月异时,这些原则成为我们的锚点,让我们在变革的浪潮中保持方向感。

什么是不变的?价值判断、系统思维、美学追求、智慧决策,这些人类独有的能力。什么是变化的?实现速度、工具形态、协作方式、迭代节奏,这些可以被 AI 增强的部分。关键在于,我们要在加速中保持清醒,在自动化中保留判断。

接下来,我们将深入探讨六个核心之道,每一个都是软件工程的永恒主题,在 AI 时代获得了新的诠释和实践。

软件的意义在于改变现实。从真实问题出发,创造可感知的价值,实现可持续的影响。

不是所有问题都值得解决,不是所有解决方案都需要软件。真正的价值创造始于对问题本质的深刻理解,而非对解决方案的迷恋。在传统开发中,我们常常陷入技术本身的魅力,忘记了软件存在的根本目的。写了成千上万行代码,实现了复杂的架构,却解决了一个不存在或不重要的问题。这种"技术自嗨"在 AI 时代变得更加危险,因为 AI 让实现变得如此容易,我们可能在错误的方向上跑得更快。

价值之道要求我们首先识别真实需求。 不是用户说什么我们就做什么,而是要深入理解用户痛点,找到问题的本质。AI 可以帮我们快速验证假设,通过原型快速获得反馈,但判断什么值得做,这是人类的独特能力。

其次是定义价值指标。 所有投入必须指向明确的价值产出,建立反馈循环持续验证。传统的代码行数、功能点数在 AI 时代已经失去意义。我们需要新的价值度量:用户满意度、问题解决深度、系统适应性。每一个功能都要问:它为用户创造了什么价值?这个价值是否可以被度量?

最后是保持价值理性。 防止为技术而技术,抵制过度工程,确保每一行代码都服务于核心价值。AI 的强大能力是一把双刃剑 —— 它既可以帮我们快速实现价值,也可能诱使我们偏离价值。当 AI 可以轻松生成任何功能时,说"不"比说"是"更重要。

谈谈我理解的价值之道公式:最终价值 = 问题定义的深度与准度 × 解决方案的实现效率。 前者包括商业洞察、用户同理心、创造性思维等,以人为主、AI 为辅;后者包括工程能力、工具链、AI 协作方式等,AI 极大提升了实现效率,但问题定义的能力仍然是人类的独特优势。在 AI 时代,我们的角色从代码实现者转变为价值定义者,从功能堆砌者转变为问题解决者。

抽象不是简化,而是复杂性的优雅组织。它是人类认知的根本能力 —— 从无序中发现模式,从特殊中提炼普遍,从具体中升华本质。在软件领域,抽象是我们驾驭复杂性的核心武器。

一个优秀的抽象就像一个精心设计的接口,隐藏了实现的复杂性,暴露了简洁的使用方式。领域本质抽象帮我们识别和定义问题空间的核心概念,建立统一的领域语言。架构意图抽象将业务需求转化为系统能力,设计清晰的架构边界。接口契约抽象定义组件间的交互协议,确保系统的可组合性。

抽象是一种认知压缩技术,将复杂信息编码为可管理的心智模型,好的抽象像呼吸一样自然:需要时展开细节,不需要时收起复杂。抽象的本质是划定边界,决定什么该暴露,什么该隐藏。但边界它不是墙,而是接口,用于定义交互的协议而非阻断联系。

AI 时代,抽象的意义发生了深刻变化。传统时代,我们主要在代码层面做抽象 —— 类、接口、模块。现在,我们需要在意图层面做抽象,即如何向 AI 描述我们想要什么,而不是如何实现。这要求我们具备更强的领域建模能力,能够提炼业务本质,设计领域特定语言来精确表达意图。

抽象的三原则在 AI 时代依然重要。 完整性要求抽象完整表达领域概念,不能因为 AI 可以推理就含糊不清。稳定性意味着好的抽象经得起时间考验,即使工具在变、实现在变,抽象层应该保持稳定。可演化性要求预留扩展空间,适应未来变化,因为 AI 会不断带来新的可能性。

优秀的抽象是思维的杠杆,抽象能力决定了我们能够驾驭的复杂度上限。 在 AI 加速的世界里,抽象不是负担,而是让我们能够站在更高层次思考的阶梯。当 AI 处理具体实现时,人类的独特价值在于设计优雅的抽象,这种能力是目前 AI 还无法替代的。

所谓完美,不是指无可增添,而是指无可删减。

技术演进的终极方向是简约。它是一种极致的克制 —— 知道什么不该做比知道什么该做更难。从简单到复杂是能力的积累,从复杂到简约是智慧的升华。简约是通过深刻理解达到的优雅,AI 时代,我们需要在更高维度追求简约。

简约的一大好处是最小化认知负担,降低理解成本,提升直觉性。同时简约的系统更容易理解、修改和扩展,更少的约束带来更多的可能。

AI 带来了两个看似矛盾的挑战。 一方面是丰富的诱惑:AI 让增加功能的成本趋近于零,需求失控导致一切皆可能,复杂度债务在快速生成的代码中悄然累积。另一方面是简约的智慧:我们需要在无限可能中识别真正重要的事,保持概念模型的一致性和简洁性,为未知的未来保留足够的空白。

简约的本质是提纯,是剥离表象后的本质呈现,简约不是功能的减少,而是复杂度的消解。 每一个保留的元素都必须证明其存在的必要性。AI 可能会建议添加各种功能,但判断什么是真正需要的,这需要人类的智慧。我们要做复杂度的守护者,而不是功能的堆砌者。

AI 作为简约的赋能者,可以帮助我们识别和剔除伪需求,发现重复和冗余,建议合并和重构。 它能评估每个决策对系统复杂度的影响,确保概念模型的统一和简洁。但最终的决策权在人类手中,我们决定什么该保留,什么该删除。

另外探讨一下我理解简约的三重境界。第一重是代码简约:清晰的命名,直观的逻辑,最少的依赖。第二重是架构简约:统一的模型,清晰的边界,正交的设计。第三重是价值简约:聚焦核心价值,拒绝边缘诱惑,保持产品的灵魂。

在 AI 时代,简约不是限制,而是力量的集中。它让我们在快速变化中保持清醒,在无限可能中守住本质。 记住:能用 AI 快速实现不意味着应该实现,真正的智慧在于知道什么不该做。

完美的系统不是一蹴而就的,而是在持续的迭代和重构中演化而来的。

软件演化不是修补和堆砌,而是生命体的成长过程。它是一种有机的、适应性的变化——不断响应环境变化,同时保持系统的完整性和生命力。演化是承认不确定性、拥抱变化的哲学。

其实软件也像生物一样需要适应环境变化,遵循适应性生存的规律。我们也慢慢认识到渐进式完善带来的好处,小步快跑胜过大步跨越。好的架构会自然生长,而非强制规划,其中演化产生的复杂性是有序的,而设计的复杂性往往是混乱的。

AI 编程时代,让我们看看不同软件生命周期有哪些变化。探索期是快速试错阶段,AI 帮我们快速原型,人类把握方向。成长期需要稳定扩展,AI 规模化实现,人类确保质量。成熟期追求优化完善,AI 优化性能,人类重构架构。革新期寻求突破重生,AI 提供可能,人类决定突破的方向。

而在每个阶段,人机协作的模式都在动态调整。感知阶段,人类识别真实需求和价值机会,AI 收集数据、识别模式。设计阶段,人类定义演化方向,AI 生成方案、评估可行性。实施阶段,人类把控质量,AI 快速实现、自动化测试。学习阶段,人类提炼经验,AI 优化模型、改进生成质量。

当然我们还要认识到,AI 生成的代码可能缺乏长期视角,快速迭代可能忽视架构健康,需要更强的架构守护。速度不等于进步,演化方向迷失可能陷入局部优化,失去产品的核心价值。

AI 加速了演化的速度,从年度发布到持续交付,再到实时演化。但演化的智慧仍需人类把控。我们不是在追求更快的变化,而是在追求更有生命力的成长。每一次演化都应该让系统更强壮、更优雅、更接近它应该成为的样子。

演化的核心原则帮助我们在变化中保持稳定。 可逆性确保每个改变都可以安全回滚,这在 AI 快速生成代码时尤其重要。渐进性意味着大变革通过小步骤实现,避免一次性的剧烈变化。可观测性要求演化的影响必须可以被监测,我们需要知道每次变化带来了什么。适应性则要求系统结构支持未来的变化,而不是锁死在当前的实现中。

在 AI 时代,演化从被动响应变成主动适应。我们可以更快地试错、更快地学习、更快地改进。但同时也需要更强的架构守护,避免在快速迭代中失去系统的完整性。

没有银弹,一切皆权衡。在约束条件下寻找最适解而非最优解。

权衡不是妥协,而是在约束中寻找最大价值。它是工程智慧的核心——认识到完美是幻觉,现实是多目标优化问题。在 AI 时代,权衡的维度在增加,决策的速度在加快。我们不是在寻找完美答案,而是在动态平衡中寻找当下最适合的路径。

在软件开发过程中,约束存在必然性:资源永远有限(时间、预算、人力、认知)、目标永远冲突(性能vs可读性、灵活vs简单、安全vs便利)。同样的选择在不同上下文中价值不同,今天的最优解可能是明天的技术债,权衡的艺术在于识别当前最重要的价值。

权衡决策框架 TRADE 模型可以为我们提供系统化的方法。T 代表 Target,明确核心目标和优先级,避免在次要目标上过度优化。R 代表 Resource,诚实评估可用资源,包括时间、预算、团队能力和技术储备。A 代表 Alternative,生成多个可行方案,AI 可以辅助快速原型验证。D 代表 Decide,基于证据决策,预留调整空间,设置检查点。E 代表 Evaluate,持续监控决策效果,及时调整权衡策略。

AI 时代的权衡新规则改变了传统的决策模式。速度优先但不牺牲核心质量,快速迭代大于完美规划,但架构健康不能妥协。拥抱不确定性但保持方向感,接受无法预测所有变化,但核心价值必须坚守。利用 AI 能力但保持人类判断,AI 加速实现和验证,但价值判断必须由人主导。

权衡的三原则指导我们的决策。透明性要求让所有权衡显式化,避免隐性代价,特别是 AI 自动做出的权衡需要被审查。可逆性建议优先选择可调整的方案,保持灵活性,因为环境在快速变化。适应性要求定期重新评估权衡,随环境调整,今天的最优解可能是明天的技术债。

在 AI 加速的世界里,权衡不是一次性决策,而是持续的动态平衡。技术提供可能,智慧选择道路。AI 可以帮我们快速评估不同方案的优劣,但最终的价值判断和风险承担仍然是人类的责任。记住:在有限的资源和时间内,追求恰到好处比追求完美更重要。

软件开发从『人与人』的二维协作,扩展到『人-人-AI』的三维协作网络。

协作不是分工,而是智慧的交响。它是将不同主体的独特优势编织成更强大的整体能力。在 AI 时代,协作从人类之间的配合升维到人机之间的共舞,这是一种全新的创造模式。

在稍微复杂一些的项目中,软件开发离不开协作。传统开发中更多是人与人的协作,从需求→设计→开发→测试→部署,信息单向流动,角色边界清晰但僵化。而在 AI 时代,多方在 AI 的辅助下同时参与,信息多向流动,更多的是即时反馈,角色边界变得模糊且灵活。

人类角色在演化。我们成为架构师,定义愿景,把控演化方向。我们是价值守护者,确保每个决策服务于核心价值。我们是创意源泉,提供创新思路和美学判断。我们是质量把关者,定义标准,验证结果。这些角色无法被 AI 替代,反而在 AI 的辅助下变得更加重要。

人机协作呈现新的模式。在共同愿景层面,我们建立统一的目标和价值观,确保人类和 AI 理解共同方向。在动态平衡层面,我们根据任务特性调整协作模式,在效率和控制之间找到平衡点。在持续学习层面,人类学习更好地引导 AI,优化 AI 提示和交互模式。

AI 角色逐渐清晰。它是实现加速器,快速将想法转化为代码。它是可能性探索者,生成多样化方案供选择。它是一致性守卫,确保代码风格和模式统一。它是知识图谱,记忆和检索项目上下文。这些能力与人类能力形成互补,而非替代。

协作的成功需要新的思维和技能。沟通表达能力变得更重要,我们需要清晰表达意图给人类和 AI,能够教 AI 理解领域知识。 协作设计能力要求我们设计高效的人机协作流程,识别最适合的任务分配。系统整合能力帮助我们整合人类创意和 AI 效率,协调不同来源的贡献。

在 AI 时代,最强大的不是 AI,也不是人类,而是懂得如何整合两者优势的智慧系统。未来属于那些掌握人机协作艺术的团队。协作的本质是放大每个参与者的优势,创造 1 + 1 + 1 > 3 的涌现效应。

进入「法」的部分,我们要继续探讨实践的智慧结晶 -- 经验结晶、智慧传承。

AI 时代,「法」的核心价值在于它提供了可复制的成功模式。方向指引确保效率服务于价值,实践框架提供可复制的成功模式,效率放大让自动化减少执行摩擦。

这些方法论不是约束,而是赋能。它们是经过无数项目验证的最佳实践,在 AI 的加持下,这些方法论变得更容易实施、更快速验证、更智能优化。接下来,我们将探讨六个核心方法论,帮助我们更好的实践 AI 时代的编程开发。

当 AI 以光速迭代,我们不再只是构建产品,而是引导一个不断自我选择、自我进化的生命系统。

敏捷与精益不是流程和工具,而是应对不确定性的生存策略。它是一种持续感知-响应的生命状态 -- 在变化中保持灵活,在快速中保持精准。AI 时代,敏捷从方法论升级为生态系统的运作方式。

前面我们提到「演化之道」,如果说演化之道关注的是战略层面系统长期的成长和适应,那么敏捷和精益法关注的是战术层面上快速响应和价值流动。价值流期望寻找到从需求到价值的最短路径,消除一切不增值的活动,同时关注反馈环的缩短和学习的即时性。

传统的精益核心在于消除浪费:减少库存、等待、返工,优化流程、提高效率。AI 时代的精益则追求价值密度最大化:消除认知负担,优化决策路径,最大化每个行动的价值产出。

敏捷精益的 AI 增强模型带来了根本性变革,传统敏捷是以人为中心的迭代,而 AI 增强敏捷更像是人机融合的连续流。传统敏捷的计划会议变成了 AI 需求分析,手工编码进化为 AI 辅助生成,代码评审升级为 AI 自动审查,手动测试被 AI 测试生成取代,部署流程转化为智能化 CI/CD,回顾会议变成数据驱动洞察。

AI 带来敏捷的新维度,AI 可以在快速尝试多个方案,并行探索取代串行试错,预测性优化取代反应性改进,根据反馈自动调整。传统敏捷与 AI 驱动敏捷的对比令人震撼。迭代周期从 2-4 周缩短到小时甚至天级别,反馈延迟从天周降低到分钟小时,决策基础从经验加直觉进化到数据加算法,优化方式从回顾会议变成持续自动优化。

AI 时代的敏捷精益实践需要新的思维。微迭代让我们以小时为单位快速试验,可视化价值流动帮我们智能看板管理,持续实验让我们能够即时验证假设,感知更敏锐让我们更早发现价值和风险,响应更快速让想法到验证的时间极大缩短,学习更深入让每次迭代都积累可复用的智慧,演化更自然让系统像生命体一样自我优化。

敏捷精益是演化的引擎,演化是敏捷精益的方向。前者关注如何快速适应,后者关注适应成什么。在 AI 时代,两者共同构成了软件开发的动态平衡。掌握 AI 时代的敏捷精益,就是掌握在不确定性中创造确定价值的能力。

设计模式为开发者提供了一套共享的词汇。当你说"我在这里使用了策略模式"时,其他了解这个模式的开发者能立刻明白你的设计意图和结构。

设计模式不是教条,而是集体智慧的结晶。它是软件工程的设计语言——让复杂的架构决策可以被讨论、理解和复用。在 AI 时代,模式从静态模板演变为动态的设计智慧。

设计模式是开发者之间的共同词汇,可以减少解释成本,提高协作效率,设计意图可以被精确传达。同时每个模式也都是无数项目的智慧沉淀,可以避免重复发明轮子,站在巨人的肩膀上思考。现在的 AI 工具支持 MCP、自定义规则、自定义命令和自定义 Hooks,通过这些手段,把沉淀下来的设计原则和模式予以固话,成为团队共同的财富。

以下三个维度展示了设计的层次。原则是北极星,包括不变的价值导向、SOLID + DRY + KISS + YAGNI。模式是地图,提供经过验证的解决方案,涵盖创建型、结构型、行为型,以及新兴的 AI 协作型模式。AI 是伙伴,提供模式识别和推荐、自动实现和优化。

在 AI 浪潮下,我们需要从内化于心的经验积累,走向外化为纲的系统治理。这涉及三个核心洞察。第一,诊断、药方与配药师 -- 设计原则洞察系统症结,设计模式提供成熟解决方案,而 AI 负责高效、精准地付诸实施。第二,创造人机协作的升维语言 -- 将原则与模式结合,形成一套 AI 能理解并执行、人类能主导与决策的元语言,实现更高层次的人机协同设计。第三,AI 辅助下架构治理的基石 -- 这套元方法论是构建 AI 辅助架构治理体系的关键,将人类智慧从繁琐的实现者角色,升维为战略性的决策者。

设计模式在 AI 时代的价值不是减少,而是增强。共同语言更重要因为人机协作需要清晰的设计语言,模式识别更快速因为 AI 帮助快速识别和应用模式,创新空间更广阔因为 AI 助力探索新的设计可能,质量保证更可靠因为可以自动验证模式的正确实现。掌握设计模式,就是掌握与 AI 协作创造优雅架构的能力。

编写测试,直到恐惧转化为厌倦。

质量不是测试出来的,而是设计和构建出来的。TDD/BDD 不是测试技术,而是设计方法论——通过测试驱动思考,通过行为引导设计。 在 AI 时代,质量保证从事后验证转变为全程护航。

在项目开发过程中,大家都认可测试的价值,但都觉得编写测试费时费力。在 AI 时代这便不再是一个问题,通过业务需求的描述、规范的设计等,AI 可以理解需求生成完备测试集,自动发现边界条件和异常场景,基于代码变更智能生成回归测试。

以下三个核心理念定义了质量保证的本质。定义精确的期望 -- 测试定义确定的行为边界,从模糊需求到精确规范,让 AI 理解"什么是对的"。构建信心的桥梁 -- 每个通过的测试增加一分信心,测试覆盖度等于信任度,从小步验证到系统信心。加速质量的内化 -- AI 降低测试编写难度,自动化提高测试执行效率,质量从约束变成习惯。

在实践过程中,我喜欢使用以下「人机兵乓」的协作模式。开发者编写失败的用例(红灯 Red),明确期望行为,率先发出挑战。然后要求 AI 根据用例生成通过测试的代码(绿灯 Green),高效响应人类的挑战,由于目前的 AI 模型已经具备很强的代理能力,可以多轮修改和验证,成功率大幅提升。此后双方共同审查并优化代码,提升质量、可读性和架构。

这种协作模式改变了传统的开发节奏。测试不再是负担,而是人机对话的语言。AI 可以快速生成满足测试的实现,但判断什么值得测试、如何设计测试,这仍然是人类的独特价值。测试定义了 AI 生成代码的边界,防止 AI 偏离需求,确保生成代码的正确性。

因此在 AI 加速的开发中,TDD/BDD 的价值不是降低而是提升。定义更重要因为清晰的测试帮助 AI 理解需求,验证更快速因为自动化让质量检查实时化,信心更充足因为完备的测试让快速迭代成为可能,协作更高效因为测试成为人机协作的契约。记住:质量不是成本,而是效率的前提。没有质量的速度是虚假的速度。

在软件开发中,最重要的事情之一就是缩短从"我有一个想法"到"这个想法为用户创造了价值"之间的周期。CI 是缩短这个反馈循环的关键机制。

持续集成不是工具和流程,而是价值流动的加速器。它是将想法快速转化为价值的管道——通过自动化消除等待,通过集成暴露问题,通过反馈驱动改进。在 AI 时代,CI 从批处理进化为实时流。

持续集成的核心价值是风险的早期暴露,快速发现问题,将大风险分解为小风险。且这种即时的反馈,让错误还在记忆犹新时修复,保持了开发的流畅状态。这种自动化的模式保证了代码和质量的一致性,让做正确的事变得容易。

传统的 CI 更像是规则驱动的自动化,预定义的构建脚本、固定的测试套件、静态的质量门槛。AI 时代带来了 CI 新能力,比如预测性集成(预测集成冲突、提前识别破坏性变更、智能合并等),自愈性管道能力(自动修复常见构建问题、智能重试和降级、自动化故障恢复等)和优化的资源分配,变身智能化的价值管道。

以下三个关键能力定义了智能化 CI。智能化风险预防 -- AI 预测潜在集成问题,主动预防而非被动发现。标准化质量控制 -- 自动化确保环境一致性,AI 辅助的代码规范检查。透明化能力验证 -- 可视化的质量仪表盘,实时的性能监控。全方位健康体检确保系统的稳健。自动化安全扫描、性能回归检测、AI 辅助的异常发现,这些能力让 CI 成为守护系统健康的第一道防线。

CI 的演进展示了从门卫到加速器的转变。 第一,从阻挡到赋能,CI 不再是质量的守门员,而是价值交付的加速器。第二,从被动到主动,不只是发现问题,更要通过 AI 预测和预防问题。第三,从工具到智能,不只是自动化流程,更是智能化决策和优化。第四,从局部到全局,不只关注代码质量,更关注端到端的价值交付。

优秀的敏捷实践、测试驱动和持续集成让"想法到价值"的路径最短、最可靠、最可视。 在 AI 时代,CI 的角色发生了根本转变,它成为人机协作创造价值的关键基础设施。

先定义,后实现;信任契约,而非信任实现。

契约驱动开发不是文档先行,而是意图的形式化表达。它是在混沌中建立秩序的方法 -- 通过明确的约定来管理复杂性,通过清晰的边界来实现解耦。在 AI 时代,契约从约束变成了桥梁。

怎么理解契约?我认为首先它是信任的基础,是信任的载体,通过明确期望来减少误解,让合作成为可能,让并行开发成为现实。最典型的契约便是接口定义,它重点在定义是"什么",而不用关心"如何"的问题,可以很好的隔离变化、保护核心。同时契约还是质量的保证,是自动化测试的基础,它对于 AI 来说是一份可验证的承诺,从"希望它能工作"到"保证它能工作"的任务清单。

传统的契约更多是人类之间的约定,比如接口文档、API 规范等,主要解决团队协作问题,依赖人工理解和遵守。而 AI 时代的契约更多是人机之间的协议,成为人类意图和 AI 能力的桥梁,比如提示词即契约,定义了 AI 的行为边界,它是可执行、可验证、可演化的。

下面契约的三层架构体现了不同层次的约定。定义层设计时契约,意图表达定义目标和期望行为,接口规范精确描述输入输出和异常,约束条件明确前置条件和不变式。实现层运行时契约,验证机制自动化验证契约遵守,监控告警实时检测契约违反,降级策略处理契约失败时的优雅处理。演化层适应性契约,版本管理保证契约的向前向后兼容,迁移路径实现契约升级的平滑过渡,学习优化基于使用数据改进契约。

以下以 Github 开源的 Spec Kit 为例介绍契约驱动开发流程。

• Specify 规范定义阶段,你先提供一个高层次的描述,说明要构建什么、为什么构建,然后由智能体生成详细规范。这个阶段更关注高层次的问题(而不是技术细节),比如用户旅程、体验和成功的标准:谁会使用?解决什么问题?用户会怎样交互?

• Plan 生成规划阶段,AI 根据契约生成高层设计和实现蓝图,开发者进行验证和精简。在这个阶段,你告诉智能体你期望的技术栈、架构和约束条件,提供总体技术方向,智能体会生成详细计划,确保符合架构与约束条件。如果公司有固定技术标准,这里要明确;如果需要接入遗留系统、满足合规要求或实现性能目标,也要写进来。你还可以要求生成多种方案,方便比较不同思路。• Tasks 拆分任务阶段,AI 拆分为可执行的子任务,开发者确认任务粒度和依赖关系。用 /tasks 命令让智能体把规范和方案拆解成可执行任务清单,智能体会把规范和方案拆解成实际工作任务,生成小而可验证的工作单元。每个任务都能独立实现和测试,这一点很关键,它让智能体能不断验证自己的成果,保持正确方向,就像我们上面介绍的「人机乒乓」一样。• Implement 执行实现阶段,AI 执行具体代码实现,开发者负责验证代码质量和契约符合度。智能体知道要做什么(因为规范定义了目标),知道怎么做(因为方案给出了路径),也知道具体任务(因为任务拆分已完成),这个时候可以使用异步编程、子智能体、AI 交叉检视等一系列方法提升效率,最终由人来把关验证。

所以,契约在 AI 协作中扮演着关键角色。它变成意图的精确表达,帮助 AI 准确理解需求,减少歧义,提高生成质量。它又是质量的可控保证,定义 AI 输出的验收标准,自动化验证 AI 生成的代码。这一切让它成为演化的稳定基础,保护系统不被 AI 的快速迭代破坏。

因此在 AI 时代,契约不再是繁重的文档负担,而是高效协作的基础。对人类而言,契约是意图的精确表达和控制的手段。对 AI 而言,契约是理解的基础和生成的约束。对系统而言,契约是质量的保证和演化的支点。 掌握契约驱动开发,就是掌握了在复杂性中建立秩序的能力。

AI 辅助开发不再仅仅是输入提示词,而是通过结构化、动态化的上下文管理,让 AI 理解并参与到复杂系统的设计与实现中。

上下文工程不是提示词技巧,而是认知空间的架构设计。它是在人类意图和 AI 能力之间构建精确的语义桥梁——通过结构化的信息组织,让 AI 真正理解问题域而非仅仅模式匹配。

在最近的 AI 编程实践中,我发现大部分的问题都可以归类为提供给 AI 的上下文出问题了。我经常比喻 AI 就像是一个”智商很高的实习生“或者”身强力壮的学徒“,如果我们没有精确的描述意图、提供足够的背景和可利用的工具信息、没有说明完成的标准,那么一切终究是徒劳。

以下五个维度构成了上下文工程的核心。指令性上下文包括核心任务剧本、明确 AI 的目标和角色限制,包括很多提示工程的框架和技巧。知识性上下文提供外部参考资料、AI 解决问题所需的基础知识和数据,可以通过契约驱动、文档集成、补充业务理解等方式提供。工具性上下文涵盖可用的外部能力,告知 AI 可以调用的函数、API 或工具,一个典型的例子就是使用数据库、Context7、PlayWright 等 MCP 开发和调试页面。记忆性上下文管理对话的历史轨迹,帮助 AI 理解当前交互的来龙去脉。状态性上下文提供即时的环境快照,让 AI 决策时的实时变量和环境信息。

在 AI 时代,上下文工程决定了人机协作的效率上限。质量决定输出,好的上下文产生好的结果。结构提升效率,组织良好的信息加速理解。演化保持活力,持续优化的上下文适应变化。标准促进复用,规范化的上下文提高团队效率。

上下文管理需要新的思维和技能。信息组织能力要求识别关键信息和噪音,构建清晰的信息层次,管理上下文的生命周期。意图表达能力需要将需求转化为精确的上下文,使用领域特定语言,建立一致的术语体系。反馈解读能力帮助理解 AI 的输出和局限,识别上下文不足导致的问题,持续优化上下文策略。

记住:AI 的能力边界不是由算法决定,而是由我们提供的上下文决定。上下文工程是 AI 协作的基础设施,它让 AI 从简单的模式匹配升级为真正理解问题域的智能助手。在快速变化的技术浪潮中,掌握上下文工程就是掌握与 AI 深度协作的语言。

19 — 小结

我们的探索即将告一段落,让我回顾这次旅程的核心洞察。

「道」是价值与智慧的永恒追求。在 AI 时代,它是软件的本质与变化中的锚点。这六个道不是抽象的理论,而是实践的指南针。价值之道提醒我们软件存在的根本意义,抽象之道教会我们驾驭复杂性的智慧,简约之道让我们在丰富中保持克制,演化之道引导我们拥抱变化的生命力,权衡之道帮助我们在约束中寻找最优解,协作之道展示了人机共生的新模式。

「法」是实践与方法的智能进化。AI 让原则更易实施、快速验证、智能优化。这六个法是经过千锤百炼的最佳实践。敏捷精益法让价值流动如水般自然,设计模式成为人机对话的共同语言,质量保证从事后验证变成全程护航,持续集成从批处理进化为实时流,契约驱动从约束变成桥梁,上下文工程成为认知空间的架构设计。

「术」是工具与技能的持续更新。掌握工具旨在服务「道」和「法」,而非追求最新。虽然今天没有深入探讨术的具体内容,但要记住:工具会快速迭代,使用工具的智慧却是永恒的。选择合适的工具比追逐最新的工具更重要,理解工具的原理比记住工具的用法更有价值。

「道法术」三者形成了完整的体系。「道」指引方向,让我们不在技术浪潮中迷失。「法」提供路径,让经典实践在 AI 时代焕发新生。「术」解决问题,让想法快速变成现实。它们不是独立的,而是相互支撑、相互强化的整体。

在 AI 编程的时代,最重要的不是掌握某个具体的工具或技巧,而是建立起完整的思维体系。当你理解了「道」,就能在变化中保持定力。当你掌握了「法」,就能高效地与 AI 协作。当你熟练了「术」,就能将想法快速实现。这个体系给了我们应对未来的信心。无论技术如何发展,工具如何更新,我们都能保持清醒的头脑和正确的方向。

AI 编程不是要取代我们,而是将我们从繁琐的代码实现中解放出来,让我们能更专注于软件工程中最具创造力和价值的部分——理解问题、设计系统、定义价值。

从代码实现者到意图设计师,这是角色的第一次进化。我们不再需要记住每一个 API 的细节,不再需要手写每一行样板代码。我们要做的是定义「what」和「why」,让 AI 处理「how」。设计系统架构而非编写每一行代码成为我们的核心工作。我们要把控方向而非陷入细节,成为系统的架构师而不是代码的搬运工。

从手工艺人到智慧编排者,这是能力的第二次升华。整合人机协作流程成为新的核心能力,我们需要知道什么时候该让 AI 发挥,什么时候需要人类介入。构建可演化的系统比构建完美的系统更重要,因为变化是唯一的不变。培养团队的 AI 协作能力将成为技术领导者的新使命。

核心竞争力正在发生转变。从掌握语法到理解业务,从编写代码到设计系统,从个人能力到协作智慧。这个转变不是一蹴而就的,它需要我们不断学习、实践、反思。

这种进化带来的不是威胁,而是机遇。我们将从繁重的编码工作中解放出来,有更多时间思考真正重要的问题。我们将从局部的实现者成长为全局的设计者。我们将从技术的执行者进化为价值的创造者。

拥抱这种变革需要勇气,也需要智慧。勇气让我们敢于走出舒适区,尝试新的工作方式。智慧让我们知道什么该坚守,什么该改变。在这个过程中,「道法术」的框架将是我们的指南针,帮助我们在变革中保持方向感。

记住,真正的威胁不是 AI 会取代我们,而是我们拒绝进化。真正的机会不是 AI 有多强大,而是我们能与 AI 创造多大的价值。未来属于那些能够驾驭 AI、与 AI 共舞的新一代开发者。

最后我想引用一下之前看到的一句话,非常适合分享给各位开发者:冷静的探索,是对 AI 时代最大的尊重。

技术的发展从来都是双刃剑。AI 编程工具的强大能力既是机遇,也是挑战。我们需要的不是盲目的乐观,也不是过度的恐慌,而是理性的认知和务实的行动。

保持冷静意味着不被炒作蒙蔽。每天都有新的 AI 工具发布,每周都有惊人的进展宣布。但我们要记住,真正改变世界的不是工具本身,而是使用工具的人。不要因为 AI 能快速生成代码就忽视代码质量,不要因为 AI 能自动化测试就放松质量标准,不要因为 AI 能理解需求就不再深入思考问题本质。

保持探索意味着持续学习和实验。AI 技术在快速发展,我们的认知也需要不断更新。但这种学习不是盲目追新,而是有选择、有重点的深入。选择与你的工作最相关的领域深入研究,在实践中验证和改进你的方法,建立起自己的 AI 编程体系。

智慧前行需要我们保持平衡。在效率与质量之间找平衡,在创新与稳定之间找平衡,在人类判断与 AI 建议之间找平衡。这种平衡不是静态的,而是动态调整的过程。

冷静的探索还意味着保持批判性思维。AI 生成的代码不一定是最优的,AI 的建议不一定是正确的,AI 的判断不一定符合实际需求。我们需要保持独立思考的能力,保持对问题本质的追求,保持对价值的坚守。

最重要的是,要记住软件开发的本质没有改变。我们依然在解决问题,创造价值,改变世界。AI 只是让这个过程变得更高效,但方向的选择、价值的定义、品质的追求,这些永远是人类的责任。

冷静不是冷漠,探索不是冒进。它是一种成熟的态度,一种专业的素养,一种面向未来的智慧。在这个充满变革的时代,保持冷静的头脑和探索的精神,我们就能在 AI 浪潮中找到自己的位置,创造独特的价值。

来源:正正杂说

相关推荐