LangChain Vivek Trivedy 的系统性定义:Agent = Model + Harness。Harness 是除模型本身之外的所有代码、配置和执行逻辑,是把模型智能变成实际工作能力的系统。

核心定义

Agent = Model + Harness

Harness 包含:

  • System Prompts
  • Tools / Skills / MCPs 及其描述
  • Bundled Infrastructure(filesystem、sandbox、browser)
  • Orchestration Logic(subagent spawning、handoffs、model routing)
  • Hooks/Middleware(compaction、continuation、lint checks)

模型只能接收文本/图像/音视频,输出文本。它无法:持久化状态、执行代码、访问实时知识、配置运行环境。这些都是 harness 层的职责。

核心组件(从模型需求反推)

1. Filesystem — 最基础的 harness primitive

  • 持久化存储,跨 session 保留状态
  • 多 agent 协作的共享账本(Agent Teams 依赖此)
  • git 加版本控制,支持回滚和分支实验
  • meta-harness 的文件系统级诊断也以此为基础

2. Bash + Code 执行 — 通用工具

  • ReAct 循环的核心执行原语(reason → act → observe → repeat)
  • 让 agent 自主设计工具,而不是依赖预配置工具集
  • 代码执行成为自主问题解决的默认通用策略

3. Sandbox — 安全隔离执行环境

  • 安全执行 agent 生成的代码,避免本地风险
  • 按需创建/销毁,支持大规模并行任务
  • 预装语言运行时、CLI(git、测试框架)、浏览器等

4. Memory Search — 持续学习

  • AGENTS.md / CLAUDE.md 等 memory file 标准,每次 session 注入
  • agent 写入记忆文件 → harness 下次加载 → 跨 session 持续学习
  • Web Search / MCP(如 Context7)补充知识截止日期后的信息

5. Context Rot 对抗

Context Rot:随着上下文窗口填满,模型推理能力下降。

机制作用
Compaction上下文快满时智能压缩/摘要,让 agent 继续工作
Tool call offloading大输出截断保留头尾,完整内容存文件系统按需读取
Skills渐进式披露,避免启动时加载过多工具污染上下文

6. Long Horizon 自主执行

  • Ralph Loop:hook 拦截模型退出尝试,注入原始 prompt 到新 context 继续工作(文件系统保存状态)
  • Planning:分解目标为步骤,写入 plan file,harness 注入提醒
  • Self-verification:运行测试套件,失败时将错误反馈给模型,形成自我改进循环

模型训练与 Harness 的耦合

Claude Code、Codex 等产品在 post-training 时把 harness 也纳入训练循环:

  • 有用的 harness primitive 被发现 → 加入 harness → 用于训练下一代模型
  • 副作用:模型对特定 harness 产生过拟合(如 Codex 的 apply_patch 工具逻辑)
  • 但这不意味着最佳 harness 就是模型被训练时用的那个——TerminalBench-2 证明只改 harness 可以从 Top 30 提升到 Top 5

未来方向

  • 百 agent 并行协作共享代码库
  • Agent 自分析 traces 识别并修复 harness 级失败(即 meta-harness 的方向)
  • 动态 just-in-time 工具组装,而不是预配置

相关