最近刷到一个宝藏网站,叫 Learn Claude Code。名字看着挺像学习使用 Claude Code 的指南,但干的事却远比这要硬核——它要带你从零开始,手撸一个类似 Claude Code 的 AI 编程智能体。

别一听"智能体"就头大,这网站最骚的操作是:把复杂的 Agent 架构拆成了 12 个版本,代码从 84 行一路干到 694 行,每次只加一个机制,让你清清楚看到每一步解决了什么问题。

所有 Agent 的底层逻辑

网站上来就很直白地表示:所有 AI 编程 Agent,底层都是同一个循环

while True:
    response = client.messages.create(messages=messages, tools=tools)
    if response.stop_reason != "tool_use":
        break
    for tool_call in response.content:
        result = execute_tool(tool_call.name, tool_call.input)
        messages.append(result)

翻译成人话就是:

  1. 调模型(给指令)

  2. 执行工具(读写文件、跑命令)

  3. 回传结果(告诉模型干了啥)

  4. 继续迭代(直到任务干完)

就这?就这。剩下的全是围绕这个循环的各种优化和补丁。

重要提醒:虽然网站用的是 Python 示例,但底层原理是语言无关的。你完全可以用 Java、Go、TypeScript 等任何语言复刻。

用 Java 来写,核心循环大概是这样:

while (true) {
    MessageResponse response = client.messagesCreate(messages, tools);
    if (!"tool_use".equals(response.getStopReason())) {
        break;
    }
    for (ToolCall toolCall : response.getContent()) {
        ToolResult result = executeTool(toolCall.getName(), toolCall.getInput());
        messages.add(result);
    }
}

看,逻辑一模一样。Python、Java、Go……语言只是工具,Agent 的核心设计模式才是精髓。

渐进式学习路径

网站将这 12 个阶段(s01-s12)归纳为五个核心能力的进阶,看看一个成熟的 Agent 系统是如何一步步被做出来的:

L1 工具与执行(s01-s02)

Agent 能做什么?基础层:工具赋予模型与外部世界交互的能力。

s01 The Agent Loop(84 行)

最小可用的 Agent 内核仅仅需要:一个 while 循环 + 一个工具。

核心思想:只要给 Agent 一个 Bash 工具,它就能读写文件、跑命令、操作 Git。

s02 Tools(120 行)

循环不变,通过一套规范的注册机制,你可以像搭积木一样给 Agent 塞入各种工具函数,让它的能力边界随插件无限延伸。

核心思想:每个工具一个处理函数,干净的注册机制。

L2 规划与协调(s03-s05,s07)

如何组织工作?从简单的待办列表到跨 Agent 共享的依赖感知任务板。

s03 TodoWrite(176 行)

发现问题了——Agent 干着干着就不知道自己在干啥。

核心思想:先列步骤,再执行。没有计划的 Agent 就像无头苍蝇。

s04 Subagents(151 行)

子任务污染主对话上下文怎么办?

核心思想:子 Agent 用独立的 messages[],保持主对话干净。

s05 Skills(187 行)

不要把所有规则都塞进 System Prompt,会撑饱上下文。

核心思想:按需加载,只有在特定场景下才通过工具返回(tool_result)喂入知识。

s07 Tasks(207 行)

多个任务之间有依赖关系怎么搞?

核心思想:利用基于文件的任务图,Agent 开始理解任务间的先后顺序与并行逻辑,成为真正的项目协调者。

L3 内存管理(s06)

在上下文限制内保持记忆。压缩策略让 Agent 可以无限工作而不失去连贯性。

s06 Compact(205 行)

对话一长,Token 烧得肉疼。

核心思想:三层压缩策略让无限会话成为可能:

  1. 滑动窗口:丢弃最早的消息

  2. 摘要压缩:把历史对话压缩成摘要

  3. 选择性保留:只保留关键信息

L4 并发(s08)

非阻塞执行。后台线程和通知总线实现并行工作。

s08 Background Tasks(198 行)

有些操作很慢,Agent 不能干等着。

核心思想:后台线程 + 通知。后台运行慢操作,Agent 继续思考下一步。

L5 协作(s09-s12)

多 Agent 协作。团队、消息传递和能独立思考的自主队友。

s09 Agent Teams(348 行)

一个 Agent 干不完怎么办?

核心思想:持久队友 + 异步邮箱。

什么是持久队友(Persistent Teammates)?它们是长期存活、有身份意识的 Agent,通过基于文件的邮箱(JSONL 格式)异步通信,能够处理跨越单个执行周期的复杂任务委托。

s10 Team Protocols(419 行)

多个 Agent 怎么协商?

核心思想:共享通信规则。一套请求-响应模式驱动所有团队协商。

s11 Autonomous Agents(499 行)

每次都要主 Agent 分配任务太累。

核心思想:扫描看板,认领任务。队友自己扫描任务板并认领任务,无需主 Agent 逐个分配。

s12 Worktree + Task Isolation(694 行)

多个 Agent 在同一目录干活会打架。

核心思想:按目录隔离。每个 Agent 在自己的目录工作;任务管理目标,工作树管理目录,通过 ID 绑定。

总结

为什么推荐这个网站?

  1. 渐进式学习:从 84 行到 694 行,每一步都清晰可见。

  2. 问题驱动:先戳痛点再给解药,让你明白为什么需要这个机制。

  3. 可视化强:任务看板、进度条、状态流转,抽象概念具象化。

  4. 代码透明:每课改动列得明明白白,拒绝黑箱。

  5. 即刻上手:命令和测试用例直接给,看完就能跑。

  6. 原理通用:Python 示例但思想语言无关,Java/Go/TS 都能复刻。

学完这 12 课,你能理解 Claude Code 的设计思路,用任何语言自己动手写一个 AI 编程 Agent。

Spring Boot + LangChain4j 写 Java 版,或者 Go 写一个轻量版,核心模式都是一样的。

建议搭配 Guide 写的这几篇文章,对上面涉及到的很多概念有更详细的解读:

再推荐一个开源大模型项目: 《SpringAI 智能面试平台+RAG 知识库》 。

系统架构

地址: https://learn.shareai.run/zh/ 。

最后

从0到1!大模型(LLM)最全学习路线图,建议收藏!

想入门大模型(LLM)却不知道从哪开始? 我根据最新的技术栈和我自己的经历&理解,帮大家整理了一份LLM学习路线图,涵盖从理论基础到落地应用的全流程!拒绝焦虑,按图索骥~~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐