这几个月对Claude Code的逆向、架构分析的博客很多,但这篇依然写得很棒,作者vivek 过去几个月一直在使用和调试 Claude Code,并且编写了一个记录器,用于拦截并记录每一个网络请求。然后基于自己的使用经验以及截获分析的所有日志,对Claude code进行了深度的剖析。
《Claude Code 为什么这么牛!? 》
ybzavo65ti.feishu.cn原文比较多内容,我摘取其中一些关键的信息,有些地方我最近做agent也有共鸣
1. 保持简单:Claude Code在每个环节都选择了架构的简洁性。它避免了Multi-agent系统、复杂RAG(检索增强生成)搜索算法等可能引入的调试和评估复杂性。
只使用一个主循环和扁平的消息历史记录。在处理复杂任务时,它能够通过“克隆”自身来创建sub agent,但最多只有一个分支,这既能实现任务分解,又能确保代理始终关注最终目标,这里的sub agent本质是一个tool
2. 性价比:超过50%的重要LLM调用都使用了更小的模型(如claude-3-5-haiku),用于读取大文件、解析网页、处理Git历史记录和总结长对话。这些小模型比标准模型(如Sonnet 4、GPT-4.1)便宜70-80%,显著降低了成本。
3. LLM原生搜索而非RAG:拒绝了RAG,转而让LLM像人类一样,使用复杂的ripgrep、jq和find命令进行代码库搜索。这更符合LLM理解代码的优势,并减少了RAG带来的新且隐蔽的故障模式。
4. 明确的算法指导:为LLM需要执行的最重要任务编写详细的算法,包含决策点、启发式规则和示例。这有助于LLM结构化决策,避免指令冲突,而不是仅仅罗列一堆“该做”和“不该做”的规则。