文章

Harness

目前的ai进度。

Harness

Harness

最小工程公式

Agent = LLM+上下文+工具

Harness = 上下文管理 + 工具接口 + 约束 + 验证 + 纠正

Agent ↔ Environment

精确地说 Harness 并不是包括了除模型之外所有的一切, 而是指Agent边界内和模型之外的运行与治理层。这一点 在之前的 《关于ai的三次重心转移》 中说法略有出入。

关于环境 他只负责协调 并不包括环境本身。工具定义、调用适配器、沙箱的权限与重置机制则属于Harness;至于沙箱内部随行动变化的文件和进程、外部数据库、网页、用户及物理世界属于environment。物理部署位置也不能决定概念归属 即使仿真环境与Agent运行在同一进程中,它仍然是environment。Harness其核心是上下文管理与工具接口。

Context | 上下文管理

系统提示词、知识库、Agent状态栏、sidercar旁路查询

Sidercar | 边车模式

其特征在容器环境中 通常表现为

  • 一个pod中运行多个容器
  • 主容器负责业务逻辑
  • sidercar容器负责通用能力

通用能力则包括 日志收集、服务间通信、安全认证(mTLS)、监控与追踪。

mtls | 安全认证

mTLS是TLS协议的扩展,通过 双向证书验证 实现客户端与服务器的相互信任。

其核心机制如下:

  • 非对称加密:通过RSA、ECC等算法生成公私钥对,用于密钥交换和签名验证。
  • 证书链验证:双方通过CA(证书颁发机构)签发的数字证书证明身份,证书链包含根证书、中间证书和实体证书。

边车模式解决了倘若每个服务都自己实通用功能,则会有代码重复、技术栈耦合、难以统一治理的痛处。其核心价值在于 将通用能力从业务代码中剥离,实现解耦与复用。

Tools | 工具接口

MCP工具、代码解释器、搜索工具

Constrain | 约束

Claude中每个工具默认都需要用户授权才能执行

Verify | 验证

Linter检查、类型系统、工具调用结果校验

Linter检查

这是一种静态代码分析工具,它可以在不运行代码的情况下 通过静态分析源代码的语法、结构、风格,来发现潜在的错误、不符合编码规范的地方(代码风格问题)和一些安全隐患不良的编程习惯 。

一些Linter可以检测出可能存在的安全隐患 如sql注入、跨站脚本攻击。

常见的Python Linter 工具

  • Pylint:功能强大,能够进行全面的代码分析,包括代码风格、错误检测、复杂度分析等。
  • Flake8:结合了PyFlakes、pycodestyle和mccabe,提供了快速的代码检查功能。
  • Black:专注于代码格式化,能够自动将代码格式化为符合PEP 8规范的样式。

Correct | 纠正

静默重试、接续生成、接连失败时回退到人工判断(熔断机制)

发现问题时自动修正或回退;在确认无法恢复之前不暴露中间态,例如工具调用失败时先静默重试,不把半成品结果展示给用户。

小结

这五个功能构成一个闭环

上下文与工具让Agent “能做事” (理解任务并采取行动) ⇒ 约束预防错误 ⇒ 验证发现偏差 ⇒ 纠正使闭环得以形成。 约束、验证、纠正三者共同让Agent“不做错事” ,确保上下文和工具在生产环境中可靠运转的工程实践。

演变

早期的Agent框架重点关注 上下文与工具

  • 给模型工具
  • 给模型上下文
  • 让它能做事

生产级的Agent系统重心转向约束、验证、纠正

  • 确保工具调用是安全的
  • 上下文是经过管理的
  • 错误是可恢复的

以 Claude Code 为例,它的Harness中绝大部分代码都是约束、验证与纠正。上下文与工具 只是一小部分 (文件读写、命令执行、搜索),大部分都是围绕这些工具构建的保障机制。

  • 流程状态管理:追踪Agent当前执行到哪一步
  • 多层上下文压缩:当信息太多时自动精简
  • 权限分类:控制哪些操作需要用户确认
  • 熔断器:当错误连续发生时,自动“断电”停止重试—就像家里电路断路时保险丝会自动跳闸,防止整个系统崩溃。
  • 错误恢复机制:捕获异常、回归到上一稳定状态、重试或交还给人类

从提示词工程到Loop工程

提示词工程 | Prompt Engineering

上下文工程 | Context Engineering

Harness Engineering

将视野从“模型能看到什么”进一步拓展到“Agent如何组织模型运行并于环境交互”

Loop Engineering

把视野从单次运行扩展到跨轮次持续自主运转,即谁来发现下一件该做的事、何时验证、何时才算真正完成。

Graph Engineering

2026年七月,业界开始用Graph工程 把Agent循环、确定性程序和人工审批组织成显式的执行图。

其中节点承担具体能力,边规定路由与依赖,结构化状态沿边传递并在关键边界处持久化。

Josh C. Simmons 将其概括为节点、类型化边和可检查点状态

本文由作者按照 CC BY 4.0 进行授权