# study-agent **Repository Path**: liuguiting/study-agent ## Basic Information - **Project Name**: study-agent - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Agent 学习笔记 从零开始学习 AI Agent 开发的完整教程,包含理论笔记和可运行代码。 ## 目录结构 ``` 学习文件夹/ ├── config.py # API 配置模块 ├── .env.example # 配置模板(请复制为 .env 并填入密钥) ├── .env # 你的真实配置(不上传) │ ├── week1/ # Week 1: 大模型基础入门 │ ├── 01_hello_claude.py # Claude API 入门 │ ├── 01_hello_deepseek.py # DeepSeek API 入门 │ ├── 01_hello_openai.py # OpenAI API 入门 │ ├── 02_hello_chinese.py # 中文对话入门 │ ├── 02_multi_turn_chat.py # 多轮对话 │ ├── 03_stream_chat.py # 流式输出 │ ├── 04_params_tuning.py # 参数调优 │ ├── 04_english_agent.py # 英语学习 Agent │ └── vocabulary.py # 单词库 │ ├── week2/ # Week 2: Flask Web 开发 │ ├── 01_flask_hello/ # Flask 入门 │ ├── 02_stream_web/ # Web 流式输出 │ └── 03_english_agent_web/ # Web 版英语 Agent │ ├── week3/ # Week 3: Function Calling & RAG │ ├── 01_function_calling/ # Function Calling 入门 │ └── 02_rag/ # RAG 知识检索 │ ├── week4/ # Week 4: Agent 系统 │ ├── 01_agent_memory/ # Agent 记忆系统 │ ├── 02_multi_step_reasoning/ # 多步推理 Agent │ ├── 03_multi_agent/ # 多 Agent 协作 │ └── 04_workflow/ # Agent 工作流模式 │ └── Python语法速成指南.md # Python 基础教程 ``` ## 快速开始 ### 1. 克隆仓库 ```bash git clone https://gitee.com/liuguiting/study-agent.git cd study-agent ``` ### 2. 配置 API 密钥 ```bash # 复制配置模板 cp .env.example .env # 编辑 .env 文件,填入你的 API 密钥 ``` `.env` 文件内容: ``` API_KEY = "your-api-key-here" API_URL = "https://coding.dashscope.aliyuncs.com/v1/chat/completions" API_MODEL = "glm-5" ``` ### 3. 运行示例 ```bash # Week 1 基础入门 python week1/02_hello_chinese.py # Week 2 Web 开发 cd week2/01_flask_hello python app.py # Week 3 Function Calling cd week3/01_function_calling python app.py # Week 4 Agent 系统 cd week4/01_agent_memory python app.py ``` ## 学习路线 ### Week 1: 大模型基础入门 | 天数 | 主题 | 核心知识点 | |-----|------|-----------| | Day 1 | API 入门 | 如何调用各大模型的 API | | Day 2 | 多轮对话 | messages 数组的使用 | | Day 3 | 流式输出 | stream=True,边思考边输出 | | Day 4 | 参数调优 | temperature、max_tokens | | Day 5 | 实战 Agent | 英语单词学习助手 | **关键概念:** - API 调用 = 发 HTTP 请求 + 解析 JSON 响应 - 多轮对话 = 每次 API 调用带上完整对话历史 - 流式输出 = 一块一块接收,不用等 AI 憋完一大段 ### Week 2: Flask Web 开发 | 天数 | 主题 | 核心知识点 | |-----|------|-----------| | Day 1 | Flask 入门 | 路由、模板、静态文件 | | Day 2 | Web 流式 | SSE 事件流 | | Day 3 | Agent Web | 把 Agent 包装成网页 | **关键概念:** - Flask = 最简单的 Python Web 框架 - 前后端分离 = JavaScript 发请求,Python 返回 JSON - SSE = Server-Sent Events,服务端主动推送 ### Week 3: Function Calling & RAG | 天数 | 主题 | 核心知识点 | |-----|------|-----------| | Day 1-2 | Function Calling | 让 AI 自动调用函数 | | Day 3 | RAG 入门 | 检索增强生成 | | Day 3 | RAG 实战 | Embedding 向量检索 | **关键概念:** - Function Calling = 告诉 AI 有哪些工具可用,AI 决定什么时候调用 - RAG = Retrieval-Augmented Generation,先检索再生成 - Embedding = 把文字转成向量,相似度搜索更准确 ### Week 4: Agent 系统 | 天数 | 主题 | 核心知识点 | |-----|------|-----------| | Day 1 | Agent 记忆 | 短期记忆 + 长期记忆 | | Day 2 | 多步推理 | Chain of Thought | | Day 3 | 多 Agent 协作 | 流水线模式 | | Day 4 | 工作流模式 | 路由、并行、评估-优化循环 | **关键概念:** - 记忆系统 = 短期记忆(对话上下文)+ 长期记忆(持久化存储) - 多步推理 = 把复杂任务拆成多步,逐步解决 - 多 Agent 协作 = 不同 Agent 各司其职,流水线工作 - 工作流模式 = 路由(分支)、并行(同时)、循环(迭代改进) ## Agent 架构图 ``` ┌─────────────────────────────────────────────────┐ │ 用户请求 │ └─────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────┐ │ Orchestrator │ │ (协调者:规划任务) │ └─────────────────────────────────────────────────┘ ↓ ┌───────────────┼───────────────┐ ↓ ↓ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 研究员 │ → │ 写手 │ → │ 编辑 │ │(搜集资料)│ │(写内容) │ │(审核) │ └─────────┘ └─────────┘ └─────────┘ └───────────────┴───────────────┘ ↓ ┌─────────────────────────────────────────────────┐ │ 最终结果 │ └─────────────────────────────────────────────────┘ ``` ## 配置说明 ### config.py 模块 所有 Python 文件统一使用 `config` 模块导入配置: ```python import sys import os sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from config import API_KEY, API_URL, API_MODEL, get_headers # 使用示例 response = requests.post(API_URL, headers=get_headers(), json=payload) ``` ### 支持的 API 本项目兼容 OpenAI 格式的 API,支持: - 智谱 GLM - DeepSeek - 阿里云 DashScope - 其他兼容 OpenAI 格式的 API ## 常见问题 ### Q: 运行报错 `ModuleNotFoundError: No module named 'config'` A: 确保在项目根目录创建了 `.env` 文件,并正确填写了 API 密钥。 ### Q: API 调用失败 A: 检查以下几点: 1. `.env` 文件中的 `API_KEY` 是否正确 2. `API_URL` 是否正确 3. 网络是否能访问 API 服务 ### Q: 如何切换不同的模型? A: 修改 `.env` 文件中的 `API_MODEL` 参数。 ## 学习建议 1. **循序渐进**:按 Week 1 → Week 4 的顺序学习 2. **动手实践**:每学完一个概念,运行对应代码 3. **修改代码**:尝试修改参数,观察效果变化 4. **举一反三**:用自己的需求替换示例任务 ## 资源链接 - [智谱 AI 开放平台](https://open.bigmodel.cn/) - [DeepSeek API](https://platform.deepseek.com/) - [OpenAI API 文档](https://platform.openai.com/docs) - [Anthropic Claude API](https://docs.anthropic.com/) ## 致谢 本项目学习过程中参考了: - Anthropic 的 Agent 架构设计文档 - OpenAI 的 Function Calling 文档 - 各种开源 Agent 项目 --- **Happy Learning! 🎉** 如有问题,欢迎在 Gitee 上提出 Issue。