大模型应用开发:动手做AI Agent
上QQ阅读APP看书,第一时间看更新

前言

一个新纪元的黎明

许多人把ChatGPT诞生的2023年视为生成式人工智能(Generative AI,GenAI)、AIGC(AI Generated Content,人工智能生成内容)和大语言模型(Large Language Model,LLM,也称大模型)爆发的元年。AIGC以前所未有的方式生成内容,从文本、图像到代码,其生成内容的质量和多样性令人惊叹。这些内容不仅能直接用于工作,提升工作效率,而且降低了艺术创作的门槛,为文化娱乐等产业开辟了更广阔的天地。人工智能技术正在引领一个全新的内容创造时代。

然而,已经发生的这一切仅仅是人工智能革命的序幕。

今天,人工智能在工作效率提升方面的热潮方兴未艾,而开发人工智能应用(见图1)的新一波浪潮又迅猛兴起。

图1 在基于大模型的人工智能应用开发

随着技术的进步,我们开始期待更多:我们所向往的是一个不仅把人工智能生成内容视为工作的一部分,还将人工智能作为连接更加复杂任务的关键纽带的时代。

这种愿景正是Agent[1]诞生的起点。


[1] 可以译为智能体或智能代理,本书统称为Agent。

在探索人工智能的奥秘和可能性的征程中,ZhenFund(真格基金)认为生成式人工智能应用需要经历表1所示的5个层级。

表1 生成式人工智能应用需要经历的5个层级

目前流行的ChatGPT和Copilot分别位于L2和L3,可以将它们视为一种初级的Agent。ChatGPT能够根据对话上下文(记忆)来响应提示输入的操作,向人类展示有价值的对话,而Copilot通过与人类协作,可以在多个层面上提升完成相应任务的效能。

从L3到L4的跨越是一个从被动到自主的分水岭,在这个跨越过程中,Agent将成为关键的驱动力。

未来的Agent将不仅仅是内容生成工具。它们将整合人工智能模型、海量数据和多样化的工具,从而能执行各种任务,完成不同的工作。这些Agent跨越单纯的内容生成的界限,开始涉足决策制定和行动实施等领域。无论是解读复杂指令、规划策略、拆解任务,还是执行实现目标的具体步骤,它们都将展现出独特的自主性和适应性。更为关键的是,这些Agent能够接入并灵活运用多种辅助工具和数据资源,从而大幅拓宽工作领域和提高工作能力。

例如,旅行计划Agent不仅能够生成旅行建议,而且能根据用户的喜好和预算自动预订航班、酒店甚至餐厅。再如,家庭健康管理Agent能够监测家庭成员的健康数据,主动提出饮食和锻炼建议,甚至在必要时预约医生并安排药物配送。

在业务层面,构建Agent的需求将快速增长。随着对Agent的价值和影响的深入了解,越来越多的公司开始尝试和实施Agent技术。从概念验证到开发相关应用,从初步尝试到广泛应用,Agent技术正在商业化之路上加速前进。

构建Agent的基石已经存在,包括先进的AIGC模型和大模型(如GPT-4、Claude 3 Opus)、人工智能应用开发框架和工具(如LangChain、LlamaIndex、OpenAI API和Hugging Face等,见图2)、软件平台、业务场景和丰富的数据资源。我们所需要的一应俱全,而我们所缺乏的是将这些技术或工具整合到一起的经验和技术。

图2 人工智能应用开发框架和工具

尽管构建Agent的基石已经准备就绪,但Agent的技术发展仍处于萌芽阶段。开发者需要进行深入思考并动手实践,以确立Agent的开发框架、Agent访问工具的方式、与数据交互的方式,以及如何对话以完成具体任务。这些问题的答案将塑造未来Agent的形态和能力。

在解锁Agent的巨大潜力的过程中,我们需要深入探讨以下几个关键问题。

Agent如何在各行各业中提升效率以及创造机会和更多可能性?

在众多的Agent框架中,如何选择适合自己需求的框架?

在解决现实世界的问题时,如何实施Agent才最有效?

自主Agent如何改变我们对人工智能驱动的任务管理的认知和实践?

目前无论是学术界还是产业界,对人工智能应用开发的关键问题远未达成共识。本书或许可以作为读者深入探讨上述问题的漫长旅途的开端。本书旨在从技术和工具层面阐释Agent设计的框架、功能和方法,具体涉及如下技术或工具。

OpenAI Assistants API:用于调用包含GPT-4模型和DALL·E 3模型在内的众多人工智能模型。

LangChain:开源框架,旨在简化构建基于语言的人工智能应用的过程,其中包含对ReAct框架的封装和实现。

LlamaIndex:开源框架,用于帮助管理和检索非结构化数据,利用大模型的能力和Agent框架来提高文本检索的准确性、效率和智能程度。

这些技术和工具都可以用于构建Agent,它们通过接口连接大模型,为Agent提供语言理解、内容生成和决策支持的能力。通过它们,Agent可以支持多种外部工具,进而执行复杂任务以及与环境进行交互。

除了介绍Agent的框架和开发工具之外,本书还将通过7个实战案例,带领读者学习前沿的Agent实现技术。这7个案例分别如下。

Agent 1:自动化办公的实现——通过Assistants API和DALL·E 3模型创作PPT。

Agent 2:多功能选择的引擎——通过Function Calling调用函数。

Agent 3:推理与行动的协同——通过LangChain中的ReAct框架实现自动定价。

Agent 4:计划和执行的解耦——通过LangChain中的Play-and-Execute实现智能调度库存。

Agent 5:知识的提取与整合——通过LlamaIndex实现检索增强生成。

Agent 6:GitHub的网红聚落——AutoGPT、BabyAGI和CAMEL。

Agent 7:多Agent框架——AutoGen和MetaGPT。

此外,我还在附录中简要介绍了科研论文中的Agent技术进展,旨在为读者提供当前Agent技术发展的全面视角并展现相关的探索。

我希望这本书能够在Agent的发展征途中激起小小的涟漪,启发更多对人工智能充满好奇和热情的读者,共同开启人工智能时代的无限可能。

在人类与人工智能紧密合作的黎明时分,这满天繁星中,Agent定是那颗最闪亮的星!

黄佳

2024年初春