Skip to content

Harness 时代 — AI 编程的底盤戰爭

核心论点:AI 编程智能体的竞争焦点已从"谁的模型更强"转向"谁的 Harness(运行架子)更高效"。2026 年三大关键节点:GitHub 量化了 Harness 的工程价值、OpenAI Codex 完成云端化与团队级工程化、Vercel AI SDK 用 HarnessAgent 实现了不同 Harness 的统一编排与随意切换。


目录


一、什么是 Harness(运行架子)

隐喻

如果 AI 模型是发动机,Harness 就是底盘与变速箱。

具体功能

Harness 是包裹在 AI 模型外面的那一层编排架构,负责:

职责 说明
工具配置 为模型配置什么工具(MCP tools、CLI、API)
上下文管理 塞入什么上下文(系统提示、文件、历史)
工作流编排 按什么流程运行(多轮推理、子代理、权限流)
会话管理 会话隔离、压缩(compaction)、运行时配置
沙箱执行 安全的代码执行环境

为什么 Harness 比模型更重要

OpenAI 的 Codex 在过去半年输出量暴增(研究部门涨 56 倍、工程部门涨 27 倍),但真正决定编程智能体好不好用的,往往是这层外在的"架子"——同样一个模型,放进不同的 Harness,Token 消耗和完成质量可以差距巨大。

  ┌─────────────────────────────────────────┐
  │              Harness(运行架子)           │
  │  ┌───────────────────────────────────┐  │
  │  │  工具    上下文    工作流    沙箱   │  │
  │  │  ┌─────────────────────────────┐  │  │
  │  │  │       AI 模型(发动机)       │  │  │
  │  │  │   Claude / GPT / Gemini     │  │  │
  │  │  └─────────────────────────────┘  │  │
  │  └───────────────────────────────────┘  │
  └─────────────────────────────────────────┘

二、GitHub:首次量化 Harness 的工程价值

对照实验

GitHub 做了一件前所未有的事:在控制变量(拉平上下文窗口、推理强度)的前提下,用同一个模型执行同一批任务,分别放入不同 Harness 运行。

"在达到相同代码完成率的情况下,换一个架子,Token 消耗量会产生显著差异。"

Effective Tokens(ET)公式

GitHub 发明了 Effective Tokens 指标来跨模型层级标准化 Token 消耗:

ET = m × (1.0 × I + 0.1 × C + 4.0 × O)
变量 含义 权重说明
m 模型成本乘数 Haiku=0.25×, Sonnet=1.0×, Opus=5.0×
I 新处理的输入 Token 基准权重 1.0
C 缓存读取 Token 仅 0.1×(从缓存读取成本极低)
O 输出 Token 4.0×(所有厂商最贵的 Token 类型)

工程意义:一个 10% ET 减少意味着真实成本减少 10%,无论用哪个模型。

GitHub 实测数据(12 个生产 Workflow)

Workflow ET 降幅 运行频率 说明
Auto-Triage Issues -62% 6.8 次/天 109 次 post-fix 运行,最显著持续改善
Smoke Claude -59% 高频 MCP 工具裁剪 + 降级到 Haiku 模型
Security Guard -43% 每个 PR 触发 安全审查,不涉密文件直接跳过 LLM
Community Attribution -37% 8 次 post-fix 移除完全未使用的 8 个 MCP 工具
Daily Compiler Quality -19% 1 次/天 较小改善幅度

频率乘以省量:Auto-Triage Issues 的 62% × 6.8 次/天,在观察期内累计节省约 7.8M ET。

三大 Token 杀手(GitHub 发现的最常见低效模式)

1. 未使用的 MCP 工具注册

GitHub MCP Server: 40 个工具注册
  └── 实际使用: 2 个
  └── 纯开销: 38 个 × 10-15KB schema = 每轮 +8-12KB Token

"Workflow 作者自然倾向于注册完整工具集(最省事),但随着时间推移,大多数 workflow 只依赖一小段稳定工具。"

2. 用 MCP 做确定性数据获取

❌ 低效:MCP 工具调用(一次完整 LLM 推理轮)
   Agent → 决定调用工具 → 生成参数 → 接收响应 → 回到推理

✅ 高效:预下载 / CLI 代理
   Agent 启动前 → gh pr diff → 写入文件 → Agent 直接读文件
   (零 LLM 调用,纯确定性 HTTP 请求)

GitHub 的核心洞察:

"许多 agent 轮次实际上在做确定性数据收集——读取 issue 元数据、扫描标签——这些根本不需要推理。把它们移出 LLM 推理循环。"

3. 单条规则配置错误导致失控循环

"Daily Syntax Error Quality 是优化前 ET 最高的 workflow。根因是一行配置错误:sandbox 只允许相对路径,每次 compile 都被阻止。Agent 陷入 64 轮 fallback 循环,手动读取源码来重建编译器本应输出的信息。修正一行 bash 白名单规则就消除了循环。"


三、OpenAI Codex:从本地工具到云端生产力

定位转变

维度 之前(本地工具) 现在(云端生产力工具)
执行位置 本地终端 云端远程执行
团队协作 个人开发脚手架 团队/组织级管理
成本管控 个人 API key 花费上限监控 + 分析面板
工作流 本地连续操作 手机启动 → 云端运行 → 稍后查看

新增能力

  • 远程执行:在手机上启动任务,让其在云端运行,稍后再查看结果
  • Codex SDK 整合:编程化接入团队工作流
  • 管理后台:团队级成员管理和权限控制
  • 花费上限监控:设置 per-provider 消费限制
  • 分析面板:可视化 Token 消耗和成本分布

工程意义

AI 编程的 Harness 从个人开发工具升级为组织级基础设施——开始具备企业管理所需的可观测性、成本控制和权限治理能力。


四、Vercel AI SDK:Harness 的统一编排

HarnessAgent — 像换模型一样换 Harness

Vercel AI SDK v7 引入 HarnessAgent,用一个统一接口驱动多种现成 Harness:

"AI SDK 一直让你不重写代码就能换模型。现在你能用同样的方式换 Harness。"

import { HarnessAgent } from '@ai-sdk/harness/agent';
import { claudeCode } from '@ai-sdk/harness-claude-code';
import { createVercelSandbox } from '@ai-sdk/sandbox-vercel';

const agent = new HarnessAgent({
  harness: claudeCode,    // ← 换成 codex 或 pi 即可切换
  sandbox: createVercelSandbox({
    runtime: 'node24',
    ports: [4000],
  }),
  tools: { /* 自定义工具 */ },
  skills: [ /* 自定义技能 */ },
});

const session = await agent.createSession();
const result = await agent.stream({
  session,
  prompt: '检查测试失败并修复生产代码。',
});

一行切换:harness: claudeCode → harness: codex,其余代码不变。

Harness 管理的组件

HarnessAgent 统一抽象
├── Skills(技能)
├── Sandboxes(沙箱)
├── Sessions(会话)
├── Permission Flows(权限流)
├── Compaction(上下文压缩)
├── Runtime Configuration(运行时配置)
└── Sub-agents(子代理)

工程红利

结合 GitHub 的量化结论:

前提:不同 Harness 的 Token 效率差距可达 40-62%
     ↓
推论:不修改代码就能随时切换 Harness = 巨大的成本弹性
     ↓
实践:写一次 Agent 代码 → 按场景选最优 Harness
      ├── 日常 CI → 选 Token 效率最高的
      ├── 复杂推理 → 选推理能力最强的
      └── 成本敏感 → 选最省钱的

初始支持的 Harness Adapter

Adapter 状态
Claude Code 已支持
Codex 已支持
Pi 已支持
更多 开发中

注意:当前为 experimental 发布,版本间可能有 breaking changes。


五、三大进展的工程启示

技术红利转移路线图

2023-2025              2026                    未来
   │                     │                      │
   ▼                     ▼                      ▼
模型参数卷动     →   Harness 底盘优化     →   全链路编排优化
(谁的模型更强)      (谁的架子更高效)        (谁的管线更智能)
   │                     │                      │
   ▼                     ▼                      ▼
GPT-4 → Claude      GitHub量化 + Codex上云   跨Harness编排
→ Gemini → ...      + Vercel统一抽象         + 组合最优策略

核心启示

# 启示 来源
1 Harness 和模型一样关键,且优劣可以被量化测量 GitHub 对照实验
2 效果不佳或成本过高时,先别换模型,先换/优化 Harness 影片核心建议
3 最便宜的 LLM 调用是你不做的那个 GitHub Security Guard 案例
4 确定性操作移出 LLM 推理循环 GitHub MCP→CLI 迁移
5 Harness 切换能力本身就是工程红利 Vercel HarnessAgent
6 AI 编程开始走向团队和组织层级管理 Codex 云端化

六、实战落地指南

诊断决策树:Agent 效果不好怎么办?

Agent 效果不佳 / 成本过高
│
├── 第一步:检查 Token 消耗分布
│   ├── 启用 API proxy 日志(GitHub 模式)
│   ├── 输出 token-usage.jsonl(每次调用的 input/output/cache)
│   └── 计算 Effective Tokens(跨模型标准化)
│
├── 第二步:识别 Token 杀手
│   ├── 未使用的 MCP 工具?→ 裁剪工具集
│   ├── 确定性数据获取用 MCP?→ 改用 CLI 预下载
│   └── 失控循环?→ 检查 sandbox 权限配置
│
├── 第三步:优化 Harness(不换模型)
│   ├── 换更高效的 Harness
│   ├── 降级模型层级(Opus → Haiku)
│   └── 重构为子代理团队(小模型分工)
│
└── 最后才考虑:换底层模型

Token 优化清单

✅ Token 效率检查清单:
□ MCP 工具注册:实际调用的 vs 注册的,裁剪未使用项
□ 确定性数据获取:能用 gh/CLI 的不用 MCP
□ 预下载策略:Agent 启动前预取必需数据
□ 模型分层:数据收集用 Haiku,推理用 Sonnet/Opus
□ 缓存利用:最大化 cache-read Token 占比
□ 失控检测:监控 turns-per-run 异常飙升
□ Sandbox 权限:确保必需工具不被阻断
□ Run 频率 × 省量:优先优化高频 workflow

Harness 选型对比

维度 Claude Code Codex CLI GitHub Copilot CLI
定位 深度推理 + 重构 快速生成 + 模式补全 CI/CD 集成 + 代码审查
Token 效率 高(上下文管理精细) 中(模式补全流畅但可能冗余) 高(量化验证)
MCP 支持 原生 原生 原生
Sandbox 有 有 有
团队管理 弱 强(云端化) 强(GitHub 集成)
切换成本 需重写 Agent 代码 需重写 Agent 代码 需重写 Agent 代码
Vercel 统一 已适配 已适配 待适配

Vercel HarnessAgent 的价值:消除"切换成本"列——写一次代码,随时换 Harness。

GitHub 实测中学到的最佳实践

实践 来源案例 效果
移除未使用的 MCP 工具 Smoke Claude -59% ET
用 gh pr diff 替代 MCP Auto-Triage Issues -62% ET
安全文件跳过 LLM Security Guard -43% ET
修正 sandbox 白名单 Daily Syntax Error 消除 64 轮死循环
模型降级(Opus→Haiku) Smoke Claude 配合工具裁剪叠加省量
优先优化高频 workflow Auto-Triage Issues 6.8 次/天 × 62% = 7.8M ET

参考资料

相关笔记