一套从最小 Agent 循环开始,逐步加入工具、记忆、检索、规划、代码执行、多 Agent 协作和评估的双语实践课程。
本课程提供两个 README 入口:当前页面是中文入口,English README 是英文入口。两套目录都可以独立阅读和运行示例。
很多人第一次写 Agent,会把它理解成“会聊天的大模型”。真正进入工程场景后,问题很快出现:模型什么时候该调用工具?工具参数谁来校验?记忆该保存什么?检索结果怎么回填?规划失败后如何停止?多 Agent 协作又怎么避免互相放大错误?
这个课程的目标不是堆概念,而是让你一课一课把 Agent 的关键部件跑起来:
- 从一个能调用计算器的最小循环开始。
- 再加入多工具、记忆、RAG、规划和代码执行。
- 最后用多 Agent 审查和评估用例,把“能跑”推进到“可控、可复现、可验证”。
核心模型保持简单:
Agent = LLM + Tools + State + Loop + Limits
模型负责判断和生成,程序负责执行、校验、限制和记录。这个边界越清楚,Agent 越可靠。
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env在 .env 中填入 DEEPSEEK_API_KEY。
运行中文版:
cd zh
python agent_01.py运行英文版:
cd en
python agent_01.py课程入口:
最小工具调用
|
v
多工具选择
|
v
记忆与长期偏好
|
v
RAG 检索增强
|
v
规划-执行
|
v
代码执行
|
v
多 Agent 审查
|
v
评估与生产边界
每一课只增加一个新能力。建议节奏是:先运行代码,再读课程页,最后改一个小地方观察行为变化。
普通聊天机器人主要生成文本。Agent 多了一层可控行动循环:
用户输入
|
v
模型判断是否需要工具
|
+-- 不需要工具 --> 直接回答
|
+-- 需要工具 --> 程序校验参数
|
v
执行工具
|
v
工具结果写回上下文
|
v
模型基于结果继续回答
这也是本课程反复强调的工程边界:模型只提出请求,程序负责决定能不能执行、怎么执行、何时停止。
- 跑通
agent_01.py,理解最小工具调用循环。 - 打开课程地图,按顺序完成 9 节课。
- 每节课至少改一个输入、提示词或工具描述。
- 用
agent_08_eval_runner.py运行评估用例,观察改动是否破坏预期行为。 - 回到
reference/里的术语表和速查表,把概念连起来。
| 课次 | 中文标题 | English | 核心能力 |
|---|---|---|---|
| 1 | 第一个工具调用 Agent | First Tool-Calling Agent | 工具调用循环 |
| 2 | 多工具 Agent | Multi-Tool Agent | 工具选择 |
| 3 | 带记忆的 Agent | Agent With Memory | 长期记忆 |
| 4 | RAG 检索 Agent | RAG Retrieval Agent | 检索增强 |
| 5 | 计划-执行 Agent | Plan-and-Execute Agent | 规划与证据 |
| 6 | 代码执行 Agent | Code Execution Agent | 受限代码执行 |
| 7 | 多 Agent 协作 | Multi-Agent Review | 角色分工与审查 |
| 8 | Agent 评估 | Agent Evaluation | 可复现用例 |
| 9 | 生产级 Agent 边界 | Production Agent Boundaries | 日志、预算、边界 |
agent_learning/
├── README.md # 项目入口
├── requirements.txt # Python 依赖
├── .env.example # API key 模板
├── zh/ # 中文完整版本
│ ├── agent_*.py # 每课示例代码
│ ├── lessons/ # 中文课程页
│ ├── reference/ # 课程地图、术语表、速查表
│ ├── knowledge/ # RAG 示例知识库
│ └── eval_cases.jsonl # 中文评估用例
├── en/ # English edition
│ ├── agent_*.py
│ ├── lessons/
│ ├── reference/
│ ├── knowledge/
│ └── eval_cases.jsonl
└── docs/superpowers/ # 设计与实施记录
这个项目本身也适合沉淀成 Codex skill:它的 README 写法强调“先让读者知道为什么存在,再给可执行入口,最后给路线图和结构”。
本仓库对应的 README 写作方法已提炼为本地 skill:
readme-architect
适用场景:给课程、教程、库、应用、CLI、API、数据集、模板或内部工具重写 README,尤其是需要入口说明、快速开始、使用路径、项目结构和验证链接时。
- DeepSeek API Docs
- DeepSeek Chat Completion Reference
- OpenAI Cookbook
- learn-harness-engineering 的 README 结构启发了本项目 README 的组织方式。