Harness Agent 的组成要素:从七层到八层横切面的完整模型
从 Harness Engineering 的实践出发,讨论 Harness Agent 的完整组成要素。将初始的七层体系演进为八层加横切控制面的模型,逐一分析每层的职责、现有覆盖和缺失,重点讨论状态/记忆/产物/技能的区分、在线验证与离线评测的分离、以及 AHE 作为独立演进回路的定位。
共 41 篇文章
从 Harness Engineering 的实践出发,讨论 Harness Agent 的完整组成要素。将初始的七层体系演进为八层加横切控制面的模型,逐一分析每层的职责、现有覆盖和缺失,重点讨论状态/记忆/产物/技能的区分、在线验证与离线评测的分离、以及 AHE 作为独立演进回路的定位。
重新通读了 Anthropic 工程博客全部 25 篇文章,按八个 阶段完整梳理 Claude 从「Building Effective Agents」到「Managed Agents」的工程化演进路径,抽象出可复用的方法论,并结合我自己的 Harness Engineering 实践给出对照思考。
对比 Pi agent-core harness 与 Claude Code 如何保存会话记录、恢复运行时状态、构造模型上下文、压缩历史和处理工具输出,说明两套 Agent Runtime 在状态与资源管理上的实现差异。
Graph Engineering 将 Agent 的任务执行、验证、权限和长期评估显式组织为图。它解释了何时应从单个闭环升级到多节点编排,以及未来的重点为何会落在运行时治理上。
拆 pi-ai 多 provider 适配层:约 10 个线缆协议实现如何覆盖 37 家 provider,compat 标志矩阵如何抹平 OpenAI 兼容生态,重试判定为什么是带 issue 编号的正则库,上下文溢出的三种检测路径,以及模型 catalog 为什么走构建期生成与手工 override。
分析 pi-tui 如何将组件输出约束为字符串行数组,比较相邻两帧以重绘变化区间,并处理滚动区、终端尺寸、内联图片和 IME 光标等差分渲染的正确性条件。
拆 pi 正在进行的客户端/服务端拆分:为什么先重构出 repository 接缝再沿接缝拆进程,CBOR 协议为什么传输中立且快照权威,attach 与会话租约如何建模多前端共享,以及双栈并存的过渡工程。
拆 pi 的会话与上下文层:为什么会话建模成 entry 树而不是消息数组,模型切换和 compaction 如何成为持久化的一等条目,树结构如何支持分支导航与分支摘要,compaction 的安全切割点、文件账本与缓存隔离怎么做。
拆 pi 的 agent 主循环:为什么 StreamFn 契约禁止抛异常、失败如何编码成 stopReason=error 的 assistant 消息进入会话历史、截断的 tool call 为什么整批拒绝执行、并行工具调度如何保证 transcript 确定性,以及工具输出截断的工程细节。
通读 pi(Mario Zechner 的 coding agent harness)源码:四层包结构如何划分关注点与策略归属,为什么它不内置权限弹窗、MCP、子代理和 plan mode,以及 Extensions、Skills 与本地文档按需加载如何构成其扩展机制。
通读 Matt Pocock 的 agent-skills 仓库:它针对 AI 编程的四个失败模式给出对策,用 user-invoked 与 model-invoked 两层 skill 组织工程纪律,本文梳理它的 设计、收益、代价和适用场景。
通读 OpenSpec、Spec Kit、Superpowers、GSD、ECC、GStack 六个仓库的源码,按研发生命周期逐一对比它们的命令、产物、核心机制、优缺点与适用场景,给出基于事实的选型建议。
Claude Code 泄露源码的 20 篇深度拆解索引,覆盖 Agent 主循环、工具系统、上下文压缩、记忆、权限、沙箱、MCP、Skills、多 Agent 等完整技术面。
基于 Claude Code 的一次需求交付实践,梳理如何将既有 Agent 经验落实为 Harness Engineering:把上下文、工具边界、验证和反馈组织成可持续运行的工程系统。
2022 年我整理过一篇 RAG:检索增强生成的收益与天花板,谈了它解决什么问题,又有哪些结构性的限制。这几年 RAG 的工程实践往前走了很多,切分、检索、重排每个环节都沉淀出了更细的方法。这篇把”怎么把知识库从能用调到好用”整理一遍,算是上一篇的续篇。 知识库在 Agent 里的位置 在 Agent 的语境下,知识…
Agent Skills 发布后用了一段时间,和我项目里 rules 按需加载的做法对照:渐进式披露的机制、与工具的分工、以及几个实际的坑。
应用层动不了模型权重,但 可以动外部资产。记录我们在失败复盘、经验库、记忆整理和提示词自动优化上的做法,以及为什么这一切的前提是评估集。
对照 Claude Code、Gemini CLI 与 OpenHands 的上下文压缩策略,整理触发阈值、递归摘要、原文保留、摘要结构和存储回退的实现取舍。
不训模型的工程师视角的后训练扫盲:预训练、SFT、RL 各自做什么,为什么验证器便宜的领域进展最快,以及奖励设计思维对 Agent 应用层的启发。
Agent 评估不能只报一个通过率。本文从 Coding Agent 和巡检 Agent 出发,拆开评估维度、任务契约、终态与轨迹判据、LLM 裁判、稳定性协议、线上回归和工具选型。
以线上智能巡检系统为例,记录把 Agent 从"人发问题才回答"改造成事件驱动常驻服务的过程:事件队列统一告警、回调与定时任务,自动发现、定位与处理,高危动作转人工,下一步接入自动化测试主动验证。
从语音入口和 Computer Use 的实验出发,讨论一个更实际的问题:现有软件大多只为人设计。Agent 要跨系统完成任务,关键不是更会点屏幕,而是拥有以 CLI、文件和脚本打通系统的执行环境。
从 2024 年 Vue 转 React 与 Native 动态化转码实践出发,拆解专业技术债治理 Agent 的状态机、知识、工具、验证与人工升 级机制,再推导通用 Coding Agent 所需的运行时和生产治理架构。
MCP 发布三个月后的一点实战记录:架构是怎么回事,接入内部系统后省掉了什么,以及工具描述膨胀和第三方 server 权限两个新问题。
以超过两万行的 Vue 页面迁移到 React 为例,讨论长任务如何通过行为规格、checkpoint、上下文压缩与执行校验持续推进。
让我时隔很多年重新思考笔记这个问题是源于一个“AI大脑”的灵光乍现 过去我有一个很大的痛点:人是会忘记的,这导致在做决策的时候有些信息之前虽然有接触,但是没办法有效召回导致决策质量较差。 现在AI的能力和工程能力绝对可以做到一个“虚拟的我”,祂是我过往所有经验的总和,当我有什么问题和他沟通的时候,一定会贴合我自己的想…
基于 2024 年的 Agent、工具调用、迁移、记忆与检索实践,讨论 LangGraph 的真正边界:什么应交给可扩展的模型搜索,什么必须由确定性的编排框架承担。