2026 06 18 从Agent驱动到Harness
Agent 驱动模式与 Pipeline 多 Agent 协作¶
Agent 驱动模式与架构¶
使用主 Agent 驱动和协调多个子 Agent,形成自动化工作流:
┌──────────────────────┐
│ 主 Agent │
│ (任务调度与协调) │
└──────────┬───────────┘
│
┌────────────────────┼────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ 代码生成 │ │ 测试执行 │ │ 文档生成 │
│ Agent │ │ Agent │ │ Agent │
└───────────┘ └───────────┘ └───────────┘
典型应用场景:
| 场景 | 实现方式 | 价值 |
|---|---|---|
| 自动化测试 | 测试 Agent 自动生成并执行测试用例 | 提高测试覆盖率 |
| 代码审查 | 审查 Agent 分析代码质量问题 | 降低 bug 率 |
| 文档生成 | 文档 Agent 根据代码生成 API 文档 | 减少文档维护成本 |
| 项目管理 | 管理 Agent 跟踪进度和任务分配 | 提升团队协作效率 |
Pipeline:多 Agent 协作¶
在处理复杂任务时,为什么不用一个 LLM 的对话窗口加一段超级长的 Prompt,而要使用由 Pipeline 串联的多 Agent 工作形式?
长 Prompt 的问题: - Prompt 越长,上下文就越长;上下文越长,AI 出错的概率就越高 - 提示词太长、太全面,导致输出很泛,无法判断哪一步做错了,也无法微调 - 整段提示词无法复用,需求稍有改变就必须全部重写
Pipeline 的优势: - 把复杂任务拆成多个独立的板块,每个 Agent 负责一个板块 - 每个 Agent 的 Prompt 变短,处理单项任务的精度变高 - 信息按设计的流程流动:A → B → C,或 A、B、C 并行处理后统一给到 D 做最终产出 - 每个 Agent 输出自己的工作结果,每一步调试都可追溯
Pipeline 就是一个供多个大模型同步或异步处理信息的基础设施,原理是把一个非常复杂的任务拆分成多个角色,去执行不同的板块。
AI 开发理念与思维转变¶
从任务执行者到系统定义者¶
AI 的普及划定了一条不断上涨的 价值水位线。低于此线的技能与经济价值会迅速"蒸发"而非缓慢贬值。这本质上是 "人类社会费米能级" 的抬升,形成了一道临界门槛,区分了两类人:
- 任务执行者:停留在给 AI 指令并微调产出的层面,实则在帮 AI 更高效地取代自己,思维可能被 AI 的"答案空间"殖民。
- 系统定义者:能够构建 让 AI 能力倍增的工作流、自动化框架或增强回路,设计系统让 AI 持续发现问题、验证假设、管理进程。
真正的稀缺品是 愿景 和 构建独特原初问题空间 的能力。应警惕外包思考起点、沉迷于"生成的满足感"。
从开发 Agent 到开发 Harness¶
当一个人说"我在开发 Agent"时,实际上只可能有两种含义:
- 训练模型:通过强化学习、微调、RLHF 等方法调整模型,这是 DeepMind、OpenAI 等机构的工作。
- 构建 Harness:编写代码,为模型提供一个可操作的环境——这是大多数人的工作。
Harness 的构成:
Harness = Tools + Knowledge + Observation + Action Interface + Permissions
- Tools:文件读写、Shell、网络、数据库、浏览器
- Knowledge:产品文档、领域资料、API 规范、风格指南
- Observation:git diff、错误日志、浏览器状态、传感器数据
- Action:CLI 命令、API 调用、UI 交互
- Permissions:沙箱隔离、审批流程、信任边界
AI 编程的最高境界¶
"我真的麻了,我现在让 OpenClaw 自己用 OpenCode 来 vibe coding,自动推送到 github,自动部署上线,他会甩个线上链接给我,出问题了直接口喷式的在飞书上指挥。"
"还需要什么 Vibe Coding,AI 编程的最高境界是指挥 Agent 帮你完成。"
——望千川
这段分享描绘了 AI 编程的终极形态:从手动 Vibe Coding 进化为让 Agent 自主完成编码、推送、部署全流程,开发者只需在出现问题时通过自然语言进行指挥和纠偏。这本质上是从"工具使用者"到"系统指挥者"的又一次跃迁。
规格驱动开发(SDD)与 AI 协同编程¶
SDD 核心概念¶
规格驱动开发(Specification-Driven Development,SDD) 是以 规格(Spec)为事实唯一来源 的开发方法,而非以代码为中心。
| 对比项 | 传统开发 | SDD |
|---|---|---|
| 核心资产 | 代码 | 规格(Spec) |
| 文档与代码一致性 | 容易产生偏差 | 规格即唯一真相来源 |
| AI 协同方式 | 直接让 AI 写代码 | 先写规格,再让 AI 生成对应代码 |
| 团队协作 | 口头沟通需求 | 规格可版本控制、可追溯 |
核心价值:解决文档与代码不一致问题,支持 AI 迭代生成代码,便于团队协作和需求追溯。将 Prompt、Plan 等交互记录视为核心资产,通过 Git 管理。
SDD 与传统开发流程对比¶
- 传统流程:需求 → 评审 → 设计 → 编码 → 集成 → 测试
- SDD 流程:在设计阶段引入 AI 协同,通过 Spec 定义完整上下文,覆盖 PRD、接口文档、数据库设计等,实现全流程 AI 辅助
SPEC KIT 工具¶
SPEC KIT 可从 0 到 1 生成项目接口描述、测试用例,支持前后端协同。
核心命令:
| 命令 | 作用 |
|------|------|
| /constitution | 定义规则(宪法) |
| spec | 提需求 |
| plan | 制定技术实现计划 |
| task | 分解任务 |
| implement | 执行生成 |
原理:通过模板和脚本适配不同开发平台,将 AI 规则编码化。
OPEN SPEC 工具¶
OPEN SPEC 是轻量级规格管理工具,适用于小功能迭代(1 到 N 场景)。
核心流程: 1. 提案(proposal):描述需求和修改范围 2. 应用(apply):生成执行计划并调用 AI 实现 3. 归档:记录变更历史,支持团队协作追溯
优势:目录结构简单,支持自然语言交互修改任务,集成测试验证。
SDD 实施段位¶
| 段位 | 特点 | 类比 |
|---|---|---|
| 基础段位 | 人机协作编写 Spec 生成代码,易出现文档丢失 | L1 辅助驾驶 |
| 黄金段位 | 保留 Spec 资产,人工介入验证 | L2 自动驾驶 |
| 理想段位 | 专注 Spec 设计,多模型竞争生成代码,测试自动验证 | L3 自动驾驶 |
AI 协同开发最佳实践¶
- 上下文管理:提供清晰的项目背景、技术栈和验收标准
- 任务分解:将需求拆分为明确、可验证的小任务
- 测试驱动:通过测试用例定义成功标准,确保 AI 输出符合预期
- 资产沉淀:使用 Git 管理 Spec、Prompt 和交互历史,支持复用和迭代