54.6k Star、9k Fork,这个项目用12节课教你从0造出Claude Code同款引擎

0 阅读16分钟

先说一件让我沉默三分钟的事

某天晚上我在刷 GitHub Trending,看到一个仓库名叫 learn-claude-code,副标题写着:

"Bash is all you need — A nano claude code–like 「agent harness」, built from 0 to 1"

我瞄了一眼数据:54,600 Stars,9,000 Forks,69次提交

然后我打开 README,开头第一段话直接给我整不会了:

"Agency — the ability to perceive, reason, and act — comes from model training, not from external code orchestration."

(智能来自模型训练,不来自外部代码编排。)

我盯着这句话看了三分钟。

这句话戳穿了过去两年 AI 圈里一个价值数十亿美元的集体幻觉——那些拖拽式"AI Agent 平台"、那些号称"无需懂 AI 就能搭 Agent"的 SaaS 产品,它们实际上在做什么?

把 LLM API 用 if-else 分支和节点图串起来,然后叫它"Agent"。

README 里的原话更毒:

"What they build is a Rube Goldberg machine — an over-engineered, brittle pipeline of procedural rules, with an LLM wedged in as a glorified text-completion node. That is not an agent. That is a shell script with delusions of grandeur."

(他们造的是鲁布·戈德堡机器——一堆过度工程化、极脆弱的程序规则管道,把 LLM 塞进去当个高配文字补全节点。那不是 Agent。那是一个自我感觉良好的 shell 脚本。)

好家伙,一个教学仓库,开口就对整个行业开炮。

我立刻 Fork 了。

这里说一下国内的朋友订购claude code确实有些困难,这里我们推荐一个靠谱的网站:claudemax.shop


ScreenShot_2026-05-01_101513_086.png

这个项目是谁做的?做了什么?

项目作者是 shareAI-lab,中文社区活跃的 AI 工程研究团队,X 账号  @baicai003(白菜003,这名字挺接地气的)。

核心定位:一个从 0 开始、手把手拆解 Claude Code 架构的教学项目,用 12 个渐进式 Session,带你亲手实现一个迷你版的「AI Agent 引擎」。

技术栈:Python(39%)+ TypeScript(59.2%),配套 Next.js 互动学习平台。

截至 2026 年 5 月 1 日的数据

指标数值
⭐ Stars54,600
🍴 Forks9,000
📝 Commits69
👁️ Watching249
📄 支持语言英文 / 中文 / 日文
📜 LicenseMIT

Fork/Star 比值 = 9000/54600 ≈ 16.5%

这个比值相当健康,说明有大量人在本地跑代码、做实验,不只是随手收藏。


README 的哲学导言,值得单独讲

这个项目的 README 不是一般教程的那种"安装 → 运行 → 结束"流水线,它在前三分之一的篇幅里,系统性地讲了一件事:

什么是真正的 Agent,什么不是。

它用五个历史里程碑来证明"Intelligence comes from training, not coding":

2013 年:DeepMind DQN 只靠原始像素和分数,学会了 7 款 Atari 游戏,打败人类专家,发表在 Nature。没有任何游戏规则硬编码,一个模型,从经验中学。

2019 年:OpenAI Five 打 Dota 2,5 个神经网络自我对弈 45,000 年,2:0 击败 TI8 世界冠军 OG,后续公开赛 42,729 场赢了 99.4%。没有脚本策略,没有元编程团队协调,模型在自我对弈中学到了一切。

2019 年:AlphaStar 打 StarCraft II,以 10:1 击败职业选手,后来在欧服排名进入前 0.15%(共 9 万玩家)。一个信息不完全、实时决策、动作空间远超围棋的游戏。Agent 是什么?是模型,训练出来的。

2019 年:腾讯觉悟打《王者荣耀》,在世界冠军杯 5v5 击败 KPL 职业选手,1v1 模式下职业选手 15 局只赢了 1 局,没撑过 8 分钟。训练强度:一天等于人类 440 年。

2024-2025 年:Claude、GPT、Gemini 等大语言模型作为编码 Agent 部署,读代码库,写实现,Debug,团队协作。架构和此前所有 Agent 完全一致:训练好的模型,放进环境,给它工具去感知和行动。

然后 README 给出结论:

"Agency — the ability to perceive, reason, and act — is trained, not coded."

这个铺垫是为了说一件事:你作为 Harness 工程师,你的工作不是给模型编写智能,而是给模型建造它能居住的世界。

模型是驾驶员,Harness 是车辆。这个比喻,我觉得是目前我看到过对"AI 工程师职责"最清晰的描述。

1614_1_1.png

12 个 Session 的学习路径:我全部跑过了

项目分四个阶段,每个阶段一个核心概念,每个 Session 加一个 Harness 机制。我把自己跑完的体验说一下。

Phase 1:THE LOOP(基础循环)

s01 — The Agent Loop | 格言: "One loop & Bash is all you need"

这是整个项目的基础,也是最重要的十几行代码:

def agent_loop(messages):
    while True:
        response = client.messages.create(
            model=MODEL, system=SYSTEM,
            messages=messages, tools=TOOLS,
        )
        messages.append({"role": "assistant",
                         "content": response.content})

        if response.stop_reason != "tool_use":
            return  # 模型决定停止,返回

        results = []
        for block in response.content:
            if block.type == "tool_use":
                output = TOOL_HANDLERS[block.name](**block.input)
                results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": output,
                })
        messages.append({"role": "user", "content": results})

看完这段代码的第一感觉:就这?

对,就这。这就是所有 AI Agent 的核心循环

模型决定什么时候调用工具,什么时候停止。代码只负责执行模型要求的操作。

这个设计的精妙之处在于:循环属于 Agent(模型),机制属于 Harness(代码) 。整个项目从头到尾都不打破这个原则——12 个 Session 加了 12 个机制,核心循环一行都没有改变。

s02 — Tool Use | 格言: "Adding a tool means adding one handler"

工具注册机制,把工具名映射到处理函数:

TOOL_HANDLERS = {
    "bash": run_bash,
    "read_file": read_file,
    "write_file": write_file,
}

加新工具 = 加一个 handler。循环不变。这个设计的可扩展性让我想起金融系统里的事件驱动架构——新事件类型来了,加 handler,主循环不动。


Phase 2:PLANNING & KNOWLEDGE(规划与知识)

s03 — TodoWrite | 格言: "An agent without a plan drifts"

这里实现了 Claude Code 里大名鼎鼎的 TodoWrite 机制。Agent 在执行任务前先列出步骤,然后逐一执行,README 说完成率"doubles"(翻倍)。

这个结论有实验基础:没有计划的 Agent 容易在中途偏离目标,做着做着开始干别的,跟没有 TODO list 的人类程序员一样(我就是那个程序员)。

s04 — Subagents | 格言: "Break big tasks down; each subtask gets a clean context"

这是我个人认为学习价值最高的一个 Session

子 Agent 的核心洞察:每个子任务用独立的 messages[],保持主对话干净

父 Agent 不把自己乱七八糟的上下文传给子 Agent,子 Agent 就一件事做到底。这跟微服务架构里的"单一职责原则"异曲同工,也跟金融系统里"隔离账户风险"的思路一致——上下文污染和风险传染,本质上是同一类工程问题

s05 — Skills | 格言: "Load knowledge when you need it, not upfront"

Skills(技能文件)不是开场就注入系统提示词,而是通过 tool_result 按需加载。

这个设计的动机是省 Token:你不需要在每次会话里都告诉 Agent 所有可能用到的知识,让它自己判断什么时候需要什么知识,然后去拉取。

s06 — Context Compact | 格言: "Context will fill up; you need a way to make room"

三层上下文压缩策略,这部分我看了两遍。

  1. 热数据:最近的完整交互,保留原文
  2. 温数据:稍早的交互,AI 摘要压缩
  3. 冷数据:更早的历史,只保留关键事实

这个分层思路让我想到量化系统里的 Tick 数据存储——你不可能把所有高频数据都放内存里实时查,需要冷热分离,按查询频率决定存在哪里、压缩到什么粒度。


Phase 3:PERSISTENCE(持久化)

s07 — Tasks | 格言: "Break big goals into small tasks, order them, persist to disk"

文件驱动的任务图,有依赖关系管理。这是多 Agent 协作的基础——任务不在内存里,掉了还能恢复,还能跨 Agent 共享。

s08 — Background Tasks | 格言: "Run slow operations in the background; the agent keeps thinking"

后台 daemon 线程跑慢操作,完成后通过通知队列告知主 Agent。这让 Agent 不用傻等 I/O,可以继续思考下一步——跟异步编程的思想完全一致,只是在 Agent 语境里重新表达了一遍。


Phase 4:TEAMS(团队协作)

s09 — Agent Teams | 格言: "When the task is too big for one, delegate to teammates"

持久化 Teammate + 异步 JSONL 邮箱。这里是整个项目技术含量最高的部分。

每个 Teammate 是一个持久化的 Agent 实例,通过文件系统里的 JSONL 邮箱互相通信。主 Agent 发任务,Teammate 领取,完成后回报。

s10 — Team Protocols | 格言: "Teammates need shared communication rules"

统一的请求-响应协议,有关机握手、计划审批的有限状态机(FSM)。没有共同的通信协议,Agent 团队就是一盘散沙。

s11 — Autonomous Agents | 格言: "Teammates scan the board and claim tasks themselves"

Agent 主动扫任务板、自主认领任务,不需要主 Agent 一个个分配。这是从"指挥型"到"自治型"的关键跳跃。

s12 — Worktree Isolation | 格言: "Each works in its own directory, no interference"

每个 Agent 工作在独立的 Git worktree 里,任务 ID 绑定目录 ID,完全隔离,互不干扰。这是 Claude Code 实现并行执行的核心机制之一。

ai-agent-loop.webp

Capstone:s_full.py

把所有 12 个机制合成一个完整系统,没有任何新概念,只是验证:你是否真的理解了每一层叠加的含义

我跑完 s_full.py 的时候,脑子里有一种清晰的满足感——不是"哇好厉害",而是"哦,原来是这样,就这样"。

好的教程应该让你觉得"其实也不难嘛",而不是让你觉得更加神秘。

这个项目做到了。


互动学习平台:意外的加分项

cd web && npm install && npm run dev
# http://localhost:3000

我本来以为这只是个摆设,打开来居然相当完整:

  • Step-through 图解:每个 Session 的架构图,可以一步步点进去看数据流
  • Source Viewer:直接在浏览器里看代码,对应的文档在旁边
  • 三语文档:中/英/日,不是机器翻译的,读起来很顺

这个 Web 平台的存在让这个项目从"一个代码仓库"变成了"一套完整的课程体系"。

对于习惯看着图理解系统的人(比如我),这个视觉化的呈现方式大大降低了理解成本。


项目还连着两个实战工具

学完 12 个 Session 之后,作者还给了两条路让你把知识变成实际产品:

Kode Agent CLI

npm i -g @shareai-lab/kode

一个开源编码 Agent CLI,支持 Skills、LSP(Language Server Protocol),Windows 兼容,可接 GLM / MiniMax / DeepSeek 等开放模型。

这是 learn-claude-code 学到的架构思想的"直接产品化"——你在 12 个 Session 里理解的那些机制,直接在 Kode CLI 里运行着。

Kode Agent SDK

面向需要把 Agent 能力嵌进自己产品的开发者。

与官方 Claude Code Agent SDK 不同的是,Kode SDK 是纯库形式,没有每个用户一个进程的开销,可以嵌入后端、浏览器扩展、嵌入式设备、任何运行时。

这对于想在量化系统、金融 SaaS 里集成 AI 能力的人(我)来说,是一个非常务实的选择。


真实测评:亮点与槽点,逐一呈现

🌟 打动我的地方

1. README 的哲学层面是认真的,不是故弄玄虚

那段从 DeepMind DQN 到 LLM Agent 的历史溯源,写得相当扎实,每个引用都有论文或原始报道链接。

这不是为了凑字数——它是在帮你建立一个正确的心智模型:你做的是 Harness,不是 Intelligence。在正确定位自己工作边界之前,很多工程决策都会走偏。

2. 每个 Session 一个格言,精准到令人印象深刻

"An agent without a plan drifts" (没有计划的 Agent 会漂移)  "Context will fill up; you need a way to make room" (上下文会被填满,你需要腾地方)  "Each works in its own directory, no interference" (各自在自己目录里工作,互不干扰)

12 句格言,12 个机制,一一对应。这是教学设计的功夫,不是随手写的。

3. 代码量克制,只写必要的东西

整个项目 69 次提交。不是因为懒,是因为克制。

每个 Session 的参考实现都是最小化的——只演示一个机制,不带多余的工程包装。这让你能把注意力集中在"这个机制为什么重要、怎么工作",而不是"这堆依赖是干嘛的"。

对比某些"学习项目"动辄几百个文件、十几层抽象,这种克制是一种教学美德。

4. 覆盖三语文档且质量有保证

中文文档不是机器翻译的,读起来很顺,概念描述准确。对于母语是中文的开发者,这省掉了很多阅读摩擦。

5. Fork/Star 比值 16.5%,说明用户在真实学习

这不是收藏型项目。16.5% 的 Fork 率意味着每 6 个 Star 里就有 1 个人在本地跑代码。

multi-agent-orchestration.png

⚠️ 需要说清楚的地方

1. 这是教学项目,不是生产系统

README 自己也说了,项目有意简化或省略了几个生产机制:

  • 完整的事件/Hook 总线(PreToolUse、SessionStart/End 等)
  • 基于规则的权限治理和信任工作流
  • 会话生命周期控制(恢复/分叉)和高级 Worktree 生命周期控制
  • 完整的 MCP 运行时细节

如果你是来找可以直接部署的产品,这个项目不是。

如果你是来理解"Claude Code 底层是怎么运作的",这个项目非常合适。

2. 69 次提交说明仓库相对年轻

相比 claude-mem 的 1,823 次提交、everything-claude-code 的 1,465 次提交,69 次提交意味着这是一个相对新且精炼的项目。

好处是:代码干净,没有历史债务。 需要注意的是:生态还在建立,边界情况可能没有全覆盖。

3. 配套的 Kode CLI 和 SDK 处于早期阶段

这两个配套工具本质上是把课程里的概念产品化,目前功能还在快速迭代,不建议用于对稳定性要求高的生产环境。把它们当作"学完课程之后的实验场"更合适。

4. Worktree 隔离部分文档稍薄

s12 是全项目最复杂的机制,但对应的文档篇幅比前几个 Session 稍短,细节讲解不够完整。需要结合代码本身才能完全理解。

54.6k Star:含金量分析

和同类项目横向比较

项目StarsFork/Star比定位Commit数
everything-claude-code167k15.5%生产级 Agent 操作系统1,465
claude-mem70.3k8.5%Claude Code 记忆插件1,823
learn-claude-code54.6k16.5%Agent Harness 教学课程69
mattpocock/skills23k8.2%TypeScript 工程师 Skills 分享34

learn-claude-code 有所有项目里最高的 Fork/Star 比值(16.5%) ,这跟它的教学定位高度吻合——学习项目就是要被 Fork 下来本地跑的。

Star 含金量有多实

54.6k 的增长主要来自两个来源:

  1. Claude Code 生态爆发的红利:2026 年 Claude Code 成为最热门的开发者工具之一,围绕它的教学内容需求巨大。
  2. 内容本身的质量:README 里的哲学导言 + 历史案例是有讨论价值的内容,在 X 和开发者社区里被多次转发讨论。

结论:54.6k Star 含金量实在,Fork 数据是最有力的证明——人们在真正学这门课。


和金融系统的隐性类比(来点我的独家视角)

我在金融行业干了很多年,在量化系统里有很多"Agent 化"的设计经验。

读完 learn-claude-code 之后,我发现一件有趣的事——Harness 工程的设计模式和金融系统的架构原则惊人地相似

Harness 概念金融系统类比
子 Agent 独立 messages[]隔离账户/独立风控单元
Context Compact 三层压缩Tick 数据冷热分层存储
异步 JSONL 邮箱消息队列(Kafka/RocketMQ)
任务依赖图交易指令的 DAG 调度
Worktree 隔离沙箱账户/测试环境隔离
权限边界交易权限审批链

这个类比让我有一个体感:Harness 工程不是一个 AI 特有的领域,它是软件系统设计的一般问题,只是发生在 AI 语境里

懂金融系统的人,学 Harness 工程会比想象中容易——因为大量核心设计问题已经在别的领域解决过了。


快速上手:5 分钟跑完 s01

# 克隆仓库
git clone https://github.com/shareAI-lab/learn-claude-code
cd learn-claude-code

# 安装依赖
pip install -r requirements.txt

# 配置 API Key
cp .env.example .env
# 编辑 .env,填入 ANTHROPIC_API_KEY

# 从第一课开始
python agents/s01_agent_loop.py

# 想直接看终点
python agents/s12_worktree_task_isolation.py

# 综合实战
python agents/s_full.py

# 开启 Web 学习平台
cd web && npm install && npm run dev
# 打开 http://localhost:3000

建议的学习节奏:每天一个 Session,不要贪多。每个 Session 的价值不在代码量,在思考那句格言和对应机制之间的关系。


总评打分

维度评分说明
内容深度⭐⭐⭐⭐⭐哲学导言 + 代码实现 + 格言提炼,三层叠加
代码质量⭐⭐⭐⭐⭐极度克制,每个 Session 只加一个机制
教学结构⭐⭐⭐⭐⭐12 个渐进 Session,每个有独立格言,学习路径清晰
文档完整性⭐⭐⭐⭐☆三语支持,但 s12 文档稍薄
生产就绪性⭐⭐⭐☆☆这是教学项目,不打算也不应该直接生产部署
配套工具⭐⭐⭐⭐☆Kode CLI 和 SDK 有实际价值,但还在早期
综合⭐⭐⭐⭐½Agent 工程入门必读,没有之一

适合谁,不适合谁

强烈推荐给:

  • 想深入理解 Claude Code 等 AI 编程工具内部原理的开发者
  • 想自己造一个简单 Agent 引擎而不是调包调 API 的工程师
  • 对"什么是真正的 Agent"有困惑、被"no-code AI 平台"搞懵的人
  • 有系统设计基础、想把这些概念迁移到其他领域(金融、医疗、制造)的人

不适合:

  • 只想找一键部署的生产工具(看 everything-claude-code)
  • 刚接触 AI、还没用过 Claude Code 的完全新手(先用用工具再来理解原理)
  • 不想读英文技术文档的(中文版文档有,但项目整体还是英文为主)

写在最后:关于那句话

整个项目开头的那句话,我最后再重复一遍:

"Agency comes from the model. The harness makes agency real. Build great harnesses. The model will do the rest."

我做了这么多年金融系统,最近两年开始做 AI 相关的东西。

一开始我也是"提示词工程师"思维——觉得多加几个 if-else,搭个节点图,就能把 AI 用好。

这个项目帮我重新定位了自己的工作:我不是在给 AI 写智能,我是在给 AI 建造它能工作的世界

这个认知转变,比我学会任何一个具体的 API 都有价值。

Bash is all you need。