从 FastGPT 到 Agent:我的 AI 工程学习路线图
写这篇文章的目的,是提醒自己持续输出,也记录自己在 AI Agent 方向上的学习过程。
最近越来越明显地感觉到:
AI Agent 正在从"概念"变成"工程"。
如果只是停留在 Prompt、RAG、聊天机器人层面,很快就会遇到瓶颈。
相比追逐每天更新的大模型新闻,我更希望把时间花在理解 Agent 的底层架构和工程实现上。
经过一段时间的学习和源码分析后,我给自己定下了一条路线图。
我的学习路线图
第一阶段:Dify
目标:
理解 AI 应用平台是如何搭建的。
重点关注:
- Workflow
- RAG
- Tool Calling
- Model Provider
学习结果:
能够理解一个 AI 应用从用户请求到模型返回的完整链路。
第二阶段:LangGraph
目标:
理解 Agent 的运行机制。
重点关注:
- StateGraph
- Agent Loop
- Memory
- Checkpoint
学习结果:
能够实现带状态、带循环、带分支的 Agent。
第三阶段:OpenHands
目标:
理解 Agent 如何真正执行任务。
重点关注:
- Agent 如何操作真实世界
- Agent 如何写代码
- Agent 如何调用 Shell
- Agent 如何自我修复
学习结果:
理解 Coding Agent 的完整执行闭环。
如果只选一个项目啃源码
很多人会问:
FastGPT、Dify、LangGraph 应该先看哪个?
如果让我选最值得花一个月深入研究的项目,我不会选 FastGPT。
我会选:
- Dify
- LangGraph
- OpenHands
因为这三个项目分别代表了 Agent 系统的三个核心部分。
Dify:产品架构
负责:
- 应用管理
- Workflow
- RAG
- Tool
- 模型管理
- 插件系统
它更像一个 AI 应用操作系统。
LangGraph:Agent 内核
负责:
- 状态管理
- 节点执行
- 分支控制
- Agent Loop
它解决的是:
Agent 如何思考。
OpenHands:执行器
负责:
- Shell 操作
- 文件修改
- 编码任务
- 环境交互
它解决的是:
Agent 如何行动。
再看 FastGPT
当理解了上面三个项目后,再回头看 FastGPT,会发现它本质上是:
text
Dify 的应用平台思想
+
LangGraph 的工作流思想
+
RAG 知识库能力
=
企业 AI 应用系统
FastGPT 更偏向:
- 企业知识库
- RAG
- 流程编排
- 应用发布
而 Dify 的抽象层级更高。
Dify 架构理解
Dify 官方定位:
开源 LLM 应用开发平台。
包含:
- AI Workflow
- RAG Pipeline
- Agent
- Model Provider
- Observability
整体架构如下:
text
用户
↓
Web Console
↓
API Service
↓
Application Layer
├─ Chat App
├─ Workflow App
├─ Agent App
└─ Completion App
↓
Capability Layer
├─ LLM
├─ RAG
├─ Tools
├─ Workflow Engine
└─ Plugin System
↓
Infrastructure
├─ PostgreSQL
├─ Redis
├─ Weaviate
├─ Celery
├─ Sandbox
└─ Plugin Daemon
一次聊天请求如何执行
例如:
用户:
text
帮我总结这个产品说明书
执行链路:
text
Chat Request
↓
Load App Config
↓
Load Conversation
↓
Dataset Retrieval
↓
Prompt Assemble
↓
LLM Invoke
↓
Response Stream
↓
Log Save
核心思想:
模型并不直接知道知识库内容,而是在回答前动态检索相关内容。
Dify 的 RAG 架构
文档入库
text
上传文档
↓
Worker
↓
解析
↓
切片
↓
Embedding
↓
向量库
问答检索
text
用户问题
↓
Embedding
↓
向量召回
↓
Rerank
↓
上下文组装
↓
LLM
↓
回答
RAG 的本质不是:
text
让模型记住文档
而是:
text
回答前先找资料
再让模型回答
Workflow 的本质
很多人第一次接触 Workflow 会觉得神秘。
实际上它本质上就是:
text
图执行引擎
例如:
text
开始
↓
LLM
↓
条件判断
↓
HTTP请求
↓
代码执行
↓
结束
运行时:
text
读取配置
↓
执行节点
↓
保存结果
↓
找到下一节点
↓
直到结束
本质类似:
- LangGraph
- n8n
- Airflow
只是面向 AI 场景进行了封装。
LangChain 和 LangGraph
这是很多人最容易混淆的地方。
LangChain
更像:
text
组件工具箱
负责:
- Prompt
- Model
- Tool
- Parser
- RAG
例如:
python
prompt | model | parser
LangGraph
更像:
text
流程引擎
负责:
- 状态管理
- 分支
- 循环
- Agent
例如:
text
用户问题
↓
意图识别
↓
工具调用
↓
结果检查
↓
是否重试
↓
最终回答
为什么不建议跳过 LangChain Core
很多人会问:
我能直接学 LangGraph 吗?
答案:
可以。
但不要跳过 LangChain Core。
因为 LangGraph 底层大量依赖:
python
langchain_core
常见组件:
- Prompt
- Message
- Runnable
- Tool
- Structured Output
实际上现在主流写法已经不是:
python
LLMChain
ConversationChain
而是:
python
prompt
|
model
|
parser
即 Runnable 架构。
我推荐的学习顺序
如果你已经有后端开发经验:
第一阶段:
- Prompt
- Chat Model
- Tool Calling
- Structured Output
- RAG
第二阶段:
- LangChain Core
- Runnable
- Tool
- Message
- State
第三阶段:
- LangGraph
- StateGraph
- Conditional Edge
- Memory
- Checkpoint
- Human In The Loop
第四阶段:
- OpenHands
- Coding Agent
- MCP
- 多 Agent
最后
对于后端开发者来说,理解 Agent 最快的方法,不是看教程,而是亲手做一个项目。
例如:
text
ERP Agent
用户:
text
帮我查询前100条工单
Agent:
text
意图识别
↓
选择 Tool
↓
调用 ERP 接口
↓
格式化结果
↓
返回
这个项目会同时让你理解:
- Tool Calling
- Agent Loop
- 状态管理
- MCP
- LangGraph
当你真正把这样的项目跑通之后,再回头看 Dify、FastGPT、OpenHands,会发现它们解决的其实是同一个问题:
如何让大模型从"会聊天",变成"会工作"。