Skip to main content

实验指南

本目录配套仓库内 experiments/ 下的 Python 实验,用于动手复现 Claude Code 源码中的核心设计模式。实验不追求功能对等,而是抽取架构骨架,便于理解与迁移。

环境准备

  • Python:3.11 或更高版本
  • 虚拟环境与依赖(在仓库根目录下):
cd experiments
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt

主要依赖见 experiments/requirements.txt(如 pydanticrichanthropicopenaitenacity 等)。

两条学习路径

聚焦路径(9 个核心实验)

理解 Claude Code 主干架构的最短路径:Agent 循环 → 工具 → 权限 → 流式 API → 上下文压缩 → 提示词 → 记忆 → 多 Agent → MCP。

全面路径(全部 15 个实验)

在聚焦路径基础上增加:启动流程、终端 UI、插件/技能、配置、斜杠命令、设计模式等扩展主题,形成完整图谱。

路径关系(Mermaid)

切换 LLM 提供商

多数实验通过 shared.utils.setup_argparser 统一支持三种方式(在 experiments/ 目录下执行):

# 离线 / 无需 API Key
python -m exp_03_core_agent_loop.main --mock

# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
python -m exp_03_core_agent_loop.main --provider anthropic

# OpenAI 兼容 API
export OPENAI_API_KEY=sk-...
python -m exp_03_core_agent_loop.main --provider openai

--mock 等价于 --provider mock。部分实验(如纯本地演示)不调用真实 API,但命令形式保持一致,便于统一记忆。

实验总表

实验目录文档路径
exp_02_startup_flow[扩展实验] 启动流程02-启动流程实验.md
exp_03_core_agent_loop[核心实验] 核心 Agent 循环03-核心Agent循环实验.md
exp_04_tool_system[核心实验] 工具系统04-工具系统实验.md
exp_05_permission_engine[核心实验] 权限引擎05-权限引擎实验.md
exp_06_prompt_assembly[核心实验] 提示词组装06-提示词组装实验.md
exp_07_memory_system[核心实验] 记忆系统07-记忆系统实验.md
exp_08_terminal_ui[扩展实验] 终端 UI08-终端UI实验.md
exp_09_mcp_client[核心实验] MCP 客户端09-MCP客户端实验.md
exp_10_multi_agent[核心实验] 多 Agent10-多Agent协作实验.md
exp_11_plugin_skill[扩展实验] 插件与技能11-插件技能系统实验.md
exp_12_streaming_api[核心实验] 流式 API12-流式API实验.md
exp_13_config_system[扩展实验] 配置系统13-配置系统实验.md
exp_14_context_compaction[核心实验] 上下文压缩14-上下文压缩实验.md
exp_15_command_system[扩展实验] 命令系统15-命令系统实验.md
exp_16_design_patterns[扩展实验] 设计模式16-设计模式实验.md

建议先阅读 03-核心Agent循环实验.md,再按依赖关系扩展。