📖 Day 15 学习页:总结、文档与延伸
Day 15:总结、文档与延伸
🎯 今日目标:收尾不写代码——整理知识体系、补齐项目文档、规划进阶路线。 这一天结束时,你手里应该有一个能部署、有测试、有文档的 Agent 项目, 和一张刻在脑子里的知识地图。
🛠 项目脚手架:project_day11_15/(开发都在这个目录里) | 📋 验收清单
⏱ 今日安排(约 2 小时)
| 时间 | 内容 | 方式 |
|---|---|---|
| 40min | 知识收束:15 天知识地图自测 | 复盘 |
| 50min | 项目文档:README + 架构图 + 使用示例 | 写作 |
| 30min | 进阶路线:Multi-Agent / 评测 / 安全 | 规划 |
📖 第一步:15 天知识地图(合上材料自测)
| 阶段 | 你掌握的能力 | 关键文件 |
|---|---|---|
| 阶段一 | asyncio 并发、Pydantic Schema、装饰器注册、生成器流式、Function Calling 全流程 | day01-05 / tutorial 01-03 |
| 阶段二 | 手写 ReAct、LangGraph 图模型、MCP 协议、记忆与 RAG、错误恢复 | day06-10 |
| 阶段三 | 分层服务架构、SSE 流式、pytest 测试、Docker 部署 | project_day11_15/ |
结业自查十问(答不上来的回对应学习页): ① 为什么 async 函数里不能用 time.sleep?② Pydantic 校验和安全过滤的区别? ③ Function Calling 的完整时序?④ ReAct 循环为什么必须有 max_steps? ⑤ LangGraph 的 Node/Edge/Conditional Edge 对应手写循环的哪些部分? ⑥ MCP 解决了 M×N 什么问题?⑦ 短期记忆为什么要裁剪、system 为什么不能裁? ⑧ 路径穿越怎么防?⑨ SSE 和 WebSocket 怎么选?⑩ 为什么测试要 monkeypatch 掉 LLM?
🛠 第二步:项目文档(交付清单的 Day 15 部分)
- README:项目是什么 / 截图或 GIF / 安装步骤(含 Key 配置)/ 运行方式 / 接口说明 / 已知限制
- 架构图:把 Day 11 的分层图画成正式版(可用 mermaid / draw.io / 截图)
- 示例:至少 3 条端到端示例(普通对话 / 工具调用 / 记忆多轮),贴请求和响应
- README 里的 Day 11-15 任务表更新为实际完成情况
🚀 第三步:进阶路线(Day 15 之后)
| 方向 | 内容 | 建议起点 |
|---|---|---|
| Multi-Agent | AutoGen / CrewAI 多 Agent 协作:规划者-执行者、辩论、角色分工 | 把本项目拆成'规划 Agent + 工具 Agent'两个角色 |
| Agent 评测 | 固定测试集 + 自动回归:工具选择对了吗?答案对了吗?成本多少? | 把 tests/ 思路扩展成几十条端到端用例 |
| Agent 安全 | Prompt 注入防护、工具沙箱、最小权限、审计日志 | 回顾 Day 12 路径穿越——再补一层输入过滤 |
| 生产化 | K8s 多副本(记忆换 Redis)、LangSmith/Langfuse 观测、灰度发布 | 把进程内 MemoryStore 换成 Redis 接口 |
| 保持学习 | 领域每周都在变——保持每周一篇论文/博客的阅读习惯 | Lilian Weng 博客 / 各框架 release note |
✅ 结业验收
- 交付清单 Day 11-15 全部打勾
- 项目 README 完整,新人照着 5 分钟能跑起来
- pytest 全绿、docker run 可用
- 合上材料能回答上面的十问
最后提醒:15 天是启动时间,不是终点。框架会过时,但 规划 → 工具调用 → 反思 → 迭代这个循环不会。把它刻在脑子里,任何新框架都不过是它的具象化。