https://zhuanlan.zhihu.com/p/657937696
https://zhuanlan.zhihu.com/p/665638691
AI Agent是指人工智能代理(Artificial Intelligence Agent),是一种能够感知环境、进行决策和执行动作的智能实体。
大模型是AI-Agent(代理智能体)的大脑,langchain是快速构建AI-Agent的框架平台
Agent 其实基本就等于 “大模型 + 插件 + 执行流程 / 思维链”,分别会对应控制端 (Brain / 大脑)、感知端 (Preception)、执行端 (Action) 环节,如下,
不同于传统的人工智能,AI Agent 具备通过独立思考、调用工具去逐步完成给 定目标的能力。AI Agent 和大模型的区别在于,大模型与人类之间的交互是基于 prompt 实现的,用户 prompt 是否清晰明确会影响大模型回答的效果。而 AI Agent 的工作仅需给定一个目标,它就能够针对目标独立思考并做出行动。和传统的 RPA 相比,RPA 只能在给定的情况条件下,根据程序内预设好的流程来进行工作的处 理,而 AI Agent 则可以通过和环境进行交互,感知信息并做出对应的思考和行动。
chatgpt只是一个单纯动嘴皮子的大脑,ai-agent可以进行一系列动作, 不单单是动嘴皮子。
图1:LLM-based Agent的概念框架,由大脑、感知、行动三个部分组成。作为控制器,大脑模块承担记忆、思考和决策等基本任务;感知模块负责感知和处理来自外部环境的多模态信息;行动模块负责使用工具执行任务并影响周围环境。
一个基于大模型的 AI Agent 系统可以拆分为大模型、规划、记忆与工具使用四个组 件部分。AI Agent 可能会成为新时代的开端,其基础架构可以简单划分为 Agent = LLM + 规划技能 + 记忆 + 工具使用,其中 LLM 扮演了 Agent 的“大脑”,在这个 系统中提供推理、规划等能力。 本文主要介绍LLM-based Agent的总体概念框架,由大脑、感知、行动三个关键部分组成(见图1)。
图6:基于 LLM 的代理应用场景。我们主要介绍三种应用场景:单个代理部署、多代理交互和人与代理交互。单个代理拥有多种能力,在各种应用方向上都能表现出出色的任务解决能力。当多代理互动时,它们可以通过合作或对抗性互动取得进步。
AI Agent 主要分为4个部分:
这是流程的第一步。AI 通过传感器、摄像头、麦克风等硬件,初步建立起对外部世界的感知。
输入(Inputs):感知到的信息被输入到系统中。以上面的例子来说,“我有点不舒服”,这句话就被收音模块收集,并输入到系统中。
外部环境(Environment):系统所在的环境或上下文。比如“我有点不舒服”这件事,会涉及到天气、环境等。
可以理解成通用大模型+N多个专业的知识库,用来处理信息。包含以下系统:
1)信息存储相关
记忆系统:包括Storage和Memory,用来存储长期和短期的数据。
比如长期数据是我这个人的基本信息、基础疾病等;
短期数据比如我家的布洛芬没有了。
知识库(Knowledge):包括医学知识库等,可以根据我的症状诊断我当前的状态,以及后续治疗。
2)大模型对信息进行处理
基于感知的信息(input + Environment)、记忆、知识库等信息,进行加工处理,得出结论(Decision Making):“我阳了”。
3)然后制定下一步计划(Planning)。
Action/Reasoning 是基于其决策的具体动作,但还没有实行。
要帮我写好请假条、帮我买药等。
基于 Barin 一系列眼花缭乱的操作,得出了结论,制定了下一步计划,那就需要执行(Action)。
但是大模型本身是不能完成这些任务,这时候就会用调用第三方的工具(Tools 和Calling API),通过接口或者应用,与其他App进行互动,从而达到最终效果。
执行之后,会告诉你执行结果。比如小爱同学告诉你:“你阳了,已经帮你写好请假条,买好药了。”
以上就是AI Agent的工作原理。
总的来说,这个系统描述的是一个简化的模型,展示了是一个 AI Agent 如何从感知信息开始,经过一系列内部处理和决策,最终做出响应的过程。
AI-Agent、大模型和LangChain之间的包含关系并不是简单的一层嵌套关系,它们在实际应用中更多的是相互配合和集成的关系:
大模型 是AI-Agent实现智能功能的重要组成部分之一。在一个更广义的AI-Agent设计框架下,大模型可以作为处理自然语言理解和生成任务的关键模块,帮助AI-Agent理解用户输入、生成回复或进行复杂的文本推理。
AI-Agent 可能包含多个不同的组件,如感知模块(用于处理视觉、听觉等信息)、决策模块、行动模块以及知识处理模块(其中就可能使用到大模型)。因此,大模型是构建AI-Agent时的一个高级功能单元,而非直接包含于AI-Agent内,而是被集成在AI-Agent架构的不同层次上以提供NLP相关能力。
LangChain 作为一个工具包或框架,并不直接“包含”AI-Agent或者大模型,但它为管理和组织多个大模型协同工作提供了基础设施。通过LangChain,开发者可以更容易地构建更为复杂和智能化的系统,这些系统在某种程度上可以被视为具备高度智能交互能力的AI-Agent。在这种情况下,LangChain可以视为一个高层次的整合平台,在这个平台上可以设计和实现各种类型的AI-Agent,这些Agent能够高效利用多个大模型来执行其功能。
综上所述,AI-Agent可以看作是一个包含了多种技术手段(包括但不限于大模型)的整体解决方案;大模型是AI-Agent所使用的众多技术资源中的核心智能部件;而LangChain则是一个专门针对大模型优化集成和调用的开发框架,它为构建基于大模型的AI-Agent提供了便利。
当涉及具体的例子和代码时,需要明确一点:AI-agent、大模型和LangChain都是相对抽象的概念,它们在实际应用中可能涉及多种不同的技术和工具。因此,以下示例将尽量简化,并以一个假设的场景来说明它们之间的关系。
假设我们要构建一个智能问答系统,其中AI-agent负责与用户交互,大模型用于提供强大的自然语言处理能力,而LangChain作为框架帮助我们整合这些组件。
首先,我们需要一个大模型来处理自然语言。在这个例子中,我们可以使用预训练的语言模型,如GPT-3。GPT-3是一个具有大量参数和复杂结构的语言模型,它可以生成连贯的文本并回答各种问题。
接下来,我们可以使用LangChain来构建应用程序。LangChain提供了一套工具和组件,可以帮助我们更高效地与大模型进行交互。在这个例子中,我们可以使用LangChain的API来调用GPT-3模型,并将用户的输入传递给模型进行处理。
以下是一个简化的示例代码,展示了如何使用LangChain调用GPT-3模型进行问答:
python
import langchain
# 假设我们已经设置了GPT-3的API密钥和访问权限
api_key = "your_gpt3_api_key"
# 创建一个LangChain的LLM(Large Language Model)实例
llm = langchain.LLM(llm_name="GPT-3", api_key=api_key)
# 定义一个简单的问答函数
def ask_question(question):
# 使用LangChain的LLM实例调用GPT-3模型
response = llm.generate(question)
return response
# 用户输入问题
question = "你好,请问今天天气怎么样?"
# 调用问答函数获取回答
answer = ask_question(question)
# 打印回答
print(answer)
需要注意的是,上述代码只是一个简化的示例,实际应用中可能需要更多的设置和配置。此外,LangChain本身并不直接包含GPT-3模型,而是通过API调用与GPT-3进行交互。
至于AI-agent的部分,在这个示例中,我们可以将问答系统看作是一个简单的AI-agent。它接收用户的输入(问题),使用大模型(GPT-3)进行处理,并返回回答作为输出。AI-agent在这个过程中扮演了与用户进行交互和决策执行的角色。
请注意,以上代码仅用于演示目的,并且可能需要进一步的调整和适配才能在实际环境中运行。具体的实现方式还可能取决于所使用的库、框架和API的具体要求。