搭建 Coding Agent 或设计 Agent 护栏时使用——当你要构建能自主读写代码、跑测试、自我纠错的编码 Agent,或为已有 Agent 系统补约束/验证/纠正机制、设计执行边界与验收基线、判断某类任务是否适合交给 Agent、优化 Harness 提示词与工具集时使用。覆盖 Harness 四组件、任务四象限、四条设计原则与业界实践。
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Agent = Model + Harness,Harness = 上下文管理 + 工具接口 + 约束 + 验证 + 纠正。 Harness 是"Agent 边界内、模型之外"的运行与治理层:工具定义、调用适配器、沙箱权限属于 Harness;沙箱内的文件进程、外部数据库、用户属于 Environment。模型能力趋同后,竞争力在 Harness。
Coding Agent 场景的 Harness 四组件(把抽象机制落地成工程件):
| 组件 | 回答的问题 | 落地形态 |
|---|---|---|
| 验收基线 | 什么算做完了 | 测试套件、CI 管道、代码审查标准 |
| 执行边界 | 能碰什么不能碰什么 | 模块边界、依赖规则、权限控制 |
| 反馈信号 | 自动化的对错判断 | Linter 输出、测试结果、类型检查错误 |
| 回退手段 | 出了问题怎么恢复 | Git 版本控制、沙盒隔离、快照回滚 |
任务四象限(目标清晰度 × 验证自动化程度)——Harness 的目标是把任务推向"目标明确 + 可自动验证":
代码编写天然处于象限核心:测试套件给验收标准,Linter/类型检查给即时验证,Git 给版本控制与回退。Coding Agent 成熟度最高不是因为代码模型最强,而是软件工程几十年积累的基础设施天然就是一套 Harness。
四条可迁移的设计原则:
约束管动作,不只是管结果。 验收基线管结果对不对,执行边界管过程:删库重建"修复"了故障但数据没了,删光重写让编译通过但实现没了。这类破坏性捷径 Agent 总能绕开指标找到(reward hacking 的日常形态),因此 rm -rf、删生产数据、覆盖未读文件要设专门检查与审批。
并行调用的故障边界控制:一个工具失败时,故障只在同一批并行调用内传播(级联中止依赖它的调用),不取消独立调用,不上升到父级操作、不让整个任务中止。每个工具声明是否支持并发(默认否,失败安全)。
业界经验:
建一个 Coding Agent 的最小清单:
上下文与环境注入(Harness 的上下文层):大文件按行号范围读取并给每行加行号前缀;长命令输出只保留头部(错误上下文)与尾部(错误总结)并说明完整输出已落盘;每次推理前以状态栏形式动态注入当前工作目录、git 分支、最近提交、未暂存变更(动态追加,别硬编码进系统提示词以免破坏 KV Cache);维护持久化终端会话保留 cd/环境变量状态。
chapter5/coding-agent/ — 纯 Python 实现的生产级 Coding Agent:16 个工具、patch 应用、测试/lint 验收反馈与失败路径chapter1/context/ — 上下文感知 Agent 与消融实验:量化 history/reasoning/工具调用/工具结果各自的作用chapter1/web-search-agent/ — 基于 Kimi Formula API 的自主 ReAct 搜索 Agent,展示"模型即 Agent"的最小闭环chapter1/search-codegen/ — Responses API 深度研究 Agent:托管 web_search + code_interpreter 的编排chapter1/learning-from-experience/ — LLM 上下文学习 vs 传统 RL 对照,理解 Agent 经验从哪来chapter1/image-gen-workflow/ — 工作流路线 vs 原生生成路线对照:何时该用固定 Harness、何时该交给模型自主book/chapter5.md「Coding Agent」→「Harness 工程在 Coding Agent 中的实践」book/chapter1.md「Harness 工程:模型之外的竞争力」bojieli/ai-agent-book
dbc046e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.