Java 21 重写版 learn-claude-code — 通过 12 个渐进式课程拆解 AI Coding Agent 的架构原理。
| 组件 | 技术 |
|---|---|
| 语言 | Java 21 |
| 构建 | Maven 多模块 |
| LLM 客户端 | OkHttp 4.x + Jackson(手动封装 Anthropic 兼容协议) |
| Web 后端 | Spring Boot 3.3 |
| Web 前端 | Vue 3 + Vite + TypeScript |
learn-claude-code-java/
├── agents-core/ # 核心模块:LLM 客户端 + 12 个 session
├── web-api/ # Spring Boot REST API
├── web-ui/ # Vue 3 前端学习平台
└── docs/zh/ # 中文文档
- Java 21+
- Maven 3.9+
- Node.js 18+(前端)
cp .env.example .env
# 编辑 .env,填入你的 DeepSeek API Key默认配置使用 DeepSeek:
ANTHROPIC_API_KEY=your-key-here
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
MODEL_ID=deepseek-chat# 编译
mvn compile
# 运行 S01(最基础的 agent loop)
mvn exec:java -pl agents-core -Dexec.mainClass="com.learn.agent.session.S01AgentLoop"
# 运行其他 session
mvn exec:java -pl agents-core -Dexec.mainClass="com.learn.agent.session.S02ToolUse"
mvn exec:java -pl agents-core -Dexec.mainClass="com.learn.agent.session.S03TodoWrite"
# ... 以此类推到 S12
# 运行综合版
mvn exec:java -pl agents-core -Dexec.mainClass="com.learn.agent.SFullAgent"# 启动后端 API(端口 8080)
mvn spring-boot:run -pl web-api
# 启动前端(另一个终端,端口 5173)
cd web-ui
npm install
npm run dev浏览器打开 http://localhost:5173
| # | Session | 核心机制 | 关键洞察 |
|---|---|---|---|
| 1 | Agent Loop | while(tool_use) 循环 | 整个 AI coding agent 的秘密就在这个模式里 |
| 2 | Tool Use | 多工具注册与分发 | 循环没变,只是加了工具 |
| 3 | TodoWrite | 任务追踪 + nag reminder | agent 能追踪自己的进度——我也能看到 |
| 4 | Subagent | 上下文隔离的子代理 | 进程隔离免费给你上下文隔离 |
| 5 | Skill Loading | 两层按需知识注入 | 别把所有东西塞进 system prompt,按需加载 |
| 6 | Context Compact | 三层压缩管线 | agent 能策略性遗忘,永远工作下去 |
| 7 | Task System | 持久化任务 + 依赖图 | 存活于压缩之外的状态——因为它在对话之外 |
| 8 | Background Tasks | 非阻塞后台执行 | 发射后不管——agent 不会阻塞等命令跑完 |
| 9 | Agent Teams | 多 agent 协作 | 能互相对话的队友 |
| 10 | Team Protocols | 关闭/审批协议 | 同一个 request_id 关联模式,两个领域 |
| 11 | Autonomous Agents | 空闲轮询 + 自动认领 | agent 自己找活干 |
| 12 | Worktree Isolation | Git worktree 隔离 | 按目录隔离,按 task ID 协调 |
| 提供商 | MODEL_ID | Base URL |
|---|---|---|
| DeepSeek | deepseek-chat | https://api.deepseek.com/anthropic |
| 智谱 GLM | glm-5 | https://open.bigmodel.cn/api/anthropic |
| MiniMax | MiniMax-M2.5 | https://api.minimaxi.com/anthropic |
| Kimi | kimi-k2.5 | https://api.moonshot.cn/anthropic |
| Anthropic | claude-sonnet-4-6 | https://api.anthropic.com |
MIT