AI Agent 工程师求职文档

AI Agent 工程师 8 周突击学习计划

适用对象:有 10 年 C#/.NET 后端经验、每周可投入 30 小时以上、希望在 2 个月内完成 AI 应用工程岗位准备的开发者。

文档定位

这份计划不是泛泛的“AI 学习路线图”,而是围绕 AI Agent 工程师 岗位要求整理的一份求职导向文档。核心目标只有一个:在 8 周内做出一个能演示、能讲交付、能讲优化、能讲部署与稳定性的项目,让你的既有后端经验顺利迁移到 AI 应用工程场景。

计划刻意避开大而散的学习方式,不追求覆盖所有 AI 概念,而是沿着 Prompt 调优、RAG、Agent 工作流、工程化交付 这条高频岗位主线推进。每一周都要求有可见的交付物,这样学习结果才能自然转化为作品集、简历项目和面试回答。

适用前提

默认前提为:以 Python 为主,向量库采用 PostgreSQL + pgvector,知识源采用 上市公司公告 + 交易所规则文档。这条路线兼顾岗位匹配度、落地速度与面试可讲述性。

路线判断

从当前市面上的 AI 应用工程岗位看,最常见的服务端主线仍然是 Python 生态,尤其是 FastAPILangChainLangGraph、向量检索和部署调试相关能力。虽然 .NET 也能做 AI 应用,但如果目标是提高岗位覆盖面和面试命中率,以 Python 为主更稳妥。

向量库部分,这份计划不走“只选最炫技术”的思路,而是选 pgvector。它足够主流,学习和部署成本低,又能和你原本的数据库、索引、性能调优经验自然衔接。面试时你不仅能讲“会用”,还能讲表结构、检索链路、存储设计和性能治理。

知识源之所以选公告和规则文档,是因为它们公开、真实、结构复杂,既能体现文档解析与 RAG 质量治理能力,又能贴近金融/证券类岗位偏好。这样的项目不会像纯 Demo 一样轻飘,面试官也更容易相信它具备真实业务迁移价值。

你的优势不在于重新做一个初级 Python 开发,而在于把 10 年后端经验迁移到 AI 应用工程里:服务治理、稳定性、边界控制、排障能力、数据建模和交付意识,都是这个岗位真正缺的东西。

技术主线

这类岗位通常不要求候选人训练基础模型,但会非常看重能否把大模型能力做成一个可交付、可观测、可迭代、可上线的应用。你需要重点补的不是传统服务端基础,而是 AI 应用开发特有的几个薄弱环节:检索增强、Prompt 版本治理、工具调用、评测与回归、引用溯源和故障兜底。

能力方向 推荐技术 在项目中的体现
服务端骨架 FastAPI 接口、流式输出、异常处理、健康检查、配置治理
RAG 基础 LangChain + pgvector 文档导入、切分、向量检索、引用返回
Agent 编排 LangGraph Plan → Retrieve/Tool → Check → Final 的工作流
缓存与状态 Redis 会话、缓存、限流、短期上下文管理
文档解析 PyMuPDFunstructured PDF 内容提取、页码与来源保留
可观测性 OpenTelemetry + 结构化日志 traceId、模型耗时、token 用量、工具调用链路
部署交付 Docker Compose 本地一键起服务、数据库、缓存和向量扩展
测试与回归 pytest 接口测试、Prompt 回归、RAG 评测

八周总览

整套计划采用高强度单主线推进方式。每周建议投入 30 到 36 小时,保持“开发新能力、修 badcase、补工程化、写复盘”四件事并行,不要把所有时间都用来堆功能。

周次 核心目标 本周产出 验收标准
W1 Python 工程地基 + LLM 服务骨架 基础 API、流式输出、结构化输出、README v0 本地启动稳定,接口可跑,日志完整
W2 会话、缓存、可观测、配置治理 session、Redis 缓存、trace、统一响应规范 服务像样,能看日志、能看链路、能处理超时
W3 RAG v1:入库、切分、检索、引用 导入脚本、检索接口、问答接口、首批知识源 回答附带来源,至少导入 30 份真实文档
W4 RAG v2:混合检索、重排、评测 评测脚本、优化记录、badcase 列表 能量化展示优化前后差异
W5 Agent v1:工具调用与工作流 2 个工具、LangGraph 工作流、执行轨迹 问题能触发正确工具,链路可回放
W6 Agent v2:回归、结构校验、兜底 Prompt 回归、拒答策略、结构化校验 改 Prompt 有测试,错误输出有拦截
W7 容器化、压测、稳定性治理 Compose、压测报告、部署文档 能部署、能压测、能说明排障方法
W8 作品集与面试表达收口 README 成品、Demo 脚本、简历项目描述 10 分钟内能完整讲清项目价值和决策

逐周执行

W1:Python 工程地基 + LLM 服务骨架

目标:先把一个稳定、可调试、可扩展的服务壳搭起来。

这周不要急着碰 RAG 和 Agent。先把目录结构、配置管理、日志、异常处理、模型调用封装、流式输出和结构化输出做扎实。后面所有能力都建立在这个骨架上,第一周偷懒,后面会不断返工。

建议任务:搭建 FastAPI 项目、做 /chat/chat/stream、实现一个结构化输出接口、抽 Prompt 模板、补基础测试、写 README 的运行说明。

交付物:基础服务、结构化输出示例、提示词模板目录、最小测试集。

验收:本地一条命令可启动;同一套日志中能看到请求 id、耗时和异常;至少一个接口返回稳定 JSON。

W2:会话、缓存、可观测、配置治理

目标:把服务从“能跑”升级为“像产品服务”。

这周的重点是工程化而不是新功能。做 session、上下文窗口管理、缓存、超时、重试、降级和 trace,把一次请求拆开来看。AI 应用最常见的问题并不是“不会写接口”,而是出了问题不知道哪一段慢、哪一段错、哪一段成本高。

建议任务:引入 Redis 做缓存和会话;为模型调用、检索、工具调用预留 trace 字段;统一响应体和错误码;给配置文件做环境分层。

交付物:会话能力、缓存能力、结构化日志、trace 基础链路、配置规范文档。

验收:同问题二次请求可以命中缓存;模型超时时服务不会直接崩;你能仅凭日志复盘一次请求。

W3:RAG v1:入库、切分、检索、引用

目标:做出第一版能用的金融文档问答。

先准备一小批真实知识源,不求多,求结构完整。建议从 20 到 30 份上市公司公告和 5 到 10 份交易所规则文档开始。先把 PDF 解析、页码保留、来源元数据、chunk 切分和向量入库打通,然后再接问答。

建议任务:写导入脚本、设计文档表与 chunk 表、接入 embedding、把 chunk 写入 pgvector、实现检索接口和带引用的问答接口。

交付物/ingest/retrieve/ask 三类能力,以及首批知识源样本。

验收:回答必须附引用来源;检索结果至少带文档名、页码或段落信息;你能手动列出 3 个 badcase。

W4:RAG v2:混合检索、重排、评测

目标:让 RAG 从“能用”走到“能解释为什么变好”。

岗位面试里非常常见的追问不是“你会不会做 RAG”,而是“你怎么优化的”和“你怎么证明优化有效”。这一周必须做评测集、badcase 分类、混合检索和简单重排。哪怕指标体系还很朴素,也一定要开始建立“不是凭感觉改”的习惯。

建议任务:加关键词检索、向量与关键词融合排序、接入 rerank、整理 50 到 100 条问答样本、写评测脚本、记录优化前后差异。

交付物:RAG 评测脚本、优化记录、至少 3 类 badcase 的修复说明。

验收:你能拿一组样本展示优化前后的变化,能讲清 chunk、topK、rerank 的取舍逻辑。

W5:Agent v1:工具调用与工作流

目标:把项目从检索问答升级到真正的 Agent 应用。

这一周不追求多工具,而是要把工具调用链路做得清晰、稳定、可追踪。建议只做两个工具:一个计算类工具,一个规则校验类工具。这样既贴近金融文档场景,也便于展示模型何时该调工具、工具失败时如何回退。

建议任务:设计工具 schema、参数校验、异常处理、LangGraph 状态图、失败重试和结果汇总;记录每步输入输出。

交付物:Agent 工作流、两个工具、执行轨迹日志、Demo v1。

验收:至少一类问题会触发正确工具;工具失败时不会导致整条链路直接报废;日志里能看出每一步做了什么。

W6:Agent v2:回归、结构校验、拒答与兜底

目标:开始建立质量门禁。

到这一周,项目的关键差异已经不再是“多做了几个能力”,而是“能不能把错误拦下来”。Agent 很容易出现结构化输出不稳定、没有依据也回答、工具参数错误等问题,所以必须补回归、输出校验、拒答策略和自动修复机制。

建议任务:给 Prompt 编号;维护固定样本回归集;对 JSON 输出做 schema 校验;没有检索依据时拒答;记录异常路径。

交付物:Prompt 回归、结构化校验器、拒答机制、质量门禁说明。

验收:改 Prompt 后能一键跑回归;结构化输出不合法时可以拦截或重试;系统不会在“无依据”问题上强答。

W7:容器化、压测、稳定性治理

目标:把后端老兵的优势打出来。

这一周是你和很多“只会做 Demo”的候选人拉开差距的关键。把应用、数据库、缓存都装进 Docker Compose,补启动自检、限流、压测和基础故障演练。面试官如果问“上线后会先出什么问题”,你必须能结合自己的项目说出具体答案。

建议任务:容器化、编写启动脚本、增加健康检查、做并发压测、记录 P95、分析瓶颈、补 OpenTelemetry 说明。

交付物docker-compose.yml、压测报告、部署手册、排障说明。

验收:新机器按文档能启动;至少能讲出两个稳定性问题及处理方式;一次完整请求的耗时路径可解释。

W8:作品集、README、Demo 与面试表达

目标:把项目从“自己会”变成“别人相信你会”。

最后一周要做的是收口,而不是再塞功能。重写 README,补架构图,整理 10 分钟演示脚本,把“为什么这样选技术”“怎么验证优化”“哪里容易出线上问题”写成能直接说出口的话。求职阶段,表达能力会放大技术成果,也会放大技术短板。

建议任务:完善 README、补架构图、整理高频面试问答、写简历项目描述、做一轮 mock interview。

交付物:成品 README、演示脚本、简历项目描述、问答清单。

验收:你能在 10 分钟内讲清需求、方案、取舍、优化、问题与结果;读者 3 分钟能看懂这个项目值不值得面试你。

主项目设计

主项目建议命名为 证券/金融文档问答 Agent。它不需要做复杂前端,也不需要一上来做多 Agent 协作。重点是用一条完整链路把你在岗位里最可能被问到的能力串起来:知识源导入、RAG 检索、引用溯源、工具调用、结构化输出、日志链路、回归和部署。

模块 建议范围 这样设计的原因
知识源 上市公司公告、交易所规则 PDF 公开可获取、结构真实、贴近岗位偏好
RAG 向量检索 + 关键词检索 + 引用溯源 足够体现检索质量与工程能力
工具 计算工具、规则校验工具 简单但贴近金融规则场景
输出 自然语言回答 + 结构化结论 便于展示结构化输出与二次消费能力
质量控制 拒答、引用校验、回归、异常兜底 体现“能上线”而不是“会跑 Demo”
运维 容器化、trace、压测、限流 把后端稳定性优势迁移进 AI 项目
控制边界

前 8 周不建议做复杂前端、多 Agent 协作、长链外部工具集成或 K8s 级别的发布体系。求职阶段最重要的是把单项目做深,把质量、解释能力和交付感做出来。

项目结构

下面这套目录结构足够支撑你从 W1 一直用到 W8,不会随着功能增加而失控。它的核心思想是把服务骨架、RAG、Agent、Prompt、测试和评测分开,让后期做回归和排障时更轻松。

ai-agent-app/
├─ app/
│  ├─ api/                 # FastAPI 路由
│  ├─ core/                # 配置、日志、异常、依赖注入
│  ├─ llm/                 # 模型调用封装
│  ├─ rag/
│  │  ├─ ingest/           # 文档导入与切分
│  │  ├─ retrieve/         # 检索、融合、重排
│  │  └─ citations/        # 引用组装
│  ├─ agent/
│  │  ├─ graphs/           # LangGraph 工作流
│  │  ├─ tools/            # 工具定义
│  │  └─ guards/           # 拒答、结构校验、兜底
│  ├─ schemas/             # Pydantic 模型
│  └─ services/            # 业务编排
├─ prompts/                # Prompt 模板与版本
├─ scripts/                # 导入、初始化、评测脚本
├─ tests/
│  ├─ unit/
│  ├─ integration/
│  └─ regression/
├─ eval/                   # 评测集与结果
├─ docs/                   # README、架构图、优化记录
├─ docker/
├─ docker-compose.yml
└─ README.md

第一周开工清单

如果现在就开始动手,第一周不需要再继续搜集大量资料。最好的做法是边搭骨架边学,先把项目跑起来,再用真实问题倒逼你补缺口。下面是一份可以直接执行的开工顺序。

  1. 建立项目目录和 FastAPI 基础应用。
  2. 完成环境配置、日志初始化和异常处理中间件。
  3. 封装模型调用,先只做一个 chat 方法。
  4. 实现 /chat/chat/stream
  5. 增加一个结构化输出接口,例如“提取问题意图”。
  6. 把 Prompt 抽到 prompts/ 目录中。
  7. 写 5 条基础接口测试。
  8. 补 README 的启动说明与当前能力说明。
第一周完成标志

本地可以稳定启动;模型接口能通;流式输出能返回;至少一个接口输出结构化 JSON;测试能跑;README 写清楚如何启动。只要这 6 件事完成,第一周就算合格。

面试表达重点

后续每一周复盘时,都建议围绕固定问题整理笔记。这样第八周就不需要临时拼凑话术,项目过程本身就会沉淀成面试材料。

  1. 为什么选择 Python 主线,而不是继续把 .NET 当主语言。
  2. 为什么选择 pgvector,它在项目里承担了什么角色。
  3. 你如何证明 RAG 优化真的有效,而不是主观感觉更好。
  4. 工具调用失败或没有依据时,系统如何拒答和兜底。
  5. 如果部署在客户环境,最容易先出什么问题,如何定位和缓解。

只要你能围绕这 5 个问题,把项目中的设计、取舍、指标、坏例子和故障处理讲顺,岗位匹配度就会非常高。对你来说,真正的竞争力不是“我也学过 AI”,而是“我能把 AI 应用做成一个可交付、可排障、可迭代的工程系统”。