Skip to content

Agent 开发入门 ​

AI Agent 是这两年爆火的方向,整个领域还处于快速发展阶段。

所以刚开始接触时,很容易被各种名词绕晕:Agent、Workflow、RAG、Tool Calling、Memory、MCP、LLM、Prompt……

其实现在我们对这些概念大多已经有了一些基本了解,像 Codex、CodeBuddy 这类 Agent 工具我们也用得越来越频繁。

但如果突然问你一句:Agent 到底是什么?它又为什么会突然爆火?

可能一下就不知道该怎么解释。

其实这是一个很正常的现象。大模型越来越强大,Agent 发展越来越快,隔几天就冒出一个新工具、一个新概念,甚至有一种说法:现在只要学得慢,很多东西就不用学了。

所以我们整个教程核心,从来不是教你使用某一个具体工具,而是帮你从整体上建立认知,我们要明白 AI 只是工具,框架也是工具,代码同样是工具,但是有些思想是不变的,有些思想又是融会贯通的。

我希望大家读完以后,能够真正侃侃而谈,更能把这套逻辑自如地运用到自己的工程实践中,而不是单纯停留在概念记忆上。

为什么我不建议一上来就死磕框架 ​

现在网上很多关于 Agent 的教程,一上来就是各种框架:

LangChain、LangGraph、AutoGen、SringAI、Agentscope……

于是很多教程的学习顺序就是:

挑一个最火的框架,然后照着教程做 Demo。

这种方式当然也可以。

但问题是,框架解决的是怎么实现,在实现之前还有一个更重要的问题:

我们到底准备实现什么?

我见过很多实习生认为开发就是写代码,却忽视工作中同样重要的一个能力就是理解需求,理解业务。

有些需求本来就是固定流程,用普通 Workflow(工作流) 会更稳定。

有些需求真正缺的是知识检索,核心其实是 RAG。

还有一些系统虽然用了模型、工具调用、知识库,甚至产品名字里也带着 Agent,但执行流程依然是提前写死的。

如果这些边界都没有分清楚,直接学框架的话,很容易出现下面几个问题:

  • API 会用了,但说不清系统为什么这样设计
  • Demo 可以跑,但换一个框架又像重新学了一遍
  • 能把功能做出来,却解释不清它究竟是 Agent还是Workflow
  • 真正遇到工程选型时,只能凭“哪个框架火”做判断

所以在入门阶段,我更建议先把判断力建立起来。

框架可以稍微晚一点学。

底层这些问题想清楚以后,学习框架以及后续换框架,其实也没有那么麻烦。

理清四个关键边界 ​

刚开始不需要背这些术语,后续还会反复出现。

我们先围绕下面几个问题建立认知,后面大部分内容都会慢慢串起来。

AI Agent 到底是什么? ​

这是最基础的问题,也是最容易被讲复杂的问题。

真正需要分清的是:

普通大模型、聊天机器人和 Agent,到底差在哪里?

我们不需要背一句:

Agent 是一个具有自主决策和工具调用能力的智能系统。

而是看到一个真实任务时,能大概判断:

这个系统到底只是在“回答问题”,还是已经开始“围绕目标持续做事”?

这个区别后面会反复出现。

Tool Calling、Planning、Memory、Agent Loop,本质上都和“怎么把任务继续推进下去”有关。

Workflow 和 Agent 到底有什么区别? ​

这个问题也特别重要。

Workflow 同样可以:

  • 调模型
  • 调工具
  • 查数据库
  • 搜索网页
  • 跑很多步骤

那为什么还需要 Agent?

这里真正值得关注的是:

下一步由谁决定?

如果每一步都是开发者提前写好的:

搜索 → 总结 → 输出

那更接近 Workflow。

如果系统会根据当前状态和上一步结果判断:

信息够不够?

还要不要继续搜?

现在应该调用哪个工具?

任务是不是已经完成了?

这时候就开始出现更明显的 Agent 特征。

这两者不是简单的“谁更高级”。

很多真实业务里,固定 Workflow 反而更稳定、更便宜,也更容易控制。

甚至说,Agent流程里面完全可以有 Workflow 的部分。

RAG 和 Agent 又有什么区别? ​

这个地方其实很好理解,现在很多 Agent 系统都会接 RAG。

可以先用一句比较简单的话区分:

RAG 主要解决“资料从哪里来”。

Agent 主要解决“下一步做什么”。

比如问一个企业知识助手:

公司今年的年假规则是什么?

RAG 可以先去知识库里把对应制度找出来,再交给模型回答。

但如果任务变成:

找出过去三版年假规则的变化,判断哪些部门受影响,再整理成一份通知。

这个过程就比较复杂了。

系统可能需要:

  • 找多份资料
  • 比较版本
  • 识别差异
  • 判断信息是否完整
  • 继续查询其他数据
  • 最后再组织结果

这时候 RAG 仍然可以参与,但整个任务已经不只是“检索一次然后回答”。

什么任务真的适合 Agent? ​

Agent 不是越多越好,Agent 不是越复杂越好。

一个固定、明确、可预测的流程,很多时候根本没必要让模型每一步都参与决策。

比如:

查数据库 → 生成 Excel → 发邮件

如果规则非常稳定,用 Workflow 就能很好完成。

Agent 更有价值的地方,通常出现在:

  • 任务步骤很难完全提前确定
  • 中间结果会影响下一步动作
  • 需要在多个工具之间动态选择
  • 经常需要根据反馈重新调整路径
  • 任务本身带有一定不确定性

所以学 Agent 时,不只要研究:

怎么做一个 Agent?

还需要一直问:

这个任务真的需要 Agent 吗?

这个判断在真实项目里往往比学框架、调 API 更重要。

这一栏我们会怎么学 ​

整个入门部分我们不会一下跳进复杂架构,因为核心目的就是给大家建立整体上面的认知。

大致可以分成下面几个阶段。

第一阶段:先建立直觉 ​

先把几个最常见的概念分开:

这个阶段我们不用追求所有定义都能说得特别专业。

但至少应该逐渐建立一个基本判断:

Agent、Workflow、RAG 不是同一个东西,他们有不同的特点。

第二阶段:要学会判断 ​

搞清楚 Agent 是什么以后,下一个问题就是:

什么时候值得用?

这一篇会专门讨论:

这个问题非常值得认真看。

因为真正做项目时,第一步往往不是:

Agent 怎么写?

而是:

这里到底该不该用 Agent?

如果任务很固定,Agent 可能只是增加成本和不稳定性。

如果任务本身就有大量动态决策,再考虑 Agent 才更合理。

第三阶段:明白Agent到底是怎么运转 ​

前面的边界有了以后,再了解内部机制就会自然很多。

我们会讲:

  • 模型怎么判断下一步
  • Tool Calling 怎么发生
  • 工具结果怎么重新进入上下文
  • 状态怎么保存
  • 为什么会形成循环
  • 什么时候应该停止

对应:

学到这里以后,也有助于我们后续学习 LangGraph、Agentscope 等框架。

我们不是讲:

这个框架 API 怎么调用?

而是:

这里其实是在管理状态。

这一层在处理 Tool Calling。

这里控制的是 Agent Loop。

反而框架只是把这些问题封装成了不同的实现方式,我们在用的时候调用就可以。

第四阶段:准备真正动手 ​

最后再进入第一个项目之前,

我们会讲:

面试时怎么准备 ​

Agent开发很火,现在对于程序员来说,面试几乎都会问到。

但我不建议一开始就背什么:

Agent 有五个组成部分。

Memory 分为四种类型。

Planning 有几种方式。

这些面试题我们后面当然会讲,但并不是最值得优先投入时间的部分。

面试里更容易真正拉开差距的,往往考的不是记忆,而是认知:

这个技术为什么会出现?

为什么用这个技术而不用另一个技术?

这些问题很多面试官都会问,Java 八股文里面也有很多类似的问题。

我不太喜欢整理一套漂亮的标准答案,这样同质化严重,每个人没有自己的思考。

而是应该学完以后,可以脱离文章,用自己的话把逻辑讲出来。

当然我们后面可能也会给大家出一些面试题合集,方便大家高效准备面试。

开始之前需要补很多基础吗? ​

不用。

如果已经有基本编程能力,就可以开始接触 Agent 应用开发。

没有必要先去了解深度学习、NLP、Transformer 等技术。

这些内容有自己的价值,但并不是进入 Agent 应用开发的前置门槛。

后面真正会反复碰到的主要是:

  • LLM
  • Prompt
  • Tool Calling
  • RAG
  • API
  • 上下文工程
  • 状态管理
  • Agent Loop
  • Skill
  • MCP

遇到哪里不会、不清楚,我们再补哪里就行。

很多技术真正放进场景里以后,反而更容易理解。

这也是我们后续带大家实际做项目的原因。

哪些东西现在可以先放一放 ​

Agent 领域更新特别快,毕竟还属于快速发展阶段。

所以可能会出现下面这种情况:

LangChain 和 LangGraph 到底选哪个?

CrewAI 还有没有必要学?

MCP 是不是必须会?

Multi-Agent 是不是比单 Agent 更高级?

Memory 到底用向量数据库还是关系数据库?

这些问题以后都会遇到。

但现在不用急。

如果连 Agent、Workflow、RAG 的区别都还不清楚,提前研究这些细节很容易被框架和名词带着走。

技术在变,很多底层思想反而一直没怎么变:

  • 什么情况下应该调用工具,调用哪个工具
  • 中间产生的状态应该怎样延续
  • 一次执行失败以后,是重试、换一种方式,还是直接停止
  • 系统怎样判断任务已经完成

这些问题想明白以后,再看新的 Agent 框架,会发现很多设计其实只是用了不同名字解决相似问题。

从哪一篇开始? ​

这里有两个入口。

如果更喜欢先建立概念:

👉 什么是 AI Agent

如果看抽象定义比较容易乱,更喜欢先看实际场景:

👉 AI Agent 能做什么:6 个典型案例

我个人更推荐:

先看案例,再回来理解定义。

因为我们脑子里已经有了一个 Agent 真正在做事情的画面以后,后面的 Tool、Planning、Memory、Loop 都会更容易理解。


总结 ​

这个入门栏目我希望给初学者建立的是认知,而不是知识。如果大家感觉自己已经很熟悉这些概念了,可以直接跳过,进入下一个栏目。