From 3094fe152fff4eb79ce98f6fe9f9678870efbc4c Mon Sep 17 00:00:00 2001 From: Shikui Wang Date: Fri, 23 Oct 2026 10:55:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=BB=E7=BA=B2=E9=87=8D=E5=86=99=EF=BC=9AGo?= =?UTF-8?q?=20=E5=8E=8B=E7=BC=A9=E4=B8=BA=203=20=E5=91=A8=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B2=97=E4=BD=8D=E8=A6=81=E6=B1=82=E2=86=92?= =?UTF-8?q?=E5=BB=B6=E4=BC=B8=E6=8A=80=E6=9C=AF=E6=A0=88=E5=AF=B9=E7=85=A7?= =?UTF-8?q?=E3=80=81=E5=AD=A6=E5=8E=86=E5=BB=BA=E8=AE=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=A6=82=E5=AE=9E=E5=86=99=E6=9C=AC=E7=A7=91=E3=80=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=BF=9B=E5=BA=A6=E8=A1=A8=E5=92=8C=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plan/README.md | 457 ++++++++++++++++++++++++------------------------- 1 file changed, 222 insertions(+), 235 deletions(-) diff --git a/plan/README.md b/plan/README.md index f460914..2a6df74 100644 --- a/plan/README.md +++ b/plan/README.md @@ -1,10 +1,10 @@ # 转岗计划总纲:Python AI 应用 / Agent 开发为主,Go 全栈为辅(16 周) -这是整个计划的入口文件。换了电脑或者隔一段时间回来,先看这份文件的“进度记录”,再打开当前所在周的计划文件继续做。 +这是整个计划的入口文件。换了电脑或者隔一段时间回来,先看第 13 节“进度记录”,再打开当前所在周的计划文件继续做。 **状态**:未开始 / 进行中 / 已完成(   ) **开始日期**: -**当前所在周**: +**当前所在周 / 天**: --- @@ -12,9 +12,9 @@ ### 背景 -- 7 年 Web 前端(Vue / React),成人本科。 +- 7 年 Web 前端(Vue / React),本科。 - AI 写代码越来越多,“只会把页面写出来”的价值在下降,需要往“能设计、能交付、能讲清原理”的方向走。 -- 第 3 节的招聘调研显示:AI Agent 岗位的主语言是 **Python**,Go 多数只是加分项。所以本计划以 **Python + AI 应用**为求职主线,Go 全栈作为基础和加分项。 +- 第 4 节的招聘调研显示:AI Agent 岗位的主语言是 **Python**,Go 多数只是加分项。所以本计划以 **Python + AI 应用**为求职主线;Go 压缩到 3 周,做出一个完整的全栈项目作为基础和加分项。 ### 起点(已经具备,不用从零学) @@ -22,13 +22,13 @@ - 在公司里接触过真实的多 Agent 产品链路:意图识别 → 多角色研讨 → 总结 / 交付 / 过程报告。 - 踩过真实的生产问题:流式连接断开、模型额度不足、状态没有回写、数据库表结构和代码不一致、关掉页面后编排中断。 -这些经历是转岗最大的本钱,后面的计划会把它们整理成“案例卡”,并做成可以公开演示的项目。 +这些经历是转岗最大的本钱,后面会把它们整理成“案例卡”,并做成可以公开演示的项目(**全部脱敏**,见第 10 节)。 ### 目标岗位(按优先级) 1. AI Agent 开发 / 大模型应用开发工程师(应用侧) 2. AI 全栈工程师(前端 + Python 或 Go 后端 + 大模型集成) -3. 全栈工程师(前端 + Go 后端) +3. 全栈工程师(前端 + Go / Python 后端) ### 终点(4 条必须同时满足,才算这条路径走完) @@ -37,7 +37,7 @@ 3. **能举证**:2 到 3 个“问题 → 根因 → 方案”的案例,优先来自自己在工作中遇到的真实问题(脱敏后)。 4. **能对标岗位**:简历和面试条目写得像“应用侧 Agent 工程师 / AI 全栈工程师”,而不是“改过公司某个页面”。 -另外还有两个作品:项目一“团队任务看板”(Go 全栈)和项目二“RAG 知识库问答”(Python)。 +另外还有两个作品:项目一“团队任务看板”(Go 后端 + Vue 前端)和项目二“RAG 知识库问答”(Python 后端 + React 前端)。 任意一条没满足,都不要提前宣布“学完了”。 @@ -45,7 +45,7 @@ - 不以模型预训练、微调为主业。 - 不把公司业务代码开源,也不整仓搬进作品集。 -- 不深入 Kubernetes、微服务治理、运维巡检、多云部署(招聘里提到微服务时,能讲清概念和取舍即可)。 +- 不深入 Kubernetes、服务网格、多云部署(微服务、消息队列做到“能讲清概念和取舍、跑过最小示例”)。 --- @@ -53,24 +53,58 @@ | 用途 | 选择 | 说明 | | --- | --- | --- | -| **求职主语言** | **Python 3.12** | 第 6 周开始,AI 相关岗位的主要要求 | -| Python Web | FastAPI | 招聘里 FastAPI、Flask 都常见,会一个另一个很快 | -| Python 工具 | uv、ruff、pyright、pytest | | -| RAG | 手写主流程 + LangChain 对照;向量库 Chroma(默认),了解 Milvus、pgvector | 招聘里点名的向量库主要是 Milvus 和 Chroma | +| **求职主语言** | **Python 3.12** | 第 4 周开始,AI 岗位的主要要求 | +| Python 工具 | uv(主)、pip / poetry(会看)、ruff、pyright、pytest | | +| Python Web | FastAPI + Uvicorn | 招聘里 FastAPI、Flask 都常见,会一个另一个很快 | +| RAG | 手写主流程 + LangChain 对照;Chroma(默认),了解 Milvus、pgvector;BM25 混合检索、重排 | | | Agent 框架 | **LangGraph**(主),先手写一遍循环理解原理 | 招聘普遍要求 LangChain / LangGraph 实际经验 | | 工具与协议 | Function / Tool Calling、MCP | | | 低代码平台 | Dify 或 Coze(体验 1~2 天) | 能讲清和写代码的取舍 | -| 加分语言 | Go + Gin | 第 1~5 周,全栈基础 | -| 数据库 | PostgreSQL(主学)+ MySQL 差异速查;SQLite(Agent 项目演示) | 招聘里 MySQL 更多,SQL 大部分通用 | -| Go 数据访问 | sqlc + pgx,golang-migrate 管理迁移 | | -| 缓存 / 队列 | Redis(缓存、限流、会话记忆)、Redis Streams(消息队列入门),了解 RabbitMQ 概念 | | -| 前端 | React 或 Vue + TypeScript(你的强项) | | -| 部署 | Docker、Docker Compose、Nginx、Linux 服务器、CI | | +| 加分语言 | Go + Gin | 第 1~3 周 | +| 数据库 | PostgreSQL(主学)+ MySQL(差异、索引、事务、隔离级别);SQLite(Agent 项目演示) | 招聘里 MySQL 更多,SQL 大部分通用 | +| 缓存 / 队列 | Redis(缓存、限流、锁、会话记忆、Streams);RabbitMQ 动手、Kafka 概念 | | +| 前端 | Vue 3 + React 19 + TypeScript(你的强项),Vite、pnpm monorepo、Vitest | 第 7 周查漏补缺 | +| 部署 | Docker、Docker Compose、Nginx、Linux 服务器、CI/CD | | | AI 编程工具 | Cursor / Cursor CLI / Grok Build | 让 AI 写,你负责设计、审查、调试;简历里也写上 | --- -## 3. 岗位要求对照 +## 3. 十六周总路线 + +```text +第一段 Go 全栈基础(第 1~3 周) → 项目一:团队任务看板(Go + PostgreSQL + Redis + 队列 + Docker) +第二段 Python、RAG、前端(第 4~7 周) → 项目二:RAG 知识库问答(FastAPI + Chroma + Redis)+ 两个项目的前端 +第三段 Agent 主线(第 8~13 周) + 阶段0 盘点 + 阶段1 读通画图(第 8 周) + 阶段2 五个重点 A~E + 案例卡(第 9 周) + 阶段3 多 Agent 项目(第 10~13 周)★主交付 → 项目三 +第四段 后端补强、包装与求职(第 14~16 周) 阶段4 + 终点验收 + 投递 +``` + +| 周 | 主题 | 产出 | 计划文件 | +| --- | --- | --- | --- | +| 1 | Go 基础语法 + Gin 写 REST 接口(内存存储)+ 接前端 | `go-learning/`、`todo-api/` | `week01-go-gin.md` | +| 2 | PostgreSQL(兼顾 MySQL):表设计、索引、EXPLAIN、迁移、pgx、事务 + 注册登录 JWT | `todo-api/` 用上数据库和鉴权 | `week02-db-auth.md` | +| 3 | 项目一:看板权限、Redis 缓存 / 限流 / 锁、Redis Streams 队列、Docker + Nginx、CI | `task-board/` | `week03-project1.md` | +| 4 | Python 速成:uv、类型、pytest、asyncio、pydantic、httpx、FastAPI(依赖注入、中间件、鉴权、SSE) | `py-learning/` | `week04-python.md` | +| 5 | 项目二(上):手写 RAG——加载、切分、Chroma、检索、带引用生成、接口、流式 | `rag-qa/` 可用 | `week05-rag-1.md` | +| 6 | 项目二(下):评测、BM25 混合检索、重排、多轮记忆、Redis 缓存、LangChain 对照、Milvus / pgvector、部署 | `rag-qa/` 完成 | `week06-rag-2.md` | +| 7 | 前端工程化查漏:pnpm monorepo、TS、ESLint / Prettier、SSE、Vue 看板、React 问答、Vite vs Webpack、性能、SSR、Vitest、CI | `web/` | `week07-frontend.md` | +| 8 | 阶段 0 盘点 + 脱敏钩子 + 阶段 1 读通与画图 | `notes/00`、`notes/01`、`tools/` | `week08-inventory-architecture.md` | +| 9 | 阶段 2:五个重点 A~E 的小实验 + 案例卡 | `notes/cards/` | `week09-case-cards.md` | +| 10 | 项目三 M1:手写工具调用循环、手写多 Agent 循环、MCP 服务 | `agent-mini/`(手写版 + MCP) | `week10-agent-m1-tools-mcp.md` | +| 11 | 项目三 M2:LangGraph 多 Agent 编排、MCP 工具接入 | LangGraph 版跑通 | `week11-agent-m2-langgraph.md` | +| 12 | 项目三 M3:检查点续跑、interrupt 人机协作、后台作业 + 租约、SSE、长期记忆 | 可演示崩溃恢复 | `week12-agent-m3-persistence.md` | +| 13 | 项目三 M4:评测集、可观测性、文档和映射表、Docker + Dify / Coze 体验 | 项目三完成 | `week13-agent-m4-eval-lowcode.md` | +| 14 | 后端补强:RabbitMQ / Kafka、gRPC、Redis 和 MySQL 面试专题、全部项目部署、CI/CD、(可选)Go 网关 | `backend-extend/`、`deploy/` | `week14-backend-extend-deploy.md` | +| 15 | 阶段 4(上):作品集、简历、STAR 经历、口述稿 | `career/` | `week15-package-resume.md` | +| 16 | 阶段 4(下):面试笔记、模拟面试、终点验收、投递 | 开始投递 | `week16-interview.md` | + +精力不够时可以整体拉长,但顺序不要变,也不要跳过验收。 + +--- + +## 4. 岗位要求对照 ### 调研说明 @@ -79,183 +113,102 @@ ### 学历和经验 -- 学历:约 95% 的岗位写的是“本科”;只有 1 个要求统招硕士,1 个标注统招本科;没看到要求 985 / 211 的。 +- 学历:约 95% 的岗位写的是“本科”;有 1 个要求统招硕士,1 个标注统招本科;没看到要求 985 / 211 的。 - 经验:大多要求 3~5 年。 ### AI Agent 开发岗位(按出现频率从高到低) | 要求 | 本计划在哪一周覆盖 | | --- | --- | -| Python + FastAPI / Flask | 第 6 周(Python、FastAPI),第 7~8、11~14 周项目里持续用 | -| RAG + 向量数据库(Milvus / Chroma) | 第 7~8 周 项目二(Chroma 实现,Milvus / pgvector 对比和可选实现) | -| LangChain、LangGraph(要求实际项目经验) | 第 8 周第 5 天 LangChain 重写 RAG;第 12~14 周 LangGraph 多 Agent 项目 | -| LlamaIndex;Dify / Coze / RAGFlow / FastGPT | 第 8 周了解 LlamaIndex;第 14 周第 6~7 天动手搭 Dify 或 Coze,其余看文档 | -| Function / Tool Calling、MCP | 第 11 周(手写工具调用循环、写 MCP 服务) | -| Prompt / Context Engineering、Agent 评测 | 第 7 周(提示词、上下文拼接)、第 8 周(RAG 评测集)、第 12 周(提示词迭代)、第 14 周(Agent 评测集) | -| 工作流编排、Memory、多 Agent(加分项) | 第 12 周(LangGraph 编排)、第 8 周(短期记忆)、第 13 周(长期记忆、持久化、人机协作) | -| Docker、Linux、Git | 第 5 周(Docker、Compose、部署、CI),第 8、14、15 周部署 AI 项目;Git 全程 | -| AI 编程工具(Cursor / Claude Code) | 全程使用;第 11 周把自己的 MCP 服务接进 Cursor;简历里写清工作流 | -| Go / Java(加分项) | 第 1~5 周 Go | +| Python + FastAPI / Flask | 第 4 周;第 5~6、10~13 周项目里持续用 | +| RAG + 向量数据库(Milvus / Chroma) | 第 5~6 周 项目二(Chroma 实现,Milvus / pgvector 对照) | +| LangChain、LangGraph(要求实际项目经验) | 第 6 周 LangChain 对照实现;第 11~13 周 LangGraph 多 Agent 项目 | +| LlamaIndex;Dify / Coze / RAGFlow / FastGPT | 第 6 周了解 LlamaIndex;第 13 周第 6~7 天动手搭 Dify 或 Coze | +| Function / Tool Calling、MCP | 第 10 周(手写工具调用循环、写 MCP 服务),第 11 周接入 LangGraph | +| Prompt / Context Engineering、Agent 评测 | 第 5 周(提示词、上下文拼接)、第 6 周(RAG 评测)、第 11 周(调提示词)、第 13 周(Agent 评测、可观测性) | +| 工作流编排、Memory、多 Agent(加分项) | 第 11 周(编排)、第 6 周(短期记忆)、第 12 周(长期记忆、持久化、人机协作) | +| Docker、Linux、Git | 第 3 周(Docker、Compose、Nginx、CI),第 6、13、14 周部署;Git 全程 | +| AI 编程工具(Cursor / Claude Code) | 全程使用;第 10 周把自己的 MCP 服务接进 Cursor | +| Go / Java(加分项) | 第 1~3 周 Go;第 14 周可选 Go 网关 | ### Go 全栈岗位 | 要求 | 本计划在哪一周覆盖 | | --- | --- | -| 后端语言多为“Java / Go / Node / Python 任选其一”,很少只要 Go | Go(第 1~5 周)+ Python(第 6 周起),两门都能拿出项目 | -| React / Vue + TypeScript | 已有强项;第 2、4、7 周项目里的前端 | -| MySQL、Redis(PostgreSQL 只出现过一次) | 第 3 周数据库(附 MySQL 差异和练习)、第 5 周 Redis | -| 微服务、消息队列 | 第 5 周消息队列入门(Redis Streams,了解 RabbitMQ);微服务只讲概念 | -| RESTful 接口 | 第 2、4 周 | -| Docker、CI/CD | 第 5 周 | -| “AI 全栈”:RAG / 大模型集成 | 第 7~8 周 项目二 | -| Gin、Kubernetes | 招聘里没有点名;Gin 作为学习用框架保留,Kubernetes 不学 | +| 后端语言多为“Java / Go / Node / Python 任选其一”,很少只要 Go | Go(第 1~3 周)+ Python(第 4 周起),两门都能拿出项目 | +| React / Vue + TypeScript | 已有强项;第 7 周工程化查漏,两个项目的前端 | +| MySQL、Redis(PostgreSQL 只出现过一次) | 第 2 周数据库(附 MySQL 差异)、第 3 周 Redis;第 14 周 MySQL / Redis 专题 | +| 微服务、消息队列 | 第 3 周 Redis Streams 入门;第 14 周 RabbitMQ 动手、Kafka 概念、gRPC | +| RESTful 接口 | 第 1~3 周 | +| Docker、CI/CD | 第 3 周、第 14 周 | +| “AI 全栈”:RAG / 大模型集成 | 第 5~6 周 项目二 | + +### 岗位要求 → 延伸技术栈 + +招聘里一个词背后往往是一串技术点,面试会顺着问下去。下表是每个要求要准备的延伸内容和学习位置;每周文件里每个知识点都按“解释说明 / 案例 / 代码示例 / 易错点和面试常问”写。 + +| 岗位要求 | 延伸技术栈(要会的) | 在哪一周 | +| --- | --- | --- | +| Vue / React | Vite、Webpack(能讲差异和常用配置)、TypeScript 严格模式、Pinia / Vuex、Vue Router / React Router、组件库(Element Plus 按需引入)、SSR 基础(Nuxt / Next.js)、性能优化(拆包、懒加载、虚拟列表)、ESLint / Prettier、pnpm monorepo、Vitest 组件测试 | 第 7 周 | +| Python | uv / pip / poetry、类型标注(typing、Protocol)、asyncio、pytest(夹具、参数化、异步测试)、pydantic(校验、配置) | 第 4 周,之后全程 | +| FastAPI | Uvicorn、依赖注入、中间件、鉴权(JWT、HTTPBearer)、生命周期 lifespan、后台任务、SSE、TestClient | 第 4 周第 7 天;第 5、12 周 | +| RAG | 嵌入(Embedding)、切分(chunking)、重排(reranker)、向量库 Milvus / Chroma / pgvector、BM25 + 向量混合检索(RRF)、评测(Hit@K、MRR、拒答) | 第 5~6 周 | +| LangChain / LangGraph | LCEL、工具(tools)、记忆(短期:检查点;长期:Store)、checkpointer、interrupt、LangSmith 等可观测性 | 第 6 周(LCEL)、第 11~13 周 | +| MCP | 传输方式 stdio / Streamable HTTP;三类能力:tools、resources、prompts;客户端调用、接入 Cursor 和 LangGraph | 第 10~11 周 | +| Docker | Dockerfile 多阶段构建、Compose、Nginx 反向代理(含 SSE 配置)、Linux 常用命令、CI/CD | 第 3 周、第 14 周 | +| Redis | 五种数据结构和用途、缓存模式(旁路缓存、穿透 / 击穿 / 雪崩)、分布式锁(SET NX PX + Lua 释放)、限流、Streams 消费组 | 第 3 周、第 6 周、第 14 周 | +| MySQL | 索引(B+ 树、联合索引最左前缀、覆盖索引)、EXPLAIN、事务和隔离级别、MVCC、锁、与 PostgreSQL 的差异 | 第 2 周、第 14 周 | +| 微服务 / 消息队列 | RabbitMQ(交换机、队列、确认、死信)、Kafka(主题、分区、消费组、位移)概念、幂等消费、gRPC 基础(proto、一元调用、流式) | 第 3 周、第 14 周 | ### 对学习重点的影响 -1. Python 是主语言,Go 是加分项;第 1~5 周的 Go 只学到“能做出一个带缓存、队列、部署的完整项目”为止。 +1. Python 是主语言,Go 是加分项;Go 只用 3 周,做到“能做出一个带数据库、鉴权、缓存、队列、部署的完整项目”为止。 2. RAG 和 LangChain / LangGraph 是硬要求,单独做成项目二和项目三。 3. 工具调用、MCP、评测、记忆这些“新要求”都要有能演示的代码,而不是只看过文章。 -4. 数据库按 PostgreSQL 学,但要能说清和 MySQL 的差异。 +4. 前端是差异化优势,第 7 周把工程化短板补齐,两个项目都有像样的界面。 --- -## 4. 学习原则 +## 5. 学习原则和每周文件的写法 -1. **每一步都落到文件**:每天的任务都有明确要建的文件和完成标准;每周至少有一个能运行的提交或一页笔记。禁止“只看不写”。 -2. **AI 写,你审**:代码可以让 AI 生成,但每个文件你都要能讲清楚每一行在做什么,面试时这是最大的区分点。 -3. **先手写,再用框架**:RAG 和 Agent 都是先手写一遍核心流程,再用 LangChain / LangGraph 重写,两种都能讲。 -4. **先有评测,再谈优化**:RAG 和 Agent 都有自己的小评测集,优化要拿数字说话(数字必须是自己跑出来的)。 -5. **边上班边学**:工作日每天 1.5 到 2 小时,周末多投入一些。不建议裸辞。 -6. **代码和计划都进 Git**:全部推到 `zhuangang` 仓库,换设备直接接着做。 -7. **只砍不加**:进度落后时砍范围,不加新内容;新想法记到第 11 节“完成后的下一步”。 -8. **脱敏**:公司代码、内网地址、真实任务数据、密钥、客户名,一律不进仓库(详见第 9 节)。 +1. **每一步都落到文件**:每天都有“学习内容 / 要建的文件 / 运行方式 / 完成标准”。禁止“只看不写”。 +2. **每个知识点四件套**:解释说明(是什么、为什么)→ 案例(用在什么场景)→ 代码示例(最小、能运行)→ 易错点 / 面试常问。 +3. **AI 写,你审**:代码可以让 AI 生成,但每个文件你都要能讲清楚每一行在做什么,面试时这是最大的区分点。 +4. **先手写,再用框架**:RAG 和 Agent 都先手写一遍核心流程,再用 LangChain / LangGraph 重写。 +5. **先有评测,再谈优化**:优化要拿数字说话,数字必须是自己跑出来的。 +6. **以官方文档为准**:LangChain、LangGraph、MCP、Vite 等更新很快。计划里的代码在 2026-10 按当时的版本实际跑过,文件里标了版本和文档链接;你学的时候如果版本变了,以官方文档为准,并把差异记进对应周的笔记。 +7. **边上班边学**:工作日每天 1.5~2 小时,周末多投入一些。不建议裸辞。 +8. **只砍不加**:进度落后时按第 6 节砍范围;新想法记到第 12 节“完成后的下一步”。 +9. **代码和计划都进 Git**:全部推到 `zhuangang` 仓库,换设备直接接着做。 --- -## 5. 十六周总路线 +## 6. 时间不够怎么砍 -```text -第一段 Go 全栈基础(第 1~5 周) → 项目一:团队任务看板(Go + Redis + 消息队列 + Docker) -第二段 Python 与 AI 应用(第 6~8 周) → 项目二:RAG 知识库问答(FastAPI + Chroma + Redis) -第三段 Agent 主线(第 9~14 周) - 阶段0 盘点 + 阶段1 读通画图(第 9 周) - 阶段2 五个重点 A~E + 案例卡(第 10 周) - 阶段3 多 Agent 项目(第 11~14 周)★主交付 → 项目三 -第四段 包装与求职(第 15~16 周) 阶段4 + 终点验收 + 投递 -``` +按顺序砍,越靠前越先砍: -| 周 | 主题 | 产出 | 计划文件 | +1. 所有标了“可选”的内容:第 14 周 Go 网关、Milvus / pgvector 实现、第 7 周 SSR 动手部分(保留概念)。 +2. 第 14 周的 Kafka 和 gRPC 动手(保留概念表和面试答案),RabbitMQ 只跑一个例子。 +3. 第 7 周:会的部分只做“查漏清单”打勾,不重写;React 问答界面可以简化成一个页面。 +4. 第 3 周的 CI 配置(保留本地脚本)、第 2 周的 MySQL 小练习(保留差异速查表,第 14 周再补)。 +5. 第 13 周 Dify / Coze 压缩为 1 天,只做知识库问答。 +6. **不能砍**:项目二评测、项目三的续跑 / interrupt / SSE、MCP 服务、案例卡、Agent 评测集、简历和口述稿。 + +整体时间不够时,宁可把 16 周拉成 20 周,也不要跳过第 8~13 周。 + +--- + +## 7. 阶段 0~4 和五个学习重点 + +| 阶段 | 周 | 做什么 | 验收要点 | | --- | --- | --- | --- | -| 1 | Go 基础语法 | 命令行任务清单 `todo` | `week01-go-basics.md` | -| 2 | Gin 写 HTTP 接口 + 接前端 | 任务清单 Web 版 | `week02-gin-api.md` | -| 3 | PostgreSQL、SQL、迁移、sqlc、事务 + MySQL 差异 | 任务清单改用数据库 | `week03-postgresql.md` | -| 4 | 项目一(上):注册登录、JWT、权限、前端 | 团队任务看板功能主体 | `week04-auth-project1.md` | -| 5 | 项目一(下):Redis 缓存限流、消息队列入门、Docker 部署、CI | 项目一部署上线 | `week05-project1-redis-docker.md` | -| 6 | Python 速成(asyncio、pydantic、httpx、FastAPI、SSE) | `py-learning/` | `week06-python-basics.md` | -| 7 | 项目二(上):手写 RAG 主流程 + 接口 + 前端 | RAG 问答可用 | `rag-project.md` | -| 8 | 项目二(下):评测、混合检索、记忆、Redis、LangChain 对照、部署 | RAG 项目完成 | `rag-project.md` | -| 9 | 阶段 0 盘点 + 阶段 1 读通与画图 | `notes/00`、`notes/01` | 本文第 6 节 | -| 10 | 阶段 2:五个重点 A~E + 案例卡 | `notes/cards/` | 本文第 6 节 | -| 11 | 项目三 M1:手写循环 + Tool Calling + MCP | 手写版 + MCP 服务 | `agent-mini-project.md` | -| 12 | 项目三 M2:LangGraph 多 Agent 编排 | LangGraph 版跑通 | `agent-mini-project.md` | -| 13 | 项目三 M3:检查点续跑、interrupt、后台作业、SSE、长期记忆 | 可演示崩溃恢复 | `agent-mini-project.md` | -| 14 | 项目三 M4:评测集、文档、映射表 + Dify / Coze 体验 | 项目三完成 | `agent-mini-project.md` | -| 15 | 阶段 4(上):部署作品、整理作品集、简历、口述稿 | `career/` | 本文第 6 节 | -| 16 | 阶段 4(下):面试准备、终点验收、投递 | 开始投递 | 本文第 6 节 | +| 0 盘点 | 第 8 周前 2 天 | 一句话目标岗位、模块清单(通用名)、A~E 自评 | `notes/00-inventory.md` | +| 1 读通画图 | 第 8 周 | 架构图、接口职责表、断点标注、状态机 | 能口述主流程;图上标出“关页面时断在哪一层” | +| 2 案例卡 | 第 9 周 | A~E 每个重点一个小实验 + 案例卡 | 每张卡有“若重做的设计” | +| 3 项目三 | 第 10~13 周 | 多 Agent 项目 M1~M4 | 崩溃恢复可演示、评测有对比、映射表 ≥ 5 条 | +| 4 终点 | 第 14~16 周 | 部署、作品集、简历、面试、投递 | 第 14 节清单全部打勾 | -精力不够时可以再拉长,但顺序不要变,也不要跳过验收。 - -### 时间不够时怎么砍(按顺序,越靠前越先砍) - -1. 所有标了“可选”的内容(Milvus / pgvector 实现、Go 网关、`todo_server`、前端重写)。 -2. 第 5 周的 CI 配置(保留本地脚本)、第 3 周 MySQL 小练习(保留差异速查表)。 -3. 第 1 周第 6 天的并发练习压缩为半天(第 6 周 asyncio 会再讲并发)。 -4. **不能砍**:RAG 评测、LangGraph 项目的续跑和 SSE、MCP 服务、案例卡、Agent 评测集。 - ---- - -## 6. 第 9~10 周和第 15~16 周的具体安排 - -(第 1~8 周和第 11~14 周见各自的计划文件,这里是没有单独文件的几周。) - -### 第 9 周:阶段 0 盘点(前 2 天)+ 阶段 1 读通与画图(后 5 天) - -**阶段 0 做什么** - -1. 写下一句话目标岗位(参考第 3 节)。 -2. 列出自己在公司亲自改过、排查过的模块(只写通用名字,例如“前端多 Agent 研讨模块”“Agent 网关的作业接口”)。 -3. 按第 7 节 A~E 五个重点,填一张“已会 / 模糊 / 不会”三列对照表。 -4. 确认项目三技术栈:Python + LangGraph(主)+ 先手写循环(已定)。 - -文件:`notes/00-inventory.md` - -阶段 0 验收: -- [ ] 一句话目标岗位已写下 -- [ ] A~E 的“已会 / 模糊 / 不会”三列填完 -- [ ] 项目三技术栈已确认 - -**阶段 1 做什么**(重点 A 编排 + B 权威源,先建立全局地图,再钻细节) - -按优先级读公司项目里这几块(在公司电脑上读,笔记只写机制): - -| 优先级 | 要读的模块(通用叫法) | 要搞清的问题 | -| --- | --- | --- | -| P0 | 前端的多 Agent 功能:意图、多席研讨、草稿、作业 | 几个步骤怎么串起来,谁发起 SSE | -| P0 | 前端的会话与交付模块 | 会话状态和交付状态分别存在哪 | -| P0 | Agent 网关里多 Agent、意图、作业、草稿相关的接口 | 服务端是“单轮调用”还是“后台作业”;用了什么框架、检查点存在哪 | -| P1 | 前端对 Agent 网关的接口契约清单 | 前后端到底约定了哪些接口 | -| P2 | 团队里关于“后台挂起 / 后台作业”的设计文档(如果有) | 理想架构和现状差在哪 | - -产出: -1. **一张图**(mermaid):用户 → 前端 → Agent 网关 → 草稿 / 作业 / 业务库。文件 `notes/01-architecture.md` -2. **一张表**:关键接口(初始化、运行并流式返回、草稿、作业、会话)各自职责。文件 `notes/01-api-table.md`(只写职责,不写真实路径和内网地址) - -阶段 1 验收: -- [ ] 不看代码能口述多 Agent 功能的主流程 -- [ ] 图上标出:**关掉浏览器时,流程断在哪一层** -- [ ] 指出至少一处“状态双写或权威来源不清”的位置 - -### 第 10 周:阶段 2 五个重点深挖 + 案例卡 - -每个重点做一个实验(二选一即可),产出一张案例卡(模板见第 8 节): - -| 天 | 重点 | 必做实验 | 产出 | -| --- | --- | --- | --- | -| 1~2 | A 多 Agent 编排 | 跟一次完整的多 Agent 流程(或用联调桩),记录派活顺序和结束(共识)条件 | `notes/cards/A-orchestration.md` | -| 2~3 | C 流式与长任务 | 故意断网或关页面,记录“单轮继续”和“整个循环停掉”的区别 | `notes/cards/C-streaming.md` | -| 4 | B 状态与权威源 | 对比草稿数据和任务 / 过程报告,找出哪些没有回写 | `notes/cards/B-source-of-truth.md` | -| 5 | D 人机协作 | 走一遍“需要澄清”或“换模型失败 → 恢复” | `notes/cards/D-human-in-loop.md` | -| 6 | E 与业务系统集成 | 跟一次过程报告 / 任务状态:LLM 结果怎样变成业务记录 | `notes/cards/E-integration.md`(可以和 B 合并,但五个重点都要覆盖) | -| 7 | 回顾 | 把每张卡的“若重做的设计”汇总成清单,作为项目三的设计输入 | `notes/cards/README.md` | - -一周写五张卡比较紧,写不完的在第 11~13 周每周五补一张,但第 14 周前必须写完。 - -阶段 2 验收: -- [ ] A~E 每个重点至少一张案例卡 -- [ ] 每张卡都写了“若重做,我会怎样设计” - -### 第 15 周:阶段 4(上)作品上线和简历 - -1. **部署**:项目二、项目三用 Docker Compose 部署到你的服务器;有域名的话配上 HTTPS(Nginx + 证书),没有就保证内网可访问并录好演示视频。 -2. **作品集整理**:把 `task-board/`、`rag-qa/`、`agent-mini/` 各自同步到公开的 GitHub 仓库(再做一遍脱敏检查),README 顶部放演示动图。 -3. **简历**(`career/resume.md`),按第 10 节的建议写。 -4. **口述稿**(`career/pitch.md`):3 分钟架构 + 1 分钟“踩过的最大坑”,计时练习,总长不超过 4 分钟,覆盖 A / B / C 中至少两项。 -5. 有余力再做 `agent-mini-project.md` 末尾的可选扩展(Go 网关或前端重写)。 - -### 第 16 周:阶段 4(下)面试准备、终点验收、投递 - -1. 面试笔记 `career/interview-notes.md`,每个主题写“一句话答案 + 我的项目里怎么用的”: - - Python:asyncio、类型标注、pydantic、FastAPI。 - - RAG:切分、向量检索、混合检索、重排、评测指标、拒答。 - - Agent:工具调用、MCP、LangGraph 的状态 / 检查点 / 中断、记忆、多 Agent 编排、评测、常见失败和处理。 - - 后端:数据库索引和事务、MySQL 与 PostgreSQL 差异、Redis 缓存问题、消息队列的幂等、Docker。 - - Go(加分项):goroutine / channel、接口、错误处理。 -2. 对照第 1 节“终点”四条和第 13 节终点验收清单打勾;缺哪条补哪条,**不开新需求**。 -3. 开始投递(策略见第 10 节),每次面试后把被问到的问题补进面试笔记。 - ---- - -## 7. 五个学习重点(始终抓住这 5 条) +**五个学习重点(始终抓住这 5 条)** | # | 重点 | 在工作中的抓手(通用叫法) | 学完应能回答的一句话 | | --- | --- | --- | --- | @@ -265,7 +218,7 @@ | D | 人机协作 | 意图澄清、等待用户输入、模型切换 | “Agent 什么时候必须停下来问人” | | E | 与业务系统集成 | 过程报告、任务状态、鉴权隔离 | “LLM 的结果怎样落到可审计的业务对象上” | -项目三里每个重点都有对应的实现(见 `agent-mini-project.md` 的映射表)。 +项目三里每个重点都有对应的实现(映射表见第 13 周)。 --- @@ -295,16 +248,16 @@ --- -## 9. 每周节奏、戒律和脱敏 +## 9. 每周节奏和戒律 | 日 | 做什么 | | --- | --- | -| 周一 | 定本周重点(第 9 周以后只选第 7 节中的一条,或一个里程碑) | +| 周一 | 定本周重点(第 8 周以后只选第 7 节中的一条,或一个里程碑) | | 周二~周四 | 写代码 / 做实验 / 写案例卡 | | 周五 | 验收:本周有没有“可展示的产出”;没有的话,周末只补交付,不学新东西 | | 周日 | 30 分钟回顾:对照终点清单调整下一周范围(只砍不加),更新进度记录并 `git push` | -有计划文件的周按文件里的“第 1 天~第 7 天”走,周五和周日的检查照做。 +每周文件按“第 1 天~第 7 天”走,周五和周日的检查照做。 **戒律** @@ -313,70 +266,98 @@ - 概念类资料每个重点最多读 1 篇,读完必须写进案例卡或项目文档。 - 不拿“无状态的聊天界面教程”当主线,最多用来对比“为什么不够”。 -**脱敏和保密** +--- -- 仓库里**不放**:公司代码片段、内网地址和端口、真实接口路径、真实任务 / 客户数据、密钥、截图里的业务内容。 +## 10. 脱敏和保密 + +- 仓库里**不放**:公司代码片段、公司项目名和仓库名、内网地址和端口、真实接口路径、服务器路径、真实任务 / 客户数据、密钥、截图里的业务内容。 - 案例卡只写机制:“草稿状态没有回写到任务表”可以写;具体表名、接口路径、字段名不写。 - 私有细节写在 `notes/private/`(已加入 `.gitignore`),只留在公司电脑上。 - 项目二、三的文档素材、题目、提示词都用公开或自己写的内容,不复制公司的。 -- 每次 `git push` 前看一眼 `git diff --cached`。 +- 第 8 周会装一个提交前检查钩子 `tools/check_sensitive.py`;每次 `git push` 前再看一眼 `git diff --cached`。 --- -## 10. 简历和投递建议 +## 11. 简历和投递建议 **学历** -- 成人本科满足这次调研里绝大多数岗位的“本科”要求。简历上如实写“本科”和学校、专业、时间,不需要主动标注学习形式,但**也不要写成统招**;面试被问到时如实回答。 -- 标了“统招本科”“统招硕士”的岗位直接跳过,不浪费时间。 -- 没看到要求 985 / 211 的岗位,所以竞争点在项目和经验上。 + +- 简历上写“本科”,加上学校、专业、起止时间即可。 +- 标了“统招本科”“统招硕士”的岗位也可以投递试试;以项目和经验为重点准备,结果以对方反馈为准。 +- 这次调研没看到要求 985 / 211 的岗位,竞争点主要在项目和经验上。 **经验** -- 招聘多要求 3~5 年。你有 7 年工作经验,只是方向是前端:简历里把公司多 Agent 产品的经历写在最前面(你做了什么、解决了什么问题),这是“AI 应用经验”,不只是“前端经验”。 + +- 招聘多要求 3~5 年。你有 7 年工作经验:简历里把公司多 Agent 产品的经历写在最前面(做了什么、解决了什么问题),这是“AI 应用经验”,不只是“前端经验”。 **项目(简历的重心)** + - 项目三(多 Agent)放第一,项目二(RAG)第二,项目一(Go 全栈)第三。 - 每个项目写:解决什么问题 → 关键设计(用岗位里的关键词:LangGraph、RAG、Chroma、MCP、Tool Calling、评测、Redis、Docker)→ 可验证的结果(评测数字、演示链接、仓库地址)。数字必须是你自己跑出来的,没有就写现象,不要编。 - 公司经历按 STAR 写三条:编排可靠性、状态权威、业务落地,内容来自案例卡(脱敏)。 -- 技能栏顺序:Python / FastAPI → LangChain / LangGraph / RAG / MCP → 前端(Vue / React / TS)→ Go → 数据库和中间件 → Docker / Linux / Git → AI 编程工具。 +- 技能栏顺序:Python / FastAPI → LangChain / LangGraph / RAG / MCP → 前端(Vue / React / TS / Vite)→ Go → MySQL / PostgreSQL / Redis / 消息队列 → Docker / Linux / Git → AI 编程工具。 **投递** + - 主投:AI Agent 开发、大模型应用开发、AI 全栈;中小公司、创业团队、AI 应用团队。 - 兼投:全栈(前端 + Go / Python)。 -- 每个月按第 3 节的方法重新搜一次岗位要求,更新对照表,调整简历关键词。 +- 每个月按第 4 节的方法重新搜一次岗位要求,更新对照表,调整简历关键词。 + +详细做法见 `week15-package-resume.md` 和 `week16-interview.md`。 --- -## 11. 仓库结构(`zhuangang`)和换设备 +## 12. 仓库结构、文件清单和换设备 -``` +### 仓库结构(`zhuangang`) + +```text zhuangang/ ├── .gitignore # 至少包含 notes/private/、.env、*.db、data/、node_modules/、.venv/ -├── plan/ # 本计划文件夹 -│ ├── README.md -│ ├── week01-go-basics.md -│ ├── week02-gin-api.md -│ ├── week03-postgresql.md -│ ├── week04-auth-project1.md -│ ├── week05-project1-redis-docker.md -│ ├── week06-python-basics.md -│ ├── rag-project.md -│ └── agent-mini-project.md -├── go-learning/ # 第 1 周(含 todo 命令行项目) -├── todo-api/ # 第 2~3 周 -├── task-board/ # 第 4~5 周:项目一 -├── py-learning/ # 第 6 周 -├── rag-qa/ # 第 7~8 周:项目二 -├── notes/ # 第 9~10 周:盘点、架构图、案例卡(脱敏);低代码体验笔记 +├── README.md +├── plan/ # 本计划(见下面的文件清单) +├── go-learning/ # 第 1 周:Go 语法练习 +├── todo-api/ # 第 1~2 周:Gin 接口 + PostgreSQL + JWT +├── task-board/ # 第 3 周:项目一后端 +├── py-learning/ # 第 4 周:Python 练习 + FastAPI +├── rag-qa/ # 第 5~6 周:项目二 +├── web/ # 第 7 周:pnpm monorepo(shared、board-vue、rag-react) +├── tools/ # 第 8 周:check_sensitive.py(提交前脱敏检查) +├── notes/ # 第 8~9 周:盘点、架构图、案例卡(脱敏);低代码体验笔记 │ ├── cards/ │ └── private/ # 不进仓库 -├── agent-mini/ # 第 11~14 周:项目三(含 MCP 服务、评测集) -├── lowcode/ # 第 14 周:Dify / Coze 导出的配置(去掉密钥) +├── agent-mini/ # 第 10~13 周:项目三(含 MCP 服务、评测集) +├── lowcode/ # 第 13 周:Dify / Coze 导出的配置(去掉密钥) +├── backend-extend/ # 第 14 周:RabbitMQ、gRPC、Redis / MySQL 专题练习 +├── deploy/ # 第 14 周:服务器上的总 Compose、Nginx、部署说明 └── career/ # 第 15~16 周:简历、口述稿、面试笔记 ``` -**换设备后如何继续** +### 计划文件清单(`plan/`) -1. 新设备安装:Git、Go、Node.js、Docker、Python 3.12 和 uv、编辑器(VS Code 或 Cursor)。 +| 文件 | 内容 | +| --- | --- | +| `README.md` | 本文件:总纲、岗位对照、进度记录、终点清单 | +| `week01-go-gin.md` | Go 基础 + Gin REST 接口 | +| `week02-db-auth.md` | PostgreSQL / MySQL + 注册登录 JWT | +| `week03-project1.md` | 项目一:权限、Redis、队列、Docker、CI | +| `week04-python.md` | Python 速成 + FastAPI | +| `week05-rag-1.md` | 项目二(上):手写 RAG | +| `week06-rag-2.md` | 项目二(下):评测、混合检索、重排、记忆、缓存、LangChain、部署 | +| `week07-frontend.md` | 前端工程化查漏 + 两个项目的界面 | +| `week08-inventory-architecture.md` | 阶段 0 + 阶段 1 | +| `week09-case-cards.md` | 阶段 2:A~E 实验 + 案例卡 | +| `week10-agent-m1-tools-mcp.md` | 项目三 M1:手写循环 + MCP | +| `week11-agent-m2-langgraph.md` | 项目三 M2:LangGraph | +| `week12-agent-m3-persistence.md` | 项目三 M3:续跑、人机协作、后台作业、SSE、记忆 | +| `week13-agent-m4-eval-lowcode.md` | 项目三 M4:评测、可观测性、文档 + Dify / Coze | +| `week14-backend-extend-deploy.md` | 消息队列、gRPC、Redis / MySQL 专题、部署、CI/CD | +| `week15-package-resume.md` | 作品集、简历、口述稿 | +| `week16-interview.md` | 面试准备、终点验收、投递 | + +### 换设备后如何继续 + +1. 新设备安装:Git、Go(最新稳定版)、**Node.js 24 LTS** 和 pnpm(第 7 周的组件测试在 Node 20 上会报错)、Docker、Python 3.12 和 uv、编辑器(VS Code 或 Cursor)。 2. 配好能访问 `git.gozeros.com` 的 SSH 密钥,然后克隆仓库: ```bash @@ -386,21 +367,27 @@ zhuangang/ cd zhuangang ``` -3. 打开 `plan/README.md`,在“进度记录”里找到上次做到哪周哪天。 -4. 打开对应周的计划文件,从下一天继续。 -5. Go 项目:在项目目录 `docker compose -f docker-compose.dev.yml up -d` 启动数据库和 Redis,再按项目 README 跑迁移。Python 项目:进入项目目录 `uv sync`,复制 `.env.example` 为 `.env`。 +3. **重新装脱敏钩子**(钩子文件不随仓库同步),并在 `notes/private/sensitive-words.txt` 重新写好敏感词清单(不进仓库): + + ```bash + printf '#!/bin/sh\nexec python3 tools/check_sensitive.py\n' > .git/hooks/pre-commit + chmod +x .git/hooks/pre-commit + python3 tools/check_sensitive.py --self-test + ``` + +4. 打开本文件第 13 节,找到上次做到哪周哪天;打开对应周的计划文件,从下一天继续。 +5. Go 项目:在项目目录 `docker compose -f docker-compose.dev.yml up -d` 启动数据库和 Redis,再按项目 README 跑迁移。Python 项目:进入项目目录 `uv sync`,复制 `.env.example` 为 `.env`。前端:`cd web && pnpm install`。 6. 每天学完:更新进度记录 → `git add` → `git commit` → `git push`。 -**完成后的下一步(不属于本计划,完成终点验收后再选一个开新路径)** +### 完成后的下一步(不属于本计划,完成终点验收后再选一个开新路径) -- 可观测性:链路追踪、日志、成本统计(如 LangSmith、Langfuse 一类工具)。 -- 更完整的评测体系和线上反馈闭环。 -- Java / Spring 或 Go 微服务方向的深入。 +- 更完整的评测体系和线上反馈闭环、成本治理。 +- Java / Spring 或 Go 微服务方向的深入,Kubernetes。 - 模型微调入门。 --- -## 12. 进度记录 +## 13. 进度记录 ### 按周 @@ -408,30 +395,29 @@ zhuangang/ | 周 | 主题 | 计划文件 | 每天 | 计划完成日 | 实际完成日 | 产出路径 | 周验收 | | --- | --- | --- | --- | --- | --- | --- | --- | -| 1 | Go 基础语法 | week01-go-basics.md | ☐☐☐☐☐☐☐ | | | go-learning/ | ☐ | -| 2 | Gin 接口 + 前端 | week02-gin-api.md | ☐☐☐☐☐☐☐ | | | todo-api/ | ☐ | -| 3 | PostgreSQL + MySQL 差异 | week03-postgresql.md | ☐☐☐☐☐☐☐ | | | todo-api/ | ☐ | -| 4 | 项目一(上)鉴权权限 | week04-auth-project1.md | ☐☐☐☐☐☐☐ | | | task-board/ | ☐ | -| 5 | 项目一(下)Redis、队列、Docker | week05-project1-redis-docker.md | ☐☐☐☐☐☐☐ | | | task-board/ | ☐ | -| 6 | Python 速成 | week06-python-basics.md | ☐☐☐☐☐☐☐ | | | py-learning/ | ☐ | -| 7 | 项目二(上)手写 RAG | rag-project.md | ☐☐☐☐☐☐☐ | | | rag-qa/ | ☐ | -| 8 | 项目二(下)评测、优化、部署 | rag-project.md | ☐☐☐☐☐☐☐ | | | rag-qa/ | ☐ | -| 9 | 阶段0 盘点 + 阶段1 画图 | README 第 6 节 | ☐☐☐☐☐☐☐ | | | notes/00、01 | ☐ | -| 10 | 阶段2 案例卡 A~E | README 第 6 节 | ☐☐☐☐☐☐☐ | | | notes/cards/ | ☐ | -| 11 | 项目三 M1 手写 + 工具 + MCP | agent-mini-project.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | -| 12 | 项目三 M2 LangGraph 编排 | agent-mini-project.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | -| 13 | 项目三 M3 续跑、中断、SSE、记忆 | agent-mini-project.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | -| 14 | 项目三 M4 评测、文档 + Dify/Coze | agent-mini-project.md | ☐☐☐☐☐☐☐ | | | agent-mini/、lowcode/ | ☐ | -| 15 | 阶段4(上)部署、作品集、简历 | README 第 6 节 | ☐☐☐☐☐☐☐ | | | career/ | ☐ | -| 16 | 阶段4(下)面试准备、验收、投递 | README 第 6 节 | ☐☐☐☐☐☐☐ | | | career/ | ☐ | +| 1 | Go 基础 + Gin | week01-go-gin.md | ☐☐☐☐☐☐☐ | | | go-learning/、todo-api/ | ☐ | +| 2 | 数据库 + JWT | week02-db-auth.md | ☐☐☐☐☐☐☐ | | | todo-api/ | ☐ | +| 3 | 项目一 | week03-project1.md | ☐☐☐☐☐☐☐ | | | task-board/ | ☐ | +| 4 | Python + FastAPI | week04-python.md | ☐☐☐☐☐☐☐ | | | py-learning/ | ☐ | +| 5 | 项目二(上)手写 RAG | week05-rag-1.md | ☐☐☐☐☐☐☐ | | | rag-qa/ | ☐ | +| 6 | 项目二(下)评测、优化、部署 | week06-rag-2.md | ☐☐☐☐☐☐☐ | | | rag-qa/ | ☐ | +| 7 | 前端工程化 | week07-frontend.md | ☐☐☐☐☐☐☐ | | | web/ | ☐ | +| 8 | 阶段0 盘点 + 阶段1 画图 | week08-inventory-architecture.md | ☐☐☐☐☐☐☐ | | | notes/00、01、tools/ | ☐ | +| 9 | 阶段2 案例卡 A~E | week09-case-cards.md | ☐☐☐☐☐☐☐ | | | notes/cards/ | ☐ | +| 10 | 项目三 M1 手写 + MCP | week10-agent-m1-tools-mcp.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | +| 11 | 项目三 M2 LangGraph | week11-agent-m2-langgraph.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | +| 12 | 项目三 M3 续跑、中断、SSE、记忆 | week12-agent-m3-persistence.md | ☐☐☐☐☐☐☐ | | | agent-mini/ | ☐ | +| 13 | 项目三 M4 评测、文档 + Dify/Coze | week13-agent-m4-eval-lowcode.md | ☐☐☐☐☐☐☐ | | | agent-mini/、lowcode/ | ☐ | +| 14 | 后端补强 + 部署 | week14-backend-extend-deploy.md | ☐☐☐☐☐☐☐ | | | backend-extend/、deploy/ | ☐ | +| 15 | 阶段4(上)作品集、简历 | week15-package-resume.md | ☐☐☐☐☐☐☐ | | | career/ | ☐ | +| 16 | 阶段4(下)面试、验收、投递 | week16-interview.md | ☐☐☐☐☐☐☐ | | | career/ | ☐ | ### 按阶段 | 阶段 | 计划完成日 | 实际完成日 | 产出路径 | 验收 | | --- | --- | --- | --- | --- | | 第一段 Go 全栈基础(项目一) | | | task-board/ | ☐ | -| Python 速成 | | | py-learning/ | ☐ | -| 项目二 RAG | | | rag-qa/ | ☐ | +| 第二段 Python + 项目二 + 前端 | | | py-learning/、rag-qa/、web/ | ☐ | | 0 盘点 | | | notes/00-inventory.md | ☐ | | 1 读通与画图 | | | notes/01-*.md | ☐ | | 2 案例卡 | | | notes/cards/ | ☐ | @@ -448,7 +434,7 @@ zhuangang/ --- -## 13. 终点验收清单(全部勾选才算完结) +## 14. 终点验收清单(全部勾选才算完结) **AI 应用能力** - [ ] 项目二:RAG 问答可演示,有评测集和对比结果,README 清楚 @@ -460,7 +446,8 @@ zhuangang/ **全栈能力(加分项)** - [ ] 项目一部署过,能讲清分层、鉴权、缓存、限流、消息队列、部署 -- [ ] 能讲清 MySQL 和 PostgreSQL 的主要差异 +- [ ] 能讲清 MySQL 和 PostgreSQL 的主要差异、索引和隔离级别 +- [ ] 前端工程化查漏清单全部打勾 **参考文档的终点** - [ ] 至少 2 张案例卡可以对外讲(已脱敏) @@ -468,8 +455,8 @@ zhuangang/ - [ ] 第 1 节“终点”四条全部满足 **求职** -- [ ] 简历按第 10 节更新完成,没有编造的数字,学历如实 +- [ ] 简历按第 11 节更新完成,没有编造的数字 - [ ] 已开始投递 -- [ ] 写下一句“下一步如果继续学”(第 11 节里选一个),作为新路径,不塞进本计划 +- [ ] 写下一句“下一步如果继续学”(第 12 节里选一个),作为新路径,不塞进本计划 **完结动作**:把本文件开头的状态改成“已完成(YYYY-MM-DD)”,提交并推送。本路径正式结束。