在 AI 编程浪潮席卷而来的当下,我们正经历着一场从“氛围编程”(Vibe Coding)向“驾驭工程”(Harness Engineering)的深刻范式转移。这不仅是一场技术工具的迭代,更是一次软件工程底层逻辑的认知升级。
引言:Vibe Coding 的核心矛盾与破局
在 Vibe Coding 盛行的初期,开发者们沉浸在自然语言驱动代码生成的快感中。然而,随着项目复杂度的提升,一个致命的瓶颈逐渐浮出水面:AI 生成代码的带宽,已经远远超过了人类审查(Review)代码的带宽。
当 AI 每天能产出成百上千行代码时,传统的“人肉看 Diff”模式必然崩塌。如果不改变这种工作流,人类不仅会成为整个开发链路的瓶颈,还会因为“看不完、先过”的惯性,给系统埋下巨大的安全隐患和技术债。这就是典型的“审查疲劳”。
要打破这个瓶颈,核心思路绝不是强迫人类去逐行审查 AI 生成的每一行代码,而是彻底改变人类在 AI 工作流中的角色。我们需要从被动的“代码审查者”进化为主动的“AI 指挥官”(架构师与产品经理)。解决之道,在于构建一套让 AI 能够稳定、可靠工作的系统环境,而非仅仅依赖人类的肉眼把关。而要构建这套环境,我们首先需要理清 AI 工程化认知的演进脉络。
认知的三次跃迁:Prompt、Context 与 Harness
在迈向 AI 原生软件工程的过程中,我们的认知经历了三次关键的跃迁。
首先是 Prompt Engineering(提示词工程),它优化的是“意图的表达”。通过精心设计的指令,我们试图让 AI 听懂人话,解决的是“怎么把任务说清楚”的问题,旨在提升单次输出的质量。
常见做法包括但不限于:角色与边界(如“你是资深后端,只给可落地的方案,不写营销话术”)、Few-shot(在指令里嵌入 1~3 个「输入 → 期望输出」样例,让模型对齐格式与风格)、Chain-of-Thought / CoT(要求“先逐步推理再下结论”,适合复杂判断与排错)、输出契约(限定 Markdown 标题层级、JSON 字段名、或「结论在前、依据在后」的结构)、以及 分解与自检(把大任务拆成子步骤,或要求模型在结尾列出假设与未覆盖风险)。它们共同作用的对象仍是「这一次对话里你怎么下指令」,而不是系统级的执行闭环。
其次是 Context Engineering(上下文工程),它优化的是“信息的供给”。大模型的上下文窗口(Context Window)是极其稀缺的资源。上下文工程通过提供低信息熵、高信噪比的信息(如精准的数据库 Schema、核心业务约束),解决的是“怎么把信息给对”的问题,从而最大化 AI 的注意力。
这里有一个常被误解的前提:大模型单次推理在机制上是无状态的——它不会在服务端替你长期「记住」上一轮聊天;连贯的对话感,来自应用层把历史轮次、滚动摘要或外部记忆主动拼进本次请求。多轮续写、纠偏因此也是上下文工程的一部分:要规划历史如何截断、何时摘要、哪些结论必须外置成文件或状态,否则窗口一满就会遗忘或被截断。
多轮对话只是「供给」的一条轴线;在同一请求里,往往还要再叠加与当下任务直接相关的材料,才能把信噪比拉满。典型供给包括:与任务强相关的代码切片(只附当前模块的接口与调用链,而非整仓)、结构化事实(表结构 DESCRIBE、关键索引与枚举值、状态机图)、契约片段(OpenAPI 中与本需求相关的路径与字段,而非全量 YAML)、可复现的失败信号(最小复现步骤、完整栈与日志行号)、项目级索引(AGENTS.md、架构小节、目录地图,让模型知道「该去读哪几个文件」)、以及 RAG / 工具回读(先检索再注入,避免把百科全书一次性塞进窗口)。与 Prompt 不同,这里优化的是「模型此刻眼里有哪些材料」,而不是「这句指令怎么措辞」。
然而,前两者都还停留在“输入侧”。真正引发质变的是第三阶段——Harness Engineering(驾驭工程)。它优化的是 AI 的“执行与交付”,或者说是在优化 AI 的“行为边界与系统闭环”。如果把 AI 比作一匹野马,Prompt 是你发出的口令,Context 是你手中的地图,而 Harness 就是给这匹野马套上的缰绳、马鞍、马蹄铁,以及规划好的赛道和终点线。它不再局限于“怎么让 AI 听懂”,而是解决“怎么让 AI 靠谱地把活干完”。
既然 Harness 的核心是约束与执行,那么作为其重要组成部分的上下文工程,在实战中究竟该如何做到极致的“信息供给”?
深度拆解:上下文工程的最佳实践——渐进式披露
在 Harness 的体系中,如何高效地投喂上下文?目前的最佳实践是“渐进式披露”(Progressive Disclosure)。
这一概念最早源于 UI 设计,旨在避免一次性展示过多复杂功能。在 AI Agent 时代,它被完美迁移来解决大模型“信息过载”的痛点。其核心逻辑是从“全量加载”转向“按需加载”,把知识外置到文件系统中,让 AI 像人类专家一样“平时记目录,用时查手册,干活调工具”。Agent Skills沿用的正是这一路数:先在索引层用极短的元信息声明「何时适用、覆盖哪类任务」,待模型判定与当前问题匹配后,再加载技能的完整正文与操作细则,而不是在会话开局就把所有技能全文塞进上下文。
CLI(命令行界面)正是这一理念的终极进化形态,其背后正是 Unix 哲学:程序宜只做一件事并把它做好,以文本流作为程序之间交换的通用接口,再用 管道(|) 把多个小工具串成流水线——组合优于单体的大程序。相比于 MCP(模型上下文协议)往往需要开局就注入数万 Token 的完整 JSON Schema(全量预加载),CLI 拥有天然的、零成本的渐进式披露能力。与 GUI 自动化相比,Agent 经由 CLI 调工具时接口落在纯文本上:命令与参数即契约,结果落在标准输出/标准错误,无需识别屏幕坐标或随版本改版的控件树;同一操作易于脚本化、管道组合与在无头环境(CI、远端机)中批量重跑,配合日志也更易做可观测与回放。对「大模型 + 工具」这一组合而言,这通常意味着更低的感知成本、更高的确定性与可审计性。
以大模型极其熟悉的 kubectl 为例,其多级子命令模式(如 kubectl get pods)完美契合了 AI 的“预训练肌肉记忆”。AI 在训练时已经阅读了海量文档,天然“认识”这些通用命令。它不需要你提前把整本说明书塞进上下文,而是可以在需要时通过 –help 按需获取参数说明。这种模式不仅将单次调用的上下文成本无限趋近于 0,还通过管道(|)和重定向实现了极高的组合灵活性。这,就是高信噪比上下文工程的胜利。
掌握了“渐进式披露”这一高效的信息投喂技巧后,我们便可以将其融入一个更宏大的框架中,通过以下“三步走”的路线图,将 Harness Engineering 从理念转化为具体的落地实践。
Harness 工程的落地指南:从概念到实操
Harness Engineering 的核心目标,是让模型在真实执行中持续、高效地做对。具体落地时,我们可以遵循一个清晰的“三步走”路线图:
Phase 1:信息层——让 Agent “看得懂”
这一阶段的核心是落地 AGENTS.md 地图模式与结构化知识库。不要试图写一本 1000 页的百科全书,而是为 AI 绘制一张清晰的“项目地图”。通过结构化的目录(如 docs/architecture、docs/conventions)和清晰的索引,告诉 AI “你想做什么,就去哪里看”。这完美解决了 AI 缺乏项目上下文且容易在长文档中迷失的根本痛点。
Phase 2:约束层——让 Agent “不得不”写好
这是 Harness 的核心精华。我们需要将抽象的“代码规范”转化为具体的 Linter 规则与 CI 管线。例如,利用 Rust 的强类型系统及其官方 Linter Clippy、ESLint 的自定义规则或 Go 的 Linter,构建硬性防线。一个非常高明的技巧是:将错误信息转化为 Prompt。当 AI 违反规则时,Linter 返回的不仅是报错,还应包含“问题描述 + 修复代码片段 + 规范文档链接”。这样,人类 Code Review 的经验就被固化到了机器检查中,实现了真正的“硬约束”。
Phase 3:自动化层——让 Agent 自我验证
这是进阶的利器。我们需要建立“生成-检查-修正”的自动化闭环。本地侧可先用 Git Hooks 把反馈前置:在 pre-commit / pre-push 上挂载格式化、Lint 或子集测试(前端仓库里常见 Husky、lint-staged;其他语言栈也可用 pre-commit 框架或原生 shell 钩子),未过检时把钩子输出连同错误信息一并留在终端,便于立刻回灌给模型再改一轮,避免「坏提交」先进入历史。远端与环境侧再叠加后台清理 Agent、Git Worktree 隔离实验性改动、CI 全量测试与覆盖率、架构依赖校验以及全链路可观测性。当 AI 推送或合并请求触发流水线后,若仍失败,则强制其读取日志并自我修复,直到通过本地与远端的质检线。这确保了 AI 不再是“一锤子买卖”,而是具备了在长流程任务中自我纠错、持续迭代的能力。
结语:建设 AI 时代的“工业级”操作系统
Harness Engineering 的出现,标志着 AI 编程从“凭感觉、快糙猛”的玩具阶段,正式迈向了“可约束、可验证、可交付”的工业级阶段。
在未来的 AI 软件工程中,工程师的核心竞争力将不再是写代码的手速,而是对高信噪比上下文的策展能力,以及对自动化约束与反馈系统的设计能力。Harness 工程不仅是技术架构,更是那个让 AI 智能体在狂奔时既能跑出速度,又不会脱轨翻车的关键操作系统。当你不再把自己当成“人肉回车键”,而是成为 AI 的指挥官与系统架构师时,你就真正掌握了 AI 时代的生产力密码。

