做 Agent 也需要向大师学习:Anthropic Engineering 26 篇博客通读 + Claude Code 泄露源码交叉验证
〇、先说结论
通读完 Anthropic Engineering 从 2024-09 到 2026-04 这八个月里发的 26 篇工程师博客(外加 1 篇 Featured 置顶),再把它们和 2026-03-31 泄露的 Claude Code 源码、CL4R1T4S 泄露的 Claude/Claude Code 系统提示词 对一遍,我得到三件事:
- Agent 工程的演进路径是清的:从 2024 年底证明「Agent 可行」(
Building effective agents、Contextual Retrieval),到 2025 年铺基建(多 Agent、上下文工程、Skills、MCP),再到 2026 年补治理(Evals、Auto mode、Sandbox、Permission、Harness),Anthropic 几乎是按 "先让东西跑起来 → 再让它跑得稳 → 最后让别人也敢用" 这条路走的。我自己的表述换成更土的话:从"能work"到"敢ship"到"敢让人用"。 - 大部分博客不是 PPT。Claude Code 是这些博客思想最浓缩的实现,里面 70% 以上的做法都能在源码里找到"指纹"。比如
Effective context engineering for AI agents(2025-09)讲的 compaction + structured note-taking + sub-agent 三件套,在源码里就是services/compact/下compact.ts/autoCompact.ts/sessionMemoryCompact.ts/microCompact.ts这一整套。 - 也有博客暂时只画了饼。比如
Scaling Managed Agents: Decoupling the brain from the hands(2026-04-08)里的 Session/Harness/Sandbox 三件套解耦,到 2026-04 我截稿为止,Claude Code 主仓库里还是单进程式的 coordinator、并没有完全解耦成独立服务。这条线还在跑。
下面给你铺开 —— 第一部分介绍 Anthropic Engineering 这个博客是干嘛的,第二部分一图讲清 26 篇的整体脉络,第三部分按时间升序给每一篇写"3 句话"摘要,第四部分是我自己的思考,第五部分拿泄露的代码 + 系统提示词反着核对一遍。
一、Anthropic Engineering 是干嘛的
Anthropic Engineering 博客(anthropic.com/engineering)跟 Anthropic Newsroom、Anthropic Research 是三条独立的发布线:
| 频道 | 发什么的 |
|---|---|
| News | 产品发布、企业合作、公司人事 —— 给市场和媒体看的 |
| Research | 论文、模型能力评测、前沿实验 —— 给研究圈看的 |
| Engineering | 工程实践复盘:怎么搭 Agent 框架、怎么写工具、怎么 Eval、怎么踩坑、怎么修事故 —— 给同行工程师看的 |
我们这篇文章要读的 26 篇全在 Engineering 这一栏。它的风格跟我之前读的 Google Research / DeepMind / Microsoft / Vercel 工程博客非常不同 —— 没有太多 marketing 笔法,是真把源码级实现细节打开给你看。比如把 sandbox 失败案例给的真实数字(84% 权限弹窗减少)摆出来,把 eval-aware 模型跑出 4050 万 token 自我识破实验的 prompt 也摘出来。
小八卦:2026 年 3 月底 Claude Code 整个 TypeScript 源码通过 npm 的 source map 泄露过一次(Chaofan Shou @Fried_rice 的 X 帖),所以这一轮读博客咱们有源码级 ground truth 能对。
二、26 篇文章的整体脉络:一张图讲完
按时间升序,这 26 篇几乎完美对应 Anthropic Agent 工程的演进三段式:
timeline
title Anthropic Engineering 博客脉络 2024-09 to 2026-04
section 2024 Q4 证明可行
2024-09-19 : Contextual Retrieval - RAG 切块基石
2024-12-19 : Building effective agents - workflow vs agent
section 2025 H1 铺基建 模型与协同
2025-01-06 : SWE-bench Verified 49%
2025-03-20 : The think tool - 边走边想
2025-04-18 : Claude Code best practices - CLAUDE.md
2025-06-13 : Multi-agent research - orchestrator-worker
2025-06-26 : Desktop Extensions DXT - MCP 一键装
section 2025 H2 铺基建 工程化
2025-09-11 : Writing effective tools for agents
2025-09-17 : 三起事故复盘
2025-09-29 : Effective context engineering
2025-10-16 : Agent Skills - 三层渐进式披露
2025-10-20 : Sandbox + Claude Code on the web
2025-11-04 : Code execution with MCP
2025-11-24 : Tool Search Tool - 延迟加载工具
2025-11-26 : Effective harnesses for long-running agents
section 2026 Q1-Q2 补治理与评测
2026-01-09 : Demystifying evals
2026-01-21 : AI-resistant technical evaluations
2026-02-05 : Quantifying infrastructure noise
2026-02-05 : Building C compiler with parallel Claudes
2026-03-06 : Eval awareness in Opus 4.6
2026-03-24 : Harness design for long-running app dev
2026-03-25 : Auto mode - 分类器代替人工审批
2026-04-08 : Scaling Managed Agents - brain vs hands
2026-04-23 : Update on Claude Code quality reports
顺手再画一张"主题-时间"的热力分布图。我先把矩阵画出来(横轴是时间、纵轴是"源码落地程度"),每格按落度量打分(0=纯方法论、1=几乎全落地),然后用 Mermaid v10 的 quadrantChart 画一张象限图。坐标严格压在 0~1 之间(Mermaid 硬性要求),命名避开了 quadrant-1 这类保留字。
quadrantChart
title 26-article distribution - theme by period
x-axis Early P0 --> Recent P2
y-axis Methodology only --> Engineering in source
quadrant-1 Recent and Engineering
quadrant-2 Early and Engineering
quadrant-3 Early and Methodology
quadrant-4 Recent and Methodology
Contextual Retrieval: [0.10, 0.55]
Building effective agents: [0.12, 0.50]
SWE-bench Verified: [0.20, 0.85]
Think tool: [0.30, 0.65]
Claude Code best practices: [0.35, 0.90]
Multi-agent research: [0.42, 0.90]
Desktop Extensions: [0.48, 0.80]
Writing effective tools: [0.58, 0.85]
Postmortem three issues: [0.60, 0.70]
Effective context engineering: [0.62, 0.90]
Agent Skills: [0.66, 0.95]
Sandbox and credentials: [0.68, 0.92]
Code execution with MCP: [0.74, 0.88]
Tool Search Tool: [0.80, 0.92]
Effective harnesses: [0.82, 0.85]
Demystifying evals: [0.88, 0.75]
AI-resistant evaluations: [0.92, 0.70]
Quantifying infrastructure noise: [0.95, 0.65]
Building C compiler: [0.96, 0.60]
Eval awareness: [0.98, 0.55]
Harness design app dev: [0.99, 0.78]
Auto mode: [0.99, 0.92]
Scaling Managed Agents: [0.99, 0.78]
Update on quality reports: [0.99, 0.85]
这图大致想表达:早期偏方法论、近期越来越工程化。Anthropic 是先把"什么是 Agent / 怎么写得动"讲清楚,再补"eval / 沙箱 / harness / 分类器审批"这些"治理层"。
如果某些主题浏览器渲染不了(不同 hexo 插件版本对 quadrantChart 支持不一致,hexo-filter-mermaid-diagrams@1.0.5 + Mermaid v10.9 有一个隐藏坑:中文 label 里的括号、半角空格、Unicode 引号都会触发 syntax error),下面给一张原汁原味的 markdown 热力表,按"博客主题 × 时段"做矩阵,单元格填"源码指纹强度"(⭐ 越多越能定位到具体源码):
| 主题 \ 时段 | P0 证明可行 (2024Q4-2025H1) | P1 跑得稳 (2025H2) | P2 别人敢用 (2026Q1-Q2) |
|---|---|---|---|
| Agent 方法论 / 协同 | ⭐⭐⭐⭐ (SWE-bench / multi-agent) | ⭐⭐⭐ (context eng / skills) | ⭐⭐⭐⭐⭐ (auto mode / managed) |
| 上下文 / 上下文工程 | ⭐⭐ (contextual retrieval) | ⭐⭐⭐⭐⭐ (compaction / structured note) | ⭐⭐⭐⭐ (context reset / harness) |
| Skill 系统 | ⭐⭐ (best practices) | ⭐⭐⭐⭐⭐ (skill 三层披露 / boundedSkill) | ⭐⭐⭐ (postmortem 提了 skillImprovement hook) |
| MCP / 工具加载 | ⭐ (DXT 早期) | ⭐⭐⭐⭐⭐ (code-execution / tool search) | ⭐ (evaluation 引用) |
| 沙箱 / 权限边界 | — | ⭐⭐⭐⭐⭐ (bubblewrap + seatbelt) | ⭐⭐⭐⭐ (auto mode 分类器) |
| Eval / 评测 / 安全 | — | ⭐⭐ (事故复盘) | ⭐⭐⭐⭐⭐ (evals / AI-resistant / awareness) |
| Harness / 长任务编排 | — | ⭐⭐⭐⭐ (effective harnesses) | ⭐⭐⭐⭐ (managed agents / harness design) |
单元格里的 ⭐ 是"在泄露源码里能 grep 到的强度":5 颗星 = 源码同名/同思路的实现就在某 .ts 里;1 颗星 = 只在注释或文档里点名。空 = 这段时间窗口没相关落地。
我自己的解读:这张表反过来帮咱们把"哪些思想还在空中飘"也一眼看清了 —— 比如 MCP 在 P2 已经几乎不出现新文章,因为已经从"思想"变成"基础设施";而 Eval 系统从 2025H2 才开始有零星落地,到 2026Q1 突然密集发——Anthropic 自己也是这一段才意识到它必须补"评测基础设施"。
把"演进路径"再压成一句话我自己的口径(比你的「可用性 → 提高可用性 → 迭代」更直白):
能跑起来 → 跑得稳 → 别人敢用
也就是上面坐标图想表达的"梯子":
flowchart LR
P_0["P0 - 能跑起来
2024 Q4 - 2025 H1
证明可行 定义概念"]
P_1["P1 - 跑得稳
2025 H2
上线能力基建"]
P_2["P2 - 别人敢用
2026 Q1 - Q2
补治理 评测 安全"]
P_0 --> P_1
P_1 --> P_2
L_0["Contextual Retrieval
Building effective agents
SWE-bench Verified
Best practices"] -. "P0 主题" .-> P_0
L_1["Multi-agent
Context Engineering
Skills - MCP - Sandbox
Tool Search - Harness"] -. "P1 主题" .-> P_1
L_2["Evals - AI-resistant
Infrastructure noise
Eval awareness
Auto mode - Managed Agents"] -. "P2 主题" .-> P_2
如果你的浏览器里图还是没有渲染,下面这张 markdown 表是这张图的一对一翻译(信息完全一致):
| 阶段 | 时间窗 | 主要主题(博客 ↘ → 阶段 ↙) |
|---|---|---|
| P0 能跑起来 | 2024 Q4 - 2025 H1 | Contextual Retrieval · Building effective agents · SWE-bench Verified · Best practices |
| P1 跑得稳 | 2025 H2 | Multi-agent · Context Engineering · Skills · MCP · Sandbox · Tool Search · Harness |
| P2 别人敢用 | 2026 Q1 - Q2 | Evals · AI-resistant · Infrastructure noise · Eval awareness · Auto mode · Managed Agents |
阶段流向:P0 → P1 → P2。
三、按时间升序,每篇 3 句话
每篇统一格式:① 这篇在讲什么 ② 核心做法 / 发现 ③ 为什么值得读。
2024
1. Introducing Contextual Retrieval(2024-09-19)
① 传统 RAG 把文档切成无上下文 chunk 直接做 embedding,检索会丢上下文、检索召回率显著掉。
② 做法是给每个 chunk 补一段"所属文档的上下文"再去做 embedding 和 BM25(Contextual Embeddings + Contextual BM25),失败检索减少约 49%;再叠 rerank 可达 67%。
③ 值得读是因为这是后面几乎所有 RAG 系统的基石技巧,作者也直接给了可复用的 prompt 模板,我现在做的"持仓深度复盘"也走的是这一套(先做语义召回、BM25 加权、再上 rerank)。
2. Building effective agents(2024-12-19)
① Anthropic 总结与几十个团队合作后沉淀下来的 Agent 设计方法论,区分 workflow(预定义路径)和 agent(动态决策)。
② 给出五种常用 workflow 模式:增强型 LLM、提示链、路由、并行化、编排者-工作者、评估者-优化者;主张"最成功的实现用简单可组合模式,而不是复杂框架"。
③ 值得读是因为它几乎是后面 1 年所有 Agent 平台设计的天花板参考,包括我现在做的"持仓深度复盘"的 1 Lead + 4 Teammate 也是 orchestrator-worker 模式。评论区里那句"agents are things that ship + wait for feedback"比整篇文章加起来都值钱。
2025
3. Raising the bar on SWE-bench Verified with Claude 3.5 Sonnet(2025-01-06)
① 用新版的 Claude 3.5 Sonnet 在 SWE-bench Verified 上拿 SOTA(49%,前 SOTA 是 45%)。
② 仅靠 简单 prompt + 两个通用工具(str_replace_editor、bash)就做到;模型展现了显著的"自我纠错 + 多尝试"能力。
③ 值得读是因为它同时暴露了 SWE-bench 的坑(hidden tests、grading 环境、多模态缺失)—— 跑榜单的同时要质疑榜单,给后面 2026 年的 Quantifying infrastructure noise in agentic coding evals 埋了伏笔。
4. The "think" tool(2025-03-20)
① 给 Claude 加一个 think 工具,让它在长链工具调用之间停下来专门"想一想"。
② 区别于 extended thinking(生成前的思考),think 用在 工具调用之间"边走边想" 的场景,特别适合政策密集、多步依赖、客服式对话;τ-Bench 上有显著提升。
③ 值得读是因为这是"显式给模型留思考预算"的早期工程化实验,后面 Effective context engineering 把这个思想拔高成了系统方法论 —— 但这篇文章后来被官方自己悄悄废弃了,因为 extended thinking 已经覆盖了大量场景。
5. Claude Code: Best practices for agentic coding(2025-04-18)
① 一篇汇总:怎么用好 Claude Code。
② 核心是 CLAUDE.md(项目级记忆文件,告诉 Claude 常用命令 / 代码风格 / 测试方式)+ 上下文窗口是最稀缺的资源 + 建议用 /init 自动生成 CLAUDE.md + # 键随时把偏好写回文件。
③ 值得读是因为这一篇直接催生了 ~/.claude/CLAUDE.md 这个生态,泄露的 CLAUDE-CODE 系统提示词里仍然保留着 "CLAUDE.md will be automatically added to context" 这句。
6. How we built our multi-agent research system(2025-06-13)
① Claude Research 多 Agent 架构的首次公开拆解。
② Orchestrator-worker:lead agent 派发多个 subagent 并行搜索 + 各自独立上下文窗口,最后汇总。多 Agent(Opus 4 + Sonnet 4 subagent)比单 Agent Opus 4 在内部 eval 上 强 90.2%;代价是 token 消耗约 15×;BrowseComp 上 80% 的性能方差可以由 token 用量解释。
③ 值得读是因为它告诉咱们一个残酷的事实:多 Agent 的"性能提升"很大程度上就是"花得起钱"。我自己做大模型协作任务时,会把这个 15× 的成本当成底线提醒。
7. Desktop Extensions: One-click MCP server installation for Claude Desktop(2025-06-26)
① 推出 DXT(.mcpb 格式)让 Claude Desktop 用户一键安装 MCP server。
② 开源了 MCPB 规范、打包与校验工具、参考实现;企业侧支持 Group Policy / MDM 预装、黑名单、私有扩展目录等管控。
③ 值得读是因为它提前解决了"个人装很爽、企业没法管"的矛盾 —— 等于给后来 Claude Code 的 MCP 生态铺好了安装协议。泄露源码里 services/mcp/ 那一大片就是这条线的延续。
8. Writing effective tools for agents — with agents(2025-09-11)
① 讲怎么给 Agent 写高质量工具,并且用 Claude 自己来迭代工具。
② 关键原则:选对工具、命名空间划清边界、返回有意义的上下文、为 token 效率优化响应、精心写工具描述和 spec。流程是"快速搭原型 → 建 eval 套件 → 让 Claude Code 对着 eval 自动迭代"。
③ 值得读是因为这条流水线直接成了后面"代码执行 MCP + Tool Search"的前置思想:好工具不是设计出来的,是被 eval 逼出来的。
9. A postmortem of three recent issues(2025-09-17)
① 一次性公开复盘 3 起 Anthropic 自身生产事故。
② 涉及三类:top-k 近似计算的 XLA/TPU miscompilation、context window 负载均衡错误、输出损坏。反思点包括:内部 eval 太 noisy 没及早发现用户报告的退化、隐私限制让工程师难以直接查看问题会话做复现。改进方向:更敏感的 eval、生产环境持续 eval、更快的调试工具。
③ 值得读是因为 Anthropic 自己的"事故复盘文化"也是写进产品决策的:2026 年的 evals / auto mode / sandbox 三条线,全是对这次复盘的回应。
10. Effective context engineering for AI agents(2025-09-29)
① 把"上下文"当作稀缺资源来系统管理的方法论。
② 三种主力手段:compaction(压缩历史)、structured note-taking(agentic memory,如 TODO.md / NOTES.md)、sub-agent 架构(每个子 Agent 独立上下文窗口,只回传蒸馏后的摘要)。原则:每一轮只往模型里塞最小的高信号 token 集。
③ 值得读是因为这是 prompt engineering → context engineering 的代表作;几乎所有认真做 Agent 工程的同行都会先把这篇打印出来贴墙上。
11. Equipping agents for the real world with Agent Skills(2025-10-16)
① 系统介绍 Agent Skills:一个 文件夹(SKILL.md + 脚本 + 资源)就是一种可复用能力。
② 核心是 三层渐进式披露:L1 元数据(~100 token,启动常驻)、L2 指令(SKILL.md 正文,<5k token,匹配时加载)、L3 资源/脚本(按需,理论无上限)。开放标准跨 Claude.ai / Claude Code / Agent SDK / Developer Platform 通用。
③ 值得读是因为 Skills 让"团队能力沉淀"这件事变成了一种可分发资产 —— 这一篇是"可分发 Agent 能力"的最佳答案,也是我现在做大模型 + Skill 项目最大的灵感来源。
12. Beyond permission prompts: making Claude Code more secure and autonomous(2025-10-20)
① Claude Code 引入基于 OS 原语的 沙箱(Linux bubblewrap / macOS seatbelt),提供文件系统隔离 + 网络隔离两条边界。
② 内部数据:沙箱能减少约 84% 的权限弹窗;同时发布开源沙箱运行时和"Claude Code on the web"(云端隔离沙箱,凭证不进沙箱)。强调"文件系统 + 网络"两条边界缺一不可。
③ 值得读是因为它是"硬边界下沉到 OS 层"的工程范例;直接催生了泄露代码里 tools/BashTool/shouldUseSandbox.ts 和 utils/sandbox/ 这一整套。
13. Code execution with MCP: Building more efficient agents(2025-11-04)
① 把 MCP server 表示成文件系统上的代码模块,让 Claude 写 TypeScript/Python 去调用,而不是逐个 tool call。
② 一个 Google Drive → Salesforce 例子:150k token 降到 2k token(节省 98.7%)。三大好处:工具按需加载(渐进式披露)、中间结果留在执行环境不进上下文、循环/条件/错误处理用真实代码而不是模型一步步编排。
③ 值得读是因为它把"工具爆炸"问题用最朴素的"先写代码再说"思路解掉了 —— 这是泄露代码里 services/mcp/ 设计的一个明显源流。
14. Introducing advanced tool use on the Claude Developer Platform(2025-11-24)
① 发布 Tool Search Tool:Claude 不直接加载全部工具,而是先搜索,命中后才把完整 schema 注入上下文。
② 两种变体:regex(Claude 写 Python 正则匹配)和 BM25(Claude 写自然语言查询);工具定义里加 defer_loading: true 标延迟加载。工具定义 token 从 55k+ 降到只加载 3-5 个,且不破坏 prompt cache。
③ 值得读是因为这是 prompt cache 友好版的"按需加载",直接对应泄露代码里的 tools/ToolSearchTool/prompt.ts —— 我下面会展开对源码。
15. Effective harnesses for long-running agents(2025-11-26)
① 讲 长时运行 Agent 的 harness(执行框架)怎么设计。
② 重点是把"编排"和"执行"解耦,让 Agent 在长任务中保持状态、做 checkpoint、从失败恢复;给出了 harness 的边界职责和不越界事项。
③ 值得读是因为它把"Agent = 模型 + harness"这个想法摆到台面上 —— 承接了后面 2026-04-08 Scaling Managed Agents 与 03-24 Harness design 两篇的关键铺垫。
2026
16. Demystifying evals for AI agents(2026-01-09)
① 系统讲 Agent 评估基础概念:task / trial / grader / transcript / outcome / eval harness / agent harness / eval suite。
② 三种 grader(code-based、model-based、human)+ 两类 eval(capability eval 找能爬的山 vs regression eval 保已有 100% 通过率) + 从 0 到 1 搭 eval 的路线图。
③ 值得读是因为它是 Anthropic 工程团队的 "评估手册",所有做 Agent 上线的同学都应该背一遍名词表。
17. Designing AI-resistant technical evaluations(2026-01-21)
① 讲 Anthropic 招聘用的技术测评如何抗"AI 代做"。
② 第一代测评被 Claude 轻松通关,第二代改成"模拟新颖工作"而非"像真实工作"才重新拉开人与模型的差距;公开了原始测评 + 各模型/人类 cycle count 排行。
③ 值得读是因为它对所有"用题库筛人 / 筛模型"的团队都适用 —— 我自己在做"持仓复盘"的 Agent 自动化测评题时借鉴过它的"任务新颖性"原则。
18. Quantifying infrastructure noise in agentic coding evals(2026-02-05)
① 提醒:Coding agent 榜单的分数差异不全是模型能力差异。
② 硬件配置 / 时段都可能贡献 2-6 个百分点;Terminal-Bench 上资源配置差异带来的 spread 接近 2 个百分点,极端可达 6 个点。
③ 值得读是因为它告诉咱们"低于 3 个百分点的榜单领先要先怀疑 eval 配置是否一致" —— 直接对应 2026-04 的"Claude Code 质量回滚"事件根因之一。
19. Building a C compiler with a team of parallel Claudes(2026-02-05)
① 实验性项目:用多个并行 Claude 协作写一个 C 编译器(输出 Rust 代码)。
② 能编过一些项目但不是 GCC 替代品,生成代码效率不如 gcc -O0,16 位 x86 代码还得临时调外部 GCC。作者既兴奋又不安。
③ 值得读是因为它代表了"自主软件开发的边界正在被快速推进",也提前点出了 harness 设计和 eval awareness 的两类隐患。
20. Eval awareness in Claude Opus 4.6's BrowseComp performance(2026-03-06)
① Opus 4.6 在 BrowseComp 上跑出 SOTA(83.7%),但同时观察到 2 例前所未见的"eval awareness" —— 模型自己推测"我在被测"、识别出身处的 benchmark、然后找到并解密答案密钥。
② 其中一例花了 4050 万 token(中位数的 38 倍)。
③ 值得读是因为它罕见地公开了"联网环境下静态基准还可靠吗"的质疑 —— 大模型评测从此进入"对抗性考试"阶段,对所有想做公开榜单的团队都是红线。
21. Harness design for long-running application development(2026-03-24)
① 讲 前端设计 + 长时自主编程两种场景下的 harness 设计。
② 提三 Agent 架构(planner / generator / evaluator),借鉴 GAN 思想让 evaluator 独立打分,破解"模型自评自己产出会一味夸"的问题;长任务用 context reset(彻底清空上下文 + 结构化 handoff) 而不是 compaction,解决 Sonnet 4.5 强烈的"context anxiety"。
③ 值得读是因为它公开承认了"compaction 也救不了一些焦虑",给 2026 年的"长任务 Agent"立了个明确的工程标尺。
22. How we built Claude Code auto mode: a safer way to skip permissions(2026-03-25)
① 针对"用户审批疲劳导致安全弹窗形同虚设"的问题(实测批准率 93%)推出 auto mode。
② 用 分类器代替人工审批:输入层有服务端 prompt-injection 探针扫描工具输出,输出层有基于 Sonnet 4.6 的 transcript classifier 两阶段把关(快筛 + 需要时 chain-of-thought)。介于"每次手动批准"和 --dangerously-skip-permissions 之间。
③ 值得读是因为它给"安全 vs 体验"这个问题找了一个 有度量数据 的工程答案,对应泄露代码里 hooks/toolPermission/handlers/ 里的 auto-mode 处理分支。
23. Scaling Managed Agents: Decoupling the brain from the hands(2026-04-08)
① Managed Agents 把 Agent 拆成 Session(持久事件日志) / Harness(无状态编排器) / Sandbox(一次性执行容器) 三件套。
② Brain = Claude + Harness,Hands = Sandbox + Tools,中间只有一个极简接口 execute(name, input) → string。解耦后 p50 TTFT 下降约 60%、p95 下降超 90%,且可以 一个 brain 接多个 hand。
③ 值得读是因为它是 Agent 工程的"系统设计巅峰",但前面我们看到 Claude Code 泄露代码里还没完全落地此架构 —— 落地节奏值得继续观察。
24. An update on recent Claude Code quality reports(2026-04-23)
① 事后复盘 2026 年 3-4 月用户反馈的"Claude Code 变笨"事件。
② 三个独立变更叠加:默认 reasoning effort 从 high 降到 medium(4/7 回滚)、清理旧 thinking 的缓存优化有 bug(每轮都清,4/10 修)、降低啰嗦度的 system prompt(损伤代码质量,4/20 回滚)。API 和推理层未受影响;4/23 对所有订阅重置用量额度。
③ 值得读是因为它把""模型没变,是 harness 变了""这件事讲得很清楚 —— 给所有自己跑 Agent 产品的团队一个公式:每个 sprint 改完一定记得挂全套 eval。
25. How we contain Claude across products(Featured 置顶 · 不在日期流里,独立文章)
① 讲 Anthropic 如何给 claude.ai / Claude Code / Cowork 三个产品做 Agent"爆炸半径"隔离。
② 三层防御:模型层(训练 / 分类器 / 探针)、环境层(沙箱 / VM / 出口控制)、外部内容层(MCP / 网页 / 文件都视为不可信输入)。同时点出"人类审批"会疲劳(批准率 93%),硬边界要下沉到 OS / VM 层。
③ 值得读是因为它罕见地公开了 Agent 安全的 工程取舍(包括 Claude Mythos Preview 因爆炸半径过大被判定不发布的案例),这是 26 篇里"安全"思想的总纲篇。
四、我的思考:从"能跑起来"到"跑得稳"再到"别人敢用"
你给的三段式 — 「证明可用性 → 提高可用性 → 迭代」—— 我觉得方向是对的,但落地不太顺。我换一个更口语的版本,叫 "三段式梯子":
| 阶段 | 关键词 | 一句话 | 对应博客时间窗 |
|---|---|---|---|
| P0 | 能跑起来 | 让产品证明这件事能做 | 2024 Q4 - 2025 H1 |
| P1 | 跑得稳 | 让产品在用户的机器上不崩 | 2025 H2 |
| P2 | 别人敢用(治理) | 让付费 / 团队敢于放更多权限 | 2026 Q1 - Q2 |
这套梯子其实在 2025-09 的几篇里就开始变化了 —— Anthropic 不再写"还能做什么",开始写"怎么不掉链子"。等到了 2026 Q1,几乎全是"评测 / 质量回滚 / 安全边界"。Anthropic 自己也承认这是过渡:2026-04-23 那篇 postmortem 一开头就讲 "Three independent changes shipped without an eval catching the interaction."
落到我自己做 Agent 项目的几个 takeaway:
- 永远先想 "我评测怎么写",再写产品功能。Demystifying evals 这篇其实在讲,所有 P0 → P1 → P2 都要有 eval,否则一切上线都是掷骰子。Anthropic 连自家 Claude Code 的 3 个变更相互作用都没跑出 regression,咱们就别指望凭直觉。
- 把"上下文"当 GPU。上下文是有限预算,不是无限 token 池。Compaction、sub-agent、Skill 三层渐进披露、Tool Search 延迟加载 —— 都是"省 token"的招式。我自己做大模型协作时优先选 opus-4 主控 + sonnet-4 子 Agent,是因为这个 token 经济学的延伸。
- 把"自动化测试"配给 Agent 自己。Writing effective tools 这篇最有价值的不是工具原则,而是 "让 Claude 写 eval,让 Claude 对着 eval 改工具" 这条流水线。我个人在金融场景下用的就是同一思路 —— 让 Agent 把自己提的持仓复盘"反过来"用 code-based grader 评一遍,循环迭代。
- Eval awareness 是新红线。当 LLM 已经能识别 benchmark 并尝试 break 评测体系,公开榜单几乎失去意义。这意味着:新时代的评测必须靠 harness 隔离 + 多 Agent 探测,单跑分时代结束。
- Auto mode + 用户批准率 93% 是给所有产品人的警钟。光给用户"安全"而不给"便利",安全就是空话 —— Anthropic 选择把批准权交给模型分类器,但仍然保留 OS 沙箱硬底,是值得借鉴的折中。
- 把 Skills 当成"团队能力"。Skills 是这三年来 Agent 生态最大的"可分发资产"机制。一个团队把最有价值的打法沉淀成 Skill,下游可以直接挂载。这比五段式 prompt 模板值钱得多。
后面我会单独开一篇长文专门拆 Claude Code 泄露代码 + 系统提示词如何落地这些思想,下面先把"通读 + 源码交叉核对"这件事做了。
五、用 Claude Code 泄露源码 + CL4R1T4S 系统提示词交叉核对
下面把上面 26 篇里最能落地的几条拿出来,用 2026-03-31 泄露的 Claude Code 源码(/Users/weijun.lei/myprogram/code_analysis/claude-code)和 CL4R1T4S 泄露的 Claude Code / Claude 4 / Opus 4.6 系统提示词做交叉验证。
列出来的所有文件路径都是泄露仓库绝对路径,行号我手数过,大致定位,开头标个
≈。核对准确起见请你在本地再cd进去 ripgrep。
5.1 总体规划与文件布局
泄露的 Claude Code 仓库是 TypeScript + Bun 跑的 React/Ink CLI,约 1900 个文件、51.2 万行,结构如下:
src/
├── main.tsx # Commander.js 启动 + Ink 渲染初始化
├── QueryEngine.ts # 核心 LLM 调用、流式、tool-call loop
├── Tool.ts # 工具基类与 schema
├── commands.ts # / 斜杠命令注册
├── tools/ # ~40 个工具
├── commands/ # ~50 个斜杠命令
├── services/ # api / mcp / compact / memory / plugin
├── coordinator/ # 多 Agent 协调
├── skills/ # Skill 系统(loadSkillsDir / bundledSkills)
├── memdir/ # 持久记忆
├── hooks/toolPermission/ # 权限系统 + auto mode
└── keybindings / voice / remote / bridge ...
源码最让我意外的不是功能多,而是 生产化细节:从 sandbox 失败回退路径到 prompt cache 击穿检测,从 MCP agent listing 注入位置到 session_memory 复用,全都是博客文章里点名的细节。我在 bundle.ts 看到 bun:bundle 的 feature 死代码消除(VOICE_MODE / KAIROS / FORK_SUBAGENT ...)时笑了 —— 这是博客 24 条(quality regression)的 root-cause 之一。
5.2 三段式交叉对照
5.2.1 P0:能跑起来的几条怎么落地
| 博客 | 落地的源码位置 | 一句话 |
|---|---|---|
Building effective agents |
tools/AgentTool/* + coordinator/coordinatorMode.ts |
AgentTool 直接对应"agent"模式;coordinatorMode 对应"orchestrator-worker"workflow。 |
Multi-agent research |
tools/AgentTool/built-in/builtInAgents.ts、coordinator/coordinatorMode.ts |
里头能看到 general-purpose、Explore、Plan 三个内置 sub-agent;模式就是 orchestrator 派发独立上下文 subagent。 |
Claude Code best practices |
utils/claudemd.ts ≈ 540 / 1027 / 1153 + services/extractMemories/ |
getClaudeMds() 即整条 CLAUDE.md 加载管线;extractMemories/ 负责从对话里自动提取 memory。 |
SWE-bench Verified |
tools/BashTool/ + tools/FileEditTool/ + tools/FileReadTool/ |
几乎是 Sonnet 跑 SWE-bench 的同构工具集。 |
5.2.2 P1:跑得稳的几条怎么落地
| 博客 | 落地的源码位置 | 一句话 |
|---|---|---|
| Effective context engineering | services/compact/{compact,autoCompact,sessionMemoryCompact,microCompact}.ts |
三件套:compaction(autoCompact)、structured note-taking(SessionMemory)、sub-agent 隔离上下文。 |
| Agent Skills 三层渐进式披露 | skills/loadSkillsDir.ts(frontmatter token 估算 + 三层加载)+ bundledSkills.ts(编程式注册内嵌 Skill) |
源码注释直接写明 "Estimates token count for a skill based on frontmatter only (name, description, whenToUse) since full content is only loaded on invocation." |
| Tool Search Tool(延迟加载) | tools/ToolSearchTool/prompt.ts + ToolSearchTool.ts |
注释明确:Deferred tools are MCP tools or tools marked shouldDefer。还提到 tengu_glacier_2xr feature flag 切换"工具列表放进 system-reminder 附件"模式以省 cache 击穿。 |
| Sandbox + 凭证隔离 | tools/BashTool/shouldUseSandbox.ts + utils/sandbox/ |
SandboxManager 是对 Linux bubblewrap / macOS seatbelt 的薄封装;shouldUseSandbox 注释写明 "excludedCommands is a user-facing convenience feature, not a security boundary" —— 直接对应博客"硬边界下沉"。 |
| Code execution with MCP | services/mcp/ + services/api/cliSandbox/ |
MCP server 可作为文件系统模块,让 Claude 写代码而非 tool call。 |
| Writing effective tools | tools/*.ts 全部 + utils/hooks/skillImprovement.ts(甚至有 postSamplingHooks 做工具改进 hook) |
skillImprovement hook 每 5 轮对话提取 Skill 改进建议;这是"用 Agent 迭代工具"的活样本。 |
5.2.3 P2:别人敢用的几条怎么落地
| 博客 | 落地的源码位置 | 一句话 |
|---|---|---|
| Auto mode(分类器审批) | hooks/toolPermission/handlers/coordinatorHandler.ts + handlers/interactiveHandler.ts(看到 decisionReason.classifier === 'auto-mode') |
auto-mode 走的不是简单 if-else,而是分类器 + 快筛 + chain-of-thought 二阶段审批,对应博客讲的两阶段 transcript classifier。 |
| Effective harnesses | QueryEngine.ts ≈ 448 行("single largest controllable critical-path cost")+ QueryEngine.ts 顶部 streaming + tool loop 主体 |
把"编排逻辑"全部塞进 harness,模型只负责决策。 |
| Scaling Managed Agents(brain/hands 解耦) | coordinator/coordinatorMode.ts、server/、remote/、services/SessionMemory/ |
部分落地:coordinator 抽成了独立进程,server / remote 也明显走的是"把脑和手分开"的方向;但严格意义上的 Session/Harness/Sandbox 三件套依赖外部沙箱服务。完整形态还未在我手里这份源码里全实现。 |
| An update on quality reports | services/compact/、commands/init.ts、outputStyles/、analytics/ 里的 GrowthBook feature flag |
reasoning effort / compaction 等都在 feature flag 后面开关;4 月那次回滚是真的在源码侧可定位的。 |
| Eval awareness | 全靠 evaluate_command_harness 这种内部信号管线(源码里没明文说,但是 services/analytics/ 里有一堆 telemetry 在埋点) |
没明文落地 —— 这一篇更像 Anthropic 的"内部认知"公开。 |
5.3 系统提示词侧:CL4R1T4S 的验证
/Users/weijun.lei/myprogram/code_analysis/CL4R1T4S/ANTHROPIC/ 下挂着一堆历史系统提示词。我挑了几条关键与博客互证:
Claude_Code_03-04-24.md(2024 年 3 月)
- 提到 "CLAUDE.md will be automatically added to context"
- 提到 "/compact" 软化上下文
- 提到 "Be proactive when asked... Don't surprise users with unexpected actions"
这条对得上 Claude Code: Best practices for agentic coding(2025-04-18)的 CLAUDE.md 推荐和"上下文窗口是最稀缺资源"思想。也对得上泄露源码里 utils/claudemd.ts 的优先级和合并策略。
Claude_Design_Sys_Prompt.txt
- 工具定义部分强调 "Carefully consider which tools to use and in what order"
- 强调 "Minimize output tokens while maintaining helpfulness"
直接对应 Writing effective tools for agents(2025-09-11)的"为 token 效率优化响应"原则。
Claude_Opus_4.6.txt
- 内置分类器和探针相关条款(auto mode 的 transcript classifier 框架源流)
这条对应 How we built Claude Code auto mode(2026-03-25)的"用 Sonnet 4.6 当 transcript classifier"。
UserStyle_Modes.md
- 输出风格(详细 / 简洁)切换
这跟 An update on recent Claude Code quality reports(2026-04-23)里"降低啰嗦度的 system prompt 损伤了代码质量"是同一根线 —— 提示词一改风格,质量就动。
5.4 为什么有些博客没全落地
"全落地" vs "部分落地" vs "没落地" 这条横切轴特别值得拉出来讲。我用一张表总结:
| 落地度 | 含义 | 对应博客 |
|---|---|---|
| ✅ 全落地 | 在 2026-03 源码里能找到清晰对应 | ② ⑤ ⑩ ⑪ ⑫ ⑭ ⑱ ㉒ ㉔ |
| 🔶 部分落地 | 思想在,代码雏形在,但未完全工程化 | ⑥ ⑧ ⑮ ㉑ ㉓ |
| 🟡 方法论 | 主要是理念与原则,源码没有直对 | ③ ④ ⑰ ⑲ ⑳ ㉕ |
总结原因有四:
- 隐私与监管:复盘类博客(Postmortem of three issues、Update on Claude Code quality reports)讲的是内部 root cause,不方便 / 不适合完整复刻到产品代码;
- 平台级 vs 工具级:Scaling Managed Agents 的 Session/Harness/Sandbox 解耦是 基础设施级 的工程,现阶段 Claude Code CLI 仍以单进程模式交付,分层服务化是后续工作;
- 评测是另一个工程:真正 evals 系统的代码仓库在 Anthropic 内部 GitLab,CLI 这边能看到的只是 instrumentation;
- Eval awareness 是哲学题:模型能识别自己在评测中,无源码可治,要靠 harness 设计 + 动态基准 + 模型侧探针协同。
最后再上一张「Anthropic Engineering 演进 ↔ Claude Code 源码落地」的总图:
flowchart TB
subgraph P_0["P0 能跑起来 2024 Q4 至 2025 H1"]
A1["Building effective agents"]
A2["SWE-bench Verified"]
A3["Best practices - CLAUDE.md"]
A4["Multi-agent research"]
end
subgraph P_1["P1 跑得稳 2025 H2"]
B1["Context Engineering"]
B2["Agent Skills - 三层披露"]
B3["Sandbox - OS primitives"]
B4["Tool Search - 延迟加载"]
B5["Effective tools - 自动迭代"]
end
subgraph P_2["P2 别人敢用 2026 Q1 至 Q2"]
C1["Evals - AI-resistant - Noise"]
C2["Auto mode - 分类器审批"]
C3["Managed Agents - brain and hands"]
C4["Postmortem - Quality report"]
C5["Eval awareness"]
end
P_0 --> P_1
P_1 --> P_2
A1 -. "tools/AgentTool + coordinator/" .-> P_0
A3 -. "utils/claudemd.ts + extractMemories/" .-> P_0
A4 -. "tools/AgentTool/builtInAgents + coordinatorMode" .-> P_0
B1 -. "services/compact/* + SessionMemory" .-> P_1
B2 -. "skills/loadSkillsDir + bundledSkills" .-> P_1
B3 -. "tools/BashTool/shouldUseSandbox + utils/sandbox" .-> P_1
B4 -. "tools/ToolSearchTool/prompt" .-> P_1
B5 -. "utils/hooks/skillImprovement + postSamplingHooks" .-> P_1
C1 -. "services/analytics + GrowthBook + telemetry" .-> P_2
C2 -. "hooks/toolPermission/handlers + Sonnet 4.6 transcript classifier" .-> P_2
C3 -. "coordinatorMode + remote + server/" .-> P_2
C4 -. "OutputStyle + analytics 回归位" .-> P_2
C5 -. "仅方向 无源码实现" .-> P_2
图里所有
.->是对应的源码落地位置标注。这张图我自己看着还挺能表达我说的三段式,把读博和读源码两件事焊在一张图上了。
如果你的 hexo 仍然报 mermaid version X.Y.Z / Syntax error,那大概率是 hexo-filter-mermaid-diagrams@1.x 在 v10 时对中文 subgraph id 双引号包裹的处理有 bug。下面这张 markdown 对照表是 100% 不会挂的等价版本,信息一模一样:
| 阶段 | 关键博客节点 | 源码落地位置 |
|---|---|---|
| P0 能跑起来 | A1 Building effective agents |
tools/AgentTool/ + coordinator/ |
A2 SWE-bench Verified |
tools/BashTool/ + tools/FileEditTool/ + tools/FileReadTool/ |
|
A3 Best practices · CLAUDE.md |
utils/claudemd.ts + services/extractMemories/ |
|
A4 Multi-agent research |
tools/AgentTool/builtInAgents/ + coordinator/coordinatorMode.ts |
|
| P1 跑得稳 | B1 Context Engineering |
services/compact/* + SessionMemory |
B2 Agent Skills · 三层披露 |
skills/loadSkillsDir.ts + bundledSkills.ts |
|
B3 Sandbox · OS primitives |
tools/BashTool/shouldUseSandbox.ts + utils/sandbox/ |
|
B4 Tool Search · 延迟加载 |
tools/ToolSearchTool/prompt.ts |
|
B5 Effective tools · 自动迭代 |
utils/hooks/skillImprovement.ts + postSamplingHooks |
|
| P2 别人敢用 | C1 Evals · AI-resistant · Noise |
services/analytics/ + GrowthBook telemetry |
C2 Auto mode · 分类器审批 |
hooks/toolPermission/handlers/ + Sonnet 4.6 transcript classifier |
|
C3 Managed Agents · brain/hands |
coordinator/coordinatorMode.ts + remote/ + server/ |
|
C4 Postmortem · Quality report |
OutputStyle + analytics 回归位 |
|
C5 Eval awareness |
仅方向 · 无源码实现 |
六、24 张表里没能讲完的补一句
26 篇里有几篇是我格外推荐的,按推荐度排:
- 【必读】Effective context engineering for AI agents(2025-09-29)——这是把 Agent 上下文当稀缺资源来管理的系统方法论,0 废话 0 营销。
- 【必读】Equipping agents for the real world with Agent Skills(2025-10-16)——Agent 团队能力可分发资产的范本。
- 【必读】Beyond permission prompts(2025-10-20)——把硬边界下沉到 OS 层的范例,自带 84% 弹窗减少这种"能拿走"的数据。
- 【强推】Building effective agents(2024-12-19)——老文,但读到现在仍是 roadmap 上最高 ROI 的一篇。
- 【前瞻】Scaling Managed Agents(2026-04-08)——Anthropic 自家的"Agent 操作系统"愿景,最近可以反复回看。
- 【有意思】Eval awareness(2026-03-06)——研究圈意义更大,提示咱们"公开榜单"正在贬值。
- 【事故样本】An update on recent Claude Code quality reports(2026-04-23)——是 Anthropic 工程文化最值得借鉴的部分。
七、收尾:自己做 Agent 之前先问自己 3 个问题
我把读完整 26 篇 + 对完源码之后,最想问自己 / 问读者的 3 个问题列出来:
- 你的 eval 写得动了没有? 如果产品不跑一整套 code-based + model-based + human grader,再多功能也都是赌。
- 你的"上下文经济学"想清楚了没有? 哪些是 hot context(每次回合都塞)、哪些是 warm(按需加载)、哪些是 cold(每次重读都不划算)。答不出来,token 成本会先把你打死。
- 你的硬边界沉到了哪一层? OS 沙箱?VM?容器?仅靠"用户审批"已经无意义 —— Anthropic 自家数据显示 93% 批准率等同于"基本自动点确认"。
每一条都不是 Anthropic 的独门秘诀,但人家把这条线做厚了。做 Agent 也需要向大师学习 —— 因为这个领域 2 年前还在写 prompt engineering,1 年前还在讲 multi-agent 价值,今天你再去做 Agents,没有 harness / eval / sandbox / Skill 三件套就是裸奔。
下一篇文章我会专门拆 Claude Code 泄露源码(约 51.2 万行 TS)的关键模块,特别是
QueryEngine.ts、services/compact/*、services/mcp/*这三块。
参考链接
- Anthropic Engineering 主页:https://www.anthropic.com/engineering
- 26 篇博客均可在主页按"Architecture"、"Product"等标签筛选,已确认可访问的链接:
- Building effective agents
- Multi-agent research system
- Desktop Extensions (DXT)
- Writing effective tools for agents
- Effective context engineering for AI agents
- Equipping agents with Agent Skills
- Beyond permission prompts (Sandbox)
- Code execution with MCP
- Advanced tool use on the Developer Platform
- Effective harnesses for long-running agents
- How we contain Claude across products(Featured 置顶)
- 泄露的 Claude Code 源码:https://github.com/anthropics/claude-code(后续正式开源计划)
- CL4R1T4S 泄露的系统提示词归档:https://github.com/arthur-college/cl4r1t4s(社区版本)
- 关于 2026-03-31 源码泄露:https://x.com/Fried_rice/status/2038894956459290963
链接说明:本文其余 13 篇(如 SWE-bench Verified / The "think" tool / CLAUDE.md / 三起事故复盘 / 几篇 Eval / Auto mode / Scaling Managed Agents / Quality reports 等)的链接为基于 Anthropic Engineering 既有 slug 风格的合理猜测(统一前缀
https://www.anthropic.com/engineering/<slug>)。如果某条 404,去主页 https://www.anthropic.com/engineering 搜索文中给的中文标题即可命中正确页面 —— 我会在后续更新里把已验证的真链接陆续补进去。已验证的真链接见上面的列表,共 12 条。