Agent Harness 源码内核

August 27, 2026 · View on GitHub

Agent Harness 源码内核中文标志

Agent Harness 源码内核

从一次工具调用开始,读懂六套编程智能体的运行系统

在线阅读 · 开始学习 · 完整课程目录 · 选择阅读路线 · 下载 PDF

姊妹项目:Eval Harness 源码内核 —— 智能体跑完之后,谁来判定它真的做对了

这个仓库是一套面向开发者的中文 Agent Harness 源码教材。它不比较模型排行榜,也不复述产品功能列表。你会先用一个失败测试建立共同语言,再沿 DeepSeek Harness、Codex、Gemini CLI、Claude、pi 与 OpenCode 的锁定源码,跟完模型输入、智能体循环、工具执行、权限、会话和结果核对的完整链路。

先建立一个简单画面

用户目标


Harness ── 组织上下文、维持循环、控制工具、保存状态
   │                         │
   │ 请求下一步              │ 执行动作
   ▼                         ▼
模型                     执行环境
决定下一步               文件、终端、网络与外部系统

模型负责根据输入选择下一步;Harness 把选择变成受控制、可继续的任务执行;执行环境承担真实副作用。运行轨迹和独立评测观察这条交互链,但不会替 Harness 执行工具。

六条主要源码课程

课程主要语言与公开来源适合观察什么
DeepSeek HarnessTypeScript 多包源码与测试提示词、键值缓存、代码模式、工具、会话与评测接缝怎样组合
CodexRust 核心、协议和测试线程、轮次、工具策略、沙箱、审批和多种产品表面怎样连接
Gemini CLITypeScript 核心与命令行源码轮次、调度器、工具生命周期、策略、确认和会话怎样协作
Claude官方文档与公开 Agent SDK闭源产品契约和公开 SDK 实现分别能证明什么
piTypeScript 分层包源码极简智能体核心怎样扩展为编程智能体、协议和会话表面
OpenCodeTypeScript 服务化源码模型提供器、会话、流处理器、权限和多客户端怎样共享核心

这六条课程使用同一组阅读问题,但不强迫项目拥有相同目录或文章数量:模型看见什么,谁控制下一轮,工具怎样执行,权限在哪里判断,状态怎样恢复,结果怎样被观察。

三条阅读路线

第一次接触 Agent Harness

学习入口开始,再依次阅读五篇基础导读。它们使用同一个「修复失败测试」任务建立共同语言,不要求你先读任何大型源码仓库。需要完整目录时,打开源码课程总目录

想读懂某个项目

直接进入对应课程的项目地图。先完成端到端任务导览,再阅读核心循环、工具与权限、状态与扩展。每条课程都会标出首次阅读入口和可以暂时跳过的兼容层。

想比较不同实现

至少完成两条课程后再阅读横向比较。比较页只讨论已经在各课程中建立过的机制,不给项目打总分。

怎样核对一条源码结论

源码课程中的链接指向锁定提交,而不是随时变化的默认分支。一个完整的源码站点会同时交代调用者、输入、状态变化、返回值和下一站。你可以直接打开链接阅读上下文,也可以按照「怎样核对」运行上游测试或查看固定运行轨迹。

正文会明确区分三类内容:

  • 上游源码事实:可以在锁定文件和测试中直接找到;
  • 机制解释:根据多个调用点重建的数据流和责任边界;
  • 教学简化:帮助理解的伪代码或缩小案例,不冒充上游实现。

来源与许可证

sources/sources.yml 记录上游地址、分析范围和许可证,sources/sources.lock.yml 固定实际阅读的 Commit。上游 Checkout 只用于本地核对,不作为本仓库原创内容重新分发。具体许可证以各上游项目为准。

从这里继续

打开学习入口:用一个失败测试看懂 Agent Harness · 查看完整课程目录 · 按经验选择阅读路线