从 Harness Engineering 到 Loop Engineering:Claude Code 原理与实战、源代码架构深度剖析(全书)文章目录从 Harness Engineering 到 Loop Engineering:Claude Code 原理与实战、源代码架构深度剖析(全书)第 0 章 目录与序言全书目录第一部分 范式演进第二部分 Claude Code 原理第三部分 Loop Engineering第四部分 源代码架构深度剖析第五部分 实战序言谁应该读这本书如何阅读约定第 1 章 从脚本到 Harness 到 Loop:Agent 范式三纪元1.1 三纪元划分:Pipeline → Harness → Loop纪元一:Pipeline(流水线)纪元二:Harness(外壳/缰绳)纪元三:Loop(自治循环)1.2 为什么"壳"比"脑"更重要1.3 Claude Code 在坐标系中的位置1.4 本书阅读地图1.5 小结第 2 章 Agent Harness 工程基础2.1 Harness 的定义与四要素要素一:契约层(Contract)要素二:循环层(Loop)要素三:工具层(Tools)要素四:状态层(State)2.2 系统提示:契约即架构契约设计的三条原则2.3 工具循环:感知—思考—行动—观察2.4 上下文契约与 token 经济学2.5 一个最小 Harness 的伪代码骨架2.6 小结第 3 章 Claude Code 整体架构与运行时拓扑3.1 分层视图:接入层 / 编排层 / 工具层 / 持久化层各层为什么这样切3.2 进程模型与宿主环境会话进程后台任务进程调度器进程宿主多样性3.3 配置体系:settings.json / CLAUDE.md / memory为什么不让一个文件管所有事?配置热加载3.4 会话生命周期3.5 数据流:一次工具调用的完整旅程3.6 拓扑小结第 4 章 对话主循环、上下文管理与压缩4.1 主循环状态机IDLE 是循环的真正主态STREAMING 与 PARSE_TOOL_CALLS 的分离BACKGROUND 是 OBSERVE 的旁路4.2 消息结构与角色4.3 上下文窗口与自动压缩压缩的触发与节流⚠️ 压缩的反模式4.4 摘要续写机制4.5 prompt 缓存策略缓存友好的消息顺序4.6 小结第 5 章 工具系统、权限模型与 Plan Mode5.1 工具描述协议描述即路由Schema 即契约⚠️ 工具描述的反模式5.2 工具分层:文件 / 搜索 / 执行 / 编排文件层的"先读后改"约束执行层的沙箱与降级编排层的隔离5.3 权限模式:default / acceptEdits / plan / bypassPermissions为什么需要四种权限白名单的内部表示5.4 Plan Mode 的双向握手握手流程为什么这是"握手"而不是"开关"⚠️ Plan Mode 的常见误用5.5 Hook 拦截机制Hook vs 权限白名单自动行为必须靠 Hook5.6 小结第 6 章 子代理、Workflow 引擎与多智能体编排6.1 Agent 工具与子代理隔离隔离的本质子代理的类型通信协议:只回最终消息6.2 并行与流水线:parallel / pipelineparallel:barrier 并发pipeline:无屏障流水线何时用 parallel,何时用 pipeline6.3 结构化输出:schema 强制为什么 schema 是编排的脊柱⚠️ schema 的反模式6.4 Workflow DSL:用 JS 编排智能体为什么用 DSL 而不是自然语言确定性编排 vs 模型驱动编排6.5 退避、重试与降级反模式:静默截断6.6 编排的四种经典模式1. 扇出—验证(fan-out + adversarial verify)2. 视角多样化(perspective-diverse verify)3. 裁判团(judge panel)4. loop-until-dry6.7 小结第 7 章 记忆系统、产物库与持久化层7.1 三层记忆:上下文 / 会话 / 长期7.2 文件式长期记忆与 MEMORY.md 索引一文件一事实MEMORY.md:每会话加载的索引记忆的四种类型⚠️ 记忆的反模式7.3 产物库(Artifact)与 OSS 落地为什么不直接写文件大内容走 file_path,小内容走 content_text产物与上下文的关系7.4 工作区与 Worktree 隔离为什么不是 git branch 而是 worktreeWorktree 的生命周期7.5 跨会话状态恢复Resume 的缓存命中⚠️ 跨会话恢复的反模式7.6 小结第 8 章 Loop Engineering:自治循环、调度器与后台任务8.1 从一次对话到永续循环8.2 调度原语:CronCreate / ScheduleWakeup / 后台任务原语一:CronCreate — 定时触发原语二:ScheduleWakeup — 动态节律原语三:后台任务 — 异步派发三原语的关系8.3 自治循环模式:loop-until-dry / loop-until-budgetloop-until-dry:挖到没货为止loop-until-budget:按预算缩放两种模式的组合8.4 动态节律与缓存窗口8.5 任务通知与汇总协议8.6 失败模式与护栏跑飞(runaway)重复触发同一问题醒来发现世界变了通知风暴调度漂移8.7 Loop Engineering 的设计清单8.8 从 Harness 到 Loop 的迁移8.9 小结第 9 章 源码深度剖析:调度核心与流式响应管线9.1 入口与请求装配系统提示的拼装顺序工具 schema 的收集9.2 流式解析与工具调用切分工具调用切分的难点增量渲染 vs 批量执行9.3 工具执行调度器权限裁决的三态结果裁剪9.4 子代理通信协议隔离的边界schema 强制的实现9.5 中断、取消与超时协作式 vs 抢占式超时Workflow 的取消传播9.6 流式管线的工程要点汇总9.7 小结第 10 章 源码深度剖析:Skill / MCP / Hook 扩展生态10.1 Skill 加载与路由Skill 的存储:数据库而非文件Skill 路由的优先级Skill 的运行时注入⚠️ Skill 路由的反模式10.2 MCP server 注册与工具发现注册流程命名空间与去重工具发现的延迟交互式认证的 MCP10.3 Hook 生命周期事件事件清单Hook 的执行模型Hook vs 子代理自动行为的 Hook 落地10.4 权限白名单的内部表示匹配规则匹配器的实现参数提取的坑10.5 配置热加载热加载策略不能热加载的部分系统提示的稳定性10.6 扩展生态的架构原则10.7 小结第 11 章 实战:自建迷你 Agent Harness 与 Loop 引擎11.1 设计目标与边界11.2 代码骨架核心数据结构Harness 主体11.3 内置工具11.4 子代理与 schema 强制11.5 升级为 Loop:定时 + 自治loop-until-dry / loop-until-budget11.6 工程化打磨清单11.7 验证:跑一个端到端任务11.8 小结第 12 章 工程化方法论、安全红线与未来展望12.1 Harness Engineering 十诫12.2 Loop Engineering 反模式12.3 安全红线与对齐操作级红线(必须人确认)系统级红线(必须审计)对齐级红线(模型自检)对齐的本质12.4 从 Agent 到 Agentic System阶段一:单 Agent + 工具阶段二:主 Agent + 子代理阶段三:Workflow 编排阶段四:Agentic System系统视角的工程问题12.5 未来:OS 级 Loop Runtime方向一:Loop Runtime 成为独立基础设施方向二:记忆与产物的统一存储方向三:从"工具调用"到"能力市场"但有些事不会变12.6 给不同读者的收尾建议12.7 全书结语第 0 章 目录与序言全书目录第一部分 范式演进第 1 章 从脚本到 Harness 到 Loop:Agent 范式三纪元1.1 三纪元划分:Pipeline → Harness → Loop1.2 为什么"壳"比"脑"更重要1.3 Claude Code 在坐标系中的位置1.4 本书阅读地图第 2 章 Agent Harness 工程基础2.1 Harness 的定义与四要素2.2 系统提示:契约即架构2.3 工具循环:感知—思考—行动—观察2.4 上下文契约与 token 经济学2.5 一个最小 Harness 的伪代码骨架第二部分 Claude Code 原理第 3 章 Claude Code 整体架构与运行时拓扑3.1 分层视图:接入层 / 编排层 / 工具层 / 持久化层/