针对当下大模型比较成熟的几种应用模式,包括智能问答、RAG、Agent、Agent+MCP等等,大家理解时容易陷入两种极端:

当你刚开始入门时,看到这些概念一定很混淆,往往把大模型LLM想的很神奇,感觉它什么都能干,什么业务场景都能用。

当你通过cherrystudio或dify等工具,按照网上一些教程来实现过一些场景时,往往又会感觉很僵硬,只会照着做,并没有理解大模型LLM的本质。

本文以容易理解的信息化视角,将LLM视作一个黑盒的文字系统,通过比较输入提示词+输出成果在几种LLM应用模式下的不同,来分析这些应用模式的差异,本质上也是对使用LLM的过程做一个“祛魅”。

个人觉得哪怕我们对LLM内部的encode、decode、transformer、attention、MoE等概念和架构一知半解、似懂非懂,也不妨碍我们从使用角度去理解不同场景下LLM的应用模式。

基础问答提示词(系统指令+用户输入)

一些最基础的问答场景中,你会要求LLM模仿某种角色来回答用户的提问,或者要求LLM根据用户的输入来生成相应的内容,同时要求遵守某种结构进行生成答案,并做一些限制(比如不能随意发挥)等。

以上这些要求,其实就对应LLM的系统提示词,在Dify中配置界面大致如下:

上图system系统提示词就对应高阶指令,它是用来告诉LLM要如何响应用户诉求,要输出何种格式等等,是由LLM应用开发者预先设置好的,所以它被称之为system系统级指令,而user提示词对应是用户实际输入信息。其底层实现逻辑可以这样理解:

以适配OpenAI的接口规范为例,在这种最基础场景下,具体访问LLM的输入参数结构是:

可以看到输入该服务的messages包括两部分组成,一个是开发者提前设置好的role:system指令内容,一个是用户实际输入问题role:user内容。

既然通过信息化视角来理解,那有输入就必然有输出,进一步看看LLM服务的输出格式:

在choices/message结构内部,role:assistant这个节点的作用,是用来标记大模型输出信息(为啥要这么标记下,后面会讲),然后才是具体LLM生成内容的content节点。

多轮对话提示词(增加上下文的输入)

以上是最基础的一次对话过程,如果你还要反复进行追问,也就是要实现多轮对话,其底层实现逻辑是这样:

如图,核心就是要把上一轮对话结果也作为提示词的一部分再次输入给LLM,具体输入参数结构是:

之所以要把历史对话上下文再次输入给LLM,是因为LLM本身是没有记忆的,它永远是依据输入信息进行内容生成的,所以为了实现多轮对话,是需要智能体Agent负责做好上下文记忆,并在下一轮对话时,将前序对话内容也放到输入参数中。

看到这里有同学就要问了,反正就是把历史对话作为输入嘛,那么LLM是不是可以无限制的多轮对话呢?

当然不行,各种APP中通常都有对话轮数的限制,有两个原因,一是LLM都有tokens限制,每轮对话都叠加前面对话的上下文,后面会越来越长,超过LLM的tokens限制就会被截断。

二是即使有些LLM可以支持很大tokens,甚至有百万级tokens的,但你上下文对话信息很长时,还是会干扰LLM的注意力,就和人脑一样接收太多的输入就会很混乱,这个时候它对你最新问题的回答就会产生偏差。

RAG方式提示词(增加知识的输入)

在以上利用LLM进行对话的基础上,当你发现LLM缺少最新知识、或者缺乏某个行业领域内部知识时,通常就需要采用RAG方案了(RAG含义是知识检索增强),也就是要通过检索外挂知识库来增强LLM的生成能力,其底层实现逻辑是:

其核心就是要把知识检索到的内容,也作为提示词的一部分输入给LLM,对应输入参数结构是:

本质就是把检索到的知识片段,也放到role:user的content中,让LLM知道这些背景知识,其实它们和用户直接输入信息本质是一样的,所以还是用role:user这个类别,对于LLM来说它压根不用知道知识库的存在。

Tips:并不是所有需要用到知识的地方,都要使用向量化外挂知识库去做分片向量存储和语义相似度检索的,也并不是LLM对向量知识库有什么特殊依赖,这些组合方案都只是一种工程化范式而已。

比如一些简单场景要用到固定的几条知识,完全可以不用分片,不向量化,不用检索,每次调用LLM时,都自动附加到role:user中,输入给LLM就可以了。

调用工具提示词(早期function方式)

在以上RAG的基础上,如果你还需要在AI Agent中进一步调用工具,比如要调用工具查询数据库,比如要根据用户意图,调用查询天气、订票的工具等,其底层实现逻辑是:

其核心就是要把可以提供的工具描述信息,也作为提示词的一部分输入给LLM,对应输入参数结构是:

对应图中增加了一个functions输入节点,来输入工具或函数的描述信息,包括函数名称、和对应入参信息,注意这里functions节点是个数组,意味着可以输入多个可用的工具描述信息,供LLM选择和判断。

和前面几个小节略有不同的是,之前system、user、assistant等role的输入,都是在messages这个节点里面,而这里funtions节点则是和messages节点同级并列。

对于这种有工具描述的输入,LLM会根据用户的问题,自行判断是否需要调用工具,以及要调用哪个合适的工具,最终在LLM的输出信息中反馈要调用的工具,其对应输出结构是:

和前面基础对话场景中LLM的输出结构做个对比,可以看到对应的role还是assistant,但content为null,额外增加了funtion_call的节点。

你的AI Agent中通过解析LLM反馈信息中funtion_call节点,就可以得到要调用的函数名和要用到的参数值,再去执行这个函数即可。

后来改成tools方式

以上是LLM早期的function call机制,自从24年底Anthropic推出MCP协议以后,各厂商最新推出的LLM,经过强化训练后,也都支持标准的工具调用模式,其底层实现逻辑和上节funcnion call机制基本类似,但具体输入参数结构有所调整:

输入结构看起来变化不大,就是把functions节点换成了tools节点,同样也是一个数组。但LLM的输出结构就变化比较大了:

  1. 输出结构中用tool_calls节点替代了function_call节点,同时从原来输出单个function,变为现在输出tool数组,意味着LLM认为根据用户意图,有可能需要调用一组工具,所以通过数组方式输出。

  2. 更复杂场景场下,当你的AI Agent需要根据工具调用结果,让LLM决策下一步的动作时,也就是笔者之前在有关ReAct模式自主决策AI Agent文章中介绍的底层实现逻辑,就需要将调用结果再次输入给LLM,其对应输入参数结构是:

和前面提到的多轮对话场景的输入有点类似,也是通过在role:assistant节点将上一轮LLM的输出结果反馈给LLM,同时通过role:tool节点,将工具实际调用结果信息,再反馈给LLM。

当然实际使用MCP框架时,输入给LLM的tools数组不用手动组织了,都是框架会自动从mcp server中拉取工具描述信息,包括调用工具的环节,也是在mcp client的sdk中封装好了。

延伸阅读:在以上工具调用场景中,有一些比较极端复杂的场景,假如要输入给LLM可用工具数量很多,意味着要输入很多的描述信息列表,你会发现提示词会变得很长,如果再结合ReAct机制多轮次调用,那就很难避免提示词膨胀(prompt bloat),这会导致LLM大量消耗tokens,同时降低LLM处理速度,而且会造成LLM注意力不集中,很可能给出错误的tool选择。

总结:本文深入分析基础对话、RAG应用、Agent工具调用等应用场景,基于Prompt视角比较这些场景中使用LLM的差异,以帮助大家更好理解这些模式的底层实现逻辑,从而更好地理解大模型LLM能够应用在什么场景,以及如何应用。

大模型算是目前当之无愧最火的一个方向了,算是新时代的风口!有小伙伴觉得,作为新领域、新方向人才需求必然相当大,与之相应的人才缺乏、人才竞争自然也会更少,那转行去做大模型是不是一个更好的选择呢?是不是更好就业呢?是不是就暂时能抵抗35岁中年危机呢?

答案当然是这样,大模型必然是新风口!

那如何学习大模型 ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:

最先掌握AI的人,将会比较晚掌握AI的人有竞争优势。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

但现在很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习路线完善出来!

在这里插入图片描述

在这个版本当中:

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型路线+学习教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全咨料,放心领取)👈

一、大模型经典书籍(免费分享)

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源

在这里插入图片描述

二、640套大模型报告(免费分享)

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、大模型系列视频教程(免费分享)

在这里插入图片描述

四、2025最新大模型学习路线(免费分享)

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码免费领取

👉CSDN大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全资料,放心领取)👈

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐