黄奕彬
← 返回全部文章

什么是 AI 原生软件工程?一个实践者的定义

AI 原生不是在传统流程上加个 Copilot。这篇文章从 LogiNexus 实战出发,定义 AI 原生软件工程的三个核心原则,以及它和 AI 增强、传统开发的本质区别。

一个不精确的类比

如果你在 2005 年问一个开发者"什么是移动原生应用",他可能会说:"就是在手机上运行的程序。"这个定义技术上没错,但完全没有抓住重点。

移动原生的真正含义是:从一开始就为移动场景设计——触屏交互、位置感知、离线优先、推送通知。把一个桌面应用套个 WebView 放到手机上,不叫移动原生。

类似地,"AI 原生软件工程"不是"在传统开发流程中加个 AI 工具"。它是从一开始就假设 AI 是团队成员来设计整个工作流程。

这个区别很重要。

三种模式的对比

为了说清楚 AI 原生到底是什么,我把软件工程分成三种模式:

传统模式:人做一切

CODE
需求 → 设计 → 编码 → 测试 → 部署
 ↑      人     人     人     人

所有环节都是人来完成。工具(IDE、CI/CD、测试框架)是辅助性的,不参与决策。

AI 增强模式:人做事,AI 帮忙

CODE
需求 → 设计 → 编码 → 测试 → 部署
 ↑      人    人+AI   人+AI   人

AI 作为工具嵌入现有流程。典型代表:GitHub Copilot 辅助写代码、AI 辅助写测试用例。核心流程不变,AI 提升效率。

大多数团队目前处于这个阶段。

AI 原生模式:人和 AI 共同工作

CODE
上下文 → 对话 → 审视 → 迭代
 人+AI    人⇄AI   人     人+AI

注意几个关键区别:

第一,流程重新设计了。 不再是线性的"需求-设计-编码-测试",而是"上下文-对话-审视-迭代"的循环。

第二,"上下文"替代了"需求文档"。 在 AI 原生模式中,给 AI 提供好的上下文比写详细的需求文档更重要。上下文包括:业务约束、技术约束、代码风格偏好、历史决策的原因。

第三,"对话"替代了"编码"。 核心产出不是代码,而是人和 AI 之间的对话。代码是对话的副产品。

第四,"审视"成为核心环节。 AI 生成代码很快,但判断代码的质量需要人的品味。品味——而非编码速度——成为关键能力。

三个核心原则

从做 LogiNexus 的实战中,我提炼了 AI 原生软件工程的三个核心原则。

原则一:混合智能优先

核心思想: 每个工作环节,先问"人和 AI 各自的最佳角色是什么",再设计协作模式。

在 LogiNexus 中,我对每个模块都做了这样的分析:

环节人的角色AI 的角色
需求理解理解业务上下文和潜规则结构化需求文档
架构设计做关键权衡决策提供备选方案和分析
代码实现审查质量和业务逻辑生成代码
测试设计测试策略和边界生成测试用例和代码
调试判断根因分析日志和代码路径

注意:这不是简单的"人做难的,AI 做简单的"。有些"简单"的事人更擅长(比如理解客户的言外之意),有些"难"的事 AI 更擅长(比如分析几万行日志找到异常模式)。

混合智能优先意味着:不要默认"人来做"或"AI 来做",要根据具体任务分析最佳协作模式。

原则二:上下文即代码

核心思想: 投资上下文的质量,回报远大于投资代码的质量。

这是我在做 LogiNexus 时最深刻的体验。

早期,我的工作模式是:想到什么功能 → 让 AI 生成代码 → 大量修改。效率很低。

后来,我建立了 .42cog 上下文体系:

CODE
.42cog/
  ├── real/    # 现实约束:业务规则、技术限制、不可协商的条件
  ├── cog/     # 认知模型:系统架构、核心概念、设计理念
  ├── spec/    # 规约文档:接口定义、数据模型、状态机
  └── work/    # 工作记录:决策日志、踩坑记录

每次让 AI 生成代码前,我先确保相关的上下文文档是最新的。结果,AI 首次生成代码的质量从"需要大量修改"提升到了"微调即可用"。

一个具体的例子:LogiNexus 的运费结算模块。

没有上下文时,我告诉 AI:"帮我实现运费结算功能。"AI 生成了一个通用的计费引擎,技术上没问题,但完全不适用于物流行业的实际场景——它不知道"包干价""阶梯计费""回程优惠"这些业务概念。

有上下文后,我在 .42cog/real/ 中写清楚了所有计费规则的业务约束,在 .42cog/spec/ 中定义了计费数据模型和状态机。基于这些上下文,AI 生成的代码几乎可以直接使用。

上下文即代码的含义是:你的上下文文档决定了 AI 产出的质量上限。好的上下文就是最好的"提示词工程"。

原则三:42 天迭代

核心思想: 用 42 天的短周期迭代替代瀑布式开发计划。

在 AI 原生模式中,变化速度远超传统模式:

  • AI 工具在快速迭代(几个月前不能做的事现在能做了)

  • 代码生成速度快,架构决策更频繁

  • 用户反馈来得更快(MVP 出得更快)

在这种速度下,传统的季度规划太慢了。42 天冲刺提供了一个折中——足够长以完成有意义的交付,足够短以适应变化。

在 LogiNexus 的开发中,我每 42 天做一次全面的方向评估:

  • 哪些 AI 工具更新了?是否需要调整工作流?

  • 用户反馈指向什么方向?

  • 之前的技术决策是否需要修正?

一些误区

误区一:"AI 原生 = 让 AI 写所有代码"

不是。AI 原生是重新设计工作流程,让人和 AI 各自发挥最大价值。有些代码(特别是涉及核心业务逻辑和安全的代码),仍然需要人深度参与。

误区二:"AI 原生 = 不需要学技术"

恰恰相反。AI 原生需要更强的技术判断力——你不需要写每一行代码,但你需要能判断每一行代码。品味比执行力更重要。

误区三:"AI 原生 = Vibe Coding"

Vibe Coding(氛围编程)是 AI 原生的一种实践方式,但不是全部。Vibe Coding 更适合原型和探索阶段。生产环境的代码需要更严谨的品质把控——这也是 AI 原生的一部分。

误区四:"AI 原生只适合个人开发者"

目前 AI 原生确实在个人开发者中应用最多,但这不代表它不适用于团队。只是团队场景的"混合智能协作"更复杂——不仅是人和 AI 的协作,还有人和人之间通过 AI 的协作。这是一个正在被探索的领域。

我的定义

综合以上所有实践和思考,我对 AI 原生软件工程的定义是:

AI 原生软件工程是一种从第一天就将 AI 作为核心协作者来设计工作流程的软件开发方式。它的核心不是"用 AI 写代码",而是"重新定义人在软件工程中的角色"——从执行者变为品味判断者、上下文提供者和方向决策者。

这个定义有三个关键词:

  • 核心协作者: AI 不是工具,是团队成员

  • 重新设计工作流程: 不是在旧流程上加 AI,是设计新流程

  • 人的角色转变: 从"写代码"到"判断代码"

这只是开始

坦率地说,AI 原生软件工程还是一个非常年轻的概念。我在 LogiNexus 中的实践只是一个起点——一个人的一个项目,样本量太小。

但我相信方向是对的。就像 2007 年的移动原生,当时没几个人能清晰定义它,但每个认真做移动产品的人都能感受到——有些东西从根本上不一样了。

AI 原生软件工程也是如此。如果你正在做 AI 相关的产品,你一定也感受到了——开发方式在从根本上改变。

我会持续在这个方向上实践和写作。不是因为我想"定义"什么,而是因为我真的想搞清楚:AI 时代,软件到底应该怎么做?

这个问题值得认真回答。

感谢读到这里。
如果这篇记录对你有帮助,可以点一个赞。