Agent 工程学习指南 / An AI Agent Engineering Learning Guide
目标读者:有前后端基础、JS/TS/C++ 背景,想转型 Agent 工程的开发者
核心结论
现在最该追求的,不是先把 Transformer 啃到研究员级别,而是先建立"LLM 应用工程 + Agent 系统设计 + 适量模型理解"这三层能力。
一、框架选择:大公司 vs 个人开发者
你说大公司可能不用 LangChain 这种框架,而是自研;普通程序员做项目可能要靠 LangChain、LangGraph、Dify。
这个判断大体对,但要修正一下:
- LangChain:官方定位"构建自定义 agent 和 LLM 应用的框架",提供预置 agent 架构和大量模型、工具集成
- LangGraph:更偏"低层 orchestration",强调长时运行、有状态工作流、持久化、human-in-the-loop,可以用 LangChain 组件但不强制依赖
- Dify:开源的 agentic workflow 平台,主打可视化编排、连接工具和数据源、部署生产应用
更准确地说
| 类型 | 特点 |
|---|---|
| 大公司 | 通常会自研 runtime、workflow、tooling、observability,但底层理念和这些框架很像 |
| 个人开发者 / 小团队 | 非常适合先借助 LangChain / LangGraph / Dify 站上肩膀 |
| 长期目标 | 不是"永远依赖框架",而是先借框架理解抽象,最后形成你自己的系统设计能力 |
二、你的优势
你有工程视角 — 这比"只会写 prompt"重要得多
Agent 项目最后拼的是:
- 模块拆分
- 状态管理
- 工具调用
- 错误处理
- 工作流编排
- 日志与评估
这些都更接近工程,不是纯模型。
你有前后端基础 — 这意味着你能比很多人更快做出完整 demo
- 前端做 chat / dashboard / workflow 可视化
- 后端做 API / agent runtime / tool server
- 数据层做 memory / logs / vector store
这非常有价值。大多数人卡在"会一点 AI,但做不成产品"。
你有 JS / TS 基础 — LangChain 和 LangGraph 都有 JS/TS 文档和支持
所以你不一定要一开始就全转 Python。我的看法是:主语言可以先用 TS,Python 作为"读懂、能改、能接生态"的辅助语言。
三、LLM 要学到什么程度?
三档能力
| 档位 | 描述 | 目标人群 |
|---|---|---|
| 第一档:应用工程够用 | 能做项目 | 入门 |
| 第二档:工程上很不错 | 能做系统 | 你应该追求的层次 |
| 第三档:接近算法/研究方向 | 非必要 | 深入研究 |
第一档:应用工程够用
你需要真正理解:
- token 是什么
- context window 的意义
- system / user / tool message 的区别
- function calling / tool use 的机制
- structured output 的约束
- temperature、top_p 大概影响什么
- prompt 为什么会失效
- hallucination 为什么出现
- RAG 为什么不等于"把资料塞进去"
- 长上下文为什么依然会丢信息
- 模型选择怎么跟任务类型匹配
这一层如果扎实,你已经能做出不错的 agent 产品了。
第二档:工程上很不错
除了上面那些,你还要理解:
- Transformer 的基本信息流:embedding → attention → MLP → residual → layer norm
- self-attention 为什么能建模长距离依赖
- KV cache 为什么影响推理效率
- pretraining / SFT / RLHF / preference tuning 各自解决什么问题
- inference 和 training 是两套完全不同的工程问题
- 为什么工具调用、代码、规划任务对模型要求不同
- 为什么"小模型 + workflow"有时比"大模型裸跑"更稳
- 为什么 agent 失败很多时候不是模型不够强,而是状态、上下文、工具设计有问题
- 模型评估不能只看 benchmark,还要看任务成功率、成本、延迟、稳定性
到这层,我会说你对 LLM 已经不是"会用",而是"懂它作为系统组件怎么工作"。
第三档:接近算法/研究方向
这不是 Agent 开发的必要条件,包括:
- 手推 attention 公式
- 深入 RoPE / ALiBi / GQA / MoE / speculative decoding
- 训练稳定性、并行训练、蒸馏、量化细节
- 论文级别理解 scaling law、alignment、post-training
这当然很好,但不是你现在最优先的投入方向。对你来说,现在先冲到第二档,性价比最高。
四、Transformer 需要掌握吗?
需要,但不用一开始钻太深。你要会**"工程师版 Transformer"**:
不是"研究员版 Transformer"。你至少要讲清楚这几句话:
- Transformer 的核心是 attention
- 它让模型根据当前 token 和上下文中其他 token 的关系,动态分配注意力
- 模型不是在"理解句子",而是在做下一 token 预测
- 很多能力是从大规模预训练里涌现出来的
- 上下文不是无限可靠
- 长上下文下,检索、排序、压缩仍然重要
- 工具调用本质上是把模型从"直接回答"变成"先决策、再执行、再观察"
- 模型能力不是线性增长的
- 有些任务靠更强模型解决,有些任务靠 workflow、tooling、约束输出解决
如果你能把这些讲明白,再懂一点 attention/KV cache/训练阶段区分,我会认为你在模型层面已经"很不错"了。
五、框架学习顺序
都值得碰,但顺序很重要:
1. 先学 LangChain / 直接 SDK
LangChain 官方把它定位成更高层的 agent 框架,适合快速搭建常见 agent loop。
对你来说,它的价值在于:
- 快速接模型
- 快速接 tools
- 快速做 agent loop
- 理解"标准抽象"是什么
但不要把自己绑死在它的黑盒上。你要一边用一边问:
- message 怎么组织的
- tool call 是怎么封装的
- state 怎么流转的
2. 再学 LangGraph
LangGraph 官方现在很明确地强调自己更偏低层 orchestration,适合长时运行、有状态 workflow/agent。
如果你未来想做:
- 多 agent
- 状态机
- DAG 工作流
- human-in-the-loop
- durable execution
那 LangGraph 值得认真学。
甚至会说:如果未来想走"Agent 工程化"路线,LangGraph 这类思路比 LangChain 更重要。
3. Dify 要学,但定位不同
Dify 官方定位是开源的 agentic workflow 平台,主打可视化编排、工具和知识源连接、部署和可观测性。
所以 Dify 更像:
- 快速搭产品原型
- 给业务方、团队协作、低代码场景使用
- 快速验证流程设计
它非常适合你用来"看见系统长什么样"。但如果你的目标是成为强的 Agent 开发者,而不只是搭一个工作流应用,那你还是要能自己写 runtime。
六、框架选择建议
路线 A:TS/JS 为主
- Node.js
- OpenAI / Anthropic SDK
- LangChain JS
- 后面再接 LangGraph 思想或同类编排思路
适合你现状,上手快。
路线 B:TS 做产品,Python 补 AI 生态
- 前后端和主项目用 TS
- Python 用来读示例、接一些 AI 生态库、跑实验
这是我更推荐的,因为很多 AI 教程和生态首先会出 Python 版本,但你没必要完全转栈。
七、能力检验标准
如果你能把以下问题独立回答出来,就已经超过很多"只会调 API 的 AI 开发者"了:
关于模型本身
- 为什么大模型会幻觉?
- 为什么长上下文不等于高质量检索?
- 为什么代码任务和开放问答适合不同模型?
- 为什么 agent 任务经常不是一轮 prompt 能解决?
关于推理与工具
- tool calling 为什么能显著提升任务完成率?
- 为什么结构化输出能提高系统稳定性?
- 为什么有时"先分类再执行"比"直接让模型干"更好?
关于架构
- 什么情况下用单 agent,什么情况下用 workflow,什么情况下用 multi-agent?
- memory 为什么要分 working / session / long-term?
- 为什么 observability 在 agent 里特别重要?
关于模型理解
- Transformer 大致怎么工作?
- attention 和 KV cache 在推理里意味着什么?
- pretrain、instruction tuning、preference tuning 分别改变了什么?
八、学习路线
第一阶段:先把"LLM 应用基本功"打牢
目标:别急着 multi-agent,先把单 agent 做稳。
学这些:
- prompt 设计
- structured output
- tool calling
- memory 基础
- RAG 基础
- 模型选择与成本意识
项目上做:
- 文档问答 agent
- 网页检索 + 总结 agent
- 文件读写 agent
- API 调用 agent
第二阶段:进入 Agent 工程
目标:从"会调模型"升级到"会做系统"。
学这些:
- agent loop
- state management
- workflow / DAG / state machine
- retry / timeout / fallback
- trace / logs / eval
项目上做:
- 研究助手
- 自动报告生成
- 多步骤客服助手
- 带工具链的 coding assistant
第三阶段:补模型理解到"很不错"
目标:你知道底层在干什么,但不陷进训练细节。
学这些:
- Transformer 基础
- attention / KV cache
- tokenization
- pretraining / SFT / preference tuning
- 推理效率、上下文限制、工具增强
这时你再读一些经典论文和高质量技术文章,会很顺。
第四阶段:再碰多 Agent 和平台化
目标:别过早架构,等你真的需要它。
学这些:
- router/planner/executor/reviewer 模式
- multi-agent 协作边界
- memory 分层
- 权限控制
- agent observability
- eval dataset 和回归测试
九、学习结构建议
你现在最需要避免的是"复杂度叠加":
主项目 → CWF/KV → Cloudflare KV
→ 学 LangChain
→ 学 LangGraph
→ 学 Transformer
→ 注入 agent大概率会发生:每一块都碰到了,但没有一块真正形成手感。
所以现在最重要的不是"内容够不够多",而是学习结构要干净。
三层结构
第一层:保底层
这是你吃饭的能力,也就是全栈工程基础。
目标不是炫技,而是稳:
- TS/JS 熟练
- Node/Nest 或类似后端框架
- 数据库与缓存
- API 与系统设计
- 基本部署和调试
这层要一直维持。
第二层:Agent 实验层
这个层专门用来学习 Agent,不要求立刻产品化。
只做"最小可验证实验":
- 一个 prompt demo
- 一个 tool call demo
- 一个 memory demo
- 一个 RAG demo
- 一个简单 agent loop demo
每个 demo 最好都控制在很小的体量,1 到 3 天能搞完。
第三层:未来融合层
等你前两层都更稳了,再考虑把成熟的 agent 能力迁移进项目里。
也就是说:
- 先在实验环境学会
- 再抽象出模式
- 最后才注入主项目
这个顺序会很舒服。
十、最小能力单元
现阶段你只需要掌握 5 个最小能力单元:
1. 模型调用
先非常熟悉最基础的 chat completion / responses 调用方式。
你要知道:
- message 结构怎么组织
- system/user/assistant 分别干什么
- temperature 这些参数大致影响什么
- 如何拿到结构化输出
这一步不需要框架,SDK 就够了。
2. Tool Calling
这是 Agent 的真正起点。
先别碰 multi-agent,先学会:
- 定义一个工具
- 让模型决定是否调用
- 执行工具
- 把结果回传给模型
- 再让模型继续回答
只要这一步真正跑通,你就已经从"LLM 调用"进入"Agent 雏形"了。
3. Memory
先别搞复杂长期记忆。
先做最简单的:
- 最近 N 轮消息
- 一个 session state
- 一个简单 KV 存储
目的是理解:
- 为什么 agent 需要状态
- 为什么上下文管理比你想象中更重要
4. Workflow / State Graph
等 tool 和 memory 有手感了,再学:
- 明确步骤执行
- 条件分支
- 错误处理
- 重试
- 状态流转
这一步再接触 LangGraph 会更有感觉。
5. RAG
最后再补检索增强。
因为很多人一上来就做 RAG,但如果连 prompt、tool、memory、workflow 都没吃透,RAG 只会让系统更乱。
十一、最合理学习顺序
第一步:原生 SDK 做最小 LLM 调用
第二步:原生 SDK 做最小 tool calling loop
第三步:自己手写一个很小的 agent loop
第四步:再用 LangChain 看它如何封装这些抽象
第五步:再用 LangGraph 理解状态图和工作流这个顺序很重要。
因为如果你一开始就上 LangChain / Dify,你很容易:
- 会拖组件
- 会配节点
- 但不知道底层到底发生了什么
那样后面一复杂你就会崩。
十二、阶段性目标
未来 2 到 4 周,做到这些就很好
- [ ] 能独立调用 LLM
- [ ] 能自己写一个 tool calling demo
- [ ] 能理解 LangChain 在封装什么
- [ ] 能看懂 LangGraph 的基本 graph 思路
- [ ] 能说清楚 agent 和普通 chat bot 的差别
只要做到这一步,你就已经在正确轨道上了。
十三、你该追求的人
能独立设计一个 Agent 系统,能把模型、工具、记忆、工作流和前后端产品整合起来;同时对 LLM 底层原理有扎实但不过度研究化的理解。
这就是很强的 Agent 工程师路径。
而不是:
- 只会画架构图
- 只会调一个框架
- 或者只会背 Transformer 公式
十四、关于你的项目
记得咱俩中午聊的就是 Cloudflare 那个项目(KV 数据库缓存)和 CWF 那个项目,就是这两个项目是近期的重点,而且 CWF 也是持续维护的开源项目,都是 TS 项目。
策略
- 主线:继续把 TS 全栈能力、项目能力、工程能力往前推
- 副线:单独开一条 Agent 学习实验线
副线建议
可以专门建一个很小的仓库,比如:
- agent-lab
- llm-playground
- agent-runtime-demo
这里只做非常小的东西:
- 调一次模型
- 做一次 tool calling
- 做一个简单 memory
- 做一个最小 agent loop
- 做一个 LangChain demo
- 做一个 LangGraph state graph
这样学 agent 的时候,不会污染主项目,也不会让自己同时背两套复杂度。
总结
你现在最适合问的是:
"我应该先独立掌握哪些 Agent 最小能力单元?"
而不是:
- "我要不要先学到很深的 Transformer 才开始做 Agent?"
- "怎么把项目 agent 化?"
你应该问:
- "我能不能在 4 到 6 周内做出一个真正能跑的、带 tool use 和状态管理的 agent 系统?"
因为一旦你做出来,很多抽象会突然变清楚:
- 为什么要 workflow
- 为什么要 memory
- 为什么要 structured output
- 为什么模型层不需要一开始学到论文级
很多人会犯的错是:一兴奋就 all in agent,给旧项目乱加 AI,最后复杂度爆炸,然后怀疑自己不适合。
你现在能意识到"这可能太理想化,会更混乱",说明你开始真正用工程脑子思考了。
这很好。