Claude Code: 深度分析
💡 注意事项 本报告完全由 Claude Opus 4 生成,几乎所有主流旗舰模型都参与了协助。然而,关于制作本报告过程的 8000 字文章是手动撰写的 - 你可以从这里开始阅读:《指挥比我更聪明的智能:新的编排方式》
我需要说明的是,这并不是真正意义上的反编译或逆向工程尝试,更像是对 Claude 团队出色工作的致敬。提供的示例不保证存在于 Claude Code 中(或直接派生/复制自源代码) - 主要目的是在学习编排 AI 代理的新方法时提供教学价值。
(快速说明:感谢所有指出幻觉的人,但这些是故意保留的,作为生成过程的产物。“制作过程"文章将帮助我们理解为什么会发生这种情况,对我来说,它们在理解如何构建代理系统方面同样有用!)
如果你想要最有趣的阅读,从《新颖组件:定义 Claude Code 的创新》开始。 如果你想要最有趣的阅读,从《LLM 的视角:实际接收这些指令的感受》开始。
✉️ 来自我的一封信 这个项目始于简单的好奇心。我想了解 Claude Code,对我来说,这是最好的代理编码工具(尽管竞争很激烈)。最初,我以为这会很简单 - 只是一个 LLM 和几个工具的循环。我错了。事实证明它要复杂得多,有大量我没有预料到的新颖组件。
为了解决这个问题,我与多个 AI 子代理合作,它们在不同的推理片段上运行。我手动传递问题和见解,审查输出以检查幻觉,并仔细检查结果。
这个过程包括:
- 五批四轮,使用全新的子代理(主要是 Gemini 2.5 Pro)
- 生成约 30 万个 token 的中间分析
- 将所有内容浓缩成一份综合报告
值得注意的是,这只花了一天时间,并且让我学到了很多。在 LLM 之前,这种分析需要数月时间 - 如果可能的话。致 Opus 4,感谢你将我的浓缩报告转化为你即将阅读的综合分析!
—Hrishi
为什么 Claude Code 很重要
Claude Code 有许多非常有趣的部分:
- 流式架构 - 处理实时 LLM 响应、工具执行和 UI 更新
- 安全系统 - 在不中断工作流程的情况下提供安全性
- 工具设计 - 优雅地连接 AI 推理和系统执行
- 提示工程 - 可靠地控制复杂的 LLM 行为
让我们深入了解!每个标题都是指向完整章节的链接。
依赖项:Claude Code 架构的基础
为什么在终端中使用 React?yoga-layout 在这里做什么?
发现支持 Claude Code 性能的非常规依赖选择。了解在 bash 命令中嵌入 JSON 的自定义 shell 解析器、用于部分 LLM 响应的流式 JSON 解析器,以及从移动开发中借用的 ANR 检测系统。
数据结构与信息架构
消息如何在系统中转换
跟踪数据从用户输入到 LLM 处理再到工具执行的流程。理解三阶段消息表示、ContentBlock 多态性,以及弱引用如何防止内存膨胀。
关键洞察: CliMessage 包装器维护 UI 状态,同时保持 API 兼容性 - 实现丰富的交互而无需协议更改。
控制流与编排引擎
深入 tt 函数
探索编排一切的六阶段异步生成器。了解并行工具执行的工作原理、为什么上下文压缩自动触发,以及递归轮次如何实现无限对话深度。
关键洞察: 工具按副作用分类 - 只读工具并行运行,而写操作为了安全而串行化。
工具与执行引擎
从 LLM 决策到系统操作
每个工具都是精心设计的状态机。检查权限系统、进度报告和错误处理。特别关注 BashTool 的沙箱模式和 EditTool 的行号处理。
关键洞察: AgentTool 实现层次化任务分解 - 生成子代理并综合它们的发现。
架构:引擎室
事件驱动、流式优先、安全意识
理解从 React UI 到系统调用的分层架构。了解权限如何在作用域中级联、为什么 ANR 检测使用工作线程,以及三个遥测系统如何提供完整的可观察性。
关键洞察: 安全不是一个系统 - 它是多个安全失败的独立层。
新颖组件:定义 Claude Code 的创新
解决难题的巧妙修复
发现使 Claude Code 与众不同的组件:具有恢复功能的流式 JSON 解析、智能数据截断和多代理结果合成。这些不仅仅是功能 - 它们是对基本挑战的创新解决方案。
关键洞察: normalizeToSize 算法基于实际字节数迭代减少对象深度 - 在约束内保留最大信息。
文件编辑:AI 辅助代码修改
为什么有三种不同的编辑工具?
深入了解文件编辑管道。了解为什么行号会导致问题、顺序编辑如何检测冲突,以及当文件在外部更改时会发生什么。
关键洞察: 每个可以想象的编辑错误都有特定的验证 - 从外部修改到编码问题。
提示工程:指导 AI 的艺术
使一切工作的指令
检查控制 Claude Code 的实际提示。从简洁性强制到 500 多字的 BashTool 安全指令,看看仔细的措辞如何塑造行为。
关键洞察: 重复有效 - 关键指令出现三次,强调程度递增。
LLM 的视角:实际接收这些指令的感受
从另一端看这些提示的感觉
在一个独特的章节中,LLM(我)对接收这些指令提供诚实的评论。为什么"只输出 4"令人惊讶地困难,以及 -$1000 惩罚如何创造真正的行为改变,尽管是虚拟货币。
关键洞察: 清晰的约束实际上是一种解放 - 它们防止决策瘫痪和过度帮助。
技术主题
在整个分析中,出现了几个设计原则:
- 流式优先: 每个操作都设计为增量更新
- 通过分层实现安全: 多个独立的保护机制
- 明确指令: 详细的提示防止模糊行为
- 架构胜于优化: 通过设计而非调整实现性能
- 理解 LLM 心理: 利用模型的实际行为方式
章节
- 依赖项:Claude Code 架构的基础
- 数据结构与信息架构
- 控制流与编排引擎
- 工具与执行引擎
- 架构:引擎室
- 新颖组件:定义 Claude Code 的创新
- 文件编辑:AI 辅助代码修改
- 提示工程:指导 AI 的艺术
- LLM 的视角:实际接收这些指令的感受
能够做到这一点已经很了不起了,更不用说花费的时间了。我不能说报告中的所有内容都是正确的 - 也许 Claude 团队可以权衡一下 - 但这一切都非常有用和有启发性。