AI Agent入门:新手和转行者先学什么,别一上来就啃框架
1. 别急着啃框架,先把这五个问题想明白
我带过不少想转行做 AI Agent 的朋友,十个里有八个一上来就问:“LangChain 怎么学?Dify 和 Coze 哪个强?要不要先学 LangGraph?”每次听到这种问题,我都想先让他们停一停。不是说框架不重要,而是顺序搞反了。你连 Agent 到底在解决什么问题、它的边界在哪、什么场景该用工作流什么场景该用自主决策都没搞清楚,直接扎进 LangChain 的源码里,结果就是——文档看了一周,Demo 跑通了两个,真让你从零设计一个能用的 Agent,脑子还是空的。
这个标题“AI Agent 入门:新手和转行者先学什么,别一上来就啃框架”,说的就是这件事。它不是让你不学框架,而是让你把学习顺序摆正。框架是工具,工具是拿来解决问题的,你得先知道问题长什么样,再去挑工具。这篇文章我会按一个转行者从零到能独立搭建 Agent 的路径来拆,把每个阶段该学什么、为什么学这个、学到什么程度算过关,都讲清楚。适合两类人看:一是完全没接触过 AI Agent 的新手,二是从传统开发、产品、运营转过来,想搞清楚这个领域到底怎么入门的人。读完你至少能判断:自己现在处在哪个阶段,下一步该补什么,而不是被各种框架的名字牵着走。
2. 先搞清楚 AI Agent 到底是个什么东西
2.1 一句话说清 Agent 和普通程序的区别
普通程序是你写死逻辑,输入 A 走分支一,输入 B 走分支二,所有路径都是你提前铺好的。Agent 不一样,你给它一个目标,它自己决定走哪条路。比如你说“帮我查一下明天北京的天气,如果下雨就提醒我带伞”,普通程序需要你写死:调天气 API、判断降水概率、大于某个阈值就发通知。Agent 则是理解你的意图,自己决定先调天气接口,拿到结果后判断要不要触发提醒,中间甚至可能发现“明天北京没有降水数据,但周边有雨带”,然后主动追问你要不要看更细的预报。
这个区别听起来简单,但它带来一个关键变化:Agent 的行为不是完全可预测的。你没法像测试普通函数那样穷举所有输入输出。所以做 Agent 的第一课不是写代码,而是理解“不确定性”这件事,学会用提示词、工具描述、约束条件去框定它的行为边界。
2.2 Agent 的四个核心部件,缺一个都跑不起来
不管用什么框架,一个能用的 Agent 拆开来看就四块:
- 模型(大脑):负责理解意图、做决策、生成回复。可以是 GPT 系列、Claude 系列,也可以是本地部署的开源模型。模型的能力直接决定 Agent 的上限。
- 工具(手脚):Agent 能调用的外部能力,比如搜索、查数据库、发邮件、操作文件。没有工具的 Agent 只能聊天,有了工具才能干活。
- 记忆(上下文):短期记忆是当前对话的历史,长期记忆是跨会话存下来的信息。记忆决定了 Agent 能不能记住你上次说过什么、能不能在长任务里不跑偏。
- 编排(神经):决定什么时候调模型、什么时候调工具、结果怎么串起来。LangChain、Dify、Coze 这些框架主要就是在解决这一层的问题。
新手最容易犯的错是只盯着模型,觉得换个更强的模型 Agent 就好了。实际上工具设计得好不好、记忆管得对不对、编排逻辑清不清晰,对最终效果的影响往往比模型本身还大。
2.3 什么场景该用 Agent,什么场景别硬上
不是所有任务都适合做成 Agent。我自己的判断标准很简单:如果这个任务的步骤是固定的、可枚举的,那就用工作流,别用 Agent。比如“每天定时抓取某个网页的数据,清洗后写入数据库”,这就是典型的工作流,用 Dify 或者 Coze 拖几个节点就搞定了,稳定、可控、便宜。你非要用 Agent 让它自己决定怎么抓,反而容易出幺蛾子。
反过来,如果任务需要根据中间结果动态调整策略,比如“帮我调研一下某个行业的竞品情况,整理成报告”,这种没有固定路径、需要边做边判断的,才适合用 Agent。判断标准就一条:路径是否固定。固定用工作流,不固定用 Agent,混合场景就工作流里嵌 Agent 节点。
3. 新手第一个月该学什么,按什么顺序学
3.1 第一周:把 Python 基础捡起来,够用就行
我知道很多人听到 Python 就头大,觉得要学完整个语言才能开始。完全不用。做 AI Agent 用到的 Python 知识其实很集中:
- 变量、列表、字典的基本操作
- 函数定义和调用
requests库发 HTTP 请求json库处理数据格式- 基本的异常处理(try/except)
- 环境变量读取(
os.environ)
这些内容,有编程基础的人两三天就能捡起来,零基础的话一周也够了。我建议直接找一个“调用天气 API 并打印结果”的小项目练手,把上面这些点全串一遍。不用去看什么 Python 从入门到精通,那本书你翻到第三章就放弃了。
注意:Python 版本选 3.10 或以上。很多 Agent 相关的库对版本有要求,3.8 虽然还能用,但后面装依赖的时候容易遇到兼容问题,不如一开始就用新版本。
3.2 第二周:理解 API 调用和提示词工程
这一周的核心是搞明白两件事:怎么跟模型说话,怎么让模型按你要的格式说话。
API 调用这块,你不需要学得多深,知道怎么发一个请求、怎么传参数、怎么拿返回结果就行。以 OpenAI 的接口为例,核心参数就几个:model选哪个模型、messages传对话历史、temperature控制随机性。把这三个搞明白,你就能跑通第一个对话程序。
提示词工程是重点。新手写的提示词往往是“帮我写一篇关于 AI 的文章”,然后抱怨模型写得不好。问题不在模型,在于你没说清楚:写给谁看、多长、什么风格、要不要分点、有没有参考案例。我自己的经验是,一个好的提示词至少包含四块:角色设定、任务描述、输出格式、约束条件。这四块写清楚,效果立刻不一样。
3.3 第三周:动手搭一个最简单的 Agent
到了这一周,你可以开始碰 Agent 了。但别急着上 LangChain,先用最原始的方式搭一个:一个循环,让模型决定是调用工具还是直接回复。
伪代码大概长这样:
while True: response = call_model(messages) if response.has_tool_call: result = execute_tool(response.tool_name, response.tool_args) messages.append(result) else: return response.content就这么简单。你手动实现一遍这个循环,就会真正理解 Agent 的工作原理:它不是魔法,就是一个“模型输出→判断→执行→再输入”的循环。理解了这一层,后面再看 LangChain 的 AgentExecutor,你就知道它在帮你封装什么了。
3.4 第四周:选一个平台把完整流程跑通
有了前三周的基础,第四周可以选一个低代码平台把完整流程跑一遍。Coze 和 Dify 都行,选一个就好,别两个一起学。
Coze 的优势是上手快,界面友好,插件生态丰富,适合快速验证想法。Dify 的优势是开源、可本地部署、工作流编排更灵活,适合想深入定制的人。我的建议是:如果你只是想先感受一下 Agent 能做什么,选 Coze;如果你打算长期做这个方向,选 Dify,因为它的知识库、工作流、API 发布这些能力更接近生产环境的需求。
这一周的目标不是做出多厉害的东西,而是把“创建 Agent→配置提示词→添加工具→测试→发布”这个完整链路走一遍。走完之后,你对整个流程就有体感了。
4. 框架到底该怎么选,别被名字唬住
4.1 LangChain、Dify、Coze 的定位完全不同
很多人把这三个放在一起比,其实它们根本不是一个层面的东西。
| 维度 | LangChain | Dify | Coze |
|---|---|---|---|
| 类型 | 代码框架 | 低代码平台 | 低代码平台 |
| 部署方式 | 自己写代码集成 | 可本地部署/云端 | 云端为主 |
| 适合人群 | 开发者 | 开发者+产品 | 产品+运营 |
| 学习曲线 | 陡 | 中等 | 平缓 |
| 定制能力 | 最强 | 中等 | 较弱 |
| 上手速度 | 慢 | 快 | 最快 |
LangChain 是给开发者用的代码库,你需要在 Python 或 JavaScript 里调用它,灵活度最高,但什么都得自己写。Dify 和 Coze 是平台,你在界面上拖拖拽拽就能搭出 Agent,但定制能力受平台限制。
4.2 什么时候该从低代码平台转向代码框架
我的判断标准是:当你发现平台的功能满足不了你的需求,而且你愿意花时间写代码来解决的时候,就该转了。
具体来说,这几种情况说明你该考虑 LangChain 了:
- 你需要接入平台不支持的模型或工具
- 你需要对 Agent 的执行流程做精细控制
- 你需要把 Agent 集成到自己的系统里
- 你需要处理复杂的多 Agent 协作逻辑
但如果你只是做一个客服机器人、一个内容生成助手,Dify 或 Coze 完全够用,没必要为了“显得专业”去啃 LangChain。
4.3 LangGraph 是什么,什么时候需要它
LangGraph 是 LangChain 生态里专门做“有状态、多步骤”Agent 的工具。普通 LangChain Agent 是一个循环,LangGraph 则允许你把 Agent 的行为定义成一张图,每个节点是一个步骤,边决定下一步走哪里。
什么时候需要 LangGraph?当你发现你的 Agent 逻辑用简单的循环表达不清楚的时候。比如你要做一个“先调研、再分析、再写报告、最后审核”的流程,中间还有条件分支和循环,用 LangGraph 来编排就清晰很多。但新手别一上来就学它,先把基础 Agent 跑通再说。
5. 实操:从零搭一个能用的 Agent
5.1 环境准备和依赖安装
先确保 Python 版本在 3.10 以上,然后建一个虚拟环境:
python -m venv agent-env source agent-env/bin/activate # Windows 用 agent-env\Scripts\activate pip install openai requests如果你要用 LangChain,再装:
pip install langchain langchain-openai提示:装依赖的时候如果遇到版本冲突,先别急着一个个手动解决,试试
pip install --upgrade pip再重装。很多冲突是 pip 版本太老导致的。
5.2 写一个带工具调用的 Agent
下面是一个最小可用的 Agent 示例,功能是:用户问天气,Agent 调用天气接口返回结果。
import json import os import requests from openai import OpenAI client = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) def get_weather(city: str) -> str: # 这里用的是一个示例接口,实际使用时替换成可用的天气 API url = f"https://api.example.com/weather?city={city}" resp = requests.get(url, timeout=10) data = resp.json() return f"{city}今天{data['condition']},温度{data['temp']}度" tools = [ { "type": "function", "function": { "name": "get_weather", "description": "查询指定城市的天气", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "城市名称"} }, "required": ["city"] } } } ] def run_agent(user_input: str): messages = [{"role": "user", "content": user_input}] while True: response = client.chat.completions.create( model="gpt-4o-mini", messages=messages, tools=tools ) msg = response.choices[0].message if msg.tool_calls: for call in msg.tool_calls: args = json.loads(call.function.arguments) result = get_weather(args["city"]) messages.append(msg) messages.append({ "role": "tool", "tool_call_id": call.id, "content": result }) else: return msg.content print(run_agent("北京今天天气怎么样"))这段代码的核心就是那个while True循环:模型返回工具调用就执行工具,把结果塞回消息列表,再让模型继续判断,直到模型不再调工具、直接给出回复为止。
5.3 关键参数怎么调
几个容易踩坑的参数:
- temperature:做 Agent 的时候建议设低一点,0.1 到 0.3 之间。太高了模型容易乱调工具或者生成不稳定的输出。
- max_tokens:别设太小,不然模型还没输出完工具调用就被截断了。一般 1024 起步。
- timeout:工具调用的超时一定要设,不然某个接口卡住,整个 Agent 就挂在那里了。建议 10 到 30 秒。
5.4 在 Dify 上搭一个知识库问答 Agent
如果你不想写代码,Dify 的流程是这样的:
- 创建一个应用,选“Agent”类型
- 在“知识库”里上传你的文档(支持 PDF、Word、Markdown 等)
- 配置提示词,告诉 Agent 什么时候该查知识库、什么时候直接回答
- 添加工具,比如网页搜索、代码执行
- 在预览窗口测试,调整提示词直到效果满意
- 发布为 API 或嵌入网页
Dify 的知识库用的是向量检索,文档会被切块、向量化、存到向量数据库里。检索的时候根据用户问题找最相关的几块,塞进提示词里让模型回答。这里有个关键参数叫“分段长度”,设太小了上下文不完整,设太大了检索精度下降。一般 500 到 1000 字符比较合适,具体要看你的文档类型。
6. 新手最容易踩的坑和排查方法
6.1 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 |
|---|---|---|
| Agent 不调用工具 | 工具描述不清楚 | 检查 description 是否说清了“什么时候用” |
| 调用工具但参数错了 | 参数 schema 定义模糊 | 给每个参数加 description 和示例 |
| 回复格式不对 | 提示词没约束输出格式 | 在提示词里明确要求 JSON 或 Markdown |
| 上下文超长报错 | 对话历史太长 | 加截断逻辑或摘要压缩 |
| 知识库检索不准 | 分段策略不合理 | 调整分段长度和重叠比例 |
| 本地模型响应慢 | 硬件不够或模型太大 | 换小模型或量化版本 |
6.2 工具描述比工具本身还重要
我见过太多人花半天写了一个工具函数,结果 Agent 死活不调用。问题几乎都出在描述上。模型的判断依据就是你写的description,你写“查询天气”,模型不知道什么时候该用;你写“当用户询问某个城市的天气情况时调用此工具,参数为城市名称”,模型就知道该怎么用了。
实操心得:工具描述里最好包含“什么时候用”和“什么时候不用”。比如“当用户问实时天气时用这个工具,如果用户只是问气候特点则不需要调用”。
6.3 上下文管理是长期运行的命门
Agent 跑短任务没问题,一跑长任务就容易出问题。原因是对话历史越来越长,要么超出模型的上下文窗口,要么模型被前面的内容干扰,忘了当前该干什么。
我的做法是:每轮对话后检查 token 数,超过阈值就把早期的对话做摘要,只保留摘要和最近几轮原文。这样既保留了关键信息,又控制了长度。Dify 和 Coze 里都有类似的功能,叫“上下文轮数”或“记忆压缩”,用起来就行。
6.4 别在提示词里写太多规则
新手容易犯的另一个错是把提示词写成一本说明书,几十条规则堆在一起。结果模型记不住,反而容易混淆。我的建议是:核心规则不超过五条,其他的通过工具描述和流程设计来约束。提示词越简洁,模型执行越稳定。
7. 转行者怎么规划学习路径
7.1 从产品转过来的人,重点补什么
产品背景的人优势在于懂需求、懂场景,弱在技术实现。我的建议是:不用学太深的编程,但要把 API 调用、提示词工程、工作流编排这三块搞熟。Coze 和 Dify 这类平台就是为你准备的,把这两个用熟,你就能独立做出可用的 Agent 产品原型。遇到需要深度定制的部分,再找开发配合。
7.2 从传统开发转过来的人,重点补什么
开发背景的人技术不是问题,问题往往是思维没转过来。传统开发习惯把逻辑写死,Agent 开发则需要学会“用自然语言描述逻辑”。你需要花时间理解提示词的写法、模型的脾气、不确定性的处理方式。我的建议是:先别写代码,用 Coze 搭几个 Agent,感受一下“不写代码也能做出东西”的感觉,再回头用 LangChain 做定制。
7.3 学习资源怎么挑
市面上的教程很多,但质量参差不齐。我的筛选标准是:看它有没有讲清楚“为什么”。只告诉你“这样写就行”的教程,看完你还是不会举一反三。讲清楚“为什么这样设计”“什么情况下不适用”的教程,才值得花时间。
具体来说,官方文档永远是最好的起点。LangChain 的文档虽然被吐槽,但基础概念讲得清楚。Dify 和 Coze 的官方教程也够用了。视频教程可以看,但别只看视频,一定要跟着动手。看十个小时视频不如自己踩一个坑。
8. 我自己的学习体会
回过头看,我学 AI Agent 最快的那段时间,不是看文档最多的时候,而是动手做项目的时候。第一个项目是一个自动整理会议纪要的 Agent,功能很简单:读取会议记录、提取待办事项、生成摘要。做这个项目的过程中,我遇到了工具调用失败、上下文超长、输出格式不稳定各种问题,每一个问题解决之后,对 Agent 的理解就深一层。
所以我的建议就一条:别等学完了再做,边做边学。你不需要把 LangChain 的每个模块都搞懂才能开始,你只需要知道怎么调模型、怎么定义工具、怎么跑循环,就可以动手了。剩下的,遇到问题再查、再补。
这个领域变化很快,今天流行的框架明天可能就被替代了。但底层的东西——模型怎么决策、工具怎么设计、上下文怎么管理——这些不会变。把底层搞扎实,换什么框架你都能快速上手。