源于一个比喻, 模型是 horse, 人是 rider, 中间那层是 harness. 从字面来看 harness 是指为确保模型按预期行为运行而构建的约束框架与支撑体系. 至少可以从两个角度理解.
- 产品侧: Agent 产品 (如 Claude Code) 自己做的 harness (Anthropic 在 Scaling Managed Agents 进一步把有关大模型决策的部分称为 harness, 而 session, tools, sandbox 等独立为其他模块).
- 用户侧: 开发者使用 coding agent 时为了保证复杂项目受控做的脚手架 (比如 SDD, ralph loop 等).
随着模型能力变化, harness 也需要改变, 如 Harness design for long-running application development.
用户侧 cheatsheet
| 维度 | 实践动作 | 核心目的 |
|---|---|---|
| 开发流 | SDD (规格驱动) / TDD (测试驱动) | |
| 上下文 | CLAUDE.md / AGENTS.md |
提供项目结构, 开发流程与 Dos/Don’ts 约束 |
| 文档同步 | 文档代码同步 | |
| 状态控制 | 进度状态记录 / 会话交接文档 (handoff) | 确保新 session 无缝衔接 |
| 原子性 | 一次一任务 / 频繁 git 提交 | 降低任务难度, 方便回滚与审计 |
| 验证 | 独立 reviewer / 自动测试 | 确保 Agent 输出符合验收标准 |
更多参考可见
产品侧 cheatsheet
- 控制: 循环, 编排
- 可靠性: 错误处理, 重试, 超时, 熔断, fallback
- 状态管理, 持久化, 文件回滚
- subagent, hook
- 权限控制, rate limit
- 安全过滤, guardrail
- 并发执行, 异步
- 上下文注入: system prompt, memory, skills
- memory: 对话上下文, session 级, 项目级, 全局, 外部知识库等
- 压缩
- 输入验证
- 动作: 工具, 沙盒, 浏览器等
- 可观测性
- 成本优化: prompt cache, 缓存等
- logging, tracing, metrics
- 告警