夜雨聆风学习资料网

ARTICLE · 1042495

一篇搞懂 AI Agent 的核心概念:从大模型、RAG 到 MCP 和 Skill

一篇搞懂 AI Agent 的核心概念:从大模型、RAG 到 MCP 和 Skill

一篇搞懂 AI Agent 的核心概念:从大模型、RAG 到 MCP 和 Skill

大家好,我是一言。Spring AI 2.0 组件也讲的差不多了。

这次放下了代码,用 12 张图来整理 AI 应用的核心概念:它是什么样的,可以解决什么问题。

1. 大模型:理解和生成的基础

大模型根据输入生成文本、代码或工具调用请求

大语言模型(LLM)从大量的数据中学习语言和知识的规律,按照输入来生成文本、代码或者工具调用请求

例如“帮我取消订单”,模型能够理解意图,而查询、取消操作则需要通过应用连接到真实的系统。

2. Token:模型处理文本的基本单位

文本经分词器转换为 Token,再映射为数字编号

文本首先被分词器切分成 Token,然后用数字编号表示。一个 Token 可以是一个字、一个词语或者词语的一部分。

字数和 Token 数之间没有固定的比值关系。上下文容量以及很多 API 的计费都是以 Token 为单位的。

同一句话用不同的分词器来分词,得到的结果以及 Token 的数量都可能不一样。

3. 上下文窗口:这一轮可以容纳多少信息

上下文窗口容纳当前输入,并为输出预留空间

上下文窗口决定模型这一轮可以容纳多少信息:任务要求、用户问题、相关的过往历史、检索到的信息以及工具的结果,一般还会留出一定的输出空间。

历史记录要取出并放入到当前输入中,模型才可以使用。例如用户上一次给了订单号,这一次又问“发货了吗”,那么应用就应当把相关的过往信息一并提供给模型。

4. Prompt:告诉模型这次要怎么操作

Prompt 向模型交代任务、背景和输出要求

Prompt 交代任务、背景以及输出的要求,可以用多条不同角色的消息来表示。要求越具体,模型就越容易理解这次要做什么。

总结下面的退款规则,只保留申请条件和到账时间。

这句话也同时限制了需要处理的材料以及需要保留的信息,比“帮我总结”更易得到符合预期的回答。

涉及权限或者格式等硬性规定的时候,仍然要进行代码校验。

5. 幻觉:说得像真的一样,但是事实并不对

幻觉示例:资料未说明到账时间,回答却给出确定时限

幻觉就是模型生成了没有根据或者和事实相悖的内容。比如说资料上没有提到退款的时间,但是回答却肯定地说“24 小时到账”。

补充资料、核实来源和校对结果可以降低风险,但是回答流畅也有可能出错。

6. RAG:先查资料,然后生成答案

RAG 先检索相关资料,再结合问题生成回答

RAG(Retrieval-Augmented Generation)就是检索增强生成:先查找相关的资料,然后结合资料和问题来生成答案。比如说先查一下公司退货政策,再回答定制商品可以退货吗。

检索可以使用关键词、向量或者混合的方式。回答的质量和资料是否找对、模型是否使用得当有关。

7. Tool Calling:使模型发出外部请求

工具调用由模型提出请求,应用校验执行并回填结果

应用给模型提供工具说明,模型返回工具名称和参数,然后由应用进行校验、执行,并把结果交给模型。

例如查询订单工具接收订单号,返回发货状态。模型提出调用,代码执行操作并且控制权限。

拿到工具的结果之后,模型可以对用户进行回复,也可以根据结果再请求其他的工具。

8. MCP:统一连接工具以及数据

MCP 为应用连接外部工具、资源和提示模板提供统一方式

MCP(Model Context Protocol)就是模型上下文协议,用来统一 AI 应用与外部工具、资源以及提示模板之间的连接方式。

例如取件服务可以利用 MCP 提供预约工具,那么支持 MCP 协议的应用就可以接入了。Tool Calling 负责发起工具请求,MCP 负责建立与外部能力之间的连接;本地工具也可以直接调用。

9. Skill:给特定的任务加上做事的方法

Skill 以 SKILL.md 为核心,按需附带脚本、参考资料和模板

Skill 用文件夹来封装某类任务的指令和资源,核心文件为 SKILL.md,可以附加脚本、参考资料和模板,由支持它的应用程序根据需要加载。

退货 Skill 的规定是先查订单,再核对条件,最后生成申请。Tool 提供动作,Skill 提供方法,也可以只提供写作或者审查的标准。

10. Memory:把要记住的信息留到后面

Memory 保存需要的信息,再按需取回到当前上下文

Memory 负责保存以及取回之后所需要的资料

  • • 短期记忆:服务当前会话,例如正在处理订单 A1003
  • • 长期记忆:跨会话保持偏好、事实或者经验,例如用户偏好的通知方式。

可以用消息、摘要、结构化数据或者向量检索来实现,取回之后再放入到当前上下文中。

比如说把“偏好短信通知”作为一个字段来保存,然后在处理订单的时候再读取它,就可以使用这个偏好了。

11. Workflow:事先规划好任务的流程

退货工作流示例:代码预先安排步骤和执行条件

Workflow 是由开发者事先设定好步骤、分支以及执行条件的。退货流程如下:

查订单 → 核对条件 → 用户确认 → 提交申请

流程可以调用模型,也可以并行或者循环,流转规则主要由代码来控制。

比如说不符合退货条件的话要说明原因,用户确认同意之后再提交申请,这些分支都可以提前写入流程。

12. Agent 和 ReAct:根据反馈继续行动

Agent 根据动作结果继续判断,并在可以结束时回复

Agent 由模型参与来决定下一步的动作,调用工具并且根据反馈来推进目标。例如在订单号缺失的情况下先询问,查到没有发货之后再选择取消工具。

ReAct 用推理和行动交替的方式:判断 → 执行 → 观察 → 再判断,这是构建 Agent 的一种方式。

Workflow 和 Agent 可以一起用,比如退货的主要流程由代码来控制,“查清用户的问题”则由 Agent 根据反馈来灵活处理。自主执行还需要权限、预算以及停止条件。


模型生成内容,RAG 提供信息,Tool 执行任务,Skill 提供方法。加上记忆、流程以及反馈机制之后,就可以根据任务的需求来组合出 AI 应用了。

我会不断更新 Java AI 实战教程,感兴趣的朋友们可以关注我。我是一言,下回见。

谢谢你读到这里。想第一时间看到我的更新,记得把「雷一言」设为星标。以后有新文章,也不容易错过。

相关学习资料