Skip to content

Harness Engineering — 数据研发 Multi-Agent 架构实践

Harness Engineering — 数据研发 Multi-Agent 架构实践

原文:阿里技术 — 数据研发Multi-Agent架构的Harness工程实践 关键词:Harness Engineering, Multi-Agent, 约束体系, Orchestrator+Specialist, Spec文件驱动

核心公式

Agent = Model + Harness
模型定上限,Harness 定下限

模型再强,没有 Harness 兜底,照样不敢放进生产系统。反过来 Harness 做得好,哪怕模型差一点,也能跑出靠谱的产品。

AI 工程范式三代演进

代次范式核心问题局限
第一代Prompt Engineering怎么让模型理解我想要什么只适用于单次问答,长程任务不够
第二代Context Engineering怎么让模型决策时看到该看的Agent 仍会在某些路径犯低级错误
第三代Harness Engineering怎么让 Agent 可控制、可预测、可信任工程投入大,需要持续迭代

三大分层 + 六大支柱

身份层 (Identity) — 「谁、能做什么、绝不能做什么」

角色定义:采用 Orchestrator+Specialist 架构。协调者不写代码,只负责调度、把关、评审、汇报;子专家各司其职(需求拆解、方案设计、SQL开发、测试验证)。

约束分层(三层金字塔)

  1. 超级红线(违反即事故)——Human in the loop、禁止编造数据、禁止越界调用、信息分舱隔离
  2. 错误记录(历史教训)——格式化记录踩坑史,强制回顾
  3. 操作规则(最佳实践)——知识库检索流程、文档模板等

执行层

Orchestration(流程编排)

  • 机器自动完成埋点、版本检查、MCP依赖检查等机械环节
  • 三种执行路径:全链路(新需求)→ 快案(需求清晰)→ 快码(口头需求直接写)
  • 无依赖并行 + 修改三级自适应(轻量改主Agent直接改,中等改调子专家,重大改走全链路)

Context(上下文工程)

  • 流程阶段切分:只有跑到那一步,才读那一步的东西
  • CP 检查点摘要:每阶段结束强制压缩为固定格式摘要,不透传对话历史
  • 渐进式加载:涉及哪类规范才读哪个文件(核心层+详情层两级)
  • Spec 文件驱动:Agent 之间靠写结构化文件传信息,不靠对话历史

Gate(门禁检查)

  • 关键路口设卡(MCP可用性、Agent产出review、SQL语法校验等)
  • 取消 Agent 「我觉得不需要检查」的权力——必须检查
  • 生成评估分离:子专家产出 → 协调者拿 checklist 验收

Recovery(故障恢复)

  • 12 个明确的状态枚举值,状态追踪文件持久化
  • 三级故障:可重试(自动自愈)→ 需回退(退到上一存档点)→ 必须中止(坦诚告知用户)
  • 协调者身上挂「重试员」角色专职恢复

进化层 (Evolution)

  • 每个专家 Agent 有自己的「踩坑记录本」(编号 + 日期 + 一句话错误描述 + 正确做法)
  • 实时记录 → 自动加载到上下文 → 反复出现的错误升级为红线
  • 让错误成为系统进化的燃料

实践启示

  1. 【马上能用】:约束分层设计(红线→错误记录→规则),在任何 Agent 系统中都可移植
  2. 【马上能用】:Spec 文件驱动 Agent 协作,不挑模型不挑框架,可追溯可审计
  3. 【避坑】:不要让一个 Agent 干所有事;不要让它决定「要不要检查」
  4. 【避坑】:修改不能一刀切全走重流程,按影响范围分级

未来判断

两条路径并存:

  • 路径一(当前):Harness 成为 AI 时代的 DevOps,沉淀方法论+标准+工具链
  • 路径二(长期):最终被更强的模型原生能力吸收消解

短期积累工程能力,长期保持模块化让每个支柱可独立移除。