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 个课程后,你应能组装出一个功能完整的自主编码助手,或将这些模式应用于数据处理、网页自动化、机器人等领域。
快速入门检查清单
- 获取 Anthropic Claude API 密钥(或适配客户端以支持其他支持工具调用的 LLM)。
git clone https://github.com/shareAI-lab/learn-claude-code.git- 安装最小依赖(通常只需
anthropic和标准库)。 - 运行
python s01_agent_loop/code.py,查看最简单的循环如何运行。 - 依次进入
s02_…到s17_…文件夹,每次添加下一个机制。
以上所有细节均直接来自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- Dispatch
- Dispatch