{ "schema_version": 1, "generated_by": "tools/build_catalog.py", "stacks": [ { "stack": "agent-ops", "domain": "ai", "title": "Agent 记忆、评测与可观测性", "index": "topics/ai/agent-ops/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "function-calling", "domain": "ai", "title": "Function Calling 工具调用", "index": "topics/ai/function-calling/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "langchain", "domain": "ai", "title": "LangChain", "index": "topics/ai/langchain/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "langgraph", "domain": "ai", "title": "LangGraph", "index": "topics/ai/langgraph/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "lowcode", "domain": "ai", "title": "Dify / Coze 低代码平台", "index": "topics/ai/lowcode/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "mcp", "domain": "ai", "title": "MCP 模型上下文协议", "index": "topics/ai/mcp/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "prompt-engineering", "domain": "ai", "title": "提示词与上下文工程", "index": "topics/ai/prompt-engineering/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "rag", "domain": "ai", "title": "RAG 检索增强生成", "index": "topics/ai/rag/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "vector-db", "domain": "ai", "title": "向量数据库", "index": "topics/ai/vector-db/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "gin", "domain": "backend", "title": "Gin Web 框架", "index": "topics/backend/gin/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "go", "domain": "backend", "title": "Go 语言", "index": "topics/backend/go/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "grpc-microservices", "domain": "backend", "title": "gRPC 与微服务", "index": "topics/backend/grpc-microservices/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "mq", "domain": "backend", "title": "消息队列(RabbitMQ / Kafka)", "index": "topics/backend/mq/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "mysql", "domain": "backend", "title": "MySQL", "index": "topics/backend/mysql/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "postgresql", "domain": "backend", "title": "PostgreSQL", "index": "topics/backend/postgresql/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "redis", "domain": "backend", "title": "Redis", "index": "topics/backend/redis/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "cicd", "domain": "devops", "title": "CI/CD", "index": "topics/devops/cicd/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "docker", "domain": "devops", "title": "Docker 与 Compose", "index": "topics/devops/docker/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "git", "domain": "devops", "title": "Git", "index": "topics/devops/git/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "linux", "domain": "devops", "title": "Linux 运维基础", "index": "topics/devops/linux/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "nginx", "domain": "devops", "title": "Nginx", "index": "topics/devops/nginx/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "fe-testing-perf", "domain": "frontend", "title": "前端测试与性能", "index": "topics/frontend/fe-testing-perf/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "react", "domain": "frontend", "title": "React", "index": "topics/frontend/react/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "ssr", "domain": "frontend", "title": "SSR(Nuxt / Next.js)", "index": "topics/frontend/ssr/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "typescript", "domain": "frontend", "title": "TypeScript", "index": "topics/frontend/typescript/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "vite", "domain": "frontend", "title": "Vite", "index": "topics/frontend/vite/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "vue", "domain": "frontend", "title": "Vue 3 + Pinia + Router", "index": "topics/frontend/vue/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "webpack", "domain": "frontend", "title": "Webpack", "index": "topics/frontend/webpack/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "asyncio", "domain": "python", "title": "asyncio 异步编程", "index": "topics/python/asyncio/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "fastapi", "domain": "python", "title": "FastAPI", "index": "topics/python/fastapi/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] }, { "stack": "python", "domain": "python", "title": "Python 语言", "index": "topics/python/python/index.md", "lessons": 0, "scenarios": 0, "interview_questions": { "基础": 0, "进阶": 0, "场景题": 0 }, "examples": [] } ], "items": [ { "id": "ai.agent-ops.index", "title": "Agent 记忆、评测与可观测性", "type": "index", "domain": "ai", "stack": [ "agent-ops" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 12, 13 ], "order": null, "path": "topics/ai/agent-ops/index.md", "sections": [] }, { "id": "ai.function-calling.index", "title": "Function Calling 工具调用", "type": "index", "domain": "ai", "stack": [ "function-calling" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 10 ], "order": null, "path": "topics/ai/function-calling/index.md", "sections": [] }, { "id": "ai.langchain.index", "title": "LangChain", "type": "index", "domain": "ai", "stack": [ "langchain" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 6, 11 ], "order": null, "path": "topics/ai/langchain/index.md", "sections": [] }, { "id": "ai.langgraph.index", "title": "LangGraph", "type": "index", "domain": "ai", "stack": [ "langgraph" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 11, 12 ], "order": null, "path": "topics/ai/langgraph/index.md", "sections": [] }, { "id": "ai.lowcode.index", "title": "Dify / Coze 低代码平台", "type": "index", "domain": "ai", "stack": [ "lowcode" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 13 ], "order": null, "path": "topics/ai/lowcode/index.md", "sections": [] }, { "id": "ai.mcp.index", "title": "MCP 模型上下文协议", "type": "index", "domain": "ai", "stack": [ "mcp" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 10, 11 ], "order": null, "path": "topics/ai/mcp/index.md", "sections": [] }, { "id": "ai.prompt-engineering.index", "title": "提示词与上下文工程", "type": "index", "domain": "ai", "stack": [ "prompt-engineering" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 5, 11, 13 ], "order": null, "path": "topics/ai/prompt-engineering/index.md", "sections": [] }, { "id": "ai.rag.index", "title": "RAG 检索增强生成", "type": "index", "domain": "ai", "stack": [ "rag" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 5, 6 ], "order": null, "path": "topics/ai/rag/index.md", "sections": [] }, { "id": "ai.vector-db.index", "title": "向量数据库", "type": "index", "domain": "ai", "stack": [ "vector-db" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 5, 6 ], "order": null, "path": "topics/ai/vector-db/index.md", "sections": [] }, { "id": "backend.gin.index", "title": "Gin Web 框架", "type": "index", "domain": "backend", "stack": [ "gin" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 1, 2, 3 ], "order": null, "path": "topics/backend/gin/index.md", "sections": [] }, { "id": "backend.go.index", "title": "Go 语言", "type": "index", "domain": "backend", "stack": [ "go" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 1, 2, 3, 14 ], "order": null, "path": "topics/backend/go/index.md", "sections": [] }, { "id": "backend.grpc-microservices.index", "title": "gRPC 与微服务", "type": "index", "domain": "backend", "stack": [ "grpc-microservices" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 14 ], "order": null, "path": "topics/backend/grpc-microservices/index.md", "sections": [] }, { "id": "backend.mq.index", "title": "消息队列(RabbitMQ / Kafka)", "type": "index", "domain": "backend", "stack": [ "mq" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 3, 14 ], "order": null, "path": "topics/backend/mq/index.md", "sections": [] }, { "id": "backend.mysql.index", "title": "MySQL", "type": "index", "domain": "backend", "stack": [ "mysql" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 2, 14 ], "order": null, "path": "topics/backend/mysql/index.md", "sections": [] }, { "id": "backend.postgresql.index", "title": "PostgreSQL", "type": "index", "domain": "backend", "stack": [ "postgresql" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 2, 3, 6 ], "order": null, "path": "topics/backend/postgresql/index.md", "sections": [] }, { "id": "backend.redis.index", "title": "Redis", "type": "index", "domain": "backend", "stack": [ "redis" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 3, 6, 14 ], "order": null, "path": "topics/backend/redis/index.md", "sections": [] }, { "id": "devops.cicd.index", "title": "CI/CD", "type": "index", "domain": "devops", "stack": [ "cicd" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 3, 7, 14 ], "order": null, "path": "topics/devops/cicd/index.md", "sections": [] }, { "id": "devops.docker.index", "title": "Docker 与 Compose", "type": "index", "domain": "devops", "stack": [ "docker" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 3, 6, 13, 14 ], "order": null, "path": "topics/devops/docker/index.md", "sections": [] }, { "id": "devops.git.index", "title": "Git", "type": "index", "domain": "devops", "stack": [ "git" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 1, 8, 15 ], "order": null, "path": "topics/devops/git/index.md", "sections": [] }, { "id": "devops.linux.index", "title": "Linux 运维基础", "type": "index", "domain": "devops", "stack": [ "linux" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 14 ], "order": null, "path": "topics/devops/linux/index.md", "sections": [] }, { "id": "devops.nginx.index", "title": "Nginx", "type": "index", "domain": "devops", "stack": [ "nginx" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 3, 7, 14 ], "order": null, "path": "topics/devops/nginx/index.md", "sections": [] }, { "id": "frontend.fe-testing-perf.index", "title": "前端测试与性能", "type": "index", "domain": "frontend", "stack": [ "fe-testing-perf" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/fe-testing-perf/index.md", "sections": [] }, { "id": "frontend.react.index", "title": "React", "type": "index", "domain": "frontend", "stack": [ "react" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/react/index.md", "sections": [] }, { "id": "frontend.ssr.index", "title": "SSR(Nuxt / Next.js)", "type": "index", "domain": "frontend", "stack": [ "ssr" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/ssr/index.md", "sections": [] }, { "id": "frontend.typescript.index", "title": "TypeScript", "type": "index", "domain": "frontend", "stack": [ "typescript" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/typescript/index.md", "sections": [] }, { "id": "frontend.vite.index", "title": "Vite", "type": "index", "domain": "frontend", "stack": [ "vite" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/vite/index.md", "sections": [] }, { "id": "frontend.vue.index", "title": "Vue 3 + Pinia + Router", "type": "index", "domain": "frontend", "stack": [ "vue" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/vue/index.md", "sections": [] }, { "id": "frontend.webpack.index", "title": "Webpack", "type": "index", "domain": "frontend", "stack": [ "webpack" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 7 ], "order": null, "path": "topics/frontend/webpack/index.md", "sections": [] }, { "id": "plan.index", "title": "转岗计划总纲", "type": "index", "domain": "plan", "stack": [], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [], "order": null, "path": "plan/README.md", "sections": [ "1. 背景、起点和目标", "2. 技术栈(已确定)", "3. 十六周总路线", "4. 岗位要求对照", "5. 学习原则和每周文件的写法", "6. 时间不够怎么砍", "7. 阶段 0~4 和五个学习重点", "8. 案例卡模板(直接复制)", "9. 每周节奏和戒律", "10. 脱敏和保密", "11. 简历和投递建议", "12. 仓库结构、文件清单和换设备", "13. 进度记录", "14. 终点验收清单(全部勾选才算完结)" ] }, { "id": "plan.week01", "title": "第 1 周:Go 基础 + Gin 写 REST 接口", "type": "week", "domain": "plan", "stack": [ "go", "gin", "git" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 1 ], "order": 1, "path": "plan/week01-go-gin.md", "sections": [ "本周最终目录", "第 1 天:环境、变量、函数和错误返回", "第 2 天:切片、map、结构体、方法、接口", "第 3 天:错误包装、并发、单元测试", "第 4 天:从 net/http 到 Gin", "第 5 天:分层:model / store / handler", "第 6 天:中间件和接口测试", "第 7 天:配置、优雅关机、接前端", "本周自查清单" ] }, { "id": "plan.week02", "title": "第 2 周:数据库(PostgreSQL 为主,兼顾 MySQL)+ 注册登录与 JWT", "type": "week", "domain": "plan", "stack": [ "go", "gin", "postgresql", "mysql" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 2 ], "order": 2, "path": "plan/week02-db-auth.md", "sections": [ "本周最终目录(在上周 `todo-api/backend` 基础上新增)", "第 1 天:用 Docker 跑 PostgreSQL,写基础 SQL 和表设计", "第 2 天:多表查询、索引、EXPLAIN", "第 3 天:迁移和 Go 访问数据库(pgx)", "第 4 天:事务、隔离级别、幂等写入", "第 5 天:密码哈希和 JWT", "第 6 天:注册、登录、鉴权中间件", "第 7 天:配置切换、接口测试、集成测试、收尾", "本周自查清单" ] }, { "id": "plan.week03", "title": "第 3 周:项目一“团队任务看板”:权限 + Redis + 消息队列 + Docker 部署", "type": "week", "domain": "plan", "stack": [ "go", "gin", "postgresql", "redis", "mq", "docker", "nginx", "cicd" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 3 ], "order": 3, "path": "plan/week03-project1.md", "sections": [ "本周最终目录", "第 1 天:看板建模和权限", "第 2 天:看板和任务接口、拖动排序的事务", "第 3 天:Redis 基础和缓存", "第 4 天:限流和分布式锁", "第 5 天:消息队列入门(Redis Streams),了解 RabbitMQ / Kafka", "第 6 天:Docker、Compose、Nginx", "第 7 天:部署到服务器 + CI + 收尾", "本周自查清单" ] }, { "id": "plan.week04", "title": "第 4 周:Python 速成(给 JS 开发者)+ FastAPI 基础", "type": "week", "domain": "plan", "stack": [ "python", "asyncio", "fastapi" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 4 ], "order": 4, "path": "plan/week04-python.md", "sections": [ "本周最终目录", "第 1 天:包管理和基础语法", "第 2 天:类型标注、dataclass、Protocol、pytest", "第 3 天:异常、上下文管理器、文件和日志", "第 4 天:asyncio(本周最重要)", "第 5 天:pydantic 和配置", "第 6 天:httpx 异步请求、重试、测试替身", "第 7 天:FastAPI(Uvicorn、依赖注入、中间件、鉴权、生命周期、SSE)", "本周自查清单" ] }, { "id": "plan.week05", "title": "第 5 周:RAG 知识库问答(上)——手写主流程", "type": "week", "domain": "plan", "stack": [ "asyncio", "fastapi", "rag", "vector-db", "prompt-engineering" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 5 ], "order": 5, "path": "plan/week05-rag-1.md", "sections": [ "项目二总览", "第 1 天:RAG 概念、项目初始化、模型客户端", "第 2 天:加载和切分", "第 3 天:向量库和幂等入库", "第 4 天:检索、提示词、带引用的生成", "第 5 天:FastAPI 接口和流式输出", "第 6 天:命令行、接入真实模型、人工试验", "第 7 天:整理、README、复盘", "本周自查清单" ] }, { "id": "plan.week06", "title": "第 6 周:RAG 知识库问答(下)——评测、混合检索、重排、记忆、缓存、LangChain、部署", "type": "week", "domain": "plan", "stack": [ "postgresql", "redis", "docker", "rag", "vector-db", "langchain" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 6 ], "order": 6, "path": "plan/week06-rag-2.md", "sections": [ "第 1 天:评测集和指标", "第 2 天:BM25 关键词检索 + RRF 混合检索", "第 3 天:重排(Rerank)", "第 4 天:多轮追问——问题改写 + 会话短期记忆(Redis)", "第 5 天:缓存、配置组装、多轮对话接口", "第 6 天:LangChain 对照实现 + Milvus / pgvector", "第 7 天:Docker Compose 部署 + 复盘", "本周自查清单" ] }, { "id": "plan.week07", "title": "第 7 周:前端工程化查漏补缺 + 两个项目的界面", "type": "week", "domain": "plan", "stack": [ "nginx", "cicd", "vue", "react", "typescript", "vite", "webpack", "ssr", "fe-testing-perf" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 7 ], "order": 7, "path": "plan/week07-frontend.md", "sections": [ "本周最终目录", "第 1 天:pnpm monorepo、TS 严格配置、ESLint + Prettier、共享请求封装", "第 2 天:SSE 流式解析(fetch + ReadableStream)", "第 3 天:Vue 3 应用——项目一的任务看板", "第 4 天:React 应用——项目二的知识库问答界面", "第 5 天:构建工具和性能优化", "第 6 天:SSR 基础(Nuxt / Next.js)", "第 7 天:前端 CI、构建产物部署、复盘", "本周自查清单(对照招聘“熟悉 Vue / React”的延伸要求)" ] }, { "id": "plan.week08", "title": "第 8 周:阶段 0 盘点 + 阶段 1 读通与画图", "type": "week", "domain": "plan", "stack": [ "git" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 8 ], "order": 8, "path": "plan/week08-inventory-architecture.md", "sections": [ "第 1 天:阶段 0——盘点", "第 2 天:脱敏机制——提交前自动检查", "第 3 天:阶段 1——怎么读一个大项目", "第 4 天:画架构图,标出断点", "第 5 天:接口职责表", "第 6 天:把流程画成状态机,并用代码验证思路", "第 7 天:阶段 1 验收 + 口述初稿", "本周自查清单" ] }, { "id": "plan.week09", "title": "第 9 周:阶段 2——五个重点 A~E 深挖 + 案例卡", "type": "week", "domain": "plan", "stack": [], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 9 ], "order": 9, "path": "plan/week09-case-cards.md", "sections": [ "第 1 天:A 多 Agent 编排", "第 2 天:C 流式与长任务", "第 3 天:B 状态与权威源", "第 4 天:D 人机协作", "第 5 天:E 与业务系统集成", "第 6 天:补写和打磨案例卡", "第 7 天:汇总设计输入", "本周自查清单" ] }, { "id": "plan.week10", "title": "第 10 周:项目三 M1——手写工具调用循环 + 手写多 Agent 循环 + MCP 服务", "type": "week", "domain": "plan", "stack": [ "mcp", "function-calling" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 10 ], "order": 10, "path": "plan/week10-agent-m1-tools-mcp.md", "sections": [ "项目三总览", "第 1 天:初始化 + 支持工具调用的最小模型客户端", "第 2 天:手写工具调用循环", "第 3 天:手写多 Agent 循环", "第 4 天:MCP 概念 + 写一个 MCP 服务", "第 5 天:在 Cursor 和自己的 Agent 里用 MCP", "第 6 天:真实模型试跑 + 对照文档(上半)", "第 7 天:M1 验收" ] }, { "id": "plan.week11", "title": "第 11 周:项目三 M2——用 LangGraph 实现多 Agent 编排", "type": "week", "domain": "plan", "stack": [ "langchain", "langgraph", "mcp", "prompt-engineering" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 11 ], "order": 11, "path": "plan/week11-agent-m2-langgraph.md", "sections": [ "第 1 天:LangGraph 基础", "第 2 天:State、结构化决定、路由规则", "第 3 天:模型、工具、提示词、节点", "第 4 天:组装图 + 测试", "第 5 天:MCP 工具接入 LangGraph + 命令行", "第 6 天:真实模型试跑和调提示词", "第 7 天:对照文档 + M2 验收" ] }, { "id": "plan.week12", "title": "第 12 周:项目三 M3——检查点续跑、人机协作、后台作业、SSE、长期记忆", "type": "week", "domain": "plan", "stack": [ "asyncio", "fastapi", "langgraph", "agent-ops" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 12 ], "order": 12, "path": "plan/week12-agent-m3-persistence.md", "sections": [ "核心设计:两层状态", "第 1 天:检查点和续跑", "第 2 天:长期记忆(Store)", "第 3 天:业务表和租约", "第 4 天:后台运行器(RunManager)和报告", "第 5 天:FastAPI 接口和 SSE", "第 6 天:页面 + 崩溃恢复演示", "第 7 天:走查 + M3 验收" ] }, { "id": "plan.week13", "title": "第 13 周:项目三 M4——评测集、可观测性、文档、Docker + Dify / Coze 体验", "type": "week", "domain": "plan", "stack": [ "docker", "prompt-engineering", "agent-ops", "lowcode" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 13 ], "order": 13, "path": "plan/week13-agent-m4-eval-lowcode.md", "sections": [ "第 1 天:评测集和规则检查", "第 2 天:评测脚本、回归测试、用评测驱动改进", "第 3 天:可观测性(回调、LangSmith / Langfuse)", "第 4 天:文档(架构、设计取舍、映射表)", "第 5 天:README、Docker、从零验证、讲解稿", "第 6~7 天:Dify / Coze 体验(低代码平台)" ] }, { "id": "plan.week14", "title": "第 14 周:后端补强——消息队列、gRPC、Redis / MySQL 专题、全部项目部署、CI/CD", "type": "week", "domain": "plan", "stack": [ "go", "mysql", "redis", "mq", "grpc-microservices", "docker", "nginx", "linux", "cicd" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 14 ], "order": 14, "path": "plan/week14-backend-extend-deploy.md", "sections": [ "本周最终目录", "第 1 天:消息队列——RabbitMQ 动手 + Kafka 概念", "第 2 天:微服务概念 + gRPC", "第 3 天:Redis 面试专题——锁、缓存三大问题、限流", "第 4 天:MySQL 面试专题——索引、EXPLAIN、事务和隔离级别", "第 5 天:把三个项目部署到一台服务器", "第 6 天:CI/CD——测试、构建镜像、自动部署", "第 7 天(可选):用 Go 写一个鉴权网关", "本周验收" ] }, { "id": "plan.week15", "title": "第 15 周:阶段 4(上)——作品集、简历、STAR 经历、口述稿", "type": "week", "domain": "plan", "stack": [ "git" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 15 ], "order": 15, "path": "plan/week15-package-resume.md", "sections": [ "本周最终目录", "第 1 天:整理作品集(3 个公开仓库)", "第 2 天:简历结构、学历和技能栏", "第 3 天:项目经历怎么写", "第 4 天:工作经历——3 条 STAR", "第 5 天:针对岗位调整简历(关键词对照)", "第 6 天:口述稿和演示视频", "第 7 天:自查、请人审阅、阶段 4(上)验收" ] }, { "id": "plan.week16", "title": "第 16 周:阶段 4(下)——面试准备、终点验收、投递", "type": "week", "domain": "plan", "stack": [], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": 12, "week": [ 16 ], "order": 16, "path": "plan/week16-interview.md", "sections": [ "本周最终目录", "第 1 天:面试笔记(上)——Python 和 FastAPI", "第 2 天:面试笔记(中)——RAG 和 Agent", "第 3 天:面试笔记(下)——后端、前端、Go", "第 4 天:项目深挖和系统设计", "第 5 天:模拟面试和抽题练习", "第 6 天:终点验收", "第 7 天:开始投递,建立复盘循环" ] }, { "id": "python.asyncio.index", "title": "asyncio 异步编程", "type": "index", "domain": "python", "stack": [ "asyncio" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 4, 5, 12 ], "order": null, "path": "topics/python/asyncio/index.md", "sections": [] }, { "id": "python.fastapi.index", "title": "FastAPI", "type": "index", "domain": "python", "stack": [ "fastapi" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 4, 5, 12 ], "order": null, "path": "topics/python/fastapi/index.md", "sections": [] }, { "id": "python.python.index", "title": "Python 语言", "type": "index", "domain": "python", "stack": [ "python" ], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [ 4 ], "order": null, "path": "topics/python/python/index.md", "sections": [] }, { "id": "scenarios.index", "title": "跨技术栈企业服务场景", "type": "index", "domain": "cross", "stack": [], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [], "order": null, "path": "scenarios/index.md", "sections": [] }, { "id": "topics.index", "title": "专项学习总目录", "type": "index", "domain": "plan", "stack": [], "tags": [], "level": null, "prerequisites": [], "related": [], "est_hours": null, "week": [], "order": null, "path": "topics/index.md", "sections": [ "后端(`backend`)", "运维与工程(`devops`)", "Python(`python`)", "AI 应用(`ai`)", "前端(`frontend`)" ] } ] }