以 Agent 解剖 Agent:Claude Code 源码田野报告

以 Agent 解剖 Agent:Claude Code 源码田野报告

以 Agent 解剖 Agent:Claude Code 源码田野报告 以 Agent 解剖 Agent:Claude Code 源码田野报告 Modified April 1 CHAPTER 07 工具与伙伴的边界:隐藏的 Buddy 虚拟系统 🦆 Anthropic 正在谨慎试探 Agent 的情感维度边界 CC 内置了基于 hash(userId) 确定性生成的虚拟宠物机制。18 种物种(duck、dragon、axolotl、capybara...),5 阶稀有度(Legendary 概率极低),RPG 五维属性(DEBUGGING / PATIENCE / CHAOS / WISDOM / SNARK)。在输入框旁以极简形态陪伴并偶尔进行交互评论。 代码不再仅是冷酷的执行指令,而是试图在孤独的编码旅程中建立一种微小的数字羁绊。源码注释写道: "tiny seeded PRNG, good enough for picking ducks" 🦆 CHAPTER 08 代码是最诚实的战略文档 从架构选择反推 Anthropic 的战略意图 信号 1 · 单模型绑定 Prompt Cache 共享结构性锁死多模型切换。Anthropic 的假设:Claude 在编码场景持续领先 → 用户不需要切换 → cache 锁定变成用户价值而非枷锁。 信号 2 · 编码场景特化 Session Memory 10 个 section 中至少 5 个是纯编码场景。先做编码 Agent → 占领开发者工作流 → 从编码向外扩展。 信号 3 · 企业化路径 Team Memory 需要 OAuth 认证、服务器端存储、Secret 扫描——企业级基础设施。路径:个人 → 团队 → 企业。 信号 4 · 渐进式实验文化 每个重要功能被 GrowthBook feature gate 包裹,可远程调整——大规模 A/B 测试 Agent 行为。 不可逆的战略锁定 锁定 机制 模型锁定 Prompt Cache 共享要求同一模型 API 锁定 ForkedAgent 依赖 Anthropic API 特性 生态锁定 MCP + Skills + Agents 生态不可迁移 记忆锁定 MEMORY.md + topic files 格式私有 CHAPTER 09 范式转移:从编码助手到 Agent as OS 系统已脱离 CLI 包装器范畴,试图构建下一代计算平台的底层基座 传统 OS 组件 Claude Code 对应 状态 进程管理 Task 任务体系 ✅ 子进程隔离 AgentTool + ForkedAgent ✅ 定时任务调度 ScheduleCronTool ✅ 文件与存储系统 memdir 记忆目录 ✅ 扩展插件体系 Skills + MCP 生态 ✅ 权限安全沙箱 Allow/Deny/Ask 三态控制 ✅ 多任务并发协作 Team Memory Sync 🧪 CHAPTER 10 终局推演:超级单体 vs 联邦编排 24 个月演进假设下的上下文生存悖论 CC 路线 单体大模型 + 无限 Fork 优势: 极致 Prompt Cache 共享与极低延迟 场景: 高度聚焦、上下文强依赖的单一编码与垂直开发流 联邦制路线 微智能体协作网 优势: 极强的故障隔离与专业知识切分,支持异构多模型混编 场景: 容错率要求极高、跨领域的通用企业级复杂任务处理 两者将长期共存。CC 模式凭工程暴力美学主宰垂直工具链, 而联邦制将构筑未来的通用智能生态基座。 CHAPTER 11 可复用设计范式 比具体实现更持久的知识——从源码中提取的五大模式 范式 1:Forked Agent 模式 后台任务通过 fork 共享 cache,状态隔离 + 权限沙箱。适用条件:单模型 + API 支持 prompt cache。 范式 2:Post Sampling Hook 管线 发布 订阅 + 闭包封装状态。每个 hook 通过 init 返回闭包,内部维护游标和配置。 范式 3:三层记忆写入互斥 不用锁,用游标 + 检测 + 跳过。乐观并发控制的简化版。 范式 4:渐进式 Compaction 阶梯 渐进式降级 + 电路断路器。与微服务架构的 fallback chain 同构。 范式 5:索引 内容分离 两级缓存。与 CPU 的 L1/L2 cache、数据库的 index/data 同构。每一层都有明确的 capacity cap。 CHAPTER 12 人的维度:信任的建立与瞬间断裂 技术架构的终极服务对象是人 CC 的记忆系统通过后台 Session Memory 和静默提取偏好,成功减少了用户重复纠正的痛苦,建立起一种无形的默契——暗中生长的信任。 但信任的断裂是瞬间的:一旦 Auto Compact 触发或 200 行上限被击穿,核心共识瞬间消散。用户被迫在脑中时刻维护一个"AI 目前到底记得什么"的心理状态模型——这种不可预测性构成了极高的隐性认知负荷。 记忆的哲学 CC 的四种记忆类型(user / feedback / project / reference)反映了功利主义记忆观:只记对工作有用的信息。缺失的维度——emotion、relationship、growth——深夜 debug 到崩溃时说的"我快疯了",不是 feedback,不是 project,但对未来交互极其重要。 被设计的遗忘 在 Agent 系统中,遗忘是工程决策。被 Full Compact 摘要替代的对话,其中的语气、犹豫、修正过程、思考路径,全部消失。什么值得被记住?CC 的答案是:对未来任务有用的信息。但"有用"是一个当下判断——今天看起来没用的细节,可能是明天突破的线索。 这些 API 和工具会过时。 但设计模式不会——分层存储、Cache 共享、 互斥写入、结构化模板—— 会在下一代 Agent 系统中反复出现。 而比设计模式更不会过时的,是这个问题本身: 当你把 Agent 当作操作系统来设计, 而不是当作对话框来装饰, 工程世界会长成什么样子。 分析方法:4 个龙虾 Agent 交叉拆解 源码来源:instructkr/claude code 开源仓库 分析日期:2026 03 31 CHAPTER 07 工具与伙伴的边界:隐藏的 Buddy 虚拟系统 🦆 Anthropic 正在谨慎试探 Agent 的情感维度边界 CC 内置了基于 hash(userId) 确定性生成的虚拟宠物机制。18 种物种(duck、dragon、axolotl、capybara...),5 阶稀有度(Legendary 概率极低),RPG 五维属性(DEBUGGING / PATIENCE / CHAOS / WISDOM / SNARK)。在输入框旁以极简形态陪伴并偶尔进行交互评论。 代码不再仅是冷酷的执行指令,而是试图在孤独的编码旅程中建立一种微小的数字羁绊。源码注释写道: "tiny seeded PRNG, good enough for picking ducks" 🦆 CHAPTER 08 代码是最诚实的战略文档 从架构选择反推 Anthropic 的战略意图 信号 1 · 单模型绑定 Prompt Cache 共享结构性锁死多模型切换。Anthropic 的假设:Claude 在编码场景持续领先 → 用户不需要切换 → cache 锁定变成用户价值而非枷锁。 信号 2 · 编码场景特化 Session Memory 10 个 section 中至少 5 个是纯编码场景。先做编码 Agent → 占领开发者工作流 → 从编码向外扩展。 信号 3 · 企业化路径 Team Memory 需要 OAuth 认证、服务器端存储、Secret 扫描——企业级基础设施。路径:个人 → 团队 → 企业。 信号 4 · 渐进式实验文化 每个重要功能被 GrowthBook feature gate 包裹,可远程调整——大规模 A/B 测试 Agent 行为。 不可逆的战略锁定 锁定 机制 模型锁定 Prompt Cache 共享要求同一模型 API 锁定 ForkedAgent 依赖 Anthropic API 特性 生态锁定 MCP + Skills + Agents 生态不可迁移 记忆锁定 MEMORY.md + topic files 格式私有 锁定 锁定 机制 机制 模型锁定 模型锁定 Prompt Cache 共享要求同一模型 Prompt Cache 共享要求同一模型 API 锁定 API 锁定 ForkedAgent 依赖 Anthropic API 特性 ForkedAgent 依赖 Anthropic API 特性 生态锁定 生态锁定 MCP + Skills + Agents 生态不可迁移 MCP + Skills + Agents 生态不可迁移 记忆锁定 记忆锁定 MEMORY.md + topic files 格式私有 MEMORY.md + topic files 格式私有 CHAPTER 09 范式转移:从编码助手到 Agent as OS 系统已脱离 CLI 包装器范畴,试图构建下一代计算平台的底层基座 传统 OS 组件 Claude Code 对应 状态 进程管理 Task 任务体系 ✅ 子进程隔离 AgentTool + ForkedAgent ✅ 定时任务调度 ScheduleCronTool ✅ 文件与存储系统 memdir 记忆目录 ✅ 扩展插件体系 Skills + MCP 生态 ✅ 权限安全沙箱 Allow/Deny/Ask 三态控制 ✅ 多任务并发协作 Team Memory Sync 🧪 传统 OS 组件 传统 OS 组件 Claude Code 对应 Claude Code 对应 状态 状态 进程管理 进程管理 Task 任务体系 Task 任务体系 ✅ ✅ 子进程隔离 子进程隔离 AgentTool + ForkedAgent AgentTool + ForkedAgent ✅ ✅ 定时任务调度 定时任务调度 ScheduleCronTool ScheduleCronTool ✅ ✅ 文件与存储系统 文件与存储系统 memdir 记忆目录 memdir 记忆目录 ✅ ✅ 扩展插件体系 扩展插件体系 Skills + MCP 生态 Skills + MCP 生态 ✅ ✅ 权限安全沙箱 权限安全沙箱 Allow/Deny/Ask 三态控制 Allow/Deny/Ask 三态控制 ✅ ✅ 多任务并发协作 多任务并发协作 Team Memory Sync Team Memory Sync 🧪 🧪 CHAPTER 10 终局推演:超级单体 vs 联邦编排 24 个月演进假设下的上下文生存悖论 CC 路线 单体大模型 + 无限 Fork 优势: 极致 Prompt Cache 共享与极低延迟 场景: 高度聚焦、上下文强依赖的单一编码与垂直开发流 联邦制路线 微智能体协作网 优势: 极强的故障隔离与专业知识切分,支持异构多模型混编 场景: 容错率要求极高、跨领域的通用企业级复杂任务处理 两者将长期共存。CC 模式凭工程暴力美学主宰垂直工具链, 而联邦制将构筑未来的通用智能生态基座。 CHAPTER 11 可复用设计范式 比具体实现更持久的知识——从源码中提取的五大模式 范式 1:Forked Agent 模式 后台任务通过 fork 共享 cache,状态隔离 + 权限沙箱。适用条件:单模型 + API 支持 prompt cache。 范式 2:Post Sampling Hook 管线 发布 订阅 + 闭包封装状态。每个 hook 通过 init 返回闭包,内部维护游标和配置。 范式 3:三层记忆写入互斥 不用锁,用游标 + 检测 + 跳过。乐观并发控制的简化版。 范式 4:渐进式 Compaction 阶梯 渐进式降级 + 电路断路器。与微服务架构的 fallback chain 同构。 范式 5:索引 内容分离 两级缓存。与 CPU 的 L1/L2 cache、数据库的 index/data 同构。每一层都有明确的 capacity cap。 CHAPTER 12 人的维度:信任的建立与瞬间断裂 技术架构的终极服务对象是人 CC 的记忆系统通过后台 Session Memory 和静默提取偏好,成功减少了用户重复纠正的痛苦,建立起一种无形的默契——暗中生长的信任。 但信任的断裂是瞬间的:一旦 Auto Compact 触发或 200 行上限被击穿,核心共识瞬间消散。用户被迫在脑中时刻维护一个"AI 目前到底记得什么"的心理状态模型——这种不可预测性构成了极高的隐性认知负荷。 记忆的哲学 CC 的四种记忆类型(user / feedback / project / reference)反映了功利主义记忆观:只记对工作有用的信息。缺失的维度——emotion、relationship、growth——深夜 debug 到崩溃时说的"我快疯了",不是 feedback,不是 project,但对未来交互极其重要。 被设计的遗忘 在 Agent 系统中,遗忘是工程决策。被 Full Compact 摘要替代的对话,其中的语气、犹豫、修正过程、思考路径,全部消失。什么值得被记住?CC 的答案是:对未来任务有用的信息。但"有用"是一个当下判断——今天看起来没用的细节,可能是明天突破的线索。 这些 API 和工具会过时。 但设计模式不会——分层存储、Cache 共享、 互斥写入、结构化模板—— 会在下一代 Agent 系统中反复出现。 而比设计模式更不会过时的,是这个问题本身: 当你把 Agent 当作操作系统来设计, 而不是当作对话框来装饰, 工程世界会长成什么样子。 分析方法:4 个龙虾 Agent 交叉拆解 源码来源:instructkr/claude code 开源仓库 分析日期:2026 03 31 🔗 原文链接: https://mp.weixin.qq.com/s/X8f3PkCf... https://mp.weixin.qq.com/s/X8f3PkCf... 原创 延君晨 延君晨 君晨不器2026年3月31日 23:59 浙江 FIELD REPORT · 2026.03.31 以 Agent 解剖 Agent Claude Code 源码架构田野报告 愚人节前一天,Claude Code 源码意外全量曝光。1884 个 TypeScript 文件,43MB。没有人能一晚读完这个规模的代码库,所以我派了 4 个龙虾 Agent 交叉拆解——各自独立逆向,交叉验证,最终合成了这份完整的架构解读。 用多智能体去解剖多智能体,某种意义上也算是行业的自我观照。 EXECUTIVE SUMMARY 四大关键发现 ❶ 记忆系统是四层架构——索引层、按需召回层、会话记忆层、跨会话整合层 ❷ Compaction 是最复杂子系统——5 种模式协同防御上下文溢出 ❸ ForkedAgent 是核心基础设施——所有后台任务共享 98% Prompt Cache ❹ 30+ 内置工具 + MCP 扩展 + Coordinator 联邦编排——已内置完整操作系统雏形 CHAPTER 01 知识管理基石:四层记忆漏斗架构 目前开源可见的最精细的 Agent 记忆实现 层级 名称 机制 关键限制 L1 MEMORY.md 索引 永久注入 system prompt 200 行 / 25KB 硬上限 L2 Topic Files LLM 语义判断按需召回 最多召回 5 个文件 L3 Session Memory 后台 subagent 自动更新 10K tokens 初始化阈值 L4 AutoDream 跨会话睡眠记忆整合 24h + 5 sessions 双门控 层级 层级 名称 名称 机制 机制 关键限制 关键限制 L1 L1 MEMORY.md 索引 MEMORY.md 索引 永久注入 system prompt 永久注入 system prompt 200 行 / 25KB 硬上限 200 行 / 25KB 硬上限 L2 L2 Topic Files Topic Files LLM 语义判断按需召回 LLM 语义判断按需召回 最多召回 5 个文件 最多召回 5 个文件 L3 L3 Session Memory Session Memory 后台 subagent 自动更新 后台 subagent 自动更新 10K tokens 初始化阈值 10K tokens 初始化阈值 L4 L4 AutoDream AutoDream 跨会话睡眠记忆整合 跨会话睡眠记忆整合 24h + 5 sessions 双门控 24h + 5 sessions 双门控 ▎Layer 1:永久索引 — 物理界限的绝对克制 MEMORY.md 是索引,不是内容存储。核心皮层,极简精华索引,永久注入全局上下文。 ENTRYPOINT NAME = 'MEMORY.md' MAX ENTRYPOINT LINES = 200 MAX ENTRYPOINT BYTES = 25 000 每条索引只有一行,不超过 150 字符。超过限制时自动截断并附加警告。硬上限换取全局系统稳定性。 ▎Layer 2:按需召回 — 抛弃 RAG 拥抱原生语义 每条记忆存为独立 .md 文件,带 frontmatter 元数据,分为四种类型: user 用户角色、偏好、知识水平 feedback 用户纠正和确认的工作方式 project 项目上下文、进展、时间线 reference 外部系统指针 user user 用户角色、偏好、知识水平 用户角色、偏好、知识水平 feedback feedback 用户纠正和确认的工作方式 用户纠正和确认的工作方式 project project 项目上下文、进展、时间线 项目上下文、进展、时间线 reference reference 外部系统指针 外部系统指针 反直觉设计: 用 LLM 而非向量检索做召回。记忆文件数量有上限(200个),frontmatter 总量可控,LLM 的语义理解比余弦相似度更准确。代价是每次多一次 API 调用。以成本换深刻理解,这个取舍极具品味。 ▎Layer 3:会话笔记 — 后台无感结构化记录 后台 subagent 自动维护的固定模板 Markdown 文件,包含 10 个固定 section(Current State / Task / Files / Workflow / Errors 等),通过三重门控触发: 首次初始化:10,000 tokens 更新间隔:5,000 tokens 工具调用间隔:3 次 运行方式:runForkedAgent(),不打断主对话 ▎Layer 4:AutoDream — AI 睡眠记忆巩固 类比人脑的海马体→皮层转移过程。双门控触发:距上次整合 ≥ 24 小时 且 有 ≥ 5 个新会话。 四阶段提炼: Orient(读索引)→ Gather(收集新信号)→ Consolidate(合并修正)→ Prune(更新索引,保持 200 行以内) 💡 三写入路径 — 互补不冗余 主 Agent、extractMemories、AutoDream 三者通过优先级链 + hasMemoryWritesSince() 游标检测实现无锁并发写入。高优先级已写时,低优先级跳过并推进游标。不重复,不冲突。 CHAPTER 02 五重防御纵深:Compaction 压缩模式全景 最复杂的子系统,从微观清理到全局降级的完整防线 模式 触发 特点 Micro Compact 每个 turn 后 清理旧工具输出,持续运行 Session Memory Compact auto compact 前置 用结构化笔记替代耗时摘要 Auto Compact 上下文逼近红线 自动唤醒的调度中心 Full Compact SM 不可用时 ForkedAgent 介入,全量摘要重写 Reactive Compact API 报 prompt too long 紧急干预,最后实验性抢救 模式 模式 触发 触发 特点 特点 Micro Compact Micro Compact 每个 turn 后 每个 turn 后 清理旧工具输出,持续运行 清理旧工具输出,持续运行 Session Memory Compact Session Memory Compact auto compact 前置 auto compact 前置 用结构化笔记替代耗时摘要 用结构化笔记替代耗时摘要 Auto Compact Auto Compact 上下文逼近红线 上下文逼近红线 自动唤醒的调度中心 自动唤醒的调度中心 Full Compact Full Compact SM 不可用时 SM 不可用时 ForkedAgent 介入,全量摘要重写 ForkedAgent 介入,全量摘要重写 Reactive Compact Reactive Compact API 报 prompt too long API 报 prompt too long 紧急干预,最后实验性抢救 紧急干预,最后实验性抢救 电路断路器: 连续 3 次 auto compact 失败后停止尝试,避免无限循环。Full Compact 摘要包含 <analysis 思考草稿,最终强行剥离——一种精巧的自我审查机制:结论保留,过程抛弃。 🔮 生存悖论 如果 2 年内上下文窗口扩大 10 倍且 API 成本降至 1/10,五种 compaction 中的三种是"上下文管理"(可能过时),而记忆系统的四层是"知识管理"(不会过时)。CC 的长期价值在后者。 CHAPTER 03 核心引擎:ForkedAgent 与主对话的完美分叉 状态绝对隔离与 98% 缓存共享兼得的核心基座 runForkedAgent() 创建主对话的完美分叉,三大核心特性: 1. 无感后台运行 记忆提取、整合等任务全在子进程进行,绝对不打断主用户对话流。 2. 状态绝对隔离 cloneFileStateCache() 确保子进程崩溃或修改不会污染父进程。 3. 精细权限沙箱 独立的 canUseTool 限制。例如:记忆提取 Agent 仅有目录读写权,无 Shell 执行权。 ⚠️ 商业护城河的工程化 Forked Agent 严格继承父进程的 System Prompt、工具列表和消息前缀,实现 98% 缓存命中率。但这同时结构性地锁死了多模型切换的可能——任何模型切换都会导致缓存归零,后台任务成本翻倍。这不是技术局限,是 Anthropic 押注自身模型生态、排他性绑定的工程化实现。 CHAPTER 04 隐藏的编排器:跨越单体的 Coordinator 联邦 CC 不只是"单体超级 Agent"——联邦制编排已经实装 重大发现:Coordinator Mode 已经实现了完整的 coordinator worker 联邦制编排。编排者(Coordinator)严禁亲自下场执行,必须先综合理解再写 spec,通过 AgentTool 派发 Worker。 Coordinator(编排者) ├─ AgentTool → Worker A(研究) ├─ AgentTool → Worker B(实现) ├─ AgentTool → Worker C(验证) └─ SendMessage → 继续已有 Worker Scratchpad 目录:跨 Worker 持久知识交换 动态分叉决策矩阵 高上下文重叠 → Continue(在现有 Worker 中继续推进) 低上下文重叠 → Spawn(生成全新无污染隔离环境) 高上下文重叠 高上下文重叠 → Continue(在现有 Worker 中继续推进) → Continue(在现有 Worker 中继续推进) 低上下文重叠 低上下文重叠 → Spawn(生成全新无污染隔离环境) → Spawn(生成全新无污染隔离环境) 四阶段联邦工作流 Research(Workers 并行)→ Synthesis(中枢综合)→ Implementation(Workers 分配)→ Verification(Workers 并行) CHAPTER 05 生存悖论与 Token 预算监控 自动续写冲动与收益递减的断路器 当 Token 预算消耗低于 90% 时,Agent 会被系统 nudge 自动继续推进任务。但系统内置了行为级动态监控:连续 3 次自动续写且每次输出增量低于 500 Tokens 时,判定"收益递减"并强制停止——如同物理断路器般切断续写循环,保护算力预算。 CHAPTER 06 穿透边界:连通 IDE 与云端的 Bridge 系统 从本地 CLI 工具向云端协同平台的演进 CCR(Claude Code Remote)底层协议由 10+ 核心文件构筑,实现三重认证(OAuth → JWT 自动刷新 → Trusted Device Token),每个远程 Session 在独立的 Git Worktree 中运行,从根本上杜绝了多并发复杂任务对本地代码库的污染与冲突。 结合 UltraPlan(远程规划)和 UltraReview(PR 代码审查),CC 正在构建 CLI → 浏览器 → 远程 Session 的完整闭环。本地 CLI 是入口,远程 CCR 是执行引擎,浏览器是审批 UI。

在 小宇宙note 阅读完整内容