从 Hello World 到生产级 AI Agent,8 个阶段 30+ 学习节点
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 1.1 | 框架总览 | docs/index.md |
— | 了解设计理念、与 FastAPI 的类比 |
| 1.2 | 安装与环境 | docs/install.md |
examples/setup.md |
uv 安装、API Key 配置 |
| 1.3 | Hello World:结构化提取 | docs/agent.md(前半部分) |
pydantic_model.py 32行 | 最简单的代理,文本 → Pydantic 模型 |
| 1.4 | 第一个工具调用 | docs/tools.md(基础部分) |
roulette_wheel.py 67行 | 理解 LLM 如何调用函数 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 2.1 | Agent 深入 | docs/agent.md |
weather_agent.py 105行 | 多工具链式调用、system prompt |
| 2.2 | 依赖注入 | docs/dependencies.md |
bank_support.py 101行 | RunContext、deps_type、数据库连接注入 |
| 2.3 | 结构化输出 | docs/output.md |
bank_support.py | output_type、输出验证器、三种输出模式 |
| 2.4 | 工具进阶 | docs/tools.md + docs/tools-advanced.md |
sql_gen.py 180行 | 动态指令、工具错误处理、重试 |
| 2.5 | 消息历史 | docs/message-history.md |
chat_app.py 227行 | 对话持久化、序列化 |
| 2.6 | 重试机制 | docs/retries.md |
sql_gen.py | ModelRetry、验证 → 重试循环 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 3.1 | 文本流式输出 | docs/agent.md(流式部分) |
stream_markdown.py 77行 | run_stream()、Rich 渲染 |
| 3.2 | 结构化流式输出 | docs/output.md(流式部分) |
stream_whales.py 82行 | TypedDict 流式、实时表格更新 |
| 3.3 | Web 应用集成 | docs/web.md |
chat_app.py 227行 | FastAPI + SSE + 消息持久化 |
| 3.4 | Gradio UI | — | weather_agent_gradio.py 127行 | Gradio 集成、工具调用可视化 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 4.1 | SQL 生成 | — | sql_gen.py 180行 | 自然语言 → SQL、EXPLAIN 验证 |
| 4.2 | 数据分析 | — | data_analyst.py 107行 | DuckDB、HuggingFace 数据集、引用管理 |
| 4.3 | 嵌入与向量 | docs/embeddings.md |
rag.py 259行 | OpenAI embeddings、pgvector |
| 4.4 | RAG 完整实现 | — | rag.py 259行 | 文档分块、语义搜索、上下文增强 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 5.1 | 多代理模式 | docs/multi-agent-applications.md |
flight_booking.py 246行 | 代理委托、编程式交接、5 个复杂度级别 |
| 5.2 | 工具集管理 | docs/toolsets.md |
— | 组合、过滤、前缀、动态工具集 |
| 5.3 | 图状态机 | docs/graph.md + docs/graph/beta/ |
question_graph.py 173行 | BaseNode、End、状态持久化、Mermaid 可视化 |
| 5.4 | 延迟工具 | docs/deferred-tools.md |
— | 人工审批、外部执行 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 6.1 | 思考模式 | docs/thinking.md |
— | Anthropic/Google/OpenAI 思考过程 |
| 6.2 | MCP 集成 | docs/mcp/overview.md → client.md → server.md |
— | MCPServer、FastMCPToolset、构建 MCP 服务 |
| 6.3 | 内置工具 | docs/builtin-tools.md |
— | WebSearch、CodeExecution、ImageGeneration |
| 6.4 | 模型提供商 | docs/models/overview.md + 各厂商文档 |
— | 选型对比、特性差异、兼容服务 |
| 6.5 | 输入处理 | docs/input.md |
— | 图片、音频、视频、文件等多模态输入 |
| 6.6 | Direct API | docs/direct.md |
— | 绕过 Agent 直接调用模型 API |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 7.1 | 测试 | docs/testing.md |
— | TestModel、FunctionModel、override() |
| 7.2 | 评估框架 | docs/evals.md + evals/ 系列 |
evals/example_01~04 4个 | 数据集 → 评估器 → 单元测试 → 模型对比 |
| 7.3 | Logfire 可观测性 | docs/logfire.md |
— | OTel 追踪、工具调用、token 监控 |
| 7.4 | 持久化执行 | docs/durable_execution/ |
— | Temporal / Prefect / DBOS |
| 7.5 | CLI & Web UI | docs/cli.md + docs/web.md |
— | clai 命令行、浏览器聊天 |
| 序号 | 学习内容 | 文档 | 配套示例 | 要点 |
|---|---|---|---|---|
| 8.1 | 业务应用实战 | — | slack_lead_qualifier/ 6文件 | Slack Bot + FastAPI + Modal + DuckDuckGo |
| 8.2 | AG-UI 协议 | docs/ui/ag-ui.md |
ag_ui/ 6个示例 | 生成式UI、共享状态、人机交互 |
| 8.3 | Vercel AI 集成 | docs/ui/vercel-ai.md |
— | 前端 AI SDK 对接 |
| 8.4 | A2A 协议 | docs/a2a.md |
— | Agent-to-Agent 通信标准 |