Rufus' ink

Back

Harness Engineering(四):落地实现——分层架构、沙盒治理与度量演进Blur image

AI 速读

Harness 落地视角:控制面与数据面分层、记忆与 Token 流水线、沙盒治理与度量体系。

前一篇讲完设计之道,这一篇站在负责落地平台和基础设施的工程师视角,把 Harness 当作一个完整的运行系统,从架构分层、运行机制、执行治理、度量演进四个角度审视。

架构总览:控制平面与数据平面#

一个成熟的 Harness 通常拆分为两个平面:

  • **控制平面(Control Plane)**负责「决定做什么」:任务调度、资源配额、行为规划、策略与权限。
  • **数据平面(Data Plane)**负责「如何去做」:Agent 运行实例、状态存储、记忆存储和沙盒执行环境。

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

层级控制平面视角数据平面视角
L1 呈现与集成层API 网关、事件总线,统一入口对外暴露能力客户端 SDK、Webhook,嵌入业务产品
L2 任务与状态管理层任务调度器、工作流引擎,编排长周期任务状态存储,持久化任务上下文与检查点
L3 Agent 核心引擎层行为规划器、上下文策略器Agent Runtime 进程、短长期记忆存储
L4 执行与治理层策略引擎、资源管理器,负责安全与成本沙盒执行框架、工具库

落地时可以把 Harness 看成一层「智能胶水」:上接模型 API Gateway,下接沙盒和各类服务,以工程的方式串联各个基建。

核心运行机制#

Agent 核心循环#

Agent 的行为抽象为持续的「观察 → 思考 → 行动」循环:

  • 观察(Observe):感知世界状态——用户输入、工具结果、历史对话、任务进度。
  • 思考(Think):规划器更新目标、拆解任务、选择下一步行动。
  • 行动(Act):执行内部操作(更新记忆、结束任务)或外部操作(调用工具、回复用户),结果进入下一轮观察。

WARNING

生产环境的核心循环不是一个简单的 while (true)。它通常需要与工作流引擎或状态机框架集成,支持暂停/恢复、幂等重试、并发事件处理与长周期任务管理。

记忆分层与 Token 转化#

多数 Agent 通过外挂 memory 承载超出上下文窗口的信息:

记忆层级典型载体治理要点
L1 感官记忆Prompt / 上下文窗口容量小成本高,按规约规则精打细算
L2 短期/工作记忆Redis、KV、会话库任务中间状态,TTL/会话粒度治理
L3 长期记忆向量库、知识图谱、对象存储沉淀知识与经验,RAG 按需检索

在三层记忆之上,每轮调用前还需要一条 Token 转化流水线:

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

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

规划模式怎么选#

规划模式核心机制优缺点典型场景
ReAct单 Prompt 内交替「思考 + 行动」实现简单,但易迷路、缺长期规划一次性任务、简单工具调用
Plan-and-Execute先生成结构化计划,再由确定性引擎执行清晰可审计,但对环境变化不敏感定时报表、数据流水线
分层规划元规划器拆目标,底层 Agent 各自执行适合极复杂任务,成本高全栈应用开发、自动化科研

TIP

默认用 Plan-and-Execute,配合「异常触发重规划」已经足够稳健;只有特别开放、长期的任务才需要多层规划与多 Agent 协作。

执行治理:沙盒、资源与安全#

沙盒的四级隔离#

级别隔离方式适用
L1 进程级chroot / namespaces / seccomp-bpf 限制系统调用启动快,可信内部工具
L2 容器级Docker / containerd生态成熟,大多数工具执行的默认选择
L3 轻量 VMFirecracker 等,独立虚拟内核多租户、执行不可信代码
L4 完整 VMKVM / QEMU安全性最高成本最大,极少数场景

推荐策略:默认容器级(L2)+ 只读根文件系统;对不可信代码或高敏感数据,引入轻量 VM(L3)。

资源弹性#

  • 预算与配额:Token、API 调用次数、CPU 时间分别设配额,支持按「平台/租户/Agent/任务」多层配置;
  • 超时控制:所有网络请求和工具执行必须设超时,避免下游卡死拖垮整个 Agent;
  • 重试策略:临时错误用带退避的重试,永久错误快速失败上报;
  • 熔断机制:依赖连续失败时暂时熔断,防止级联故障;
  • 优雅降级:关键能力不可用时退到「弱但安全」的模式,如从「可执行代码」退到「只读 + 建议」。

策略门控#

在「规划器 → 执行层」之间放一个策略门控,每次行动前做最后检查:权限校验(RBAC/ABAC)、敏感数据过滤与脱敏、指令注入防御、审计日志。

度量与演进:让 Harness 在数据中成长#

四组核心指标,用来判断系统是否跑在正确轨道上:

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

这些指标不是为了凑大表,而是反向驱动演进:任务成功率上不去,回到规划器和上下文策略找原因;错误率和成本居高不下,多半要反查沙盒、配额与熔断设计。

写在最后#

Harness Engineering 从来不是又一个需要顶礼膜拜的「银弹」,而是一套生于实践、归于实践的工程哲学:

当 AI 的代码生成能力一次次突破想象,这套方法论冷静地提醒我们:工程师的核心职责从未消失,而是完成了一次升华——从代码的创作者,变成了创造过程的守护者。

我们从不奢望 AI 永远正确,正如从不指望人类永不犯错。真正的工程智慧,在于构建一个能从错误中持续学习、在不确定性中稳健前行的系统。这套「缰绳」的终极目的不是束缚,而是更安全、更彻底地释放。

出处

本系列参考咸鱼《万字长文|一文弄懂 Harness Engineering》(飞书文档 ↗),结合个人理解拆分整理。核心观点与框架归原作者。

Harness Engineering(四):落地实现——分层架构、沙盒治理与度量演进
https://immz.ink/blog/harness-engineering-4
Author Rufus
Published at 2026年9月14日
Comment seems to stuck. Try to refresh?✨