搭建 Coding Agent 或设计 Agent 护栏时使用——当你要构建能自主读写代码、跑测试、自我纠错的编码 Agent,或为已有 Agent 系统补约束/验证/纠正机制、设计执行边界与验收基线、判断某类任务是否适合交给 Agent、优化 Harness 提示词与工具集时使用。覆盖 Harness 四组件、任务四
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-coding-agent-harness-135ebe9531eb ,按照其中的说明把「coding-agent-harness」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
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 工程:模型之外的竞争力」