KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
Claude Code Harness — keel 龙骨
课程导读 · 从「会用 Claude Code」到「看懂它的运行时」
课程导读 · 从「会用 Claude Code」到「看懂它的运行时」
章节目录
- 01 · 入口与分层:从命令行到 REPL 的一条快分流链 — 这一章回答一个问题:一个每分钟要被启动几十次、每次都要立刻响应的命令行工具,它的入口该怎么写?
- 02 · 主循环 — Agent 循环是整个 Harness 的心脏,也是最容易被写成「一个 while + 一堆 if」的地方。Claude Code 2.1.88 的做法相反:它把这颗心拆成一层薄壳(query())和一个带显式状态对象的循环(queryLoop()),并把「这一轮为什么结束」和「这一轮为什么要再来一次」都做成了字面量联合类型。
- 03 · 工具运行时 — 工具是 Agent 与外部世界的唯一接口。Claude Code 2.1.88 把「工具」定义得比「一个模型能调用的函数」宽得多:它同时携带 zod schema、权限检查、执行逻辑、并发语义、乃至 UI 渲染方法。
- 04 · 权限与安全 — 权限系统是 Agent Harness 里唯一「不能出错」的部分:一次误放行可能意味着 rm -rf、凭据外泄或仓库被改写。Claude Code 2.1.88 的处理方式是把拒绝放在最前、把放行放在最后,并在中间插两层「不可绕过」的闸门。
- 05 · 上下文管理 — 上下文窗口是 Agent 最稀缺的资源。Claude Code 2.1.88 在这一点上采取「多道防线 + 用模型压缩模型」的组合:CLAUDE.md 决定哪些指令进得来,窗口监控决定什么时候开始紧张,分层压缩决定紧张之后舍弃什么。
- 06 · 子 Agent、MCP 与会话恢复 — 前五章讲的是「一个 Agent 怎么跑」。这一章讲「多个 Agent、外部工具、以及会话如何被记住」。三者放在一起,是因为它们被同一个约束反复塑形——prompt cache 的字节级稳定性。读完之后你会发现,几处看起来最反直觉的设计(工具池排序、fork 复用父级 system prompt 字节、并行批上下文延后 apply)其实是同一个理由的不同投影。