Learn Claude Code

WindowsmacOSLinux

自主能力来自模型。一个智能体产品 = 模型 + 框架。

在我们写任何代码之前,有一件事需要明确。

自主能力——感知、推理和行动的能力——来自模型训练,而不是外部代码编排。 但一个可用的智能体产品需要模型和框架两者。模型是驾驶员,框架是车身。这个仓库教你如何构建车身。

自主能力从何而来

每个智能体的核心是一个神经网络——一个Transformer、一个RNN、一个经过训练的函数——由对感知、推理和行动序列进行的数十亿次梯度更新塑造而成。自主能力从来不是由周围代码赋予的,而是在训练过程中学到的。

人类就是最初的证明。一个生物神经网络,经过数百万年的进化压力磨炼,通过感官感知世界,通过大脑推理,通过身体行动。当DeepMind、OpenAI或Anthropic说“智能体”时,他们指的是同样核心的东西:一个通过训练学会了行动的模型,加上使其能在特定环境中运行的框架。

历史记录毫不含糊:

每一个里程碑都指向同一个事实:自主能力——感知、推理和行动的能力——是训练出来的,不是编码出来的。 但每个智能体也需要一个环境来运作:雅达利模拟器、Dota 2客户端、星际争霸II引擎、IDE和终端。模型提供智能,环境提供行动空间。它们共同构成一个完整的智能体。

范围

这个仓库是一个从零到一的框架工程学习项目:它教你如何构建智能体模型周围的工作环境。为了保持学习路径清晰,一些生产机制被有意简化或省略:

这个仓库中的JSONL邮箱协议是一个教学实现,并非对任何特定生产内实现的声明。


渐进式课程

每节课增加一个框架机制。每个机制都有一个座右铭。

s01 “一个循环加Bash就足够了” —— 一个工具 + 一个循环 = 一个智能体

s02 “添加一个工具就是添加一个处理器” —— 循环保持不变;新工具注册到调度映射中

s03 “先设定边界,再授予自由” —— 检查哪些可以运行,哪些必须停止,哪些需要批准

s04 “在循环周围挂载钩子,永远不重写循环” —— 在不改变主循环的情况下添加扩展点

s05 “没有计划的智能体会随波逐流” —— 开始前列出步骤;完成率翻倍

s06 “大任务拆分成小块,每个子任务获得干净的上下文” —— 子智能体做旁路工作,只带回结果

s07 “按需加载知识,而不是预先加载” —— 先列出技能,只在需要时展开

s08 “上下文总会填满——要有腾出空间的方法” —— 多层压缩策略为你赢得无限会话

s09 “记住重要的,忘记不重要的” —— 三个子系统:选择、提取、整理

s10 “提示在运行时组装,而非硬编码” —— 基于部分的拼接,按需加载

s11 “错误不是终点,而是重试的起点” —— 当失败时,重试、腾出空间或走另一条路

s12 “大目标分解为小任务,有序,持久化到磁盘” —— 一个文件支持的任务图,为多智能体协调奠定基础

s13 “慢操作放到后台,智能体继续思考” —— 后台线程运行命令;通知在完成时注入

s14 “按计划触发,无需人工启动” —— 按时间自动触发任务

s15 “一个智能体太大——委托给队友” —— 持久化队友 + 异步邮箱

s16 “队员需要共享的通信规则” —— 使用固定的请求-回复格式进行协调

s17 “队员查看看板,自己认领工作” —— 没有领导者逐一分配;自我组织

s18 “每个在自己的目录中工作,互不干扰” —— 任务拥有目标,工作树拥有目录,通过ID绑定

s19 “能力不够?通过MCP接入更多” —— 将外部工具连接到同一个工具池

s20 “多种机制,一个循环” —— 之前的所有机制回归到一个完整的框架


学习路径

主线:行动 → 处理复杂工作 → 记忆和恢复 → 运行长时间任务 → 协作 → 扩展与组装。

SHARE

分享

分享这个开源项目。

教程

Learn Claude Code · 开源项目 · HeyBinyang