ClaudeCode 代码解读:从请求到工具执行
本篇作为快速上手章节,聚焦 ClaudeCode 在一次请求中的关键执行链路,帮助你先建立“读源码的主地图”。
1. 主流程总览
你可以把一次请求理解为四步:
- 解析输入与上下文
- 构建系统提示词(System Prompt)
- 触发模型推理并决定是否调用工具
- 写回会话状态并产出响应
2. 建议优先阅读的模块
query.ts:主循环入口,串联一次请求执行QueryEngine:会话状态与消息编排核心tool相关模块:工具定义、权限判断、执行与结果回填hooks相关模块:用户侧扩展能力,介入请求生命周期
3. 阅读顺序建议
- 第一遍:只看函数调用关系,画出流程图
- 第二遍:关注状态结构(消息、上下文、工具结果)
- 第三遍:关注异常处理与边界(超时、权限、失败回滚)
4. 你可以重点回答的三个问题
- ClaudeCode 在哪里决定“继续对话”还是“调用工具”?
- 工具执行失败后,错误如何反馈给模型继续推理?
- 会话上下文如何压缩,避免 token 爆炸?
继续阅读建议:先看 query.ts 主循环,再看工具系统与上下文压缩章节,会更容易建立完整认知。