# 转岗计划总纲:Python AI 应用 / Agent 开发为主,Go 全栈为辅(16 周) 这是整个计划的入口文件。换了电脑或者隔一段时间回来,先看第 13 节“进度记录”,再打开当前所在周的计划文件继续做。 **状态**:未开始 / 进行中 / 已完成(   ) **开始日期**: **当前所在周 / 天**: --- ## 1. 背景、起点和目标 ### 背景 - 7 年 Web 前端(Vue / React),本科。 - AI 写代码越来越多,“只会把页面写出来”的价值在下降,需要往“能设计、能交付、能讲清原理”的方向走。 - 第 4 节的招聘调研显示:AI Agent 岗位的主语言是 **Python**,Go 多数只是加分项。所以本计划以 **Python + AI 应用**为求职主线;Go 压缩到 3 周,做出一个完整的全栈项目作为基础和加分项。 ### 起点(已经具备,不用从零学) - 能独立开发和改通业务前端,能和后端 Agent 网关联调接口。 - 在公司里接触过真实的多 Agent 产品链路:意图识别 → 多角色研讨 → 总结 / 交付 / 过程报告。 - 踩过真实的生产问题:流式连接断开、模型额度不足、状态没有回写、数据库表结构和代码不一致、关掉页面后编排中断。 这些经历是转岗最大的本钱,后面会把它们整理成“案例卡”,并做成可以公开演示的项目(**全部脱敏**,见第 10 节)。 ### 目标岗位(按优先级) 1. AI Agent 开发 / 大模型应用开发工程师(应用侧) 2. AI 全栈工程师(前端 + Python 或 Go 后端 + 大模型集成) 3. 全栈工程师(前端 + Go / Python 后端) ### 终点(4 条必须同时满足,才算这条路径走完) 1. **能讲清**:一张架构图 + 三分钟口述“多 Agent 如何状态机化、状态存在哪、失败怎么办”。 2. **能做小**:一个**不带公司业务外壳**的多 Agent 项目,本地可跑,覆盖编排 + 持久化 + 断点续跑(或写清降级策略)。 3. **能举证**:2 到 3 个“问题 → 根因 → 方案”的案例,优先来自自己在工作中遇到的真实问题(脱敏后)。 4. **能对标岗位**:简历和面试条目写得像“应用侧 Agent 工程师 / AI 全栈工程师”,而不是“改过公司某个页面”。 另外还有两个作品:项目一“团队任务看板”(Go 后端 + Vue 前端)和项目二“RAG 知识库问答”(Python 后端 + React 前端)。 任意一条没满足,都不要提前宣布“学完了”。 ### 非目标(故意不做) - 不以模型预训练、微调为主业。 - 不把公司业务代码开源,也不整仓搬进作品集。 - 不深入 Kubernetes、服务网格、多云部署(微服务、消息队列做到“能讲清概念和取舍、跑过最小示例”)。 --- ## 2. 技术栈(已确定) | 用途 | 选择 | 说明 | | --- | --- | --- | | **求职主语言** | **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~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. 十六周总路线 ```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. 岗位要求对照 ### 调研说明 - 来源:智联招聘,2026-10-22 检索“AI Agent开发”和“Go全栈”,共约 17 个岗位。BOSS 直聘需要登录,没有拿到数据。 - 样本不大,只能看出方向,不代表整个市场。下面只写这次实际看到的内容,没有额外统计数字。建议每过一个月自己再搜一次,更新这一节。 ### 学历和经验 - 学历:约 95% 的岗位写的是“本科”;有 1 个要求统招硕士,1 个标注统招本科;没看到要求 985 / 211 的。 - 经验:大多要求 3~5 年。 ### AI Agent 开发岗位(按出现频率从高到低) | 要求 | 本计划在哪一周覆盖 | | --- | --- | | 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~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 是加分项;Go 只用 3 周,做到“能做出一个带数据库、鉴权、缓存、队列、部署的完整项目”为止。 2. RAG 和 LangChain / LangGraph 是硬要求,单独做成项目二和项目三。 3. 工具调用、MCP、评测、记忆这些“新要求”都要有能演示的代码,而不是只看过文章。 4. 前端是差异化优势,第 7 周把工程化短板补齐,两个项目都有像样的界面。 --- ## 5. 学习原则和每周文件的写法 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` 仓库,换设备直接接着做。 --- ## 6. 时间不够怎么砍 按顺序砍,越靠前越先砍: 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 和五个学习重点 | 阶段 | 周 | 做什么 | 验收要点 | | --- | --- | --- | --- | | 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 节清单全部打勾 | **五个学习重点(始终抓住这 5 条)** | # | 重点 | 在工作中的抓手(通用叫法) | 学完应能回答的一句话 | | --- | --- | --- | --- | | A | 多 Agent 编排 | 链式 / DAG 编排、主角色派活、各角色交付、共识 | “角色怎么分工、什么时候结束、怎么避免同一个任务被跑两次” | | B | 状态与权威源 | 草稿 / 作业 / 任务,谁说了算 | “刷新或关页后为什么丢进度,权威数据写在哪” | | C | 流式与长任务 | SSE、连接断开处理、浏览器里循环 vs 后台作业 | “为什么编排不该只活在浏览器里” | | D | 人机协作 | 意图澄清、等待用户输入、模型切换 | “Agent 什么时候必须停下来问人” | | E | 与业务系统集成 | 过程报告、任务状态、鉴权隔离 | “LLM 的结果怎样落到可审计的业务对象上” | 项目三里每个重点都有对应的实现(映射表见第 13 周)。 --- ## 8. 案例卡模板(直接复制) 每张卡一个文件,放在 `notes/cards/`。仓库里只放脱敏版本。 ```text 标题: 对应重点:A / B / C / D / E 现象: 根因(一层): 根因(系统层,可选): 当时怎么处理 / 未处理: 可迁移结论(面试一句): 若重做的设计: 关联代码/路径:(私有,只写在 notes/private/ 里,不进仓库) 日期: ``` 优先写成卡的题目(来自你已经遇到过的问题): 1. 关掉浏览器后,多轮研讨就停了(编排跑在前端)。 2. 分析已经进行到第三步,但任务状态还是“未开始”(权威源 / 回写缺失)。 3. 模型额度或鉴权失败,以及“换模型后恢复”。 4. 主分支升级后某张表缺字段导致接口 500(应用依赖和数据库迁移)。 --- ## 9. 每周节奏和戒律 | 日 | 做什么 | | --- | --- | | 周一 | 定本周重点(第 8 周以后只选第 7 节中的一条,或一个里程碑) | | 周二~周四 | 写代码 / 做实验 / 写案例卡 | | 周五 | 验收:本周有没有“可展示的产出”;没有的话,周末只补交付,不学新东西 | | 周日 | 30 分钟回顾:对照终点清单调整下一周范围(只砍不加),更新进度记录并 `git push` | 每周文件按“第 1 天~第 7 天”走,周五和周日的检查照做。 **戒律** - 同一周不同时开“新框架 + 新业务功能 + 新论文”。 - 公司需求和学习冲突时:学习这边只保“案例卡或项目提交”,不保阅读量。 - 概念类资料每个重点最多读 1 篇,读完必须写进案例卡或项目文档。 - 不拿“无状态的聊天界面教程”当主线,最多用来对比“为什么不够”。 --- ## 10. 脱敏和保密 - 仓库里**不放**:公司代码片段、公司项目名和仓库名、内网地址和端口、真实接口路径、服务器路径、真实任务 / 客户数据、密钥、截图里的业务内容。 - 案例卡只写机制:“草稿状态没有回写到任务表”可以写;具体表名、接口路径、字段名不写。 - 私有细节写在 `notes/private/`(已加入 `.gitignore`),只留在公司电脑上。 - 项目二、三的文档素材、题目、提示词都用公开或自己写的内容,不复制公司的。 - 第 8 周会装一个提交前检查钩子 `tools/check_sensitive.py`;每次 `git push` 前再看一眼 `git diff --cached`。 --- ## 11. 简历和投递建议 **学历** - 简历上写“本科”,加上学校、专业、起止时间即可。 - 标了“统招本科”“统招硕士”的岗位也可以投递试试;以项目和经验为重点准备,结果以对方反馈为准。 - 这次调研没看到要求 985 / 211 的岗位,竞争点主要在项目和经验上。 **经验** - 招聘多要求 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 / Vite)→ Go → MySQL / PostgreSQL / Redis / 消息队列 → Docker / Linux / Git → AI 编程工具。 **投递** - 主投:AI Agent 开发、大模型应用开发、AI 全栈;中小公司、创业团队、AI 应用团队。 - 兼投:全栈(前端 + Go / Python)。 - 每个月按第 4 节的方法重新搜一次岗位要求,更新对照表,调整简历关键词。 详细做法见 `week15-package-resume.md` 和 `week16-interview.md`。 --- ## 12. 仓库结构、文件清单和换设备 ### 仓库结构(`zhuangang`) ```text zhuangang/ ├── .gitignore # 至少包含 notes/private/、.env、*.db、data/、node_modules/、.venv/ ├── 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/ # 第 10~13 周:项目三(含 MCP 服务、评测集) ├── lowcode/ # 第 13 周:Dify / Coze 导出的配置(去掉密钥) ├── backend-extend/ # 第 14 周:RabbitMQ、gRPC、Redis / MySQL 专题练习 ├── deploy/ # 第 14 周:服务器上的总 Compose、Nginx、部署说明 └── career/ # 第 15~16 周:简历、口述稿、面试笔记 ``` ### 计划文件清单(`plan/`) | 文件 | 内容 | | --- | --- | | `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 git clone ssh://wsk@git.gozeros.com:30023/wsk/zhuangang.git # 如果 SSH 端口连不上(比如在外网),改用 HTTPS: git clone https://git.gozeros.com/wsk/zhuangang.git cd zhuangang ``` 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`。 ### 完成后的下一步(不属于本计划,完成终点验收后再选一个开新路径) - 更完整的评测体系和线上反馈闭环、成本治理。 - Java / Spring 或 Go 微服务方向的深入,Kubernetes。 - 模型微调入门。 --- ## 13. 进度记录 ### 按周 每天学完把对应的 ☐ 改成 ☑。 | 周 | 主题 | 计划文件 | 每天 | 计划完成日 | 实际完成日 | 产出路径 | 周验收 | | --- | --- | --- | --- | --- | --- | --- | --- | | 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-qa/、web/ | ☐ | | 0 盘点 | | | notes/00-inventory.md | ☐ | | 1 读通与画图 | | | notes/01-*.md | ☐ | | 2 案例卡 | | | notes/cards/ | ☐ | | 3 项目三(多 Agent) | | | agent-mini/ | ☐ | | 4 终点 | | | career/ | ☐ | **项目三路径**:(阶段 3 完成后填写) ### 卡住和收获(每天一句) | 日期 | 周/天 | 一句话收获或卡住的地方 | | --- | --- | --- | | | | | --- ## 14. 终点验收清单(全部勾选才算完结) **AI 应用能力** - [ ] 项目二:RAG 问答可演示,有评测集和对比结果,README 清楚 - [ ] 项目三:LangGraph 多 Agent 可演示:启动 → 中途杀进程 → 重启续跑 → 结果可查 - [ ] 写过 MCP 服务,能讲清 Tool Calling 和 MCP - [ ] 项目三有评测集,至少两次对比结果 - [ ] 搭过 Dify 或 Coze 应用,能讲清和写代码的取舍 - [ ] 架构图最新版已归档,和项目三 README 一致 **全栈能力(加分项)** - [ ] 项目一部署过,能讲清分层、鉴权、缓存、限流、消息队列、部署 - [ ] 能讲清 MySQL 和 PostgreSQL 的主要差异、索引和隔离级别 - [ ] 前端工程化查漏清单全部打勾 **参考文档的终点** - [ ] 至少 2 张案例卡可以对外讲(已脱敏) - [ ] 口述稿计时不超过 4 分钟,覆盖 A / B / C 中至少两项 - [ ] 第 1 节“终点”四条全部满足 **求职** - [ ] 简历按第 11 节更新完成,没有编造的数字 - [ ] 已开始投递 - [ ] 写下一句“下一步如果继续学”(第 12 节里选一个),作为新路径,不塞进本计划 **完结动作**:把本文件开头的状态改成“已完成(YYYY-MM-DD)”,提交并推送。本路径正式结束。