从零复现Claude Code:4000行代码拆解AI编程代理黑箱

GitHub July 2026
⭐ 2215📈 +1162
来源:GitHubClaude Codeopen sourceAI architecture归档:July 2026
开源项目windy3f3f3f3f/claude-code-from-scratch仅用约4000行TypeScript和Python代码,便重构了Claude Code的核心代理循环。这一教学级实现以逐章教程的形式,彻底拆解了AI编程代理的内部机制,向商业AI助手的封闭性发起了挑战。

AI编程助手领域长期被GitHub Copilot、Claude Code、Cursor等商业黑箱产品主导。但全新开源项目`windy3f3f3f3f/claude-code-from-scratch`正在点亮这盏灯。该项目用约4000行TypeScript和Python代码,提供了一个精简但功能完整的Claude Code核心架构复现,涵盖代码分析、文件编辑和工具调用循环。仓库已收获超过2200颗星标,单日新增+1162,彰显了开发者群体的强烈好奇心。

该项目明确以教育为目的。它将代理拆解为11个章节,每个章节覆盖一个独立组件:从初始提示构建和上下文窗口管理,到工具使用循环、沙盒执行。核心架构可分解为四个主要模块:

1. 代理循环编排器:一个管理对话轮次的TypeScript类。它将当前对话历史(系统提示+用户消息+先前工具结果)发送给LLM,接收响应,解析任何工具调用,执行它们,并将结果反馈到下一轮。这是经典的ReAct(推理+行动)模式。

2. 工具系统:项目实现了一套核心工具:`Read`、`Write`、`Edit`、`Bash`和`Glob`。每个工具由JSON模式(用于函数调用)、处理函数和一组安全约束定义。`Edit`工具采用基于差异的方法,发送带行号的补丁而非完整文件重写,从而减少token消耗并提高精度。

3. 上下文窗口管理器:任何编程代理的关键组件。项目实现了一个滑动窗口,当token预算超限时丢弃较早的消息。它优先保留系统指令、最近的用户请求以及最后几个工具结果。这是生产环境中使用策略的简化版本,生产环境可能涉及摘要或检索增强生成(RAG)。

4. 沙盒执行:`Bash`工具在子进程中运行命令,带有超时和输出截断。项目包含一个基本安全检查,默认阻止破坏性命令(如`rm -rf /`)。与基于Docker的隔离相比,这是一个最小沙盒,但它阐明了原理。

项目的代码异常简洁。主代理循环不到200行。工具定义每个不到100行。这是刻意的设计选择:可读性优先于健壮性。作者指出,像Claude Code这样的生产系统有数千行额外的代码用于错误处理、重试逻辑、流式传输和多模型支持。

对于希望进一步探索的开发者,项目引用了几个关键开源仓库:
- `anthropics/anthropic-cookbook`:包含使用Anthropic API的工具使用和代理模式示例。
- `openai/openai-cookbook`:OpenAI函数调用的类似示例。
- `e2b-dev/agent-protocol`:代理到沙盒通信的标准化接口。
- `plandex-ai/plandex`:一个架构更复杂的开源AI编程代理,适合对比参考。

技术深度解析

`claude-code-from-scratch`的核心是对Claude Code代理循环的简化但忠实的复现。其架构可分解为四个主要模块:

1. 代理循环编排器:一个管理对话轮次的TypeScript类。它将当前对话历史(系统提示+用户消息+先前工具结果)发送给LLM,接收响应,解析任何工具调用,执行它们,并将结果反馈到下一轮。这是经典的ReAct(推理+行动)模式。

2. 工具系统:项目实现了一套核心工具:`Read`、`Write`、`Edit`、`Bash`和`Glob`。每个工具由JSON模式(用于函数调用)、处理函数和一组安全约束定义。`Edit`工具采用基于差异的方法,发送带行号的补丁而非完整文件重写,从而减少token消耗并提高精度。

3. 上下文窗口管理器:任何编程代理的关键组件。项目实现了一个滑动窗口,当token预算超限时丢弃较早的消息。它优先保留系统指令、最近的用户请求以及最后几个工具结果。这是生产环境中使用策略的简化版本,生产环境可能涉及摘要或检索增强生成(RAG)。

4. 沙盒执行:`Bash`工具在子进程中运行命令,带有超时和输出截断。项目包含一个基本安全检查,默认阻止破坏性命令(如`rm -rf /`)。与基于Docker的隔离相比,这是一个最小沙盒,但它阐明了原理。

项目的代码异常简洁。主代理循环不到200行。工具定义每个不到100行。这是刻意的设计选择:可读性优先于健壮性。作者指出,像Claude Code这样的生产系统有数千行额外的代码用于错误处理、重试逻辑、流式传输和多模型支持。

数据表:代理循环复杂度对比

| 组件 | `claude-code-from-scratch` (行数) | 预估Claude Code (行数) | 比例 |
|---|---|---|---|
| 代理循环编排器 | 180 | ~5,000 | 1:28 |
| 工具定义(5个工具) | 450 | ~15,000 | 1:33 |
| 上下文管理 | 120 | ~8,000 | 1:67 |
| 沙盒/执行 | 90 | ~10,000 | 1:111 |
| 错误处理与重试 | 40 | ~12,000 | 1:300 |
| 核心总计 | ~880 | ~50,000 | 1:57 |

数据启示: 该项目在保留核心逻辑的同时实现了57倍的代码量缩减。这表明编程代理的基本思想本身并不复杂,但产品化引入了巨大的额外开销。教育价值在于,开发者能够在不被噪音干扰的情况下看到本质。

对于希望进一步探索的开发者,项目引用了几个关键开源仓库:
- `anthropics/anthropic-cookbook`:包含使用Anthropic API的工具使用和代理模式示例。
- `openai/openai-cookbook`:OpenAI函数调用的类似示例。
- `e2b-dev/agent-protocol`:代理到沙盒通信的标准化接口。
- `plandex-ai/plandex`:一个架构更复杂的开源AI编程代理,适合对比参考。

关键玩家与案例研究

该项目处于AI编程助手市场多个趋势的交汇点。主要商业玩家包括:

- Anthropic (Claude Code):参考实现。Claude Code是一个基于终端的代理,能够读取、编辑和执行代码。它使用专有模型(Claude 3.5 Sonnet)和高度优化的代理循环。Anthropic尚未开源代理代码,使得该项目成为一项有价值的逆向工程实践。
- GitHub Copilot:现已推出代理模式(Copilot Workspace),使用GPT-4和专注于IDE集成的不同架构。其代理循环透明度较低。
- Cursor:一款内置AI功能的IDE,使用VS Code的分支。其代理能力与编辑器紧密集成。
- 开源替代方案:诸如`sweep-ai/sweep``plandex-ai/plandex``aider-ai/aider`等项目提供不同级别的代理功能。`aider`因其基于地图的代码理解方法而特别引人注目。

数据表:开源编程代理功能对比

| 特性 | `claude-code-from-scratch` | `aider` | `plandex` | `sweep` |
|---|---|---|---|---|
| 语言 | TypeScript/Python | Python | Go | Python |
| 代码行数 | ~4,000 | ~30,000 | ~50,000 | ~20,000 |
| 主要模型 | Claude/GPT(可配置) | GPT-4/Claude | GPT-4 | GPT-4 |
| 工具使用 | 是(5个工具) | 是(git感知) | 是(计划+执行) | 是(PR创建) |
| 上下文管理 | 滑动窗口 | 地图+token预算 | 计划+差异 | 问题解析 |
| 沙盒化 | 子进程(基础) | Git分支 | Docker | GitHub Actions |
| 教育重点 | 首要 | 次要 | 次要 | 次要 |

更多来自 GitHub

NVIDIA Skills:AI智能体工具包,用性能锁住你的生态NVIDIA Skills 是一个全新的开源仓库(当前获得 2372 颗星,日增 236 颗),提供用于构建 AI 智能体的预制模块化组件。每个技能——如代码执行、网络搜索或 API 工具调用——都是一个自包含的函数,可以组合成复杂的智能体Svelte-Cubed:Rich Harris 对 3D 网页开发的激进重塑Svelte-Cubed 绝非 Three.js 的又一个封装层,它是对网页 3D 场景创作方式的根本性重构。该库利用 Svelte 编译时响应机制,将 Three.js 命令式、状态繁重的 API 转化为声明式、组件驱动的体验。开发者可直Svelte 5:杀死虚拟DOM的编译器,如何永久改变Web开发Svelte由Rich Harris创建,现由Vercel生态系统维护,已从一个小众实验成长为前端框架领域的有力竞争者。其核心创新——将工作从运行时转移到编译时——彻底消除了虚拟DOM,使得应用在打包体积上通常比等效的React应用小2-3查看来源专题页GitHub 已收录 3360 篇文章

相关专题

Claude Code256 篇相关文章open source123 篇相关文章AI architecture40 篇相关文章

时间归档

July 2026607 篇已发布文章

延伸阅读

Claude Code社区版崛起:企业级闭源模型的开放替代方案Anthropic旗下Claude Code的社区维护版本已实现生产就绪,在GitHub上斩获超9600颗星。该项目提供功能完整、可本地部署的代码生成工具,具备企业级TypeScript安全性与Bun运行时优化。这一进展标志着市场对专有AIClaude Code 源码泄露:深度解析 Anthropic 70万行AI编程助手架构Anthropic旗下AI编程助手Claude Code遭遇大规模源码泄露。一个意外上传至npm的57MB源码映射文件,内含约70万行专有代码,首次将这一顶尖商业AI编程系统的工程架构全貌公之于众。这既是一次重大安全事件,也为业界提供了难得开源项目为开发者提供180个即插即用的中文AI代理角色A new open-source library provides 180 pre-configured Chinese AI agent personas, spanning 17 professional departments, oGraphify:将代码库转化为可查询知识图谱,AI编程助手的范式革命一个名为Graphify的开源项目在GitHub上狂揽近8万星标,它提出了一种颠覆性理念:将任意代码文件夹、数据库、文档甚至图像转化为可查询的知识图谱。这标志着AI辅助编程正从线性上下文窗口迈向结构化、关系化理解的新纪元。

常见问题

GitHub 热点“Claude Code from Scratch: 4,000 Lines Unpack the Black Box of AI Coding Agents”主要讲了什么?

The AI coding assistant landscape has been dominated by black-box commercial products like GitHub Copilot, Claude Code, and Cursor. But a new open-source project, windy3f3f3f3f/cla…

这个 GitHub 项目在“how to build a coding agent from scratch”上为什么会引发关注?

The core of claude-code-from-scratch is a simplified but faithful reproduction of the agent loop that powers Claude Code. The architecture can be broken down into four primary modules: 1. Agent Loop Orchestrator: A TypeS…

从“claude code open source alternative”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 2215,近一日增长约为 1162,这说明它在开源社区具有较强讨论度和扩散能力。