文章目录
- 一、为什么你需要这张"地图"
- 二、先分清 5 个概念
- 三、Agent 的 7 个核心模块
- 一个判断标准
- 四、三条学习路线
- 路线 A:工程落地方向
- 路线 B:研究与算法方向
- 路线 C:求职作品方向
- 五、框架怎么选
- 六、前 7 天实战计划
- Day 1:建立边界
- Day 2:手写最小 Agent Loop
- Day 3:工具设计
- Day 4:上下文工程
- Day 5:评测集
- Day 6:项目化包装
- Day 7:复盘与简历表达
- 一周结束后继续做什么
- 七、高质量资源筛选清单
- GitHub 项目筛选
- 教程筛选
- 论文筛选
- 项目是否值得写进简历(8 条准则)
- 推荐优先资源列表
- 九、常见问题解答(FAQ)
- Q1:我完全没接触过 LLM 编程,能不能直接学 Agent?
- Q2:LangChain 和 LangGraph 到底什么关系?该学哪个?
- Q3:到底什么时候该用 Agent,什么时候用普通 workflow 就够了?
- Q4:没有 GPU,能不能做 Agent 开发?
- Q5:学了 7 天之后如果效果不好怎么办?
- 十、总结
一、为什么你需要这张"地图"
很多人学 Agent 会卡在两个地方:一是把 Agent 当成"更长的 prompt",二是看了一堆框架教程却没有可验证的产出。Anthropic 的工程实践给出的建议很朴素:先从最简单的方案开始,只有当固定 workflow 不足以覆盖任务分支时,再引入更自主的 agent loop。
本文目标就一个:用最短路径建立 AI Agent 的全局认知,并把学习推进到“能做项目、能评测、能写进简历”的程度。
二、先分清 5 个概念
在动手写代码之前,你必须能精准区分以下几类系统——错误的概念边界会导致架构层面的偏差。
| 概念 | 核心特征 | 典型例子 | 什么时候用 |
|---|---|---|---|
| Chatbot | 单轮或多轮对话,主要输出文本 | FAQ、客服问答 | 任务只需要回答,不需要行动 |
| Workflow | 固定流程,LLM 是某些步骤的组件 | 分类 → 检索 → 生成 → 审核 | 步骤清晰、成功标准明确 |
| Agent | 模型自主选择下一步动作 | 研究助手、代码修复助手 | 任务开放,需要多步探索 |
| Multi-Agent | 多个角色协作,带协调器或消息协议 | 研究员 + 编写者 + 审稿人 | 单个角色职责过宽,需要分工 |
| Computer-Use Agent | 操作浏览器、桌面、终端或文件系统 | WebArena、OSWorld、coding agent | 任务必须进入真实软件环境 |
关键判断:不要一上来就追求"全自动通用 Agent"。更稳的闭环是先做 workflow(固定步骤),再加 agent loop(让模型在有限步数内决定下一步工具调用),最后才考虑 multi-agent 的分工协作。
三、Agent 的 7 个核心模块
一个真正可交付的 Agent 系统,不是"接个 API 然后写个 while True 循环调用工具"那么简单。你需要对以下 7 个模块有清晰的答案:
| 模块 | 你要能回答的问题 | 常见坑 |
|---|---|---|
| Goal | 任务成功是什么样?失败边界是什么? | 只写"帮我完成任务",没有验收标准 |
| State | 当前任务状态、历史、工作区文件放哪里? | 只依赖聊天历史,长任务一压缩就丢线索 |
| Context | 哪些信息进入模型?顺序和格式是什么? | 把所有资料塞进上下文,导致干扰和成本暴涨 |
| Tools | 工具有哪些?schema、权限、错误如何描述? | 工具名含糊、返回值太长、没有分页和重试 |
| Loop | 最大步数、停止条件、反思、恢复怎么做? | 无限循环或过早停止 |
| Guardrails | 哪些动作需要确认?哪些输入不可信? | 让模型自己决定安全边界 |
| Eval | 怎么证明它真的完成任务? | 只有演示视频,没有可重复评测集 |
一个判断标准
只要你的系统会让模型调用工具,你就要同步设计评测和安全边界。
- 没有eval的 Agent 是 demo;
- 没有权限边界的 Agent 是风险源;
- 没有trace的 Agent 很难调试。
四、三条学习路线
根据你的目标不同,Agent 学习存在三条差异化的路线。选错路线 = 用研究型方法做工程交付,或者用工程型方法发论文。
路线 A:工程落地方向
目标是做出能交付的 Agent 应用。
重点学:
- LangGraph的状态、持久执行和 human-in-the-loop
- OpenAI Agents SDK的 handoff、guardrail、tracing
- Pydantic AI的类型约束、结构化输出和依赖注入
- Promptfoo、DeepEval、Inspect这类 eval harness(评测工具)
- OWASP LLM Top 10、MCP Top 10,最小权限和审计日志
适合项目:旅行规划 Agent、企业知识库 Agent、客服流程 Agent。
路线 B:研究与算法方向
目标是理解 Agent 为什么成功或失败。
重点学:
- ReAct、Plan-and-Solve、Reflection、Tree Search等推理范式
- WebArena、OSWorld、GAIA、SWE-bench等 benchmark
- Tool-use 数据集、轨迹评分、LLM-as-judge 校准
- RAG / multimodal RAG / memory 的消融实验
- Agent RL、过程奖励、失败轨迹复盘
适合项目:论文研读 Agent、Web Agent 评测、RAG 检索策略对比。
路线 C:求职作品方向
目标是做出能写进简历、能在面试里讲清楚的项目。重点不是"用了什么框架",而是:
- 用户是谁,任务为什么需要 Agent
- 工具如何设计,权限如何分级
- 上下文如何管理,成本如何控制
- 评测集怎么构造,失败原因是什么
- 项目如何部署,别人能否 clone 运行
适合项目:projects/01-paper-agent、projects/02-travel-agent、projects/03-web-agent。
五、框架怎么选
市场上 Agent 框架百花齐放,但每个框架都有自己的设计哲学和适用边界。下面的选型策略基于"最小依赖 + 场景匹配"原则:
| 场景 | 首选 | 理由 |
|---|---|---|
| 学 agent loop 基础 | 原生 API + 50 行工具循环 | 能看清 observe → act → observe |
| 复杂状态流 | LangGraph | 状态图、持久执行、恢复、人类审核都比较成熟 |
| OpenAI 生态 | OpenAI Agents SDK | handoff、guardrails、tracing 是一等概念 |
| 类型安全 Python 应用 | Pydantic AI | Pydantic 风格,结构化输出和依赖注入舒服 |
| 多角色协作 demo | AutoGen / CrewAI | 快速搭建 planner、executor、reviewer 分工 |
| 数据密集 RAG | LlamaIndex | 数据连接器、索引、检索和 workflow 生态较完整 |
重要提示:初学者不要一上来就装 LangChain / AutoGen,先从"原生 API + 手写 loop"开始,这样才能真正理解 Agent 的本质。
六、前 7 天实战计划
这不是"收藏 100 个链接"的计划,而是一周内做出最小 Agent 项目骨架的执行清单。
Day 1:建立边界
- 目标:区分 chatbot、workflow、agent、multi-agent。
- 阅读:Agent 学习地图、Anthropic: Building effective agents。
- 产出:
- 写一页笔记:你的目标项目为什么需要 Agent,而不是普通 workflow。
- 画出最小流程:输入、工具、输出、失败边界。
Day 2:手写最小 Agent Loop
- 目标:理解 observe → think → act → observe 循环。
- 任务:
- 只接 2 个工具:
search_notes(query)、write_summary(text)。 - 限制最大 5 步。
- 每一步写入 JSONL trace:
step、thought_summary、tool、args、observation、cost_estimate。
- 只接 2 个工具:
- 验收:
- 能处理 5 条固定任务。
- 出错时不崩溃,返回可读失败原因。
# 最小 Agent Loop 示意框架(非完整可运行代码)# 完整示例参见 examples/ 目录importjson MAX_STEPS=5defagent_loop(task:str,tools:dict,max_steps:int=MAX_STEPS):trace=[]context={"task":task,"history":[]}forstepinrange(max_steps):thought=think(context)# 模型推理tool_name,args=decide(thought)# 选择工具和参数observation=tools[tool_name](**args)# 执行工具trace.append({"step":step,"thought_summary":thought[:200],"tool":tool_name,"args":args,"observation":observation[:500],"cost_estimate":estimate_cost(thought)})ifis_task_complete(observation,task):breakwithopen("trace.jsonl","a")asf:forentryintrace:f.write(json.dumps(entry,ensure_ascii=False)+"\n")returntraceDay 3:工具设计
- 目标:让工具变得"模型友好"。
- 阅读:Anthropic: Writing effective tools for agents。
- 任务:
- 给每个工具补:名称、使用场景、参数 schema、返回结构、错误码、示例。
- 增加分页、截断、重试和 timeout。
- 把高风险工具标成
requires_confirmation。
- 验收:
- 工具返回不超过模型真正需要的内容。
- 错误信息能指导下一步动作。
Day 4:上下文工程
- 目标:控制什么进入模型,而非无脑塞入所有资料。
- 任务:
- 把 context 分成 5 层:system、task、memory、retrieved evidence、recent trace。
- 做一个 context builder,把每层内容结构化输出。
- 对长工具结果只保留摘要和可追溯引用。
- 验收:
- 同一任务重复运行时,prompt 结构稳定。
- 不把完整日志、完整网页、完整 PDF 直接塞进模型。
Day 5:评测集
- 目标:从"感觉能用"变成"可测量"。
- 任务:
- 写 20 条 eval case:10 条正常任务、5 条边界任务、5 条安全/失败任务。
- 每条包含:输入、期望行为、禁止行为、评分方式。
- 记录通过率、平均步数、失败原因、人工修复建议。
- 可选工具:
- Promptfoo:适合 prompt、RAG、agent 回归测试和红队测试。
- DeepEval:适合 pytest 风格的 LLM/Agent 单元测试。
- Inspect:适合更严肃的模型能力与安全评测。
Day 6:项目化包装
- 目标:让别人能 clone、运行、理解你的项目。
- 任务:
- 写
README.md:项目目标、架构、安装、运行、测试、限制。 - 写
eval_report.md:评测数据、失败类型、改进计划。 - 写
demo_script.md:面试或路演时怎么演示。
- 写
- 验收:
- 新机器按 README 能跑通最小 demo。
- 面试官能从 README 看出你做的不只是 API wrapper。
Day 7:复盘与简历表达
- 目标:把项目变成可讲述的工程经验。
- 任务:
- 做一次失败归因:工具失败、检索失败、模型误判、权限不足、上下文污染分别占多少。
- 写一段简历 bullet,包含架构、场景、指标。
简历 bullet 模板:
构建面向 X 场景的 Agent 系统,采用 ReAct loop + 工具注册表 + 分层 context builder,接入 N 个外部工具并对高风险动作设置 human-in-the-loop;设计 20 条端到端 eval case,任务成功率达到 X%,通过工具结果截断和模型路由将平均成本降低 X%。
一周结束后继续做什么
- 做论文方向 → 进入 Paper Agent 项目蓝图
- 做生活/业务方向 → 进入 Travel Agent 项目蓝图
- 做浏览器方向 → 进入 Web Agent 项目蓝图
- 做资料型项目 → 进入多模态 RAG 资源
七、高质量资源筛选清单
Agent 资料非常多,但真正值得花时间的资源通常有共同的信号特征:可运行、可验证、可追溯、能解释失败。
GitHub 项目筛选
| 维度 | 高质量信号 | 低质量信号 |
|---|---|---|
| 可运行性 | 有明确安装、环境变量、demo、测试命令 | 只有截图和口号 |
| 维护状态 | 最近仍有 commit / issue / release | 长期无人维护,依赖版本锁死 |
| 架构透明 | README 解释 agent loop、工具、状态、eval | 只写"multi-agent powered by GPT" |
| 工具边界 | 工具 schema 清晰,权限和错误处理明确 | 工具直接执行任意 shell/API |
| 评测 | 有 benchmark、eval case、失败分析 | 只有单次 demo 成功 |
| 安全 | 有 sandbox、human approval、secret 管理 | 要求把高权限 key 放进 prompt 或前端 |
| 可复用 | 模块化,能替换模型和工具 | 所有逻辑堆在一个 notebook |
教程筛选
优先读这些:
- 官方文档:OpenAI Agents SDK、LangGraph、Pydantic AI、MCP
- 工程博客:解释为什么这样设计,而不只是贴代码
- 可运行 cookbook:有完整依赖、输入、输出和测试方式
- 论文配套代码:能复现实验或至少提供数据/脚本
谨慎对待这些:
- "10 分钟实现 AutoGPT"但没有失败处理
- "生产级 Agent"但没有 trace、eval、权限分级
- "全自动赚钱/投递/下单"但没有法律和安全边界
- 只堆框架名,不解释 trade-off
论文筛选
| 问题 | 为什么重要 |
|---|---|
| 任务定义是否清楚? | Agent 论文很容易把开放任务写得漂亮但不可复现 |
| 环境是否可复现? | Web、OS、工具 API 会变化,benchmark 必须控制漂移 |
| 指标是否只看最终成功率? | 还要看步数、成本、延迟、错误类型、人工介入次数 |
| 是否有消融实验? | 没有消融就很难知道是模型强,还是框架设计有效 |
| 是否报告失败案例? | Agent 的失败模式比成功样例更有学习价值 |
| 是否开源代码/数据? | 不能复现就只能当思路参考 |
项目是否值得写进简历(8 条准则)
满足下面 8 条中的6 条,就值得继续打磨:
- 有明确用户和业务场景
- 有至少 3 个真实工具,不是 mock 全流程
- 有可追踪 trace 或日志
- 有 20 条以上 eval case
- 有失败类型统计
- 有权限/安全设计
- 有部署或一键运行说明
- 有对比实验,比如有无 RAG、有无 rerank、有无 memory
推荐优先资源列表
Agent 架构:
- Anthropic: Building effective agents
- OpenAI Agents SDK
- LangGraph
- Pydantic AI
- Microsoft AutoGen
工具与协议:
- Model Context Protocol
- OpenAI Swarm
- Anthropic: Writing effective tools for agents
评测与安全:
- Promptfoo
- DeepEval
- Inspect
- OWASP Top 10 for LLM Applications
- OWASP MCP Top 10
多模态与文档处理:
- Docling
- MinerU
- RAG-Anything
- ColPali paper
一句话判断:好资源会让你更快回答"为什么这么设计、失败时怎么查、指标怎么证明";差资源只会让你复制更多样板代码。
九、常见问题解答(FAQ)
Q1:我完全没接触过 LLM 编程,能不能直接学 Agent?
建议先完成以下前置条件再进入 Agent 学习:
- 能调用一次 LLM API 完成单轮对话
- 能写出带 system prompt 和 user prompt 的基础请求
- 理解 temperature、max_tokens、function calling 等基础概念
如果你还不会以上内容,先去跑通一个"调用 GPT/Claude API 回答问题"的最小 demo,然后回到本文的 Day 1。
Q2:LangChain 和 LangGraph 到底什么关系?该学哪个?
LangChain 是一个高度封装的 LLM 应用框架,强调"用链式调用快速搭建应用"。LangGraph 是 LangChain 生态下的状态图执行引擎,专注解决"Agent 的状态管理、持久执行和人类审核"问题。
如果你要做 Agent,直接学 LangGraph 就好,LangChain 的那套 Chain 抽象在 Agent 场景下反而容易变成阻碍。
Q3:到底什么时候该用 Agent,什么时候用普通 workflow 就够了?
Anthropic 的实践指南给出了很实用的判断标准:如果任务的分支逻辑是固定的(如分类 → 检索 → 生成),用 workflow;只有当任务本身不可预测、需要模型自主探索多步时,才引入 Agent loop。
一个简单的自测方法:你能不能提前画出任务执行的完整决策树?能 → workflow;不能 → 考虑 Agent。
Q4:没有 GPU,能不能做 Agent 开发?
可以。Agent 开发的核心不是训练模型,而是编排模型调用、管理工具执行、设计评测和安全边界。大多数练习只需要一台能调用 API 的普通电脑,模型推理走云端 API 即可。
Q5:学了 7 天之后如果效果不好怎么办?
Day 7 的复盘就是为了应对这种情况。按失败类型做归因统计:
- 工具失败 → 改善工具描述、错误处理和分页
- 检索失败 → 调整 embedding、chunk 策略、rerank
- 模型误判 → 优化 prompt、补充 few-shot 示例
- 权限不足 → 补 guardrail 和确认机制
- 上下文污染 → 实现分层 context builder
每一次失败归因都是一次系统性的工程进步,而不是盲目的 prompt 调参。
十、总结
本文系统梳理了 Agent 学习的全链条:
- 概念辨析:Chatbot ≠ Workflow ≠ Agent ≠ Multi-Agent ≠ Computer-Use Agent,这是所有后续决策的起点。
- 七大核心模块:Goal、State、Context、Tools、Loop、Guardrails、Eval——缺任何一项,你的 Agent 都只是 demo。
- 三条学习路线:工程落地(能交付)、研究算法(能解释)、求职作品(能讲述),选错路线会事倍功半。
- 框架选型:基础用原生 API、复杂状态用 LangGraph、OpenAI 生态用 Agents SDK、类型安全用 Pydantic AI。
- 7 天最小闭环:从概念理解到项目包装,每天有明确目标和验收标准。
- 资源筛选:好资源可运行、可验证、可追溯、能解释失败;烂资源只有截图和口号。
- 后续规划:按优先级补充理论、协议、安全等深水区内容。
好的 Agent 工程师不是"会调 LangChain API 的人",而是能从场景分析、工具设计、上下文管理、评测构造和安全审计五个维度系统性思考问题的人。