SuperAPI AI 工具集

claude-code-source-study

智能体与模型

查看项目

更新于 10-15 14:28

技能介绍

项目用途

Claude Code Source Study 是一个中文源码分析系列,目标是深入剖析 Claude Code(Anthropic 的 AI CLI 编程助手)的源码,从中学习生产级 AI 智能体的架构模式。项目对约 1900 个文件的源码逐模块拆解,每篇文章都带有具体文件引用、行号和代码片段,并从中提炼出可复用的设计模式,供开发者构建自己的 AI 智能体应用时参考。

覆盖内容

项目共 25 篇文章,主题包括:项目全景、启动优化、状态管理、System Prompt 工程、对话循环、上下文管理、Prompt Cache、Thinking 与推理控制、工具系统设计、BashTool 深度剖析、命令系统、Agent 系统、内置 Agent 设计模式、任务系统、MCP 协议实现、权限系统、Settings 系统、Hooks 系统、Feature Flag 与编译期优化、API 调用与错误恢复、Ink 框架深度定制、设计系统、Memory 系统、Skill Plugin 开发实战、架构模式总结。

涉及的技术栈为 Bun + TypeScript + Ink(终端 React)+ Anthropic API。

仓库结构

claude-code-source-study/
├── docs/
│   ├── 00-目录与阅读指引.md
│   ├── 01-项目全景.md
│   ├── 02-启动优化.md
│   ├── 03-状态管理.md
│   ├── 04-System-Prompt-工程.md
│   ├── 05-对话循环.md
│   ├── 06-上下文管理.md
│   ├── 07-Prompt-Cache.md
│   ├── 08-Thinking-与推理控制.md
│   ├── 09-工具系统设计.md
│   ├── 10-BashTool-深度剖析.md
│   ├── 11-命令系统.md
│   ├── 12-Agent-系统.md
│   ├── 13-内置Agent设计模式.md
│   ├── 14-任务系统.md
│   ├── 15-MCP-协议实现.md
│   ├── 16-权限系统.md
│   ├── 17-Settings-系统.md
│   ├── 18-Hooks系统.md
│   ├── 19-Feature-Flag与编译期优化.md
│   ├── 20-API调用与错误恢复.md
│   ├── 21-Ink框架深度定制.md
│   ├── 22-设计系统.md
│   ├── 23-Memory系统.md
│   ├── 24-Skill-Plugin开发实战.md
│   └── 25-架构模式总结.md
└── README.md

阅读路线

  • 快速路线(7 篇):01 → 02 → 03 → 05 → 09 → 12 → 25,用于全局理解。
  • AI 工程路线(9 篇):01 → 03 → 04 → 05 → 06 → 08 → 09 → 12 → 13,深入 AI 核心。
  • 完整路线(25 篇):按顺序阅读 docs/01 至 docs/25。

提炼的关键模式

  1. 工具构建器模式(buildTool()):用构建器注册工具,支持三层条件注册,包含 name、description、inputSchema、handler、isEnabled、requiresPermission 等字段,并通过 filter 按条件启用。

  2. AsyncGenerator 对话循环:使用 AsyncGenerator 实现状态机式对话循环,处理 end_turn 与 tool_use 两种停止原因,在工具调用后追加消息并继续循环。

  3. 35 行极简 Store(React 与非 React 桥接):用 createStore 实现极小的响应式存储,提供 getState、setState、subscribe 以及 useStore 的 React Hook 集成。

  4. System Prompt 分段构建:将系统提示分为静态段(缓存)、半静态段(按项目缓存)和动态段(不缓存),并设置 cache_control 边界。

  5. 上下文自动压缩与 Token 预算:设定 MAX_CONTEXT、COMPACT_THRESHOLD、SUMMARY_RESERVE,超过阈值时对较早消息做摘要、保留最近消息原文。

  6. 权限七步决策流水线:依次检查 bypass 模式、始终安全动作、允许列表、阻止列表、自动批准规则、会话记忆,最后询问用户,并可记住决定。

  7. 多智能体上下文隔离:子智能体拥有独立消息与会话 ID,继承父级工具与权限模式,限定工作目录,并设置 maxTurns 与 tokenBudget 防止失控。

  8. withRetry 处理 API 过载:指数退避加抖动,处理 Anthropic 529 过载错误,对认证错误和无效请求错误不重试。

应用到自建智能体

文中给出最小智能体脚手架示例:使用 @anthropic-ai/sdk,用构建器模式定义工具(如 read_file),用缓存分段构建系统提示,再通过对话循环消费事件流并输出文本。

Thinking / 扩展推理配置方面,给出 ThinkingConfig 类型与 EFFORT_LEVELS(low、medium、high、ultrathink 对应不同 budget_tokens),并在 messages.create 中传入 thinking 参数。

使用方式

git clone https://github.com/luyao618/Claude-Code-Source-Study
cd Claude-Code-Source-Study

# 快速路线:全局理解(7 篇)
open docs/01-项目全景.md

# AI 工程深入(9 篇)
open docs/04-System-Prompt-工程.md

# 架构模式总结(最后阅读)
open docs/25-架构模式总结.md

适用场景

适合希望学习生产级 AI 智能体架构的开发者,尤其是关注 System Prompt 工程、工具系统、权限安全、多智能体编排、上下文与 Token 管理、终端 UI 定制等方向的工程人员。

限制与说明

  • 文章中的代码示例引用内部模块,属于从分析中提炼的示意性模式,并非可直接运行的代码。
  • 若文章链接出现 404,可克隆仓库,所有文章都在本地 docs/ 目录中。
  • 如需实际的 Claude Code 源码,可参考 Anthropic 发布的 CLI 源码。
  • 若想贡献文章,可按现有文章格式向 docs/ 提交 PR。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。