工程实践:中间循环与 AI 原生 OS

当 AI 接管代码编写,工程师做什么?从中间循环到 Spec Coding,从康威定律到 AI 原生操作系统

中间循环 (Middle Loop Engineering)

当 AI 接管了内循环(写代码、调 API、修 bug),工程师的价值向上迁移至 中间循环——位于内循环(代码执行)和外循环(CI/CD、发布部署)之间的监督工程层。

定义与定位

中间循环工程师不再直接编写实现代码,而是:委托任务给 AI Agent、编排工作流确保多步骤协调、审计结果验证质量、积累经验资产形成可复用的知识和规范。

六大核心能力

1. 委托心态 (Delegation Mindset)
从"我来写"转变为"我来指导"。将任务有效分解为可委托给 AI 的子任务,编写清晰的 spec 和上下文。核心技能是 意图表达,而非代码实现。
2. 架构心智模型 (Architecture Mental Model)
在脑中维护系统的全局架构图——模块边界、数据流、依赖关系、性能瓶颈。当 AI 生成代码时,能快速判断它是否符合架构意图。
3. 快速质量评估 (Rapid Quality Assessment)
在 30 秒内判断 AI 生成的代码是否"大致正确"。不是逐行审查,而是检查关键模式:错误处理、边界条件、安全隐患、性能特征。
4. 问题分解 (Problem Decomposition)
将模糊的业务需求转化为结构化的技术问题,再进一步分解为 AI 可独立处理的子任务。分解质量直接决定 AI 输出质量。
5. 信任校准 (Trust Calibration)
知道何时信任 AI、何时怀疑 AI。对高风险操作(数据库迁移、安全相关代码)保持深度审查,对低风险操作(UI 样式、样板代码)快速放行。
6. 架构一致性 (Architecture Consistency)
确保 AI 在多次独立生成中保持系统架构的一致性——命名规范、错误处理策略、日志格式、依赖方向。通过规范和约束文档实现。

历史类比:技术成熟的三阶段

阶段1992 图形渲染1994 硬件加速今天 AI 编程
早期手工编写渲染算法手工配置 GPU 指令手工编写所有代码
中期图形引擎封装底层驱动和 API 抽象层AI Agent 封装编码
工程师角色从"写渲染代码"变为"设计场景"从"写驱动"变为"设计系统"从"写代码"变为"设计架构和监督 AI"
关键转变不再需要理解光栅化细节不再需要理解寄存器操作不再需要理解实现细节

案例:Karpathy LLM Wiki

四步工作模式

Andrej Karpathy 在构建 LLM Wiki 项目时展示了典型的中间循环工作方式:
1. Delegate (委托) — 将"为 LLM 概念创建解释页面"委托给 AI Agent。
2. Orchestrate (编排) — 定义页面结构模板、交叉引用规则、质量标准。
3. Audit (审计) — 审查生成内容的准确性,修正技术性错误。
4. Accumulate (积累) — 将审查中发现的模式总结为规范,提升后续委托质量。

Spec Coding

Spec Coding 是相对于 Vibe Coding 的工程化替代——用 形式化规格说明 驱动 AI 代码生成,而非依赖自然语言的模糊描述。

Vibe Coding vs Spec Coding

维度Vibe CodingSpec Coding
输入自然语言 Prompt形式化规格说明 (Spec)
验证人工检查 + 感觉自动化测试 + 形式化验证
可复现性低(Prompt 敏感性)高(Spec 确定性)
复杂度容忍低(简单功能可用)高(可处理复杂系统)
质量保障事后发现 bug事前预防 bug
适合阶段原型、Hackathon生产系统

CCC 案例:Vibe Coding 的复杂度天花板

CCC (Code Complexity Catastrophe) 案例展示了 Vibe Coding 的根本局限:当查询复杂度超过某个阈值时,LLM 的正确率急剧下降。实测中,复杂 SQL 查询的生成效率比人类工程师慢 158,000 倍——不是慢在生成速度,而是慢在反复调试和修正错误输出上。

Spec Coding 三要素

Specification (规格说明)
用形式化语言描述"做什么"而非"怎么做"。包括:输入输出类型、不变量、边界条件、性能约束、安全要求。Spec 是 AI 生成的唯一输入源。
AI Generation (AI 生成)
AI 根据 Spec 生成实现代码。由于 Spec 是形式化的,生成结果具有更高的确定性和可复现性。多次生成同一 Spec 应产生行为等价的代码。
Auto-verification + Human Audit
自动验证:生成代码必须通过 Spec 衍生的测试套件(属性测试、合约检查、模糊测试)。人工审计:审查架构决策、安全隐患和 Spec 未覆盖的边缘情况。

三重门质量保障

Gate 1: Spec 完备性检查
在生成代码之前,先验证 Spec 本身是否完备——是否有未定义的边界条件、矛盾的约束、遗漏的错误处理。不完整的 Spec 不进入生成阶段。
Gate 2: 自动化验证
生成的代码必须通过三重自动化验证:单元测试(功能正确性)、属性测试(Spec 不变量)、静态分析(安全/性能模式)。
Gate 3: 人工审查
通过自动化验证的代码进入人工审查。审查重点不是"代码对不对"(自动化已验证),而是"Spec 对不对"——是否遗漏了重要的需求或约束。
SpecFS:FAST 2026 Best Paper

SpecFS (Specification-driven File System) 是 Spec Coding 的标杆案例:用形式化 Spec 描述文件系统行为,AI 生成实现,自动验证通过 POSIX 合规测试。相比传统开发,效率提升 3-5 倍,且生成的代码在正确性上显著优于手工实现。该工作获得 USENIX FAST 2026 Best Paper Award,标志着 Spec Coding 从理论走向实践。

智能体拓扑 (Agent Topology)

当 Agent 成为组织的核心生产力,组织架构需要重新设计——这是 康威定律 在 AI 时代的延伸。

康威定律的 Agent 时代延伸

经典康威定律:"系统的架构反映组织的沟通结构"。Agent 时代的延伸:系统的智能体拓扑反映组织的知识流和决策权分配。谁拥有 Agent、Agent 之间如何协作、谁来监督 Agent——这些问题的答案直接映射组织的权力结构。

三个核心维度

Agent 流动性 (Agent Fluidity)
Agent 在组织中的流动和复用程度。高流动性意味着同一 Agent 可服务于多个团队和场景,但需要更强的标准化接口和上下文管理。
速度失配 (Speed Mismatch)
Agent 执行速度远快于人类决策速度。组织需要设计缓冲机制(审批门控、异步审查)来弥合这个速度差,否则人类成为瓶颈或被绕过。
Agent 漂移 (Agent Drift)
Agent 行为随时间缓慢偏离初始设计——因为学习、适应、或底层模型更新。组织需要持续监控和校准机制来检测和纠正漂移。

三层竞争模型

层级竞争焦点趋势差异化来源
Model 层基础模型能力商品化 (Commoditization)低——开源追平闭源,能力趋同
Agent 层Agent 框架和工具标准化 (Standardization)中——框架趋同但定制化空间存在
Organization 层组织如何部署和编排 Agent差异化 (Differentiator)高——组织结构是真正的护城河
核心论断

"AI 的终局不是更聪明的模型,而是更适配 AI 的组织。" 当模型能力趋同、Agent 框架标准化之后,真正的竞争优势来自组织如何设计 Agent 拓扑、如何分配人机职责、如何构建知识飞轮。

AI-Native OS

当 Agent 成为系统级构建块 (system-level building block),操作系统需要 根本性重新设计——不是在现有 OS 上打补丁,而是从第一原理出发构建 AI 原生操作系统。

核心命题

传统 OS 为人类用户设计——图形界面、文件层级、窗口管理。当 Agent 成为主要"用户"时,这些设计假设全部失效。Agent 不需要 GUI,不需要文件树,不需要窗口——它需要的是 结构化的状态查询接口、确定性的操作原语和严格的权限边界

界面悖论:CLI > GUI > Nested JSON

一个反直觉的发现:对于 LLM 来说,命令行界面优于图形界面,而结构化 JSON 优于两者。原因是 LLM 本质上是文本处理器——它理解和生成文本的能力远强于理解像素和坐标。因此 AI-Native OS 的接口应该是:

结构化查询
GET /system/processes?state=running&sort=cpu
返回嵌套 JSON,而非进程管理器窗口。LLM 可以精确解析每个字段。
确定性操作
POST /files/create { path, content, permissions }
每个操作有明确的输入/输出 Schema,而非拖拽文件到文件夹。

四大原生特征

模型原生 (Model-Native)
OS 内核理解 LLM 的特性——概率性输出、上下文窗口限制、幻觉风险。调度器根据模型能力分配任务,而非假设所有"用户"都是确定性的。
Agent 原生 (Agent-Native)
Agent 是一等公民——有独立的身份、权限、生命周期管理。OS 提供 Agent 注册、发现、通信和协作的原生支持,而非让 Agent 模拟人类用户操作。
全场景原生 (Omni-Scenario Native)
统一处理文本、图像、音频、视频、代码等多模态输入输出。不是为每种模态建独立子系统,而是设计统一的资源抽象和处理管线。
时空交互原生 (Spatiotemporal Native)
支持 Agent 的异步、长时间运行任务。传统 OS 假设用户交互是同步的(点击-响应),AI-Native OS 需要支持"提交任务 → 数小时后检查结果"的交互模式。

安全模型:从防入侵到行为控制

传统安全模型假设攻击者是外部入侵者——防火墙、身份认证、加密。AI-Native OS 的安全模型需要额外应对 Agent 自身的不可预测行为

隔离 (Isolation)
每个 Agent 运行在独立的沙箱中,拥有最小权限。Agent 不能直接访问其他 Agent 的内存或文件系统,只能通过 OS 提供的消息总线通信。
监控 (Monitoring)
持续监控每个 Agent 的行为模式——API 调用频率、数据访问范围、资源消耗。异常行为触发告警,但不立即阻断(避免误杀正常行为)。
恢复 (Recovery)
当 Agent 行为导致系统状态异常时,OS 可以回滚到检查点。类似数据库事务——Agent 的操作可以打包为事务,异常时整体回滚。
审计 (Audit)
所有 Agent 操作的完整日志——包括推理链、工具调用、生成内容。审计日志不可篡改,用于事后分析和责任追溯。
核心洞察

"AI-Native OS 的目标不是消除概率性,而是收敛它。" LLM 本质上是概率模型,无法做到 100% 确定性。AI-Native OS 的设计哲学是:接受概率性,通过隔离、监控、恢复和审计机制将其影响收敛到可控范围内。就像容错计算不消除硬件故障,而是通过冗余和校验将错误率降到可接受水平。