大语言模型实战

2023年,Agent的概念因大型语言模型(LLM)的发展而再次流行起来。LLM如GPT系列的出现,强化了Agent的能力,使其不仅能够执行基本任务,还能进行复杂的语言理解和生成,以及更加复杂的决策制定。这些进步使得Agent能够在更广泛的应用场景中发挥作用,例如在客户服务、个性化推荐、自动化内容生成等领域。

如果没有LLM的支持,Agent将丧失多个关键能力:

·听不懂,看不懂。没有文字、音频、视频和图像的多模态LLM,Agent无法有效地理解复杂的语言输入。这意味着它们无法从用户的语言表达中准确地捕捉意图和信息。例如上传医疗检测单据图片,Agent需要读取图片上的文字信息,以帮助检查人员更快过滤检验结果。

·理解不了。没有高级的语言处理能力,Agent将无法进行深入的语义理解和情感分析,从而在理解用户需求和响应方面变得有限,这样会导致Agent没有“沟通能力”。

·说不出来。没有LLM的内容生成能力,Agent在语言生成方面的能力也将大幅缩水。它们将无法生成自然、流畅且符合上下文的语言回应,影响与用户的交互质量。

·推理不了。没有LLM的推理能力,Agent就像侦探有了线索但无法破案。Agent在任务分解和目标规划以及自我反思中都陷入僵局。Agent无法理解用户的目标,做任务拆解以及对任务的执行情况进行迭代。

由此可见,LLM的技术发展,在Agent应用开发中扮演着至关重要的角色,这也是在2023年的LLM技术浪潮中,Agent项目大放异彩的主要原因。总的来说,Agent是一个智能系统,能够在复杂环境中自主行动,以实现特定的目标或任务。这些Agent通常被设计为能够感知环境、做出决策,并通过执行动作来影响环境。

 

1. Agent的关键特性


Agent通常有两个关键特性。

Agent的一个关键特性是利用LLM作为推理引擎。Agent通过LLM来决定如何与外部世界进行交互,这意味着代理的行为不是预设的序列(硬编码是预置流程),而是根据用户输入和先前动作的结果动态决定的。这种灵活性使得代理能够应对多变的环境和复杂的任务。

Agent的另一个关键特性是工具的使用。人类与动物的最大区别是会制造和使用工具。同样地,越是智能的Agent,不仅拥有大量工具,而且在不同环境和不同任务场景下,会自主选择和使用工具。例如一个QA查询的Agent,尽管简单的问答可以解决一些用户问题,但在处理更复杂或一些边界问题时,灵活的Agent则显得尤为重要。例如用户查询完后,希望搜索更多相关实时的信息。那么就要求Agent是连接到数据源或计算资源的,如搜索API和数据库,来弥补大型语言模型的局限性(这里特指各大模型的知识截断问题,LLM无法直接回答实时社会产生的信息)。

灵活的Agent不仅提高了数据处理的能力和多样性,还使Agent能够拓宽应用范围,增强用户体验,并持续学习和适应新的挑战。随着LLM技术的不断突破,我们可以预见,未来的Agent技术将更加智能,可完成更复杂的任务。

 

2. Agent的应用范围


Agent技术的应用范围广泛且多样化,它们不仅仅是简单的自动化工具,而是能够在多个领域中提供高效和创新的解决方案的工具。以下是Agent技术的一些主要应用领域。

1)自动化和效率化的工具。Agent技术在复杂任务自动化和提高工作效率方面起着至关重要的作用。无论是简单的数据查询还是复杂的决策制定,都能显著减少人工操作,优化工作流程。

2)数据分析和处理。在处理大量数据和执行复杂分析方面,Agent技术发挥着重要作用。它能够从海量数据中提取有价值的信息,为企业和研究者提供快速、准确的洞察。

3)交互式用户体验。Agent技术通过自然语言处理和上下文感知技术,提供个性化和互动的用户体验,从而改善用户交互。

4)智能决策支持。Agent技术作为决策支持工具,在分析复杂情况和提供基于数据的建议方面表现突出,特别是在商业、医疗和科研等领域。

5)集成与扩展服务。Agent能够集成多种工具和服务,通过API调用外部服务,将不同的功能和信息源集成到一个统一的接口中,为用户提供全面和扩展的功能。

6)自适应学习和进化。Agent技术具有学习和适应的能力,能够根据用户反馈和行为模式不断进化,以更好地满足用户需求。

 

3. Agent的类型


在Lilian Weng的博客“LLM Powered Autonomous Agents”中对Agent做了3种分类。

1)自主代理:如AutoGPT,这类代理以LLM作为“大脑”,能够独立执行任务。它们具有自我学习和适应能力,适用于复杂的决策过程。

2)增强型代理:如工具增强型语言模型(TALM、Toolformer),这类代理通过结合外部工具或API来扩展其功能,能够执行超出普通语言模型能力范围的任务。

3)专业化代理:如用于药物发现的ChemCrow,这类代理针对特定领域设计,具有该领域内的专业知识。专业化代理在企业和个人用户之间受到极大欢迎,这反映出了人们对此类代理的强烈需求。表8-1展示了用户最渴望的专业化代理类型。

 

当我们看到这么多Agent类型时,很自然地萌生出想要创建一些帮助自己解决工作和生活问题Agent的想法。那么,下面我们来了解Agent的主要模块,它是我们构建Agent的起点。