ClaudeCode源码设计思想

ClaudeCode源码分析

参考大佬文档:Claude Code 源码解析

Prompt工程设计

  1. Prompt大体可分为静态部分和动态部分
  2. Prompt可设置缓存逻辑,减少重复计算

工具系统

设计思想大概分为4个层次:

类型 功能 代表工具
Read 读取信息 FileRead、Grep、Glob、WebFetch、WebSearch
Write 创建或修改 FileWrite、FileEdit、NotebookEdit
Execute 运行命令 Bash、PowerShell、REPL
Connect 连接外部系统 MCP工具、Agent、SendMessage、TeamCreate

核心思想:

  1. ToolSearchTool:工具搜索工具,负责在工具系统中搜索和选择合适的工具来完成任务
  2. 工具结果最大字符数限制,ClaudeCode大多数工具的阈值是100000字符。当一个工具的返回结果超过这个阈值时,系统不是直接截断,而是把完整结果保存到磁盘上的一个临时文件,然后在对话中只放一个摘要和文件路径。这样Claude可以在需要时通过Read工具去读取完整结果

权限模式

ClaudeCode两阶段判断逻辑:

  1. Stage 1:快速判断(64 token预算),仅输出 yes/no 来判断是否放出权限
  2. Stage 2:深度推理(4096 token预算):要求分类器输出详细的推理过程和拒绝理由

记忆系统

  1. ClaudeCode核心记忆文件是MEMORY.md,限定200行、25KB
  2. 核心设计决策:只记偏好,不记代码
  3. 记录失败经验也要记录成功经验
  4. 时间类要明确到具体的时间点,年月日

上下文管理

所有用户信息都要保留!

段落 内容 重要程度
Primary Request and Intent 用户的所有显式请求和意图 最高
All User Messages 所有非工具结果的用户消息 最高
Current Work 压缩前正在做的工作的详细描述 最高
Errors and Fixes 遇到的错误和修复方法 中高
Key Technical Concepts 讨论过的技术概念、框架、技术
Files and Code Sections 具体的文件名、代码片段、修改记录
Pending Tasks 明确被要求但尚未完成的任务
Problem Solving 解决问题的过程和正在进行的排查
Optional Next Step 下一步计划(必须与用户最近的请求直接相关)

相关文章

ClaudeCode+GLM4.6使用教程

ClaudeCode+GLM4.6使用教程

ClaudeCode+GLM4.6使用教程

GitHub Actions 实现 Java 项目 CI CD 自动部署教程

Skills和MCP的区别

Skills和MCP的区别

ClaudeCode常用命令指南

ClaudeCode常用命令指南

ClaudeCode常用命令指南