每周推进计划 · AI Agent
Agent 学习每周推进计划
执行原则
每周只追一个主目标,但必须交付四样东西:
代码块TEXT · 1 行收起展开
1 篇高质量笔记 + 1 个可运行 demo + 1 组测试/验收 + 1 次复盘
不要把学习变成看资料。Agent 工程必须靠“实现 -> 失败 -> 复盘 -> 改进”推进。
12 周主计划
gantt
title AI Agent 12 周推进计划
dateFormat YYYY-MM-DD
section 基础闭环
W1 LLM API / Streaming :w1, 2026-07-05, 7d
W2 Prompt / Gateway :w2, after w1, 7d
section 执行能力
W3 Tool Calling :w3, after w2, 7d
W4 Tool Security / Audit :w4, after w3, 7d
section 知识与协议
W5 MCP Readonly Server :w5, after w4, 7d
W6 MCP + Tool Integration :w6, after w5, 7d
W7 Obsidian RAG Index :w7, after w6, 7d
W8 RAG Eval / Citation :w8, after w7, 7d
section Agent 化
W9 Workflow State Machine :w9, after w8, 7d
W10 Memory / Planner :w10, after w9, 7d
W11 Trace / Eval Runner :w11, after w10, 7d
W12 Demo / Deploy / README :w12, after w11, 7d
周计划表
| 周 | 主线 | 学什么 | 做什么 | 验收 |
|---|
| 1 | LLM API | messages、模型参数、streaming | /chat、/chat/stream | 连续 20 问稳定 |
| 2 | Prompt / Gateway | system prompt、版本、错误归一 | ModelGateway | 可切模型、可查 token |
| 3 | Tool Calling | schema、tool call、tool result | 3 个本地工具 | 参数错不执行 |
| 4 | Tool 安全 | 权限、白名单、审计、确认 | ToolExecutor | 危险操作被拦截 |
| 5 | MCP 基础 | client/server/tools/resources | 只读 Notes MCP | 能 list/search/read |
| 6 | MCP 工程化 | transport、错误、目录限制 | MCP + Spring API | 越权路径被拒绝 |
| 7 | RAG 索引 | Markdown parse、chunk、embedding | 索引 AI Agent 笔记 | 正确笔记进 top5 |
| 8 | RAG 质量 | hybrid search、引用、拒答 | 20 问 eval | 无资料时拒答 |
| 9 | Workflow | 状态机、最大步数、失败恢复 | 学习计划 Agent | trace 可复盘 |
| 10 | Memory | profile、event、reflection | 记忆写入/更新 | 不无限 append |
| 11 | Trace/Eval | trace event、judge、debug report | Eval runner | 改 prompt 可对比 |
| 12 | 产品化 | README、配置、部署、安全 | 最终演示 | 可运行、可讲清 |
每周固定节奏
flowchart TD
Mon["周一 定目标"] --> Tue["周二 学概念"]
Tue --> Wed["周三 写 demo"]
Wed --> Thu["周四 补边界"]
Thu --> Fri["周五 验收 eval"]
Fri --> Sat["周六 整理笔记"]
Sat --> Sun["周日 复盘计划"]
| 日 | 动作 | 禁止 |
|---|
| 周一 | 明确本周唯一主目标和验收 | 同时开多个大坑 |
| 周二 | 读文档、画流程图、列对象 | 只收藏链接 |
| 周三 | 写最小可运行链路 | 追求完美架构 |
| 周四 | 补权限、错误、日志 | 只跑 happy path |
| 周五 | 跑验收问题和失败样例 | 凭感觉说完成 |
| 周六 | 写笔记和图表 | 只写流水账 |
| 周日 | 复盘、删减、定下周 | 下周计划过大 |
每日记录模板
代码块MARKDOWN · 21 行收起展开
## 日期
### 今日目标
- 只写一个目标。
### 做出的东西
- 文件 / 接口 / demo / 图表。
### 关键理解
- 用自己的话解释一个概念。
### 失败和原因
- 哪一步失败;是概念、代码、工具、数据还是评测问题。
### 明天继续
- 一个最小下一步。
每周产出模板
代码块MARKDOWN · 17 行收起展开
# Week N - 主题
## 本周目标
## 架构/流程图
## 核心代码对象
| 对象 | 职责 | 输入 | 输出 |
|---|---|---|---|
## 验收结果
| Case | 结果 | 问题 |
|---|---|---|
## 下周风险
每周 Definition of Done
一周结束时,不按“看了多少资料”算完成,只按证据算完成。
| 证据 | 必须有 | 不合格表现 |
|---|
| 运行证据 | 一个能复现的命令、接口或脚本 | 只说“本地跑过” |
| 代码证据 | 至少一个核心对象或接口落地 | 只有笔记,没有实现 |
| 失败证据 | 至少一个失败样例和处理结果 | 只跑 happy path |
| 评测证据 | 固定 case、期望、实际结果 | 只凭感觉判断效果 |
| Trace 证据 | 输入、检索、模型、工具、输出可串起来 | 只保存最终回答 |
| 笔记证据 | 写清概念、对象、失败、验收 | 只摘抄资料 |
| 下周证据 | 一个最小下一步和一个要删掉的范围 | 下周继续开大坑 |
如果本周只有笔记,没有可运行产物,本周最多算 40 分;如果只有 demo,没有失败样例和复盘,最多算 60 分。
周末评分表
| 维度 | 0 分 | 1 分 | 2 分 |
|---|
| 主目标 | 目标频繁变化 | 目标明确但过大 | 目标单一且能交付 |
| Demo | 没有运行入口 | 能跑但依赖手工操作 | 命令/API 可复现 |
| 工程对象 | 只有概念 | 有类/表但职责不清 | 字段、输入、输出清楚 |
| 边界 | 无权限/超时/错误处理 | 只处理部分错误 | 有失败样例和降级 |
| Eval | 无固定 case | 有少量手工问题 | 有期望、实际、结论 |
| Trace | 只看终端输出 | 记录部分步骤 | 能复盘完整链路 |
| 笔记 | 流水账 | 有总结但缺证据 | 能指导下一次实现 |
总分解释:
| 分数 | 判断 | 下一步 |
|---|
| 0-5 | 本周主要是输入,没有形成工程产物 | 下周缩小到一个接口或一个工具 |
| 6-9 | 有进展,但闭环不完整 | 补失败样例、trace、eval |
| 10-12 | 可继续迭代 | 在同一切片上加边界或质量 |
| 13-14 | 高质量完成 | 进入下一周主题 |
滚动计划规则
flowchart TD
Review["周末复盘"] --> Score["评分"]
Score --> Done{"达标?"}
Done -->|yes| Next["进入下周"]
Done -->|partial| Patch["补缺口"]
Done -->|no| Cut["砍范围"]
Patch --> Next
Cut --> Retry["重做最小闭环"]
| 情况 | 处理 |
|---|
| 本周 demo 没跑通 | 下周不开新主题,先缩小到可运行链路 |
| 本周没有失败样例 | 下周第一天补失败 case |
| 本周 eval 缺失 | 下周不改 prompt/模型,先建立基线 |
| 本周范围过大 | 删除 50% 功能,只保留纵向切片 |
| 本周概念不清 | 回到 05-AI工程基础入门到精通 写对象表 |
| 本周源码看不懂 | 回到 06-21 找主循环、工具、上下文、trace |
学习方法矩阵
| 主题 | 正确学法 | 反模式 |
|---|
| Prompt | 用固定问题比较版本 | 收藏 prompt 模板 |
| Tool Calling | 先写 schema 和权限 | 让模型执行任意命令 |
| MCP | 先做只读 server | 一开始暴露写入/删除 |
| RAG | 用自己的笔记做数据集 | 只跑网上 demo |
| Workflow | 状态机控制步骤 | 让模型无限自循环 |
| Memory | 明确写入/更新/删除 | 什么都 append |
| Eval | 固定问题集回归 | 凭感觉判断效果 |
| Trace | 记录每一步证据 | 只保存最终答案 |
风险控制
| 风险 | 触发信号 | 处理 |
|---|
| 看太多不动手 | 两天没有 demo | 缩到一个接口 |
| 架构过大 | 画了很多模块但不能运行 | 砍到单链路 |
| RAG 质量差 | 找到资料但答不准 | 先看 chunk 和引用 |
| Agent 失控 | 多步循环停不下 | 加 max steps 和 stop reason |
| 记忆污染 | 旧错误反复影响答案 | 加 update/delete 和审计 |
| 评测缺失 | 改了不知道好坏 | 固定 20 个问题 |
Week 1 细化样例
| Day | 任务 | 产出 |
|---|
| Day 1 | 建 Spring Boot 项目,配置模型 key | /chat |
| Day 2 | 加 streaming | /chat/stream |
| Day 3 | 抽 ModelGateway | 统一模型接口 |
| Day 4 | 错误归一 | 超时/key 错/限流 |
| Day 5 | trace log | latency/token/prompt |
| Day 6 | 写笔记 | LLM API 工程化要点 |
| Day 7 | 复盘 | 下周 Tool Calling 计划 |
每周验收问题
- 本周跑通的最小闭环是什么?
- 哪个概念已经能用代码解释?
- 哪个模块现在仍然只有名词,没有实现?
- 哪个失败样例最有价值?
- 下周如果只能做一件事,应该做什么?
12 周结束标准
| 标准 | 必须达到 |
|---|
| 功能 | 能基于 Obsidian 回答,能调用工具,能生成学习任务 |
| 协议 | 至少有一个只读 MCP Server |
| 质量 | 有 20+ eval cases |
| 复盘 | 每次回答有 trace |
| 安全 | 工具有权限边界 |
| 展示 | README 能讲清架构、运行、限制 |
核心结论
每周都要把“我学了什么”变成“我做出了什么、怎么验证、失败怎么复盘”。