learn-claude-code
learn-claude-code 是一个专为开发者设计的开源教学项目,旨在从零开始构建一个高完成度的代码智能体(Coding Agent)框架。它的核心理念非常清晰:大模型负责推理,而框架负责为模型提供可安全、高效运行的工作环境。
该项目解决了初学者在复现类似 Claude Code 等先进 AI 编程助手时,往往被生产级代码中复杂的工程细节(如打包发布、跨平台兼容、企业策略等)淹没,从而难以理解核心运作机制的痛点。learn-claude-code 刻意剥离了这些非核心的“产品噪音”,专注于传授决定智能体能否正常工作的关键骨架,包括代理循环、工具调用、任务规划、上下文管理、权限控制、记忆机制以及多智能体协作等核心模块。
其独特的技术亮点在于严谨的教学路径设计:坚持“先解释概念,再展示实现”的原则,按照从架构概览到具体数据结构的逻辑顺序,引导用户逐步掌握系统全貌。它不追求面面俱到,而是确保学习者能透彻理解每一个核心组件的“是什么”、“为什么存在”以及“如何实现”。
因此,learn-claude-code 非常适合具备基础 Python 知识、希望深入理解 AI 智能体底层原理并亲手重建一套系统的开发者和技术研究人员。对于想要探究现代 AI 编程助手如何运作,却苦于没有清晰入门路径的学习者来说,这是一份极佳的实战指南。
使用场景
某初创团队的后端工程师希望从零构建一个能自主执行多步任务的代码代理(Coding Agent),但缺乏对底层架构的系统性认知。
没有 learn-claude-code 时
- 架构设计盲目:开发者往往直接堆砌大模型 API,不清楚如何设计稳定的“代理循环(Agent Loop)”,导致任务执行容易中断或陷入死循环。
- 上下文失控:缺乏有效的上下文管理机制,随着对话轮数增加,Prompt 迅速超出令牌限制,模型开始遗忘关键指令或产生幻觉。
- 安全风险裸露:没有内置的权限控制与隔离执行通道,模型生成的危险命令可能直接在主机上运行,引发严重安全隐患。
- 扩展困难:当需要添加规划(Planning)、记忆(Memory)或多团队协作功能时,由于缺乏清晰的钩子(Hooks)和路由设计,代码变得难以维护。
- 学习成本高昂:市面上缺乏从 0 到 1 拆解核心机制的教学资源,开发者需在碎片化的文档中摸索,耗时数周仍不得要领。
使用 learn-claude-code 后
- 掌握核心骨架:通过分阶段教程,开发者清晰理解了从工具调用到结果追加的完整循环逻辑,快速搭建出高完成度的代理基座。
- 精准上下文管理:学会了如何组装 Prompt 并控制活跃上下文大小,确保代理在长任务中始终保持逻辑连贯且不超令牌限制。
- 内建安全防线:直接复用其权限控制与隔离执行车道设计,确保模型意图经过安全校验后才被执行,杜绝误操作风险。
- 模块化轻松扩展:基于其定义的钩子系统和外部能力路由,开发者能像搭积木一样轻松集成规划、记忆及多团队协同功能。
- 高效上手路径:遵循推荐的阅读顺序,从架构概览到数据结构,仅需数天即可透彻理解并复现生产级代理的核心机制。
learn-claude-code 将复杂的代理系统解构为可理解的模块,让开发者不再依赖黑盒,而是真正掌握构建自主编码智能体的核心能力。
运行环境要求
- 未说明
未说明
未说明

快速开始
学习 Claude 代码
这是一个面向希望从零开始构建高完成度编码助手的开发者的教学仓库。
本仓库并不试图完全复刻生产环境中的每一个细节,而是专注于那些真正决定一个代理能否高效运作的核心机制:
- 循环
- 工具
- 计划
- 委派
- 上下文控制
- 权限
- 钩子
- 内存
- 提示词组装
- 任务
- 团队
- 隔离执行通道
- 外部能力路由
目标很简单:
深入理解真正的设计核心,以便能够自行重建它。
本仓库真正教授的内容
先用一句话概括:
模型负责推理,而框架则为模型提供一个可工作的环境。
这个工作环境由几个相互协作的部分组成:
Agent Loop:向模型提问、运行工具、追加结果并继续Tools:代理的“双手”Planning:一个小结构,用于防止多步任务偏离方向Context Management:保持活跃上下文的小巧与连贯Permissions:防止模型意图直接转化为不安全的操作Hooks:在不重写循环的情况下扩展其行为Memory:仅保留应跨会话持久化的事实Prompt Construction:根据稳定规则和运行时状态组装模型输入Tasks / Teams / Worktree / MCP:将单代理核心扩展为更大的工作平台
这是本仓库的教学承诺:
- 按照清晰的顺序讲解主线内容
- 在依赖某个概念之前先解释清楚它
- 紧贴实际系统结构
- 避免让学习者被无关的产品细节淹没
本仓库刻意不教授的内容
本仓库并不试图保留真实生产系统中可能存在的每一个细节。
如果某个细节并非代理核心运行模式的关键部分,则不应成为教学的重点。这包括:
- 打包与发布机制
- 跨平台兼容性层
- 企业策略集成
- 数据监控与账户配置
- 历史兼容分支
- 产品特有的命名问题
这些细节在生产环境中可能很重要,但它们并不属于从零开始学习路径的核心内容。
适合人群
假设读者具备以下基础:
- 掌握基本的 Python 知识
- 理解函数、类、列表和字典
- 可能对代理系统完全陌生
因此,仓库遵循几条明确的教学原则:
- 在使用某个概念之前先进行解释
- 将每个概念的完整说明集中在一处
- 从“是什么”开始,再到“为什么存在”,最后是“如何实现”
- 避免强迫初学者从零散的片段中拼凑整个系统
推荐阅读顺序
英文文档旨在独立成篇。章节顺序、桥接文档和机制图在不同语言版本中保持一致,因此你可以选择一种语言来跟随主要的学习路径。
- 概述:
docs/en/s00-architecture-overview.md - 代码阅读顺序:
docs/en/s00f-code-reading-order.md - 术语表:
docs/en/glossary.md - 教学范围:
docs/en/teaching-scope.md - 数据结构:
docs/en/data-structures.md
如果你是第一次访问,从这里开始
请勿随意打开任意章节。
最安全的路径是:
- 阅读
docs/en/s00-architecture-overview.md,了解整个系统的架构。 - 阅读
docs/en/s00d-chapter-order-rationale.md,以便在深入机制细节之前理解章节顺序的意义。 - 阅读
docs/en/s00f-code-reading-order.md,知道应该先打开哪些文件。 - 按照四个阶段依次学习:
s01-s06 -> s07-s11 -> s12-s14 -> s15-s19。 - 每完成一个阶段后,停下来自己重建最小版本,然后再继续。
如果中间和后期的章节开始变得模糊不清,可以按以下顺序重新梳理:
docs/en/data-structures.mddocs/en/entity-map.md- 最接近你卡住章节的桥接文档
- 然后再回到该章节的内容
Web 学习界面
如果你想以更直观的方式理解章节顺序、阶段边界以及章节之间的递进关系,可以运行内置的教学网站:
cd web
npm install
npm run dev
然后使用以下路由:
/en:英语入口页面,用于选择阅读路径/en/timeline:最清晰的主线视图/en/layers:四阶段边界地图/en/compare:相邻步骤对比及跳转诊断
初次浏览时,建议从 timeline 开始。如果你已经进入中间阶段,且章节边界变得模糊,可以在深入源码之前先使用 layers 和 compare。
桥接文档
这些并非额外的主章节,而是帮助理解系统中间和后期部分的桥梁文档:
- 章节顺序 rationale:
docs/en/s00d-chapter-order-rationale.md - 代码阅读顺序:
docs/en/s00f-code-reading-order.md - 引用模块地图:
docs/en/s00e-reference-module-map.md - 查询控制平面:
docs/en/s00a-query-control-plane.md - 单次请求生命周期:
docs/en/s00b-one-request-lifecycle.md - 查询转换模型:
docs/en/s00c-query-transition-model.md - 工具控制平面:
docs/en/s02a-tool-control-plane.md - 工具执行运行时:
docs/en/s02b-tool-execution-runtime.md - 消息与提示词管道:
docs/en/s10a-message-prompt-pipeline.md - 运行时任务模型:
docs/en/s13a-runtime-task-model.md - MCP 能力层:
docs/en/s19a-mcp-capability-layers.md - 团队-任务-通道模型:
docs/en/team-task-lane-model.md - 实体映射:
docs/en/entity-map.md
四个阶段
s01-s06:构建一个实用的单代理核心s07-s11:添加安全性、扩展点、记忆、提示词组装和恢复功能s12-s14:将临时会话计划转化为持久的运行时工作s15-s19:转向团队、协议、自治、隔离执行以及外部能力路由
主要章节
| 章节 | 主题 | 你将学到什么 |
|---|---|---|
s00 |
架构概览 | 全局架构图、关键术语及学习顺序 |
s01 |
代理循环 | 最小可用的代理循环 |
s02 |
工具使用 | 稳定的工具调度层 |
s03 |
待办事项/规划 | 可视化的会话计划 |
s04 |
子代理 | 每个委派子任务拥有独立的上下文 |
s05 |
技能 | 仅在需要时加载专业知识 |
s06 |
上下文精简 | 保持活跃窗口的大小最小化 |
s07 |
权限系统 | 执行前的安全闸门 |
s08 |
钩子系统 | 循环周围的扩展点 |
s09 |
记忆系统 | 跨会话的持久化知识 |
s10 |
系统提示 | 基于章节的提示组装 |
s11 |
错误恢复 | 继续执行与重试分支 |
s12 |
任务系统 | 持久化的任务图 |
s13 |
后台任务 | 非阻塞式执行 |
s14 |
定时调度器 | 基于时间的触发机制 |
s15 |
代理团队 | 持久化的队友 |
s16 |
团队协议 | 共享的协调规则 |
s17 |
自主代理 | 自我申领与自我恢复 |
s18 |
工作树隔离 | 隔离的执行通道 |
s19 |
MCP & 插件 | 外部能力路由 |
快速开始
git clone https://github.com/shareAI-lab/learn-claude-code
cd learn-claude-code
pip install -r requirements.txt
cp .env.example .env
然后在 .env 文件中配置 ANTHROPIC_API_KEY 或兼容的 API 端点,并运行:
python agents/s01_agent_loop.py
python agents/s18_worktree_task_isolation.py
python agents/s19_mcp_plugin.py
python agents/s_full.py
建议的学习顺序:
- 先运行
s01,确保最小循环能够正常工作。 - 阅读
s00,然后按s01 -> s11的顺序逐步学习。 - 只有当单代理核心及其控制平面运行稳定后,再继续学习
s12 -> s19。 - 最后阅读
s_full.py,此时各个机制已经单独理解清楚。
如何阅读每一章
为了更好地吸收内容,建议按照以下节奏进行阅读:
- 如果没有该机制,会出现什么问题?
- 新概念的具体含义是什么?
- 最小且正确的实现是什么样子?
- 状态实际存储在哪里?
- 如何将其重新接入整个循环?
- 哪些部分可以先完成,哪些可以稍后再处理?
在阅读过程中,不断问自己:
- “这是核心主线,还是只是次要细节?”
- “这个状态到底存储在哪里?”
如果仍有疑问,可以返回查阅:
仓库结构
learn-claude-code/
├── agents/ # 每章对应的可运行 Python 参考实现
├── docs/zh/ # 中文主文档
├── docs/en/ # 英文文档
├── docs/ja/ # 日文文档
├── skills/ # `s05` 中使用的技能文件
├── web/ # Web 教学平台
└── requirements.txt
语言版本情况
目前中文仍然是最权威的教学版本,也是进展最快的版本。
zh: 审核最多、内容最完整。en: 主要章节及关键桥梁文档已发布。ja: 主要章节及关键桥梁文档已发布。
如果你想获得最全面、更新最频繁的讲解路径,请优先使用中文文档。
最终目标
完成本仓库的学习后,你应该能够清晰回答以下问题:
- 编程代理所需的最小状态是什么?
- 为什么
tool_result是循环的核心? - 何时应该使用子代理,而不是将更多内容塞入同一个上下文中?
- 权限、钩子、记忆、提示组装和任务分别解决了什么问题?
- 何时应将单代理系统扩展为任务、团队、工作树和 MCP?
如果你能够清晰回答这些问题,并自行构建类似的系统,那么本仓库就达到了它的目的。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器