博客
首页归档关于搜索

关联站点

CodeRunCommon AuthNav2文件中转站Web Search

鄂ICP备19019526号

© 2026 博客

  1. 首页
  2. Harness Engineering 落地实践(六):一线团队案例深度解析

Harness Engineering 落地实践(六):一线团队案例深度解析

2026年4月17日·约 15 分钟·4333 字·0 次阅读
AIAI 日报大模型商业分析技术前沿
Harness Engineering 落地实践(六):一线团队案例深度解析

目录

  • 引言
  • 一、OpenAI:三人五月百万行零手写
  • 1.1 核心数据
  • 1.2 五大方法论
  • 二、Anthropic:GAN 式三智能体架构
  • 2.1 背景:上下文焦虑问题
  • 2.2 GAN 式三智能体架构
  • 2.3 一个关键发现
  • 2.4 两种配置的成本对比
  • 三、Stripe:每周 1300+ PR 无人值守
  • 3.1 核心数据
  • 3.2 架构拆解
  • 3.3 "牲口不是宠物"原则
  • 3.4 核心理念
  • 四、Mitchell Hashimoto:单人六步进阶
  • 4.1 背景
  • 4.2 六步进阶路线
  • 4.3 AGENTS.md 的正确用法
  • 4.4 一句总结
  • 五、Carlini:16 Agent 并行写 C 编译器
  • 5.1 核心数据
  • 5.2 设计决策
  • 5.3 Carlini 的一句话
  • 六、案例横向总结

Harness Engineering 落地实践(六):一线团队案例深度解析

引言

理论听了一堆,不如看真实案例。

这一篇深入解析四个一线团队的 Harness 实践:

  • OpenAI:三人、五月、百万行、零手写代码
  • Anthropic:GAN 式三智能体架构
  • Stripe:每周 1300+ PR 无人值守
  • Mitchell Hashimoto:单人六步进阶

每个案例都揭示了一些反直觉的实践真相。


一、OpenAI:三人五月百万行零手写

1.1 核心数据

指标数值
团队规模3名工程师(后扩至7人)
持续时间5个月(2025年8月起)
代码规模约100万行
手写代码0行
合并PR数约1,500个
日均PR/人3.5个
效率提升约10倍

1.2 五大方法论

方法论1:给 Agent 一张地图,而不是一本千页手册

OpenAI 的 AGENTS.md 只有约 100 行,作用类似于目录,指向 docs/ 下更深层的设计文档、架构图、执行计划和质量评级。

这本质上是渐进式披露——先把最关键的信息放进来,需要什么再加载什么。

类比:你到一个新城市,不需要把整本旅游指南背下来。给你一张简明的地图,然后告诉你"想了解这个景点的详细信息,翻到第 X 页"就够了。

方法论2:架构约束不能写在文档里,必须靠工具强制执行

他们给每个业务领域定义了固定的分层结构:

Types → Config → Repo → Service → Runtime → UI

依赖方向不能反过来。怎么保证?自定义 Linter + 结构测试。违反了就报错,报错消息里不光告诉你哪里错了,还直接告诉你怎么改。

OpenAI 原话:

"If it cannot be enforced mechanically, agents will deviate."

文档中记录约束是不够的,如果不能机械化地强制执行,Agent 就会偏离。

方法论3:可观测性也是给 Agent 看的,不只是给人看的

他们把 Chrome DevTools Protocol 接入了 Agent 运行时。Agent 能自己抓 DOM 快照、截图。

日志、指标、链路追踪都通过本地可观测性栈暴露给 Agent。

这样"把启动时间降到 800ms 以下"就从模糊的愿望变成了 Agent 可以自己测量、自己验证的目标。

方法论4:熵不会自己消失,必须主动对抗

一开始团队每周五花 20% 的时间手动清理 AI 生成物中的低质量代码。

后来这事被自动化了——后台 Agent 定期扫描,找文档不一致、架构违规和冗余代码,自动提交清理 PR。

清理的速度跟上了生成的速度,才能可持续地跑下去。

方法论5:写在 Slack 里的知识,对 Agent 来说等于不存在

所有团队知识都作为版本控制的制品放置在仓库中。

⚠️ OpenAI 自己也说了,这个结果"不应该被假设为在缺少类似投入的情况下可以复现"。每一项都需要大量前期投入,但思维方式(地图式文档、机械化约束、熵管理)是可以在任何规模上立即采用的。


二、Anthropic:GAN 式三智能体架构

2.1 背景:上下文焦虑问题

Anthropic 发现了"上下文焦虑"现象:Sonnet 4.5 在上下文快填满时会变得犹豫,倾向于提前收工——即使任务还没做完。

光靠压缩上下文不够。他们的最终解法叫 Context Resets:

  1. 当 Agent 上下文接近饱和时,把当前任务状态、已完成工作、待办事项结构化提取出来
  2. 启动一个全新的干净 Agent
  3. 把结构化的交接文档交给新 Agent
  4. 新 Agent 从干净状态继续工作

这就像程序碰到内存泄漏时——不是手动释放每一个内存块,而是直接重启进程从检查点恢复。

2.2 GAN 式三智能体架构

Anthropic Labs 2026年3月发布了受 GAN(生成对抗网络)思路启发的三智能体架构:

Planner(规划者)→ Generator(执行者)⇄ Evaluator(评估者)
Agent职责特点
Planner拿到产品描述,扩展成完整规格"在范围上要大胆"
Generator按功能逐个 Sprint 实现每次只做一个功能
EvaluatorPlaywright MCP 实际运行验证按多维度打分

这个架构解决两个核心问题:

问题表现解法
上下文焦虑快到上限时草草收尾Context resets + 结构化交接
自我评价偏差Agent 自信满满,实际质量一般生成和评估交给两个独立 Agent

2.3 一个关键发现

当他们把模型从 Sonnet 4.5 换成 Opus 4.6 后,Sprint 机制可以完全移除,Evaluator 从每个 Sprint 检查变成了最后只做一次检查。

Anthropic 的总结非常精辟:

"Every component in a harness encodes an assumption about what the model can't do on its own, and those assumptions are worth stress testing."

(Harness 中的每个组件都编码了一个关于"模型靠自己做不到什么"的假设,而这些假设值得定期压力测试。)

随着模型变强,不需要 Harness 了?不,是 Harness 的设计空间转移到了新的位置。

2.4 两种配置的成本对比

配置耗时花费效果
Solo Harness20分钟$9跑不起来的半成品
Full Harness(三Agent+完整工具链)6小时$200完整可用的应用

三、Stripe:每周 1300+ PR 无人值守

3.1 核心数据

Stripe 的 Minions 系统:开发者发一条 Slack 消息,Agent 就从写代码到跑 CI 到提 PR 全部搞定,人只在最后审查。

每周超过 1,300 个完全由 Minions 生产的、不含任何人写代码的 PR 被合并。

3.2 架构拆解

组件作用关键设计
Devbox开发环境AWS EC2 预装源码和服务,预热池分配,启动约10秒
编排状态机流程控制混合确定性节点(lint、push)和Agent节点(实现功能、修CI)
Toolshed MCP工具服务集中式 MCP 服务,近500个工具,每个Minion获得筛选子集
反馈回路质量保障Pre-push hook 秒级修lint;推送后最多2轮CI

编排设计思路:不是把所有事情都交给 Agent 判断,也不是全部走确定性流程,而是一个混合状态机——该确定的地方确定(跑lint、推送代码),该灵活的地方灵活(实现功能、修CI错误)。

就像一条工厂流水线,有些工位是机器人固定动作,有些工位是人工灵活处理。

3.3 "牲口不是宠物"原则

传统模式:给每台服务器命名,像宠物一样精心维护。

Stripe 模式:Devbox 是"牲口"——用完就释放回池,不维护、不命名、需要时重新分配。

Devbox 预装了源码和服务,预热池随时可用。分配一个只需约10秒。

3.4 核心理念

"What's good for humans is good for agents."

为人类工程师投资的 Devbox、工具链和开发者体验,在 Agent 上也直接产生了回报。

Agent 应该跟人类工程师用同一套基础设施,只是一开始就得被当作一等公民来设计。


四、Mitchell Hashimoto:单人六步进阶

4.1 背景

Mitchell Hashimoto(Vagrant、Terraform、Ghostty 终端模拟器的作者)的实践路线和 Stripe 完全相反——他坚持一次只跑一个 Agent,保持深度参与。

4.2 六步进阶路线

步骤名称核心做法
1放弃聊天模式让 Agent 在能读文件、跑程序、发 HTTP 请求的环境里直接干活
2复现自己的工作每件事做两次——一次自己做,一次让 Agent 做
3下班前启动 Agent每天最后30分钟给 Agent 布置任务:深度调研、模糊探索、Issue分拣
4外包确定性任务挑出 Agent 几乎一定能做好的任务后台跑着
5工程化 Harness每当 Agent 犯错,就工程化一个解决方案让它永远不再犯同样的错
6始终有 Agent 在跑目标是 10-20% 的工作时间有后台 Agent 运行

4.3 AGENTS.md 的正确用法

Ghostty 项目里的 AGENTS.md,每一行都对应着一个过去的 Agent 失败案例。

这不是写完就扔的静态文档,而是一个持续积累的防错系统——Agent 犯了一个新类型的错误,就加一行规则,以后就不会再犯了。

4.4 一句总结

"我不打算跑多个 Agent,也不想跑。我坚持一次只跑一个 Agent,保持深度参与。"


五、Carlini:16 Agent 并行写 C 编译器

5.1 核心数据

Nicholas Carlini 约两周时间,跑了 16 个并行 Claude Opus 实例,约 2000 个 Claude Code 会话,产出了一个 GCC torture test 通过率 99% 的 C 编译器。

指标数值
持续时间约2周
并行Agent数16个 Claude Opus 实例
会话数约2,000个
产出10万行 Rust 代码
GCC torture test99%通过率
可编译项目PostgreSQL、Redis、FFmpeg、CPython、Linux 6.9 Kernel 等150+
API成本约2万美元

5.2 设计决策

日志不打印只写文件:

全部日志写进文件,用 grep 友好的单行格式 ERROR: [reason]。主动控制上下文污染。

测试子采样:

每个 Agent 只跑随机 1-10% 的测试子集。但子采样对单次运行是确定性的(同一 Agent 每次跑同样的子集),跨 VM 是随机的(不同 Agent 跑不同子集)。

这样集体覆盖了全部测试,而单个 Agent 不会花几个小时在测试上打转。

Agent 角色专业化:

  • 核心编译器工作
  • 去重(LLM 生成的代码经常重新实现已有功能)
  • 性能优化
  • 代码质量和文档

5.3 Carlini 的一句话

"我必须不断提醒自己,我是在为 Claude 写这个测试框架,不是为自己写。"

Harness 的设计目标是让 Agent 高效工作,不是为了人类方便。


六、案例横向总结

团队核心策略关键洞察
OpenAI地图式文档 + 机械化约束 + 熵管理文档不够,工具必须强制执行
AnthropicGAN式三Agent + Context ResetsHarness假设要定期压力测试
Stripe混合状态机 + Devbox池化人类好的,Agent 也应该用
Hashimoto单Agent + 深度参与 + AGENTS.md即防错系统每行 = 一个历史失败案例
Carlini16并行 + 测试子采样 + 角色专业化为Agent设计,不是为自己设计

共同启示:

  1. AGENTS.md 当目录不当手册
  2. 约束必须机械化强制执行
  3. 熵管理必须自动化
  4. Harness 是需要持续维护的软件

标签:#AI #Agent #HarnessEngineering #OpenAI #Anthropic #Stripe #实战案例

相关文章

  • Harness Engineering 入门教程(四):从零搭建你的第一个 Harness4月17日
  • Harness Engineering 高级话题(七):可观测性、熵管理与三类约束体系4月17日
  • Harness Engineering 技术原理(二):Feedforward、Feedback 与六层架构详解4月17日

系列:Harness Engineering 指南

  • 1. Harness Engineering 技术原理(二):Feedforward、Feedback 与六层架构详解
  • 2. Harness Engineering 架构设计(三):记忆系统、工具设计与沙箱隔离
  • 3. Harness Engineering 入门教程(四):从零搭建你的第一个 Harness
  • 4. Harness Engineering 框架对比(五):OpenClaw、Claude Code、OpenCode、Hermes 深度横评
  • 5. Harness Engineering 落地实践(六):一线团队案例深度解析
  • 6. Harness Engineering 高级话题(七):可观测性、熵管理与三类约束体系
  • 7. Harness Engineering 前沿挑战(八):未解决的问题与未来方向
  • 8. Harness Engineering 入门(一):为什么说"你不是模型,那你就是 Harness"
← Harness Engineering 框架对比(五):OpenClaw、Claude Code、OpenCode、Hermes 深度横评Harness Engineering 高级话题(七):可观测性、熵管理与三类约束体系 →

评论

加载评论中…

发表评论

返回首页