概览
《Agent 开发:从前端/全栈到生产级智能体》#
第一部分:重新理解 Agent#
第1章 Agent 到底是什么#
学习目标:建立工程视角,不停留在“会自主思考的 AI”这种模糊说法。
- 1.1 Agent 的工程定义:模型、工具、状态、目标、执行循环
- 1.2 Agent vs Chatbot vs Workflow vs RPA
- 1.3 Agent 的最小闭环:观察、决策、行动、反馈
- 1.4 什么时候需要 Agent,什么时候只需要普通 API 调用
- 1.5 Agent 的典型产品形态:客服、研发助手、数据分析、浏览器自动化、企业流程助手
实践任务:
- 画出一个“天气查询 Agent”的执行循环
- 对比普通聊天机器人、工作流自动化、Agent 三种实现方式
- 找 5 个你日常工作中适合 Agent 化的任务
第2章 现代 LLM 能力边界#
学习目标:知道模型擅长什么、不擅长什么,避免神化 Agent。
- 2.1 Transformer 基础只学够用版:上下文、token、自回归、注意力
- 2.2 主流模型能力维度:通用推理、代码、长上下文、多模态、工具调用
- 2.3 Reasoning Model 与普通 Chat Model 的区别
- 2.4 幻觉、过度自信、上下文遗忘、工具误用
- 2.5 模型选型:质量、速度、成本、上下文、工具能力、生态支持
实践任务:
- 用同一个任务测试 2 到 3 个模型的差异
- 记录模型在长任务中的失败点
- 做一个简单的模型选型表
第3章 Prompt 与上下文设计#
学习目标:把 Prompt 从“玄学提示词”变成可维护的工程配置。
- 3.1 System Prompt、Developer Instruction、User Prompt 的职责划分
- 3.2 角色设定的正确用法:约束行为,而不是 cosplay
- 3.3 Few-shot 示例如何提升稳定性
- 3.4 结构化输出:JSON Schema、XML 标签、函数参数
- 3.5 上下文打包:用户目标、环境信息、历史状态、工具结果
- 3.6 Prompt 版本管理与 A/B 测试
实践任务:
- 给一个客服 Agent 写 system prompt
- 把自然语言输出改成 JSON Schema 输出
- 设计一个 prompt 版本号和变更记录格式
第二部分:Agent 核心工程能力#
第4章 Tool Calling:Agent 的第一核心能力#
学习目标:先把“模型调用工具”做稳定。
- 4.1 Function Calling / Tool Calling 的基本流程
- 4.2 工具 Schema 设计:名称、描述、参数、返回值
- 4.3 工具粒度:一个大工具 vs 多个小工具
- 4.4 工具执行错误、重试、超时、幂等
- 4.5 工具结果如何回传给模型
- 4.6 工具权限:只读、写入、高风险操作
实践任务:
- 写一个
get_weather工具 - 写一个
search_docs工具 - 写一个
create_ticket工具,但加入人工确认步骤 - 故意让工具失败,观察 Agent 如何恢复
推荐资料:
第5章 Agent Loop 与执行控制#
学习目标:理解 Agent 不是一次模型调用,而是一个受控循环。
- 5.1 单步调用、递归调用、多轮工具调用
- 5.2 ReAct 的工程化版本:不是论文复现,而是观察和行动循环
- 5.3 计划生成、执行、检查、修正
- 5.4 最大步数、最大成本、最大时间
- 5.5 中断、恢复、取消、人工接管
- 5.6 Trace:记录每一步模型和工具行为
实践任务:
- 实现一个最多执行 5 步的 Agent Loop
- 给 Agent 加入
max_cost和max_steps - 给每一步生成 trace 日志
- 做一个“失败后重新规划”的小 demo
第6章 状态管理与记忆系统#
学习目标:区分上下文、状态、记忆、知识库。
- 6.1 短期上下文:当前对话和当前任务
- 6.2 任务状态:todo、已完成步骤、失败步骤、待确认事项
- 6.3 用户记忆:偏好、身份、长期目标
- 6.4 知识记忆:文档、数据库、代码仓库、业务资料
- 6.5 记忆写入策略:什么时候该记,什么时候不该记
- 6.6 记忆压缩:摘要、分层、时间衰减、重要性评分
实践任务:
- 为 Agent 设计一个
task_stateJSON - 做一个用户偏好记忆表
- 实现一次对话结束后的摘要压缩
- 区分“应该进 RAG 的知识”和“应该进用户记忆的偏好”
第7章 RAG:从知识库问答到 Agent 检索#
学习目标:把 RAG 学成 Agent 的知识工具,而不是单独的问答系统。
- 7.1 文档摄取:解析、清洗、切分、元数据
- 7.2 Embedding 与向量检索
- 7.3 Hybrid Search:向量 + 关键词
- 7.4 Rerank:提高召回结果质量
- 7.5 Query Rewrite:让模型改写检索问题
- 7.6 Agentic RAG:模型决定查什么、查几次、如何验证
实践任务:
- 做一个 Markdown 文档问答助手
- 加入引用来源
- 加入 rerank
- 让 Agent 在答案不确定时主动二次检索
推荐资料:
第三部分:前端/全栈 Agent 开发#
第8章 Agent UI 设计#
学习目标:会做真正可用的 Agent 前端,而不是一个聊天框。
- 8.1 流式输出 UI
- 8.2 工具调用过程展示
- 8.3 Thinking、Plan、Action、Result 的可视化边界
- 8.4 人工确认 UI:批准、拒绝、编辑参数
- 8.5 可中断任务:Stop、Pause、Resume
- 8.6 文件上传、引用卡片、执行日志、结果导出
实践任务:
- 用 React / Next.js 做一个流式聊天界面
- 展示 Agent 正在调用哪个工具
- 做一个“批准发送邮件”的确认弹窗
- 做一个任务执行进度条
推荐资料:
第9章 全栈 Agent API 设计#
学习目标:设计 Agent 后端,而不是把所有逻辑塞进前端。
- 9.1
/chat、/runs、/tools、/sessionsAPI 设计 - 9.2 Server-Sent Events 与 WebSocket
- 9.3 会话、线程、任务 run 的数据模型
- 9.4 工具调用服务端执行
- 9.5 权限、鉴权、租户隔离
- 9.6 前后端如何共享 Agent 状态
实践任务:
- 设计一个 Agent Run 数据表
- 实现一个 SSE 流式接口
- 把工具执行放到服务端
- 前端展示 run 的每一步状态
第10章 浏览器自动化与 Computer Use#
学习目标:让 Agent 能操作网页,但知道风险边界。
- 10.1 Playwright 基础:定位、点击、输入、截图
- 10.2 浏览器自动化 vs 多模态 Computer Use
- 10.3 网页提取:DOM、可访问性树、截图 OCR
- 10.4 登录态、Cookie、权限边界
- 10.5 Prompt Injection 风险
- 10.6 浏览器 Agent 的安全沙箱
实践任务:
- 用 Playwright 自动登录一个测试站点
- 让 Agent 从网页提取表格数据
- 给浏览器任务加白名单域名
- 加入高风险操作确认,比如付款、删除、提交表单
推荐资料:
第四部分:现代 Agent 框架与协议#
第11章 OpenAI Agents SDK / AgentKit#
学习目标:掌握当前主流模型厂商的原生 Agent 开发方式。
- 11.1 Responses API、Tools、Hosted Tools
- 11.2 Agents SDK:Agent 定义、运行、handoff、state
- 11.3 Guardrails:输入、输出、工具调用保护
- 11.4 Tracing 与 Observability
- 11.5 Agent Builder 与 ChatKit 的适用场景
- 11.6 什么时候用 SDK,什么时候直接用 API
实践任务:
- 用 Agents SDK 写一个文档助手
- 加入一个自定义工具
- 加入一次 human review
- 看 trace 找出失败原因
推荐资料:
第12章 MCP:Agent 连接工具和数据的标准协议#
学习目标:掌握 2026 年最重要的 Agent 工具协议。
- 12.1 MCP 是什么:AI 应用连接外部系统的标准
- 12.2 MCP Client、MCP Server、Tools、Resources、Prompts
- 12.3 如何写一个 MCP Server
- 12.4 如何把数据库、文件、GitHub、Figma 接给 Agent
- 12.5 MCP 权限和安全边界
- 12.6 MCP 工具过载:工具太多时如何治理
实践任务:
- 写一个本地文件只读 MCP Server
- 写一个查询数据库的 MCP Server
- 把 MCP Server 接入一个 Agent
- 给 MCP 工具加权限分级和审计日志
推荐资料:
第13章 LangGraph、ADK 与可控工作流#
学习目标:学会构建可恢复、可观测、可控的复杂 Agent 流程。
- 13.1 为什么生产 Agent 需要图和状态机
- 13.2 LangGraph:持久状态、人工介入、图执行
- 13.3 Google ADK:多语言、部署、企业集成
- 13.4 Deterministic Workflow + Agentic Step 的混合架构
- 13.5 长任务的恢复、回放、补偿
- 13.6 框架选型:轻量 SDK、LangGraph、ADK、LlamaIndex、Semantic Kernel
实践任务:
- 用 LangGraph 实现“研究、写作、审稿”流程
- 用 ADK 实现一个带工具的简单 Agent
- 加入一个人工审批节点
- 模拟任务中断后恢复
推荐资料:
第14章 A2A 与多 Agent 通信#
学习目标:理解 Agent 之间如何协作,但不要过早滥用多 Agent。
- 14.1 多 Agent 的真实价值:分工、权限隔离、跨系统协作
- 14.2 Handoff:把任务交给另一个 specialist
- 14.3 Supervisor + Worker 模式
- 14.4 Debate / Voting 的局限
- 14.5 A2A:Agent-to-Agent 通信协议
- 14.6 多 Agent 的成本、延迟、可观测性问题
实践任务:
- 做一个 Planner Agent 和 Executor Agent
- 做一个 Researcher、Writer、Reviewer 三角色工作流
- 用共享状态记录每个 Agent 的输入输出
- 比较单 Agent 和多 Agent 的成本差异
推荐资料:
第五部分:生产化、安全与评测#
第15章 Agent 安全基础#
学习目标:从第一天就把 Agent 当成能造成真实后果的软件系统。
- 15.1 Prompt Injection:直接注入与间接注入
- 15.2 工具滥用:文件、网络、数据库、支付、邮件
- 15.3 沙箱:文件系统、网络、命令、浏览器隔离
- 15.4 权限最小化:只读、写入、高危操作审批
- 15.5 Secret 管理:API Key、OAuth Token、用户凭证
- 15.6 审计日志与追责
实践任务:
- 给所有工具分成低风险、中风险、高风险
- 高风险工具必须人工确认
- 加入域名白名单和文件路径白名单
- 做一次 prompt injection 红队测试
推荐资料:
第16章 Evals:如何知道 Agent 真的变好了#
学习目标:别靠感觉判断 Agent 好不好。
- 16.1 单轮答案评测 vs 多步任务评测
- 16.2 Golden Dataset:构建测试任务集
- 16.3 LLM-as-Judge 的使用边界
- 16.4 Trace Grading:评估每一步是否合理
- 16.5 回归测试:防止 prompt 或工具更新导致退化
- 16.6 成本、速度、成功率、人工接管率
实践任务:
- 为你的 Agent 写 20 条测试任务
- 给每条任务定义通过标准
- 自动跑一轮 eval
- 修改 prompt 后对比成功率和成本
推荐资料:
第17章 Observability 与调试#
学习目标:能定位 Agent 为什么失败。
- 17.1 Trace、Span、Run、Tool Call 的日志模型
- 17.2 记录输入、输出、工具参数、工具结果
- 17.3 失败分类:理解错任务、选错工具、参数错、工具失败、验证失败
- 17.4 可视化调试面板
- 17.5 线上监控:成功率、延迟、成本、异常
- 17.6 用户反馈闭环
实践任务:
- 给每一次 Agent run 生成 trace
- 做一个简单的 trace viewer
- 对失败案例打标签
- 每周根据失败标签改进一次 Agent
第18章 成本、性能与可靠性#
学习目标:让 Agent 能稳定运行,而不是只在 demo 里好看。
- 18.1 模型路由:简单任务小模型,复杂任务强模型
- 18.2 缓存:检索缓存、工具结果缓存、模型输出缓存
- 18.3 并发与队列
- 18.4 超时、重试、降级
- 18.5 批处理与异步任务
- 18.6 预算控制和用户级限额
实践任务:
- 给 Agent 加 daily budget
- 给工具调用加 timeout
- 给重复检索加缓存
- 设计一个失败降级方案
第六部分:前沿能力,但按需学习#
第19章 多模态 Agent#
学习目标:让 Agent 处理图片、音频、视频、屏幕,而不是只处理文本。
- 19.1 图片理解:OCR、截图分析、图表解析
- 19.2 文档理解:PDF、PPT、Excel、扫描件
- 19.3 语音 Agent:ASR、TTS、实时对话
- 19.4 视频理解与实时流
- 19.5 UI 操作:视觉定位、DOM 定位、混合定位
- 19.6 多模态结果验证
实践任务:
- 上传一张截图,让 Agent 找出 UI 问题
- 上传 PDF,让 Agent 提取结构化信息
- 做一个语音输入的任务助手
- 对多模态输出加入人工确认
第20章 Long-running Agent 与自主任务#
学习目标:理解长期运行 Agent 的真实难点。
- 20.1 长任务计划:目标、里程碑、检查点
- 20.2 持久状态与恢复
- 20.3 自我修正不是魔法:必须有外部验证
- 20.4 定时任务、后台任务、事件触发
- 20.5 人机协作:什么时候必须问人
- 20.6 长期运行的风险:成本失控、权限滥用、目标漂移
实践任务:
- 做一个每小时检查网站状态的 Agent
- 做一个自动整理 issue 的 Agent
- 加入失败重试和人工升级
- 为长期运行任务设置预算和停止条件
第21章 Coding Agent#
学习目标:作为前端/全栈程序员,这是最值得重点投入的方向之一。
- 21.1 Coding Agent 的基本循环:读代码、改代码、跑测试、修复
- 21.2 Repo Context:文件索引、依赖图、测试入口
- 21.3 Patch 生成与代码审查
- 21.4 测试驱动 Agent:先写失败测试,再改实现
- 21.5 CI 集成:自动修复 lint、test、build
- 21.6 安全边界:不能随便执行未知脚本
实践任务:
- 让 Agent 修一个真实 bug
- 要求 Agent 先写测试
- 让 Agent 自动运行 lint/test/build
- 让 Agent 输出变更说明和风险点
推荐方向:
- Codex / Claude Code / Jules / Cursor 类工具
- SWE-bench 作为理解 coding agent 的评测参考
- MCP + GitHub + CI 作为真实工程集成入口
第七部分:四个实战项目#
第22章 项目一:个人知识库 Agent#
目标:做一个能读你的文档、回答问题、引用来源、总结知识的 Agent。
功能清单:
- 文档上传
- Markdown / PDF 解析
- 向量检索
- 引用来源
- 对话式问答
- 用户偏好记忆
- 答案评测
技术建议:
- Next.js
- Vercel AI SDK
- PostgreSQL / SQLite
- pgvector / Chroma
- OpenAI / Claude / Gemini 任一模型
第23章 项目二:网页研究 Agent#
目标:做一个能搜索、浏览网页、提取信息、生成报告的 Agent。
功能清单:
- 搜索工具
- 网页抓取
- 信息去重
- 引用管理
- 报告生成
- 事实核查
- 导出 Markdown
技术建议:
- Playwright
- Search API
- Agent Loop
- Trace Viewer
- Human Review
第24章 项目三:全栈研发助手#
目标:做一个面向程序员的 coding agent 小系统。
功能清单:
- 读取仓库文件
- 理解 issue
- 修改代码
- 运行测试
- 生成 diff
- 发起代码审查
- 生成 PR 描述
技术建议:
- GitHub API
- MCP filesystem / git
- Sandbox
- Jest / Vitest / Playwright
- CI 集成
第25章 项目四:企业流程 Agent#
目标:做一个真实业务流程助手,比如报销、请假、工单、CRM 更新。
功能清单:
- 表单理解
- 工具调用
- 数据库查询
- 权限校验
- 人工审批
- 审计日志
- 失败回滚
技术建议:
- OpenAI Agents SDK / LangGraph / ADK
- PostgreSQL
- RBAC
- Queue
- Observability
- Evals
附录#
附录A:推荐学习顺序#
- 第1阶段:第1章到第5章,目标是理解 Agent 和 Tool Calling
- 第2阶段:第6章到第10章,目标是做出一个前后端完整 Agent
- 第3阶段:第11章到第14章,目标是掌握主流 SDK、MCP、工作流框架
- 第4阶段:第15章到第18章,目标是具备生产化能力
- 第5阶段:第19章到第25章,目标是根据方向做项目深化
附录B:前端/全栈程序员优先级#
最高优先级:
- Tool Calling
- Structured Output
- Streaming UI
- Agent Run 状态管理
- MCP
- Playwright
- Evals
- Sandbox
- Trace / Observability
中优先级:
- RAG
- LangGraph
- OpenAI Agents SDK
- Vercel AI SDK
- Google ADK
- LlamaIndex
后学:
- 多 Agent 辩论
- 自主组织 Agent
- 世界模型
- 神经符号推理
- 复杂长期记忆系统
附录C:不建议一开始重学的内容#
- 不要先重学大段 Transformer 数学
- 不要先沉迷 AutoGPT 式完全自主 Agent
- 不要把 LangChain 老教程当主线
- 不要把 Prompt 工程当全部
- 不要一开始就做多 Agent
- 不要忽略安全、评测、权限和日志
附录D:最小可行学习项目#
如果你只做一个项目,我建议做:
“带工具调用、RAG、浏览器自动化、人工审批、评测和 trace 的个人研究助手。”
它能覆盖 Agent 开发最核心的能力:
- 前端流式 UI
- 后端 Agent Loop
- Tool Calling
- RAG
- Browser Automation
- MCP
- Human-in-the-loop
- Evals
- Observability
- 安全边界
附录E:一句话路线#
先学 Tool Calling,再学 Agent Loop,然后做 前端流式 UI,接着接入 MCP / RAG / Playwright,最后补上 Evals、Trace、Sandbox、Human Review。多 Agent 和长期自主运行放到最后。