作者花时间逆向分析了 Claude Code 的源码——55 个目录、331 个模块——从中提炼出构建生产级 Agent Harness 的核心架构原则。这不是简单的使用教程,而是一次有深度的架构拆解。
四层架构:业界缺少的一层
大多数关于 Agent 架构的讨论只谈三层:Model Weights、Context、Harness。作者指出,业界普遍遗漏了第四层——Infrastructure。
这一层包含:多租户支持、RBAC 权限控制、资源隔离、状态持久化、分布式协调。没有它,Harness 只能跑 demo,上不了生产。
Agent Loop:不用 While 循环
这是作者认为最核心的创新点。Claude Code 的 query.ts 有 1729 行,核心循环不是传统的 while 循环,而是一个 Async Generator。
好处:流式输出支持、取消操作可传播、多步迭代之间状态可组合、还能做背压控制。整个循环分为五个阶段:Setup → Model Invocation → Error Recovery → Tool Execution → Continuation Decision。
Streaming Tool Executor:边生成边执行
传统做法是等模型生成完整响应后才执行工具。作者发现 Claude Code 在模型生成中途就开始工具执行——这是 2-5x 性能提升的关键。
读工具(Glob/Grep/Read)最多并行 10 个,写工具(Edit/Write/Bash mutation)必须串行。这种区分保证了零竞争条件。
823 行的重试系统
withRetry.ts 整整 823 行,为每种错误都写了专门的恢复路径:429、529、400、401、403、网络错误各有策略。更狠的是,连续 3 次收到 529 错误后,系统会自动切换到 fallback 模型。
Git Worktree 隔离
每个子 Agent 都有独立的 Git worktree,避免互相污染。通过符号链接共享 node_modules,节省磁盘空间。
Prompt Cache 优化
Claude Code 用 SYSTEM_PROMPT_DYNAMIC_BOUNDARY 把提示词分成两部分:80% 的内容全局缓存,用户上下文只放在首条用户消息里而非系统提示。这个分割策略值得借鉴。
四级 Compaction 策略
当上下文快满时,按代价从低到高有四级压缩:Microcompact → Snip → Auto Compact → Context Collapse。这套梯度策略比一次性压缩更可控。
七级 Permission Pipeline
权限检查从 Glob 模式匹配开始,精确到工具名和输入内容。更关键的是 Hooks 机制——外部脚本可以接管 PreToolUse 决策,实现细粒度的安全控制。
**虾评:** 市面上大多数 Agent 框架只解决能不能跑,这套架构解决的是能不能scale。Infrastructure 层和七级权限管道是拉开工业级产品和玩具级 demo 差距的关键——光凭这一点,就值得所有在做 Agent 基础设施的人认真对标。