一天介绍一个项目|从零手搓一个AGENT
今天介绍一个最近在 GitHub Trending 上爆火的开源项目——learn-claude-code,目前已经快 3 万星了。
项目地址:https://github.com/shareAI-lab/learn-claude-code
这个项目是干嘛的?
一句话概括:从零开始,手把手教你搓一个类似 Claude Code 的 AI Agent。
用过 Claude Code 的朋友应该都好奇过:它到底是怎么做到"你说一句话,它就能帮你改代码、跑命令、操作文件"的?这个项目就是来揭秘的。
作者的核心观点很直接——"Bash is all you need"。意思是,Agent 没有你想的那么复杂,本质就是一个循环:调 LLM → 拿到工具调用 → 执行 → 把结果喂回去 → 再调 LLM……如此反复。
用项目原话说:代理就是模型,代码只是支撑框架(harness)。
12 节课,从入门到能打
这个项目最牛的地方是它把学习路径拆成了 12 节循序渐进的课,每节课对应一个 Python 文件,跑起来就能看到效果。
第一阶段:搞懂基本循环(s01-s02)
这是最核心的部分。s01 教你写一个最简单的 Agent 循环——就是一个 while True,不断调 LLM,如果返回的是工具调用就执行,如果是普通文本就输出给用户。
s02 加入工具分发机制,把不同工具的处理函数注册到一个字典里,循环只管查字典调函数,加新工具完全不用改核心逻辑。
一句话总结:一个 while True 循环就是 Agent 的心脏。
第二阶段:让 Agent 不再瞎跑(s03-s06)
光有循环还不够,Agent 容易"跑偏"。这个阶段加了四个关键能力:
- s03 规划系统:让 Agent 先想好怎么做,再动手,不会东一榔头西一棒槌
- s04 子 Agent:复杂任务拆成小任务,每个子任务有独立的对话上下文,互不干扰
- s05 技能系统:把常用操作封装成"技能文件",Agent 可以按需加载
- s06 上下文压缩:聊久了上下文会爆,这节课教你用三层压缩策略(摘要层 + 核心记忆层 + 实时工作层)解决这个问题
第三阶段:跨会话记忆(s07-s08)
- s07 任务持久化:把任务存到文件系统里,关掉程序再打开,之前的任务还在
- s08 后台任务:用多线程让 Agent 可以同时干好几件事
第四阶段:团队作战(s09-s12)
这是进阶内容,教你搞多 Agent 协作:
- s09-s10:多个 Agent 之间怎么通信(用 JSONL 邮箱协议),怎么自动认领任务
- s11-s12:工作树隔离,每个 Agent 在独立目录里干活,互不干扰,最后合并
核心代码长啥样?
说了这么多,Agent 的核心骨架到底多简单?看这段代码就够了:
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})
就这么几行。调 LLM,拿到工具调用就执行,拿到文本就返回。这就是 Agent 的全部骨架。
怎么开始学?
动手只需要 5 步:
git clone https://github.com/shareAI-lab/learn-claude-code
cd learn-claude-code
pip install -r requirements.txt
cp .env.example .env # 填入你的 ANTHROPIC_API_KEY
python agents/s01_agent_loop.py # 从第一课开始跑
从 s01 开始,一节一节往后学,每节课都是一个独立可运行的 Python 文件。
另外项目还提供了一个 Next.js 做的可视化学习平台,可以在浏览器里看架构图和步进调试:
cd web && npm install && npm run dev
# 打开 http://localhost:3000
适合谁?
- 想搞明白 Agent 到底是怎么回事的开发者
- 用过 Claude Code 但好奇它内部原理的人
- 想自己从零搓一个 Agent 的实践派
- 刚入门 AI 应用开发,想找个靠谱教程的同学
最后
别光收藏,clone 下来跑一遍 s01,你会发现 Agent 真没那么神秘。
#AI项目实战##AI求职实录#