软件工程正在被重写。不是通过取代开发者,而是通过改变开发的方式——从个人的人类活动,转变为人类与 AI agent 之间的协作实践。
#AI Native 的含义
AI Native 不是把 AI 当工具用。而是构建系统、工作流和组织,将 AI agent 协作作为一等架构关注点。
一个 AI Native 项目:
- 结构化程度足以让 agent 无需人类解说即可理解和导航
- 将 agent 可读性视为与人类可读性同等重要
- 自动化可自动化的部分,为人类判断设计清晰的边界
- 通过记录的失败而非仅成功的功能来进化
- 使用规格文档作为人类与 agent 之间的共享契约
#原则
#1. 结构即接口
对 agent 而言,项目结构就是 API。清晰的目录、可预测的命名和共置的上下文不是锦上添花——它们是 agent 理解系统的接口。
#2. 最小化人类介入
设计人类干预是例外而非常规的工作流。这不意味着移除人类——而是刻意地确定人类判断在哪里提供不可替代的价值。
#3. 规格优于部落知识
未成文的约定对 agent 是不可见的。如果一个决策重要,就把它写成 spec。Spec 是人类会话和 agent 会话之间的共享记忆。
#4. 原子化与可追溯
每次变更都应小到可以独立理解,标签清晰到可以作为有用的历史上下文。Agent 从 git 历史中学习——让它值得阅读。
#5. 失败即输入
失败不仅是需要解决的事件——它们是系统进化的训练数据。记录它们,分析它们,将教训编码到项目结构中。
#6. 标准优于自定义
使用已建立的协议(MCP 用于工具调用、约定式提交格式、标准目录布局)而非自定义方案。标准减少了 agent 运作所需的上下文。
#目标
AI Native 工程的目标不是将人类从循环中移除。而是创造这样的环境:人类与 agent 之间的协作结构如此良好,以至于双方都能发挥最佳——人类负责判断、创造力和方向;agent 负责执行、一致性和规模。