学习路线图
nanobot 学习路线图
本文档提供了一个可视化的学习路线,帮助你系统地掌握 nanobot 项目。
整体学习架构
graph TB
Start[开始学习] --> Layer1[第一层: 项目结构]
Layer1 --> Layer2[第二层: 核心概念]
Layer2 --> Layer3[第三层: Agent核心]
Layer3 --> Layer4[第四层: 工具系统]
Layer4 --> Layer5[第五层: 高级特性]
Layer5 --> Layer6[第六层: 多渠道]
Layer6 --> Layer7[第七层: 扩展开发]
Layer1 --> |基础| Doc01[01-项目结构与架构]
Layer1 --> |基础| Doc02[02-CLI命令入口]
Layer2 --> |初级| Doc03[03-配置系统]
Layer2 --> |初级| Doc04[04-消息总线]
Layer3 --> |中级| Doc05[05-Agent核心循环]
Layer3 --> |中级| Doc06[06-上下文构建]
Layer3 --> |中级| Doc07[07-会话管理]
Layer4 --> |中级| Doc08[08-工具系统架构]
Layer4 --> |中级| Doc09[09-内置工具详解]
Layer5 --> |高级| Doc10[10-技能系统]
Layer5 --> |高级| Doc11[11-子代理系统]
Layer5 --> |高级| Doc12[12-记忆系统]
Layer6 --> |高级| Doc13[13-渠道管理]
Layer6 --> |高级| Doc14[14-定时任务]
Layer6 --> |高级| Doc15[15-心跳机制]
Layer7 --> |专家| Doc16[16-开发自定义工具]
Layer7 --> |专家| Doc17[17-开发自定义技能]
Layer7 --> |专家| Doc18[18-代码对比分析]
style Start fill:#e1f5ff
style Layer1 fill:#fff4e1
style Layer2 fill:#e8f5e9
style Layer3 fill:#fff3e0
style Layer4 fill:#f3e5f5
style Layer5 fill:#e3f2fd
style Layer6 fill:#fce4ec
style Layer7 fill:#e0f2f1
知识依赖图
graph LR
A[项目结构] --> B[CLI命令]
A --> C[配置系统]
B --> D[消息总线]
C --> E[Agent核心]
D --> E
E --> F[上下文构建]
E --> G[会话管理]
E --> H[工具系统]
F --> I[记忆系统]
F --> J[技能系统]
H --> K[子代理]
H --> L[内置工具]
D --> M[渠道管理]
M --> N[定时任务]
M --> O[心跳机制]
H --> P[开发工具]
J --> Q[开发技能]
style A fill:#ffeb3b
style E fill:#f44336
style H fill:#2196f3
style J fill:#4caf50
学习路径选择
路径 A:快速上手(推荐新手)
journey
title 快速上手路径 (2-3小时)
section 第一步
阅读项目结构: 5: 学习者
理解架构设计: 3: 学习者
section 第二步
学习CLI命令: 4: 学习者
运行示例: 5: 学习者
section 第三步
研究Agent核心: 3: 学习者
理解ReAct循环: 2: 学习者
section 第四步
了解工具系统: 4: 学习者
尝试自定义工具: 3: 学习者
学习文档顺序:
00-学习指南总览.md- 了解整体01-项目结构与架构.md- 熟悉结构02-CLI命令入口.md- 掌握使用方式05-Agent核心循环.md- 理解核心机制08-工具系统架构.md- 了解扩展方式
路径 B:系统学习(推荐研究者)
gantt
title 系统学习计划 (1-2天)
dateFormat HH:mm
axisFormat %H:%M
section 第一天上午
项目结构与架构 :a1, 00:00, 1h
CLI命令入口 :a2, after a1, 1h
配置系统 :a3, after a2, 1h
section 第一天下午
消息总线 :b1, 03:00, 1h
Agent核心循环 :b2, after b1, 2h
section 第一天晚上
上下文构建 :c1, 06:00, 1h
会话管理 :c2, after c1, 1h
section 第二天上午
工具系统架构 :d1, 08:00, 1.5h
内置工具详解 :d2, after d1, 1.5h
section 第二天下午
技能系统 :e1, 11:00, 1h
子代理系统 :e2, after e1, 1h
记忆系统 :e3, after e2, 1h
section 第二天晚上
渠道管理 :f1, 14:00, 1h
总结与实践 :f2, after f1, 2h
学习顺序:文档 00 → 01 → 02 → … → 15
路径 C:扩展开发(推荐开发者)
stateDiagram-v2
[*] --> 基础学习
基础学习 --> 核心理解: 文档01-04
核心理解 --> 实践探索: 文档05-09
实践探索 --> 开发工具: 需要新功能
实践探索 --> 开发技能: 需要新能力
开发工具 --> 工具系统架构: 文档08
工具系统架构 --> 开发自定义工具: 文档16
开发自定义工具 --> 测试验证
开发技能 --> 技能系统: 文档10
技能系统 --> 开发自定义技能: 文档17
开发自定义技能 --> 测试验证
测试验证 --> 生产部署
生产部署 --> [*]
重点文档:
01-项目结构与架构.md05-Agent核心循环.md08-工具系统架构.md10-技能系统.md16-开发自定义工具.md17-开发自定义技能.md
核心概念依赖关系
graph TD
subgraph 基础层
A1[配置加载]
A2[路径管理]
end
subgraph 通信层
B1[消息总线]
B2[事件定义]
B3[渠道接口]
end
subgraph 核心层
C1[AgentLoop]
C2[ContextBuilder]
C3[SessionManager]
C4[ToolRegistry]
end
subgraph 扩展层
D1[Skills]
D2[Subagent]
D3[Memory]
end
subgraph 工具层
E1[文件工具]
E2[Shell工具]
E3[Web工具]
E4[消息工具]
end
A1 --> C1
A2 --> C2
B1 --> C1
B2 --> B3
B3 --> C1
C2 --> C1
C3 --> C1
C4 --> C1
C2 --> D1
C2 --> D3
C1 --> D2
C4 --> E1
C4 --> E2
C4 --> E3
C4 --> E4
E4 --> B1
D2 --> B1
难度等级说明
| 级别 | 说明 | 预计时间 | 适合人群 |
|---|---|---|---|
| 🟢 新手 | 基础概念,无需编程背景 | 30分钟 | 所有人 |
| 🔵 初级 | 需要基础Python知识 | 1小时 | Python初学者 |
| 🟡 中级 | 需要异步编程概念 | 2小时 | 有经验的开发者 |
| 🟠 高级 | 需要架构设计经验 | 3小时 | 资深开发者 |
| 🔴 专家 | 需要深入的技术理解 | 4+小时 | 专家级开发者 |
各文档难度标注
graph LR
subgraph 🟢 新手级
D00[00-总览]
D01[01-项目结构]
end
subgraph 🔵 初级
D02[02-CLI命令]
D03[03-配置系统]
D04[04-消息总线]
end
subgraph 🟡 中级
D05[05-Agent核心]
D06[06-上下文构建]
D07[07-会话管理]
D08[08-工具系统]
D09[09-内置工具]
end
subgraph 🟠 高级
D10[10-技能系统]
D11[11-子代理]
D12[12-记忆系统]
D13[13-渠道管理]
D14[14-定时任务]
D15[15-心跳机制]
end
subgraph 🔴 专家级
D16[16-开发工具]
D17[17-开发技能]
D18[18-代码对比]
end
实践检查点
检查点 1:基础理解 ✓
完成文档 00-04 后,你应该能够:
- 解释 nanobot 的整体架构
- 运行基本的 CLI 命令
- 修改配置文件
- 理解消息总线的作用
检查点 2:核心掌握 ✓
完成文档 05-09 后,你应该能够:
- 解释 ReAct 循环的工作原理
- 理解上下文是如何构建的
- 知道会话如何持久化
- 能够创建简单的自定义工具
检查点 3:高级应用 ✓
完成文档 10-15 后,你应该能够:
- 创建自己的技能包
- 使用子代理处理后台任务
- 配置多个聊天渠道
- 设置定时任务
检查点 4:专家级 ✓
完成文档 16-18 后,你应该能够:
- 独立开发复杂的工具
- 设计完整的技能系统
- 理解 nanobot vs Clawdbot 的权衡
- 为 nanobot 贡献代码
学习建议
📚 阅读策略
- 第一遍:快速浏览,了解大致内容
- 第二遍:仔细阅读,理解每个概念
- 第三遍:对照源码,验证理解
💻 实践方法
- 动手操作:每学一个概念就尝试运行相应代码
- 修改实验:改变参数,观察行为变化
- 调试追踪:使用 logger 和 debugger 追踪执行流程
🤝 寻求帮助
- 查看源码:最权威的答案在代码中
- 阅读测试:测试用例展示了使用方式
- 社区讨论:Discord / 微信群 / GitHub Issues
总估时
| 学习路径 | 总时长 | 覆盖内容 |
|---|---|---|
| 快速上手 | 2-3 小时 | 核心概念 + 基本使用 |
| 系统学习 | 1-2 天 | 所有概念 + 深入理解 |
| 扩展开发 | 3-5 天 | 深入源码 + 实践开发 |
下一步
选择最适合你的学习路径,开始你的 nanobot 学习之旅!
- 🚀 [快速上手] → 从
01-项目结构与架构.md开始 - 📖 [系统学习] → 按顺序阅读所有文档
- 🔧 [扩展开发] → 直接跳到
16-开发自定义工具.md
记住:最好的学习方式是边学边做!🎓