“ 智能体的核心是LLM,方法是Prompt,重要组件是Tools。”
开发智能体有一个核心原则——那就是智能体的核心是大模型,不论多么复杂的智能体都是基于这个原则开发的。
为什么这么说?
原因就在于很多人没有理解这句话,简单来说就没搞明白大模型的运行流程是什么样的;而且面对市面上各种开发框架和开源项目,都把智能体的核心操作封装起来了,而对于我们很多开发者来说,这些智能体的运行过程就是一个黑盒,也不懂得其中的原理。
因此,我们今天就主要来讨论一下智能体的运作流程。

智能体的运作流程
从结构上来看智能体的构成很简单,主要就是LLM+Prompt+Tools;但事实上智能体的核心只有一个,那就是LLM大模型。
Prompt提示词是什么?
提示词本质上就是一个与大模型交流的方式或者说渠道;大模型就类似于一个职业经理人,Prompt就类似于你和他签的代理合同,而Tools工具就相当于你现在的公司。
当一个老板没有时间或精力运营一家企业时,他可能会选择一个职业经理人帮他运作这个企业;而智能体就类似于这么一个企业,你只需要告诉它你需要什么,然后让它自己去做就行了。
你不需要关心它怎么做,以及它能不能做,只要你提供了足够的工具,那么它就可以自己想办法用这些工具解决问题。

所以,从智能体的三件套来看,Prompt提示词是与大模型打交道的途径,其和具体的功能和业务没有关系;而工具只是工具,需要使用工具的时候就用,不需要使用工具的时候就不用;因此,工具并不是一个必须存在的东西。
所以,智能体运行的核心就是理解需求,然后自主判断是否需要使用工具,最后再通过工具去完成一些任务。
在智能体中,工具扮演着什么样的角色,以及其运行的流程是什么样的?
在智能体中,会有一个工具列表,然后会告诉大模型这里面每个工具是干什么的,然后需要哪些参数,让大模型根据自己的需要去使用不同的工具;也就是说由大模型自己生成工具所需要的参数,然后让工具去执行;当执行完成之后,再拿到工具的执行结果,去分析是否完成任务,还是出现了某个问题,亦或者应该进行到下一步等等。
总之,大模型可以根据调用工具的结果判断工具是否调用成功,如果调用失败大模型可以再次生成请求参数重新调用工具。
而在langchain或langgraph这些开发框架在智能体中扮演着什么角色?
事实上langchain和langgraph中虽然封装了很多和智能体相关的东西,但langchain的作用是让智能体调用更加顺畅,也就是链式调用;而langgraph的作用其实是数据共享,其本身并不会干涉智能体的调用过程,或者说并没有参与到智能体的调用过程中。
总之,智能体的执行过程很简单,但也很复杂;简单就在于智能体的核心只要LLM和Tools,以及操作大模型的提示词;复杂在于可以通过复杂的设计让智能体完成复杂的任务,这种长链路调用,就会导致数据共享困难,出错概率高,难排查等。
(文:AI探索时代)