嗨,让我猜猜看。你周围的世界正因智能体 AI 系统及其巨大的潜力而议论纷纷。于是,你决定着手构建一个智能体系统。你在寻找市面上最好的可用框架。突然之间,你打开了 17 个 GitHub 标签页,收藏了五个 Medium 博客文章,却依然对如何Proceed感到茫然。是的,我们都经历过这种时刻:LangChain、LangGraph、Crew AI、AutoGen、Semantic Kernel。市面上有这么多强大的框架,你会选择哪一个?为了回答这个问题,你首先需要了解你想要构建哪种类型的智能体 AI 系统。在本视频中,我们将涵盖五种最常见的 Agent AI 项目或系统类型。
我们将为每种类型讨论一个示例,并列出最适合这些类型的智能体 AI 系统和项目的框架。首先,让我们理清一些基本概念:究竟什么是智能体 AI 框架?智能体框架是构建智能体 AI 系统的工具包。让我们通过一个例子来理解这一点。假设你有一个用于分析销售数据的智能体。这个智能体会访问数据库并提取相关数据,然后进行分析,可能运行一些计算,接着生成报告并起草一条可以发送给相关人员的信息。
这里涉及很多工作,需要大量的协调。当你有多个智能体协同工作时情况会变得更加复杂。这正是你需要一个智能体 AI 框架的原因。这个框架就像是一个积木块。与只需提问并获得回答的聊天机器人应用不同,智能体系统实际上会进行大量的规划、行动和迭代。正是因为这种复杂性,我们需要一个智能体 AI 框架。这些框架就像积木块一样,帮助我们部署和管理智能体 AI 系统。
它们有一些预定义的功能,可以帮助我们更轻松、更敏捷地构建智能体 AI 系统。例如,我们有预定义的架构;我们可能有集成和监控工具;我们还可能具备任务管理能力以及通信协议。这些功能和功能特性共同赋予了智能体 AI 框架使我们能够轻松构建此类系统的能力。
正如我们之前讨论过的,市面上存在多种智能体框架,但它们并非都在竞争执行相同类型的任务。事实上,它们针对不同类型的智能体 AI 系统进行了优化。我们今天工作的绝大多数智能体 AI 系统和项目都属于以下五类之一:首先是线性工作流;其次是自主式 AI 智能体或自主式多智能体系统;第三是基于角色的 AI 系统;第四是生产编排系统;最后是快速原型设计。让我们深入探讨并更详细地了解每一种类型。
我们从最简单的一种开始,即线性工作流。这种类型的智能体 AI 系统是按步骤逐步推进的。接下来会发生什么通常是可预测的,并且这些步骤遵循特定的顺序。例如,考虑一个面向客户的应用程序,比如一个客服智能体。该智能体的角色是:当用户提出问题时,它会将问题提取出来并在知识库中搜索相关回复。
然后它会起草一条回复并发送回给用户,也许还会采取额外的行动,比如创建支持工单。如果你仔细观察,这些步骤是以某种方式、按特定顺序推进的。当您需要流程更加可靠时,这类系统非常有用。不需要多个智能体协作来实现这一目标,这让你对事情的进展拥有更多的控制权。
适合这种设置的优秀框架示例包括 LangChain 和 LlamaIndex。LangChain 更适合需要在特定顺序中发生多个步骤的设置。LlamaIndex 非常适合重度依赖数据检索和索引的重型应用。对于更复杂的设置,你也可以使用 LangChain 旗下的 LangGraph。
接下来是自主式智能体 AI 系统。在这些系统中,你通常给人工智能一个目标,并让它自行找出实现该目标的途径。因此,在这些系统中,看到多个智能体协同工作是非常常见的。这些智能体会相互沟通以完成共同的目标。一个很好的例子可以是 AI 编码助手。你可以有一个规划智能体,它为你制定解决方案;
一个代码编写智能体,它实际为你编写代码;以及一个审查智能体,负责检查代码、提供建议并协助调试。这些智能体会不断相互沟通,以便为你提供尽可能最好的代码。因此,在这种设置中,问题通常是开放式的,而这正是这种设置最有帮助的问题类型。
因此,最适合此类场景的框架包括 AutoGen。你也可以使用像 Baby AGI 这样的实验性设置。Crew AI 对于设计这类系统也很有帮助,特别是在问题具有开放性且多个智能体协作以实现共同目标的情况下。
接下来是基于角色的智能体 AI 系统。这类系统与自主式智能体系统类似,涉及多个智能体的协作,因此也是多智能体设置。但不同的是,该设置中的每个智能体都有明确的定义角色。它们仍然通过相互沟通来完成目标,但它们是在其角色描述所设定的限制或约束范围内运作的。它们协同工作,但有清晰的界限。
一个很好的例子可以是内容生成智能体。在这里,你可以有一个研究智能体,它在网络上获取撰写文章所需的所有材料;可以有一个写作智能体,它查看所有已抓取的内容并撰写一篇文章发布到社交媒体网站上;然后可以有一个编辑智能体,它查看写好的文章并进行一些修改。
现在,它们有非常明确定义的角色,在执行任务时不会介入其他智能体的角色领域。虽然他们会进行讨论,但严格限于分配给他们的特定角色的描述中。这里适用的一个优秀框架是 Crew AI。但你也可以将 AutoGen 与一些结构结合使用,适用于这类智能体 AI 系统。
还有一些针对非常特定任务的利基框架适用。例如,对于软件开发类任务,你有 ChatDev。
这些是你用于基于角色的智能体 AI 系统的框架类型。接下来是生产编排系统。顾名思义,这是指人工智能从实验阶段走出并进入现实或真实世界系统的场景。这类系统需要与 API、数据库和业务工作流进行深度集成。
以 AI 运维智能体为例,该智能体会检测警报、在文档中搜索相关警报信息,然后运行一些自动化脚本并在组织内的现实场景中发送摘要。适合此类 AI 系统的框架良好示例包括 Agent Framework,它本质上是 Semantic Kernel 和 AutoGen 的结合。另一个很好的例子是 LangGraph,它适用于结构良好、多层的应用程序。
LangChain 框架既适合编排也适合运行自主工作流。最后但同样重要的是,你还有快速原型设计环节。因此,你并不总是需要完美的架构,只需要验证你的想法是否可行即可。当你需要快速验证想法时,这类系统最为合适。它帮助你构建快速原型,以查看能否将你的想法变为现实。
这类系统通常拥有一个用户界面,你可以在其中拖拽组件并将其放置到画布上以构建快速工作流并测试想法。在此处有用的工具或框架示例包括 LangFlow 和 Flowise。这些工具提供了良好的图形用户界面,你可以在其中将组件放置到画布上并连接模型和工作流,从而快速测试你的想法,以便稍后将其投入生产。
这些工具对于快速原型设计非常迅速,因此得名“快速”。所以在选择框架时,不要问哪个框架是最好的。相反,你应该问自己:我正在尝试构建什么样的系统?如果是可预测的,请使用工作流方法;如果是探索性的,请自主智能体;如果需要团队协作,请使用基于角色的系统。
如果即将投入生产,请使用生产编排框架。如果你正在测试想法,请使用快速原型设计工具。因为正确的框架取决于你是在构建管道、智能体团队还是生产级 AI 系统。
你的典型首选 Agentic AI 框架是哪个?欢迎在下方评论,别忘了点赞和订阅。谢谢。