Add multi-platform learning guide and update README

This commit is contained in:
zy187
2026-05-29 23:24:38 +08:00
parent 05bb511aab
commit ef876a22d1
2 changed files with 395 additions and 76 deletions
+282
View File
@@ -0,0 +1,282 @@
# JasperSoft Agent Learn - 多平台学习指南
> 专为多平台分发设计的学习资料包 | 包含完整理论 + 代码 + 练习
---
## 📚 项目简介
**JasperSoft Agent Learn** 是一个面向 AI Agent 开发的学习项目,通过循序渐进的方式带你掌握 AI Agent 的核心概念。
### 核心模块
| 模块 | 内容 | 难度 |
|------|------|------|
| Step 01 | Tool - 工具系统 | ⭐ 基础 |
| Step 02 | State - 状态管理 | ⭐ 基础 |
| Step 03 | Simple Agent - 简单 Agent | ⭐⭐ 入门 |
| Step 04 | Memory - 记忆系统 | ⭐⭐ 中级 |
| Step 05 | RAG - 知识检索 | ⭐⭐⭐ 进阶 |
| Step 06 | Self-Correction - 自我修正 | ⭐⭐⭐ 进阶 |
| Step 07 | Multi-Agent - 多 Agent 协作 | ⭐⭐⭐⭐ 高级 |
---
## 🎯 学习路径
```
第1周 → Step 01~03(工具、状态、简单 Agent
第2周 → Step 04(记忆系统)
第3周 → Step 05~07(进阶内容)
```
---
## 📦 文件结构说明
```
jaspersoft-agent-learn/
├── README.md # 你在这里!
├── LEARN_GUIDE.md # 学习指南(通用)
├── .env.example # 环境变量模板
├── step_01_tools/ # ★ Step 01: 工具系统
│ ├── README.md # 理论 + 架构图
│ ├── concept.py # 核心概念(详细注释)
│ ├── exercise.py # 练习题
│ ├── exercise_answer.py # 参考答案
│ └── main.py # 运行演示
├── step_02_state/ # ★ Step 02: 状态管理
│ ├── README.md
│ ├── concept.py
│ ├── exercise.py
│ ├── exercise_answer.py
│ └── main.py
├── step_03_simple_agent/ # ★ Step 03: 简单 Agent
│ ├── README.md
│ ├── concept.py
│ └── main.py
├── step_04_memory/ # ★ Step 04: 记忆系统
│ ├── README.md
│ └── concept.py
└── step_05_07_advanced/ # ★ Step 05-07: 进阶
├── README.md
└── concept.py
```
---
## 🚀 快速开始
### 1. 环境准备
```bash
# 克隆项目
git clone https://www.1415243231.top/gitea/panda/jaspersoft-agent-learn.git
cd jaspersoft-agent-learn
# 创建虚拟环境(Python 3.9+
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
.\venv\Scripts\activate # Windows
# 安装依赖
pip install python-dotenv openai
```
### 2. 配置环境变量
```bash
cp .env.example .env
# 编辑 .env,填入你的 API Key
```
### 3. 开始学习
```bash
# Step 01: 工具系统
cd step_01_tools
python main.py
# Step 02: 状态管理
cd ../step_02_state
python main.py
# Step 03: 简单 Agent
cd ../step_03_simple_agent
python main.py
```
---
## 📖 每个 Step 的学习方法
每个模块都包含:
| 文件 | 用途 | 学习顺序 |
|------|------|---------|
| `README.md` | 理论 + 架构图 | 1️⃣ 先读 |
| `concept.py` | 详细注释的代码 | 2️⃣ 再看 |
| `exercise.py` | 练习题 | 3️⃣ 自己做 |
| `exercise_answer.py` | 参考答案 | 4️⃣ 对照 |
| `main.py` | 运行演示 | 5️⃣ 运行 |
---
## 🔧 代码设计特点
### 1. 渐进式复杂度
```
Step 01: 工具 → 函数调用
Step 02: 状态 → 数据流
Step 03: 循环 → 自主决策
Step 04: 记忆 → 上下文
Step 05: RAG → 知识增强
Step 06: 修正 → 自我改进
Step 07: 协作 → 多Agent
```
### 2. 详细的代码注释
每个 `concept.py` 都包含:
- 为什么这样设计
- 核心概念解释
- 常见陷阱提醒
- 实际应用场景
### 3. 零依赖入门
- Step 01~03: 仅需 Python 标准库
- Step 04+: 只需 `python-dotenv`
- 无需 LangChain、LangGraph 等框架
---
## 💡 关键概念速查
### Tool(工具)
```python
# 工具的定义
class Tool:
name: str # 工具名称
description: str # 工具描述
parameters: dict # 参数定义
execute: Callable # 执行函数
```
### State(状态)
```python
# 状态管理
state = {
"messages": [...], # 对话历史
"context": {...}, # 上下文信息
"memory": [...], # 记忆
}
```
### AgentAgent
```python
# Agent 核心循环
while not done:
# 1. 思考 (Think)
thought = llm.think(state)
# 2. 行动 (Act)
action = llm.decide(thought)
result = tool.execute(action)
# 3. 观察 (Observe)
state.update(result)
```
---
## 📝 练习题示例
### Step 01 练习
```python
# 练习:创建一个计算器工具
# 1. 定义工具名称和描述
# 2. 实现加减乘除函数
# 3. 注册到工具注册表
# 4. 测试调用
def calculator_tool(operation: str, a: float, b: float) -> float:
"""计算器工具"""
# 你的代码
pass
```
### Step 02 练习
```python
# 练习:实现状态快照
# 1. 创建状态管理类
# 2. 实现状态保存/恢复
# 3. 添加状态版本追踪
class StateManager:
def save_snapshot(self, state):
# 你的代码
pass
```
---
## 🎓 学习目标
完成本项目后,你将掌握:
- [x] 理解 Tool 的定义和注册机制
- [x] 掌握 State 的设计模式
- [x] 能够构建简单的 Agent 循环
- [x] 实现多级记忆系统
- [x] 理解 RAG 架构
- [x] 掌握 Self-Correction 模式
- [x] 设计 Multi-Agent 协作系统
---
## 🔗 相关资源
### 内部项目
- **JasperSoft 主项目**: `D:\Idea Project\jaspersoft` - LangGraph 实现参考
- **日报系统**: `D:\Idea Project\daily_on_work` - 自动化工作流
### 外部资源
- [LangGraph 文档](https://langchain-ai.github.io/langgraph/)
- [RAG 最佳实践](https://www.pinecone.io/learn/rag/)
- [OpenAI Function Calling](https://platform.openai.com/docs/guides/function-calling)
---
## 🤝 贡献指南
欢迎提交 PR!贡献方式:
1. **发现 bug** → 提 Issue 或直接修
2. **添加练习?** → 在对应 Step 添加
3. **完善注释?** → 提 PR
4. **分享笔记?** → 在 Issue 区分享
---
## 📄 许可证
MIT License - 欢迎自由使用、修改和分发
---
**开始学习吧!** 🚀
> 提示:建议从 Step 01 开始,循序渐进。每个模块都有练习题,推荐先自己思考,再看答案。
+113 -76
View File
@@ -1,124 +1,161 @@
# Jaspersoft Learn - AI Agent 开发教学项目
# JasperSoft Agent Learn
> **目标**:手把手教你从零构建一个完整的 AI Agent 系统
> **教学方式**:代码即文档,每一行代码都有详细解释
> **前置知识**:Python 基础(2年经验足够)
> AI Agent 开发学习项目 | 从零到一掌握 Agent 核心概念
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/)
---
## 🎯 学习路径
## 🎯 这是什么?
本项目采用"渐进式构建"方式,从最简单的概念开始,逐步添加复杂度。
一个渐进式的 AI Agent 开发学习项目,通过 **7 个 Step** 带你从零掌握 AI Agent 的核心概念:
```
学习顺序:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 01 ──▶ Step 02 ──▶ Step 03 ──▶ Step 04 ──▶ Step 05 ──▶ Step 06 ──▶ Step 07
│ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼
Tool基础 State状态 简单Agent Memory RAG检索 自我修正 Multi-Agent
管理 记忆系统
```
| Step | 主题 | 你将学会 |
|------|------|---------|
| 01 | Tool 工具系统 | 如何定义和注册工具 |
| 02 | State 状态管理 | 如何管理 Agent 的状态 |
| 03 | Simple Agent | 如何构建 Agent 循环 |
| 04 | Memory 记忆 | 如何让 Agent 记住对话 |
| 05 | RAG 知识检索 | 如何让 Agent 查阅知识库 |
| 06 | Self-Correction | 如何让 Agent 自我修正 |
| 07 | Multi-Agent | 如何构建多 Agent 协作 |
---
## 📚 每个 Step 的内容
## 📚 学习大纲
| Step | 主题 | 核心概念 | 完成后你将理解 |
|------|------|---------|--------------|
| **01** | Tool 工具系统 | 什么是 Tool,为什么需要 Tool | 如何设计可扩展的工具系统 |
| **02** | State 状态管理 | 什么是 Agent State | 如何在 Agent 中传递信息 |
| **03** | 简单 Agent | LLM + Tool + Loop = Agent | Agent 的核心工作原理 |
| **04** | Memory 记忆 | 短期/长期/工作记忆 | 如何让 Agent "记住"上下文 |
| **05** | RAG 知识检索 | 检索增强生成 | 如何让 Agent 知道"私有知识" |
| **06** | Self-Correction | 自我修正循环 | 如何让 Agent 自动修复错误 |
| **07** | Multi-Agent | 多 Agent 协作 | 如何构建 Agent 团队 |
### 第 1 周:基础(Step 01-03
- Day 1-2: 理解 Tool 系统
- Day 3-4: 掌握 State 管理
- Day 5-7: 构建简单 Agent
### 第 2 周:进阶(Step 04-07
- Day 8-9: 多级记忆系统
- Day 10-11: RAG 与知识增强
- Day 12-13: 自我修正模式
- Day 14: 多 Agent 协作
---
## 🚀 快速开始
### 环境准备
### 1. 克隆项目
```bash
# 1. 创建虚拟环境
python -m venv venv
.\venv\Scripts\activate
# 2. 安装依赖
pip install langchain langchain-openai langchain-anthropic python-dotenv
# 3. 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的 API Key
git clone https://www.1415243231.top/gitea/panda/jaspersoft-agent-learn.git
cd jaspersoft-agent-learn
```
### 开始学习
### 2. 安装依赖
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windows
pip install python-dotenv
```
### 3. 开始学习
```bash
# Step 01: 理解 Tool
cd step_01_tools
python main.py
# Step 02: 理解 State
cd ../step_02_state
python main.py
# ...以此类推
```
---
## 📖 学习方法
### 每一步的结构
每个 Step 都包含:
```
step_XX_xxx/
├── README.md # 本步骤的概念讲解
├── concept.py # 核心概念代码(有详细注释
├── exercise.py # 练习题
├── exercise_answer.py # 练习答案(先自己思考再看
└── main.py # 运行的示例
step_XX_name/
├── README.md # 理论 + 架构图(先读)
├── concept.py # 详细注释代码(再看
├── exercise.py # 练习题(自己做)
├── exercise_answer.py # 参考答案(对照
└── main.py # 运行演示
```
### 如何使用本项目
---
1. **先读 README**:理解这个 Step 要学什么
2. **再看 concept.py**:跟着代码理解概念
3. **做 exercise.py**:巩固理解
4. **对照答案**:检查自己的理解
5. **运行 main.py**:看完整示例
## 💡 核心概念预览
### Tool(工具)
```python
class Tool:
name: str # 工具名称
description: str # 工具描述
execute: Callable # 执行函数
```
### State(状态)
```python
state = {
"messages": [...], # 对话历史
"context": {...}, # 上下文
"memory": [...], # 记忆
}
```
### Agent 循环
```python
while not done:
thought = think(state) # 思考
action = decide(thought) # 决策
result = execute(action) # 执行
observe(state, result) # 观察
```
---
## 🎓 最终目标
## 🎓 学习目标
完成所有 Step 后,你将能够:
完成本项目后,你将能够:
- [ ] 理解 Agent 的核心工作原理
- [ ] 设计可扩展的工具系统
- [ ] 实现状态管理和记忆系统
- [ ] 构建完整的 RAG 知识检索
- [ ] 实现 Agent 自我修正能力
- [ ] 设计多 Agent 协作系统
- [ ] 阅读并理解 jaspersoft 项目的源码
- ✅ 理解 Tool 的定义和注册机制
- ✅ 掌握 State 的设计模式
- ✅ 能够构建简单的 Agent 循环
- ✅ 实现多级记忆系统
- ✅ 理解 RAG 架构
- ✅ 掌握 Self-Correction 模式
- ✅ 设计 Multi-Agent 协作系统
---
## 🔗 参考资料
## 📝 项目结构
- [LangGraph 官方文档](https://langchain-ai.github.io/langgraph/)
- [LangChain Tool Calling](https://python.langchain.com/docs/how_to/tool_calling/)
- [Prompt Engineering Guide](https://www.promptingguide.ai/zh)
```
jaspersoft-agent-learn/
├── LEARN_GUIDE.md # 详细学习指南
├── README.md # 项目概览
├── .env.example # 环境变量模板
├── step_01_tools/ # 工具系统
├── step_02_state/ # 状态管理
├── step_03_simple_agent/ # 简单 Agent
├── step_04_memory/ # 记忆系统
└── step_05_07_advanced/ # RAG/修正/多Agent
```
---
## 📝 贡献指南
## 🔗 相关链接
发现错误或有改进建议?欢迎提交 PR!
- 📂 **详细学习指南**: [LEARN_GUIDE.md](./LEARN_GUIDE.md)
- 🏠 **主项目**: [JasperSoft](https://www.1415243231.top/gitea/panda/jaspersoft)
- 📊 **日报系统**: [Daily On Work](https://www.1415243231.top)
---
*本项目是学习用途,代码尽量写得清晰易懂,而非追求极致性能。*
## 🤝 参与贡献
欢迎提交 Issue 和 PR
---
## 📄 许可证
MIT License
---
**开始你的 AI Agent 学习之旅吧!** 🚀