shareAI-lab/learn-claude-code

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

Learn Claude Code – 构建 LLM 代理框架的实战课程

是什么 – 一个逐步指导你编写“框架”(外围代码)的教程,使大型语言模型(如 Anthropic 的 Claude)能够作为自主的编码助手运行。该仓库不训练模型;它教你如何为预训练的 LLM 提供工具、权限、上下文管理以及编排能力,使其在真实开发环境中安全且高效地运行。

为何重要 – 现代的“AI 代理”本质上是训练好的模型加上一个连接模型与世界的运行时(文件系统、shell、浏览器、API 等)。大多数公开项目聚焦于模型本身,而将框架视为事后补充。本仓库则反转这一视角,将框架视为核心工程问题,明确展示每个组件的实现方式。

如何工作 – 核心循环是一个简单的 REPL:

while True:
    response = client.messages.create(model=MODEL, system=SYSTEM,
                                      messages=messages, tools=TOOLS)
    messages.append({"role": "assistant", "content": response.content})
    tool_calls = [b for b in response.content if b.type == "tool_use"]
    if not tool_calls:
        break                     # 模型决定已完成
    results = []
    for call in tool_calls:
        out = TOOL_HANDLERS[call.name](**call.input)
        results.append({"type": "tool_result",
                        "tool_use_id": call.id,
                        "content": out})
    messages.append({"role": "user", "content": results})

模型决定何时调用工具;框架执行工具并将结果反馈回去。该仓库将此循环扩展为 17 个逐步进阶的课程,每个课程添加一个具体的框架功能:

课程 添加的功能 学习内容
s01 基础代理循环 + Bash 工具 最小可用代理
s02 工具注册与分发 添加任意工具
s03 权限系统 安全执行,审批
s04 钩子系统 可扩展的工具前后逻辑
s05 Todo-Write(规划) 模型驱动的任务规划
s06 子代理隔离 子任务的独立消息上下文
s07 技能加载 按需注入知识
s08 上下文压缩 保持令牌窗口在限制内
s09 内存子系统 跨会话的持久化知识
s10 磁盘支持的任务图 结构化、可恢复的工作列表
s11 后台任务 非阻塞的长时间运行命令
s12 定时调度器 基于时间的自动化
s13 代理团队 多代理协调,任务认领
s14 MCP 插件 将外部能力作为工具插件
s15 集成框架 之前所有机制整合到一个循环中
s16 工作流运行时 保存、可恢复的编排脚本
s17 目标循环 独立评估器决定代理何时停止

每个课程都提供一个可运行的小型 code.py 文件以及一个 README(英文、中文、日文),解释设计、展示实现并可视化流程。

适合谁使用

  • 框架工程师:已有 LLM API 访问权限,希望获得构建代理的生产级模式的人。
  • 开发者:希望将 Claude(或任何兼容 LLM)转变为能读写文件、运行 shell 命令、浏览网页或调用自定义 API 的编码助手的人。
  • 研究人员:寻找“模型 + 环境”范式清晰参考实现的人。

你能从仓库中获得什么

  • 一个完整、模块化的代码库,可直接复制到自己的项目中。
  • 清晰的责任分离:工具、权限、钩子、内存、任务调度和多代理协议均为独立模块。
  • 代理能力源于模型本身,而非巧妙的提示链,有助于避免脆弱的“鲁布·戈德堡”式代理陷阱。

总结Learn Claude Code 并非新 LLM,而是一套实用课程,教你构建任何 LLM 代理的载体,以 Claude 为参考模型。完成 17 个课程后,你应能组装出一个功能完整的自主编码助手,或将这些模式应用于数据处理、网页自动化、机器人等领域。


快速入门检查清单

  1. 获取 Anthropic Claude API 密钥(或适配客户端以支持其他支持工具调用的 LLM)。
  2. git clone https://github.com/shareAI-lab/learn-claude-code.git
  3. 安装最小依赖(通常只需 anthropic 和标准库)。
  4. 运行 python s01_agent_loop/code.py,查看最简单的循环如何运行。
  5. 依次进入 s02_…s17_… 文件夹,每次添加下一个机制。

以上所有细节均直接来自仓库的 README;未推断任何额外功能。

相关