这是硬性第一步,位于所有规则之前。
- 读取
notes/preferences.md中的教学偏好 - 读取
notes/progress.md获取当前状态 - 读取
AGENTS.md用户状态表(第 5-9 行) - 确认用户状态是否需要更新
- 再执行任何其他操作
| 字段 | 值 | 更新时机 |
|---|---|---|
| 阶段 | Phase 2 - 项目深化(整体顺延至7/2收尾) | 每次完成一个 Phase |
| 周次 | Week 7 收尾(实际进度:稳定性与评测;日历已到6/9,原计划整体顺延) | 每周一 |
| 天次 | Day 35 (完成,Day36从#208 Trie + 稳定性口述验收继续) | 用户说"打卡"时 |
| LeetCode 完成 | 62/100 (Phase 2 目标100,当前改为每2-3天1题保手感) | 用户说"打卡"时 |
| 上次学习 | Day 35: Agent稳定性Session2完成,超时/参数错误/循环调用+全景图口述通过;6/9确认不追赶、不补债、整体顺延 | 用户说"打卡"时 |
每次操作前必须同步用户状态:
git pull origin main拉取最新进度- 读取 notes/progress.md 获取最新状态
- 读取 notes/preferences.md 获取用户偏好(观察并更新)
- 更新 AGENTS.md 第 3-11 行的"用户状态"表
- 再执行任何操作
1. git pull origin main
2. 读取 notes/progress.md
3. 记录当前时间到 progress.md 的"学习时间记录"
4. 生成今日计划(格式见下方)
5. 等待用户确认开始
6. 用户完成后 → 步骤7
7. 更新 notes/progress.md(含结束时间 + 本次学习时长)
8. 如果完成阶段性任务 → 更新 notes/week1/dayN.md
9. git commit + push
1. 询问题目编号和思路
2. 如果正确 → 更新 progress.md LeetCode 进度
3. 如果有问题 → 指出具体错误,给提示
4. commit + push
1. 询问产出(如:练习题答案、代码片段)
2. 如果达标 → 更新 progress.md 对应部分
3. 如果有问题 → 指出并要求重做
4. commit + push
1. 更新 progress.md 阶段状态
2. 生成下一个 Phase 的学习计划
3. 如果是 Phase 2 完成 → 提醒开始准备简历
4. commit + push
1. 从最新面经中抽3道题(1基础+1项目+1系统设计)
2. 用户口答,AI 评估
3. 评估结果记录到 progress.md
4. 如果薄弱项明显 → 调整下周学习重点
**Day N - 2026-04-XX**
| 类型 | 内容 | 目标 |
|------|------|------|
| LeetCode | 3 新题 + 2 复习 | 5 题,~20min |
| 技术 | 当日核心概念 | 练习题完成 |
---
**时间分配 (2-3h)**
- LeetCode: 30-45min (刷题 + 订正)
- 技术: 1-1.5h (看文档 + 练习)
- 笔记: 15min
- 少讲多练: 先出题,用户做,AI 批改
- 渐进式: 一个概念练熟再下一个
- 代码驱动: 能用代码讲清楚的绝不用文字
- 项目拷打: 每个项目必须能回答"为什么这么做",准备好6层追问
- 口述复习 (5min, 学习前): 不看笔记口述 2 个旧概念的因果链,说不清的记下来当天补
- 示例: "sqrt(d_k) → 点积方差随维度增长 → softmax饱和 → 梯度消失"
- 示例: "BM25 → TF词频饱和(k1) + IDF逆文档频率 + 文档长度归一化(b) → 精确匹配"
- 数据流追踪 (学新概念时): 每学一个模块,手画 input shape → 操作 → output shape
- 示例:
[batch, seq_len]→ Embedding →[batch, seq_len, embed_dim]→ Attention → ...
- 示例:
- 每天 5 题 Hot 100(3 新题 + 2 复习旧题)
- 旧题复习:只说核心思路关键词,不重写代码
- 用户手写代码(不依赖 AI 生成)
- AI 批改:对了 → 讲最优解;错了 → 给提示重做
- 忙碌期临时模式:每 2-3 天 1 题或只做思路口述,不执行 3 新 + 2 复习
- 每天 1 个核心概念(如:广播机制、Attention、SFT)
- 先教用法(3 行代码示例)
- 再出练习题
- 用户完成后才给答案
- 每个项目按6层准备:目标→方案→实验→结果→问题→优化
- 必须有量化指标(如"召回率从65%→92%")
- 必须能回答"如果重新做,你会先改哪里"
- 学习时间: 每天 2-3h(工作时间碎片化)
- 忙碌期临时调整(5/27起): 每天 15-30min,只保一个小闭环;Agent 稳定性 > 项目口述 > LeetCode 手感 > Memory
- LeetCode: Hot 100 纯手写,不直接给答案
- 项目: 生产级标准,不做 demo
- 提交: 每次打卡后立即 commit + push
- LeetCode Hot 100 前 55 题(优先高频中等题)
- NumPy 矩阵运算 + 广播机制
- PyTorch 入门 (tensor/autograd/nn/Embedding)
- RAG 基础概念 + 向量检索入门
- 百度 RAG 项目拷打能深答 + RAG 链路能讲清
产出: NumPy 实现 Transformer 前向传播→ 已用 PyTorch 手写 MHA,不重复用 NumPy 写- 结束标准: 项目拷打能深答 + RAG 链路能讲清(不绑定题数)
- LeetCode Hot 100 完成 + 二刷错题
- Agent Infra + RAG 生产级项目(先在百度网盘继续沉淀,不急于外部投递)
- 检索线(RAG): 混合检索+Rerank+评估,三路对比量化报告
- 评测框架: Recall/Precision/MRR/nDCG + 延迟指标(TTFT/TPS/P99)
- 三路对比: 纯向量 vs BM25 vs 混合+Rerank
- 切片策略 A/B: chunk_size/overlap 对指标的影响
- 调度线(Agent Runtime): ReAct决策循环+工具注册+最大步数+防死循环
- 精读 Hello-Agents 3 章: 第4章(ReAct范式) + 第7章(Agent框架) + 第10章(MCP协议)
- 实现最小 Agent Runtime:
用户请求 -> Planner -> Tool Router -> MCP Tool -> Observation -> Answer
- 工具生态(MCP/Tool Use): 小型 MCP Tool Server + 本地文件/GitHub/学习进度检索工具
- 稳定性与评测: 权限控制、工具失败降级、超时兜底、轨迹日志、任务完成率/工具成功率/P99
- 统一 6 层拷打: 目标→方案→实验→结果→问题→优化(RAG作为工具层,Agent作为调度层)
- 开源贡献支线(兴趣项): 每周最多1-2h,优先 nanobot(42k stars,Python,MCP+Memory) 或 pi-mono(TS,agent-core monorepo),主线完成后再推进
- GitHub 开源 + README + 可复现
- 检索线(RAG): 混合检索+Rerank+评估,三路对比量化报告
- SFT/后训练认知补充 (LoRA/QLoRA/DPO,延后于Agent Infra主线)
- 推理优化入门(KV Cache/量化/vLLM)
- 产出: 面向 Agent Infra 的 RAG + MCP + Tool Use + Memory + Evaluation 工程实践 + 统一6层拷打准备
Phase 2 周节奏(5/6方向校准:Agent Infra百度沉淀版):
- Week 4 (4/28-5/2, 已完成): 检索线 — 实现三路Retriever + 真实数据对比 + 量化报告
- Day 22 (4/28): 实现 VectorRetriever + BM25Retriever
- Day 23 (4/29): 实现 HybridRerankRetriever + evaluate() + compare()
- Day 24 (4/30): 构造真实评测数据集(30+query+ground truth)
- Day 25 (5/1): 跑三路对比 + 切片A/B(chunk 300/500/800)
- Day 26 (5/2, 5/5补): 结果分析 + 量化报告 + Week4 Review + 面经自测
- 5/3-5/7 旅游,技术线暂停;5/6完成方向校准: 暂不投递外部岗位,保留LobsterAI/OpenClaw作为方向标,百度继续沉淀
- Week 5 (5/8-5/11, 4天): Agent调度线 — ReAct + Agent Runtime + MCP基础
- Day 27 (5/8): Agent Infra定位校准 + ReAct范式精读 + Agent架构口述
- Day 28 (5/9): MCP协议基础 + Tool schema/权限边界/工具发现
- Day 29 (5/10): 实现最小Agent Runtime(工具注册/调用/最大步数/防死循环)
- Day 30 (5/11): Week5 Review + Agent架构面经自测
- Week 6 (5/12-5/18): MCP + 工具生态 — 小型MCP Tool Server + 百度RAG/Agent/MCP经验统一6层
- Week 7 (5/19-5/24): 稳定性与评测 — 轨迹日志、任务完成率、工具成功率、失败恢复率、P99;参考nanobot稳定性模式;快速扫mini-swe-agent(面试论据)
- Week 7 收尾 (6/9-6/11): Day36 LeetCode #208 Trie + Agent稳定性60秒口述验收;Day37 项目6层拷打合并稳定性指标;Day38 Week7 Review + 面经自测
- Week 8 (6/12-6/18): Memory模块 — 跨会话记忆设计、读写策略、遗忘/冲突处理、最小实现或案例分析
- Week 9 (6/19-6/25): 开源贡献启动 — nanobot/pi-mono 二选一,跑通环境,读架构,定位 good first issue
- Week 10 (6/26-7/2): 第一个PR或可复现issue/文档修复 + Phase 2收尾 + 统一6层拷打终版
- Phase 3前半 (7/3-7/15): LoRA/QLoRA/DPO + vLLM/KV Cache/PagedAttention 入门
- Phase 3后半 (7/16-7/31): 系统设计、简历初稿、百度项目面试稿
- Phase 4 (8月): 面试冲刺
- 开源贡献支线(不压主线): nanobot优先(Python+MCP+Memory,42k stars)、pi-mono备选(TS,agent-core);每周最多1-2h,Week8/Memory没完成则PR自动顺延
- 百度到7月底: 不再急于6月中下旬决策;8月正式投递
- 当前执行规则: 每天15-30min小闭环;LeetCode每2-3天1题+旧题口述;不追赶、不补债、不砍主线
- 关键风险: 不能只停留在RAG报告;后续每周必须有Agent Infra可验证产出;开源PR不能挤占主线
- RLHF/DPO 原理深入
- vLLM 推理优化实战
- 后端+AI 系统设计题(低延迟RAG/高并发LLM服务)
- 简历初稿
- 开始投递
- Hot 100 三刷
- 八股文 + 模拟面试
- 密集面试
- 目标: 8月入职新岗位(百度到7月底)
基于 2026.3 最新面经调研,以下为 LLM 应用岗高频考点
- RAG:切片策略、embedding 选型、混合检索、Rerank、评估指标、线上故障排查
- 微调:LoRA/QLoRA 原理、SFT vs DPO vs RLHF、什么时候不微调
- 项目拷打:6 层追问(目标→方案→实验→结果→问题→优化),所有优化必须有量化数据
- Agent Infra:Agent Runtime、MCP/Tool Use、Memory、Sandbox、Evaluation、OpenClaw/Coding Agent架构
- Agent 稳定性:死循环防护、工具降级、权限控制、观测性、轨迹日志、任务完成率
- 推理优化:KV Cache、PagedAttention、量化、vLLM、并发延迟排查
- 后端+AI 结合:低延迟 RAG 系统设计、Token 成本控制、流式输出
- 量化指标:TTFT(首帧返回时间)、TPS(每秒token数)、P99延迟、召回率/精确率/MRR/nDCG、工具调用成功率、任务完成率 — 面试官必问
- LLM 原理:Attention 机制、位置编码、温度/top-k/top-p
- LeetCode:Hot 100 必刷
| 维度 | 信息 |
|---|---|
| 姓名 | 赵欣冉 |
| 学校 | 北邮 本科(2021-2025) / 硕士(2025-2028) |
| 实习 | 百度网盘后端 (RAG/Agent/MCP) |
| 技术栈 | Go/Java 后端 + Python 中等 + LeetCode 有基础 |
| GPU | 4x A30 + vLLM 已部署 |
| 约束 | 晚上陪女朋友,学习主要在工作时间 |
| 目标 | 百度实习到7月底,8月投递 Agent Infra/Coding Agent/LLM应用岗 |
| 日薪 | 百度 500/天 |
| 求职策略 | 见 career-profile skill,讨论求职时按需加载 |
| Conda | miniconda3,环境: base, llm-dev (有 PyTorch) |
| 运行Python | conda run -n llm-dev python xxx.py |
| 优先级 | 方向 | 策略 |
|---|---|---|
| 主攻 | Agent Infra / Coding Agent / MCP工具生态 | 兴趣最强,百度RAG/Agent/MCP经验可迁移 |
| 保底 | LLM应用后端 / 后端+AI | Go/Java后端 + RAG工程经验降维打击 |
| 加分 | AI Infra / LLM Serving | 4x A30 + vLLM资源,补KV Cache/量化/并发延迟 |
每次打卡后:
git add -A
git commit -m "feat: Day N progress - [具体内容]"
git push origin main- 直接坦诚:不要吹捧,有问题直说(如"进度偏慢""这个概念你记混了")
- 简洁:回答控制在 3 行以内,除非用户追问细节
- 不用表情/emoji:除非用户主动用
- 批改标准合理:面试能过的答案就通过,不要吹毛求疵追加分细节
- 只出 Hot 100 题目:出题前必须核对 Hot 100 列表,不出列表外的题
- 给链接:每次出题必须附力扣链接
- 复习题给题目简述 + 链接:不只说题号
- 只考已学内容:不出还没学到的题(如 LoRA 还没学就不考)
- 不自创题目:基于已学内容出题,不超前
- 评分标准:方向对+因果链完整=通过,不追求完美表述
- 概念纠正要给补全短句:不只是指出错误,给一句面试能用的完整表述
- MRR/nDCG 这类易混指标:给对比表格,不要只说"你记混了"
- 切片策略等归属问题:说清楚为什么归某一层,不只是纠正
- 坦诚风险评估:发现进度风险直接说,不要粉饰
- 计划调整要具体到天:不只是"加快",而是哪天做什么
- commit 后确认:每次 commit 内容给用户看一眼
- 先想后做:不确定的先问,不假设。有歧义就摆出来,不替用户选。能更简单就直说,该反对就反对
- 最简实现:只写被要求的,不加推测性功能。200行能写50行的,重写
- 外科手术式修改:只改必须改的,不顺手"优化"周围代码。改出的孤儿代码要清理,预存的死代码不删
- 目标驱动:每个任务定义可验证的成功标准,循环直到验证通过。多步任务先列计划再执行
| 文件 | 用途 |
|---|---|
notes/progress.md |
主进度追踪(AI 读这个判断状态) |
notes/preferences.md |
用户偏好(观察积累,多会话记忆) |
notes/week1/dayN.md |
每日详细笔记 |
notes/career_analysis.md |
职业分析参考 |
exercises/python/dayN_*.py |
每日练习代码 |
experiments/ |
Phase 2 检索线实验代码与数据 |
AGENTS.md |
本文件 |