Knowledge Archive
Summary · AI

万字干货理解HarnessEngineering

AI 2026-04-13 · 17 min read · 6 backlinks
AI工程Harness-EngineeringAgent架构REPL安全上下文管理

万字干货:理解 Harness Engineering,看这一篇就够了

来源: 咸鱼(TRAE 开发者用户) 原文: https://mp.weixin.qq.com/s/MzB8-B00GVdJy22j42CRgg

核心观点

Harness Engineering = 除了 LLM 本身之外,让 Agent 真正能干活的一切基础设施。它不是"更好的提示词",也不是"更强的模型",而是优化模型运行所需的环境、机制与基础设施的总和——一套将 AI 的"智能"转化为可靠、可控、可规模化"生产力"的工程哲学与实践框架。

核心隐喻:AI Agent = SOTA 模型(野马)+ Harness(驾驭系统)= 千里马。Harness 不是去改变马的基因(模型本身),而是为它设计一套专业的马具和训练方法。

Harness Engineering 不是需要焦虑追捧的全新发明,而是对一系列现有工程实践的系统性总结与命名。随着模型迭代,部分 Harness 会被模型内化而退出历史舞台;新场景涌现时,也会催生新的 Harness 实践。


术语表

文章开篇提供了一张完整的术语速查表,涵盖 7 个核心概念:

术语速查表

术语专业释义类比
Harness Engineering围绕 AI 智能体构建约束、反馈与控制系统的工程学科施工队的图纸+建材标准+质检流程+安全规范
AI Agent能基于环境感知、自主规划并执行动作的 AI 程序配备传感器、大脑和工具箱的自主机器人
Context Engineering在任务执行的恰当时机,为 Agent 精确提供所需信息,强调"少即是多"手术室护士——递手术器械,而非推整个工具车
Architectural Constraints通过自动化工具强制执行的编码和设计规则城市交通系统中的红绿灯、单行线和护栏
Self-VerificationAgent 完成任务后自主运行测试或检查清单来验证产出学生交卷前自己检查答案
Ralph Loop强制 Agent 不断迭代直至通过客观验证标准才允许终止"必须命中靶心才能结束"的射箭练习
Entropy / 熵系统随时间推移逐渐积累的混乱、无序和技术债务只放书不整理的书架,越来越乱

第一部分:为什么需要 Harness Engineering

R.E.S.T 模型

为了让 Agent 从"有趣的玩具"变为"可靠的工具",必须满足四个核心目标:

  • Reliability(可靠性):失败可恢复(从检查点恢复)、操作幂等性(关键写操作可安全重试)、行为一致性(相同输入下可预测)
  • Efficiency(效率):Token 消耗/API 调用/计算时间有精确预算控制、低延迟响应、高吞吐量
  • Security(安全性):最小权限、沙盒执行、输入/输出过滤——对能自主行动的 Agent,安全性是不可逾越的红线
  • Traceability(可追溯性):全链路追踪、决策可解释(每个关键决策有归因记录)、状态可审计(任意历史时间点可查询)

Agent-First 时代的工程师角色跃迁

一个仅三人的小型团队,在几乎不手写任何代码的情况下,通过引导 AI Agent,五个月内构建了百万行代码级别的复杂产品,累计合并约 1,500 个 PR。这证明:工程师的核心价值从"动手执行"转向"系统设计"——从逐行编码的工人,变成绘制蓝图、定义规则、最终验收成果的架构师

仅靠提示词(Prompt)这种"软约束"远远不够,需要一套"硬约束"的工程体系保障质量——这正是 Harness Engineering 的用武之地。


第二部分:Harness Engineering 包含什么

PPAF 四阶段循环

一个完备的 Agent 系统,核心运行机制可抽象为持续循环的四阶段过程:

  • 感知(Perception):捕获当前世界状态
  • 规划(Planning):基于感知信息更新目标、拆解任务
  • 行动(Action):执行内部/外部操作
  • 反思(Feedback/Reflection):评估行动结果,反馈到下一轮

四维工程维度

Harness Engineering 将 Agent 工程化体系解构为四个核心维度,每个维度与 PPAF 闭环紧密耦合:

四维工程维度

工程维度核心隐喻工程目标支撑的 PPAF 环节
造缰(Making the Reins)定义接口、协议与约束为 Agent 感知和行动提供清晰、稳定、安全的边界和 I/O 通道感知(Perception)
驭马(Riding the Horse)实现策略、调度与执行控制设计和实现 Agent 的核心决策与执行逻辑规划(Planning)& 行动(Action)
相马(Evaluating the Horse)建立评估、观测与选择机制建立度量和评估体系,观测 Agent 能力、性能和行为反思(Reflection)
育马(Breeding the Horse)构建训练、迭代与记忆体系设计数据回流、模型训练和知识更新的闭环机制反思(Reflection)& 记忆

Agent 能力四象限矩阵

从"认知循环"和"上下文效率"两个维度,可以构建一个战略分析矩阵:

Agent能力四象限矩阵

  • 横轴(AI 认知循环):被动响应(React)→ 主动规划与反思(Proactive Plan & Reflect)
  • 纵轴(上下文处理效率):低效(人工/单点投喂)→ 高效(沙盒化/全自动注入)

矩阵揭示:Harness 的成熟度,直接决定了 Agent 能否从低效/被动的第三、四象限,跃迁至高效/主动的第一、二象限。


第三部分:Harness Engineering 如何设计

3.1 顶层抽象:REPL 容器

Harness 的本质 = 带有边界控制、工具路由与确定性反馈的 REPL(Read-Eval-Print Loop)容器,包裹在 LLM 这个非确定性"大脑"之外:

  • Read:通过上下文管理器,将外部世界和内部记忆"翻译"成 LLM 可理解的结构化 Prompt
  • Eval:通过调用拦截器捕获 LLM 生成的规划(Function Calling),路由到正确的工具执行器,监控超时/资源/错误
  • Print:反馈汇编器将执行结果组装成结构化"观测结果",重新注入上下文
  • Loop:持续循环直到达到目标状态或触发终止条件

3.2 底层转换:无限状态 vs 有限 Token

核心矛盾:Agent 需要理解海量状态信息,但 Transformer 架构操作的是有限的线性 Token 序列。

上下文管理是规划质量的生命线。Harness 通过规约规则(Token 预算紧张时哪些信息牺牲/保留)和注入边界(外部信息在 Prompt 哪个位置注入,避免 Lost in the Middle)来解决。

上下文映射策略

Function Calling 生命周期闭环

  1. Schema 序列化(工具列表+参数定义注入 Prompt)
  2. 触发生成(LLM 模式匹配后生成调用文本)
  3. 确定性反序列化——最脆弱的环节,LLM 生成可能不完全符合语法
  4. 观测注入(执行结果封装回 Prompt)

降级路径:反序列化失败→重试或回退到自然语言指令;执行失败→交互式补充或反思重规划。

状态分离原则:必须将 LLM 视为无状态计算单元(CPU),所有跨轮次状态存储在 Harness 控制的外部管理器中。反模式:试图通过 Prompt Engineering 让 LLM 在长对话中自行维护复杂状态。

3.3 三大核心约束与六大设计原则

三大核心约束

  1. Token 窗口有限——上下文不可能无限大
  2. LLM 输出非确定性——同样输入可能不同输出
  3. 工具执行有副作用——行动不可逆,必须安全隔离

六大设计原则

  1. 为失败而设计:异常和失败是常态,所有组件具备容错、重试和优雅降级
  2. 契约优先:所有交互由机器可读契约(Schema/API/Event)定义
  3. 默认安全:最小权限、零信任、纵深防御
  4. 决策与执行分离:将"决定做什么"与"如何做"在逻辑和物理上解耦
  5. 万物皆可度量:每个行为、决策、资源消耗都可度量
  6. 数据驱动进化:每次运行都是学习机会,建立数据→更新的闭环

3.4 关键工程位点

关键工程位点

工程位点核心职责PPAF 环节设计要点
工具网关(Tool Gateway)统一管理工具注册、发现、Schema 提供和权限校验规划(P)动态注册与发现;RBAC 访问控制;Schema 自动序列化与版本管理
调用拦截器(Call Interceptor)在工具执行前后注入通用逻辑(日志、度量、超时、资源配额)行动(A)AOP 设计;可插拔策略模块(超时、重试、熔断)
反馈汇编器(Feedback Assembler)将工具执行裸结果转换为 LLM 可理解的结构化观测信息反思(F)统一反馈 Schema;堆栈跟踪裁剪与摘要;错误码→人类可读映射
上下文状态管理器(Context State Manager)管理上下文 Token 预算,决定哪些信息保留/移除/归档感知(P)/记忆滑动窗口、摘要、RAG 等策略;信息价值优先级排序;短/中/长期分层存储
异常处理器(Exception Handler)对异常进行分类,指导重试和恢复策略行动(A)/反思(F)清晰异常继承体系;错误码→恢复策略映射表;可配置重试与熔断逻辑

第四部分:Harness Engineering 如何实现

4.1 系统架构:控制平面与数据平面

成熟的 Harness 拆分为控制平面(决定做什么:任务调度、资源配额、行为规划、策略与权限)与数据平面(如何去做:Agent 运行实例、状态存储、记忆存储、沙盒执行环境)。

在此之上进一步抽象出四个功能层级:

系统架构四层

4.2 三层记忆 + Token 转化流水线

多数 Agent 通过外挂 memory 方式在有限上下文窗口内承载尽可能多的有效信息:

三层记忆架构

Token 转化流水线在每轮调用前把多源信息规约成可控的 Prompt:

  1. 信息源收集:聚合用户问题、短期记忆、长期知识检索结果
  2. 相关性排序:基于时间、语义相似度等指标打分
  3. 压缩与摘要:对冗长低密度内容做摘要或结构化提炼
  4. 预算分配:按 Token 预算为不同信息类别分配额度
  5. 模板组装:用结构化模板([user_request][tool_output])拼装最终 Prompt

关键思想:把注意力管理变成一个外部工程问题。 与其指望模型"自己想清楚该关注什么",不如通过 Token 转化机制主动构建上下文,把有限窗口留给真正重要的信息。

4.3 规划模式与执行策略

规划模式

实践建议:默认用 Plan-and-Execute,按需叠加重规划与多 Agent。对大多数企业级场景,结构化计划配合"异常触发重规划"已经足够稳健;只有在特别开放、长期的任务中,才需要引入多层规划与多 Agent 协作。

4.4 沙盒执行框架

级别隔离方式适用场景
Level 1进程级隔离(chroot / namespaces / seccomp-bpf)启动快但共享内核,适用于可信内部工具
Level 2容器级隔离(Docker / containerd)默认推荐,生态成熟
Level 3轻量级虚拟机(Firecracker)独立虚拟内核,适合多租户或不可信代码
Level 4完整虚拟机(KVM / QEMU)安全性最高成本最大,极少数特殊任务

推荐策略:默认 Level 2 + 严格安全内核 + 只读根文件系统;对不可信代码或高敏感数据引入 Level 3。

4.5 资源管理与弹性策略

  • 预算与配额:Token/API 调用/CPU 时间,支持"平台/租户/Agent/单任务"多层级配置
  • 超时控制:所有网络请求和工具执行都设合理超时,避免下游卡死拖垮整个 Agent
  • 重试策略:可恢复临时错误用带退避的重试,永久性错误快速失败上报
  • 熔断机制:某依赖连续失败时暂时熔断,防级联故障
  • 优雅降级:关键能力不可用时自动降级为"弱但安全"模式(如从"可执行代码"退回"只读+建议")

4.6 策略门控(Policy Gateway)

位于"规划器→执行层"之间的最后安全关卡:

  • 权限检查:RBAC/ABAC 判定 Agent 是否有权执行目标操作
  • 敏感数据过滤:PII/密钥检测与脱敏
  • 指令注入防御:识别恶意 Prompt/命令拼接
  • 审计日志:记录"谁在何时尝试做什么、结果如何"

4.7 度量与演进

维度指标
任务效能任务成功率、指令遵循度、工具使用有效性
服务质量端到端延迟、首次响应延迟、错误率
资源效率平均 Token 消耗、平均工具调用次数
安全与合规策略拒绝率、安全事件数

这些指标反向驱动 Harness 演进:任务成功率上不去→检查规划器和上下文策略;错误率和成本居高不下→检查沙盒、资源配额和熔断策略。


关键引用

AI Agent = SOTA 模型(野马)+ Harness(驾驭系统)= 千里马

与其指望模型"自己想清楚该关注什么",不如通过 Token 转化机制主动构建上下文,把有限的窗口留给真正重要的信息。

Harness Engineering 的核心理念是:当模型遇到问题时,通过一套工程化的 Harness 机制,从根本上避免同类问题再次发生。

工程师的核心职责从未消失,而是完成了一次关键的升华:从代码的创作者,变成了创造过程的守护者。

关联页面