






















Claude Code 正在重新定义 AI 编程助手的边界——它不是简单的代码补全工具,而是直接在终端里运行的 AI 开发操作系统。这款由 Anthropic 开源的 CLI 工具能自主读写文件、执行命令、操作 Git,其分层架构设计、权限模型和多 Agent 协作机制,为 AI 产品经理提供了教科书级的架构范本。本文将深度拆解其核心模块设计,揭示如何让 AI 安全高效地接管开发工作流。

Claude Code 是 Anthropic 开源的 AI 编程助手,产品形态是一个跑在终端里的 CLI 工具。开发者在命令行里用自然语言告诉它想做什么,它就能直接读写文件、执行 Shell 命令、操作 Git、调用外部服务,把一个编程任务从头到尾干完。这不是又一个“代码补全插件”。它的野心更大——做一个终端原生的 AI 开发操作系统。
作为 AI 产品经理,理解 Claude Code 的架构设计有三层价值:
第一,它是目前工程成熟度最高的开源 AI Agent 实现之一,1902 个 TypeScript 文件,每一个架构决策都经过了真实产品场景的打磨;
第二,它的分层设计、权限模型、多 Agent 协调机制,对任何 AI 产品的架构规划都有直接参考价值;
第三,读懂它,你和工程团队讨论技术方案时就能说到点子上。
Claude Code 的核心能力可以拆成五个具体的东西:
和 GitHub Copilot、Cursor 等竞品相比,Claude Code 的本质差异在于:它不依赖 IDE,不做代码补全,而是把整个开发环境当作操作对象,通过 Agent Loop 自主完成任务链路。这是“辅助工具”和“自主代理”的根本区别。
Claude Code 的架构分成六层,从上到下依次是用户交互层、命令与技能层、核心引擎层、服务层、通信层和基础设施层。

逐层看每一层的职责和存在理由:
QueryEngine 是 Claude Code 最核心的模块,每个对话实例创建一个 QueryEngine 实例。它的职责用一句话概括:把用户的输入变成一次完整的 AI 交互,中间处理好上下文组装、工具调度、Token 管理、异常恢复等所有脏活。

几个关键的设计决策值得拆开讲:
Claude Code 的工具不是随便堆的。每个工具都是一等公民,拥有完整的类型定义、权限声明、渲染逻辑和进度追踪机制。

工具分成六类:

延迟加载是一个影响启动速度的关键设计。45 个工具不是启动时全部加载,而是通过 ToolSearch 按需加载。核心工具(FileRead、BashTool 等)常驻内存,非核心工具(LSPTool、SkillTool 等)首次使用时才加载。实际效果:CLI 启动时间从秒级降到毫秒级。
MCP(Model Context Protocol)集成让 Claude Code 的工具体系变成开放的。任何实现了 MCP 协议的外部服务器,都可以把自己的工具暴露给 Claude Code 使用。这意味着第三方开发者不需要修改 Claude Code 的源码,就能给它增加新能力。
Claude Code 的终端 UI 不是用 React Ink 库简单包装的,而是从 Reconciler 层开始重写的自研渲染引擎,共 80+ 文件。

为什么不用现成方案?三个具体原因:
第一,流式输出的性能问题。AI 模型的响应是 token 级别的流式输出,每秒可能触发几十次 UI 更新。通用终端 UI 库在这种频率下会出现明显的闪烁和卡顿。Claude Code 的双缓冲渲染方案——两个 Screen Buffer 交替写入和显示,前后帧原子交换——把闪烁问题彻底消除了。
第二,长文本滚动的体验问题。AI 生成的代码可能有几百行,用户需要在终端里顺畅滚动查看。自研引擎使用 DECSTBM 硬件滚动区域指令,把滚动操作交给终端模拟器硬件处理,配合 ScrollBox 的视口裁剪(只渲染可见行),滚动体验和原生终端一样流畅。
第三,布局复杂度。Claude Code 的 UI 包含多栏布局、进度条、代码高亮、折叠面板等复杂元素。Yoga Flexbox 引擎提供完整的弹性布局支持,让终端 UI 的布局能力接近 Web 页面。
性能优化的细节很多:脏标记传播避免无效重绘,Blit 快速路径直接复制未变更区域,字符池和样式池做内存复用,渲染节流控制在 16ms 一帧。这些优化加在一起,让 Claude Code 在低配终端上也能流畅运行。
双缓冲渲染的工作原理:

这个机制的关键价值:AI 流式输出每秒可能触发 30-50 次 UI 更新,双缓冲保证了前后帧的原子交换,用户看到的画面永远是完整的一帧,不会出现“半帧闪烁”。
Bridge 系统的产品场景很具体:开发者在办公室的电脑上跑着 Claude Code CLI,回到家想在 claude.ai 网页端继续操作,或者想在手机浏览器上查看任务进度。

Bridge 提供两种架构模式:
Environment-based 模式适合需要管理多个会话的场景。本地 CLI 注册一个“环境”,云端分配 environment_id,然后在这个环境下创建多个会话。这种模式的好处是会话可以独立管理,一个环境里可以同时跑多个任务。
Env-less 模式适合简单的交互式场景。跳过环境注册,直接通过 OAuth 拿到 token,建立单个会话。启动更快,但只支持一个活跃会话。
崩溃恢复是这个系统的硬需求。如果网络断开或进程意外退出,Bridge 会把 environment_id 和 session_id 持久化到bridgePointer.json文件。重启后读取这个文件,重新建立连接,通过序列号跟踪补发丢失的消息。UUID 环形缓冲做去重,防止恢复过程中消息重复投递。
Claude Code 让 AI 直接操作文件系统和执行 Shell 命令,安全是生死问题。权限系统不是一个简单的“允许/拒绝”开关,而是一个多层决策模型。

六种权限模式对应六种不同的产品场景:
bashClassifier 做的事情很直接:检查 Shell 命令是否包含rm -rf、DROP TABLE、chmod 777等已知危险模式。yoloClassifier 更复杂,它调用 LLM 做两阶段 XML 分类——先生成思考过程,再给出决策结果。
拒绝追踪是一个容易被忽略但很重要的设计。系统会记录用户历史上拒绝过的操作类型,下次遇到类似操作时自动提高警戒级别。这避免了一个常见问题:用户拒绝了一个危险操作,但 AI 换个措辞又来一遍。
单个 Agent 处理复杂任务有两个瓶颈:上下文窗口有限,串行执行太慢。Claude Code 的多 Agent 架构直接解决这两个问题。

主 Agent 作为协调器(Coordinator),负责任务拆解和结果汇总。子 Agent 通过 TeamCreate 协议创建,通过 SendMessage 协议互相通信,通过共享任务列表同步状态。
每个子 Agent 有独立的上下文窗口,这意味着一个 200k token 上下文的任务可以拆成三个 70k token 的子任务并行处理。任务总量没变,但每个 Agent 的上下文压力减小了,回答质量更高。
并行执行的速度优势也很明显。三个子任务如果串行处理需要 3 分钟,并行处理只需要 1 分钟多。
拉远视角看整个架构,有几个设计决策特别值得关注。
懒加载贯穿全局。不只是工具系统做延迟加载,Snip 压缩模块、Coordinator 协调器、非核心 UI 组件都通过feature()函数按需加载。这种设计的产品影响是:CLI 首次启动时只加载必要模块,用户输入第一条命令的等待时间控制在毫秒级。对于一个命令行工具来说,启动速度直接决定用户是否愿意每天使用。
懒加载的启动时间对比:

启动时间从 800ms 降到 200ms,用户感知的等待时间减少了 75%。非核心工具在首次使用时才加载,对后续操作几乎无感知。
Claude Code 的架构设计有几个思路,对做 AI 产品的产品经理有直接参考价值。
分层架构不是技术偏好,而是产品迭代速度的保障。
Claude Code 的六层架构让每一层可以独立迭代。要换大模型供应商?改服务层就行。要加新的交互方式(比如语音)?改用户交互层就行。要接入新的外部工具?改 MCP 集成就行。产品经理规划功能迭代时,如果架构分层合理,每个新功能的影响范围是可预期的,排期就不会经常翻车。
“权限即代码”意味着安全不是后补的。
很多 AI 产品的安全机制是在出了安全事故后才加上的,导致权限逻辑散落在代码各处,难以维护也容易遗漏。Claude Code 的做法是每个工具声明自带权限元数据,运行时由统一的权限框架校验。产品经理在设计 AI 产品时,应该在 PRD 阶段就把权限模型写清楚,而不是等开发完了再补。
性能优化是用户体验的一部分。
双缓冲渲染、懒加载、推测执行——这些技术手段的最终目的都是让用户觉得“这个工具很快”。在 AI 产品中,模型推理延迟是不可避免的,但通过架构层面的优化(流式输出、预加载、并行处理),可以把用户感知到的等待时间压缩到可接受的范围。
可扩展性要在第一天就设计好。
Claude Code 的 MCP 协议集成、技能系统、Hook 机制,都不是后加的,而是从架构设计初期就预留了扩展点。一个 AI 产品如果想让第三方开发者参与进来,扩展接口必须是架构的一等公民,不是一个“也可以扩展”的附属功能。
多 Agent 不是噱头,是解决具体性能瓶颈的方案。
不要因为“多 Agent”听起来很酷就在产品里加这个功能。Claude Code 引入多 Agent 是因为单 Agent 的上下文窗口和串行执行速度确实限制了复杂任务的处理能力。做产品决策时,先确认单 Agent 的能力天花板在哪里,再决定是否引入多 Agent 架构。
Claude Code 的 1902 个 TypeScript 文件背后,是一套经过严肃工程实践验证的 AI Agent 架构。它不是一个实验性 Demo,而是一个每天被大量开发者使用的生产级产品。
对 AI 产品经理来说,这套架构最值得学习的不是某个具体技术(双缓冲渲染、MCP 协议这些细节交给工程团队就好),而是它背后的设计理念:安全是架构的一部分而不是补丁,性能优化服务于用户体验而不是技术指标,可扩展性要在第一天而不是第 N 天设计。
这些理念听起来像正确的废话,但 Claude Code 用 13000 行的 QueryEngine、多层权限决策模型、自研渲染引擎证明了:把这些理念落地到每一行代码里,产品就是不一样。
本文由 @JZNext 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。