一个团队能够破解如何创建一个可持续的开源经济,同时保持其基本精神的代码,其影响将远远超出代理框架。
撰文:Shlok Khemani、Oliver Jaros
编译:善欧巴,金色财经
过去一年,Decentralised.co 深入研究了加密和人工智能的交叉领域。我们甚至构建了一个被超过 70,000 人使用的产品,用于跟踪人工智能代理和代理基础设施。尽管最近几周围绕该领域的狂热已经消退,但人工智能对技术和社会的影响是我们自互联网以来从未见过的。如果加密货币将成为未来的金融轨道,正如我们预测的那样,那么它与人工智能的交织将是一个反复出现的主题,而不是一次性的。
从这波浪潮中涌现出来的更有趣的项目类别之一是加密原生人工智能代理框架。它们是一个引人入胜的实验,将区块链的核心原则——无需许可的价值转移、透明度和一致的激励——带入人工智能开发。它们的开源性质为我们提供了一个难得的机会,可以窥探其内部运作,不仅分析它们的承诺,还分析它们的实际工作方式。
在这篇文章中,我们首先剖析代理框架的实际含义以及它们的重要性。然后,我们解决一个显而易见的问题:当像 LangChain 这样的成熟选项存在时,为什么我们需要加密原生框架?为此,我们分析了领先的加密原生框架及其在不同用例中的优势和局限性。最后,如果你正在构建一个人工智能代理,我们将帮助你决定哪个框架可能适合你的需求。或者,你是否应该使用框架进行构建。
让我们深入探讨。
抽象
「文明的进步在于扩展我们可以不假思索地执行的重要操作的数量。」 - 阿尔弗雷德·诺斯·怀特海
想想我们的祖先是如何生活的。每个家庭都必须自己种植食物,制作自己的衣服,建造自己的住所。他们花费无数时间在基本的生存任务上,几乎没有时间做其他事情。即使在两个世纪前,近 90% 的人都在农业领域工作。今天,我们从超市购买食物,住在专家建造的房屋中,穿着在遥远工厂生产的衣服。曾经消耗几代人努力的任务已经变成了简单的交易。如今,全球只有 27% 的人口从事农业(发达国家降至 5% 以下)。
当我们开始掌握一项新技术时,熟悉的模式就会出现。我们首先了解基本原理——什么有效,什么无效,以及哪些模式不断出现。一旦这些模式变得清晰,我们就将它们打包成更容易、更快、更可靠的抽象。这些抽象释放了时间和资源,以应对更多样化和有意义的挑战。构建软件也是如此。
以 Web 开发为例。在早期,开发者需要从头开始编写所有内容——处理 HTTP 请求、管理状态和创建 UI——这些任务既复杂又耗时。随后出现了像 React 这样的框架,通过提供有用的抽象,极大地简化了这些挑战。移动开发也遵循了类似的路径。最初,开发者需要深入的、特定于平台的知识,直到 React Native 和 Flutter 等工具的出现,让他们能够一次编写代码并部署到任何地方。
机器学习中也出现了类似的抽象化模式。在 2000 年代初期,研究人员发现了 GPU 在 ML 工作负载中的潜力。起初,开发者不得不与图形基元和像 OpenGL 的 GLSL 这样的语言搏斗——这些工具并非为通用计算而构建。2006 年,英伟达推出 CUDA,让 GPU 编程变得更容易上手,并将 ML 训练带给更广泛的开发者群体,一切都发生了改变。
随着 ML 开发势头增强,出现了专门的框架来抽象 GPU 编程的复杂性。TensorFlow 和 PyTorch 让开发者能够专注于模型架构,而不是陷入底层 GPU 代码或实现细节的泥潭。这加速了模型架构的迭代,以及我们在过去几年中看到的 AI/ML 的快速进步。
我们现在看到人工智能代理也出现了类似的演变——一个能够做出决策并采取行动以实现目标的软件程序,就像人类助手或员工一样。它使用大型语言模型作为其「大脑」,并可以利用不同的工具,如搜索网络、进行 API 调用或访问数据库来完成任务。
要从头开始构建一个代理,开发者必须编写复杂的代码来处理每个方面:代理如何思考问题,如何决定使用什么工具以及何时使用,如何与这些工具交互,如何记住早期交互的上下文,以及如何将大型任务分解为可管理的步骤。每个模式都必须单独解决,导致重复工作和结果不一致。
这就是人工智能代理框架的用武之地。正如 React 通过处理 UI 更新和状态管理的棘手部分简化了 Web 开发一样,这些框架解决了构建人工智能代理中的常见挑战。它们为我们发现的有效模式提供了现成的组件,例如如何构建代理的决策过程、集成不同的工具以及在多个交互中维护上下文。
使用框架,开发者可以专注于使其代理独一无二的方面——其特定功能和用例——而不是重新构建这些基本组件。他们可以在几天或几周内创建复杂的人工智能代理,而不是几个月,更轻松地尝试不同的方法,并借鉴其他开发者和社区发现的最佳实践。
为了更好地理解框架的重要性,考虑一个构建帮助医生审查医疗报告的代理的开发者。如果没有框架,他们需要从头开始编写所有代码:处理电子邮件附件、从 PDF 中提取文本、以正确的格式将文本输入 LLM、管理对话历史以跟踪已讨论的内容,并确保代理做出适当的响应。对于并非其特定用例独有的任务,这是大量复杂的代码。
使用代理框架,许多这些构建块都可以直接使用。该框架处理读取电子邮件和 PDF,提供构建医疗知识提示的模式,管理对话流程,甚至有助于跟踪多个交流中的重要细节。开发者可以专注于使其代理与众不同的方面,例如微调医疗分析提示或添加针对诊断的特定安全检查,而不是重新发明常见的模式。原本可能需要几个月才能从头构建的内容,现在可以在几天内完成原型设计。
LangChain 已成为人工智能开发的瑞士军刀,为构建基于 LLM 的应用程序提供了灵活的工具包。虽然严格来说不是代理框架,但它提供了构建大多数代理框架的基本构建块,从用于排序 LLM 调用的链到用于维护上下文的内存系统。其广泛的集成生态系统和丰富的文档使其成为希望构建实用人工智能应用程序的开发者的首选起点。
然后是像 CrewAI 和 AutoGen 这样的多智能体框架,它们使开发者能够构建多个 AI 智能体协同工作的系统,每个代理都有其独特的角色和能力。这些框架不是简单地按顺序执行任务,而是强调通过对话进行智能体协作,以共同解决问题。
例如,在分配一份研究报告时,一个代理可能会概述其结构,另一个代理可能会收集相关信息,第三个代理可能会对最终草稿进行评论和完善。这就像组建一个虚拟团队,人工智能代理可以在其中讨论、辩论并共同改进解决方案。以这种方式协同工作以实现高层次目标的多代理系统通常被称为人工智能代理「集群」。
AutoGPT 虽然不是一个传统的框架,但它开创了自主人工智能代理的概念。它展示了人工智能如何接受一个高层次的目标,将其分解为子任务,并在极少的人工输入下独立完成。尽管它存在局限性,但 AutoGPT 引发了自主代理的创新浪潮,并影响了后续更结构化框架的设计。
但为什么是加密?
所有这些背景最终将我们带到了加密原生人工智能代理框架的兴起。此时,你可能会想,当我们在 Web2 中拥有像 Langchain 和 CrewAI 这样相对成熟的框架时,Web3 为什么还需要自己的框架?当然,开发者可以使用这些现有的框架来构建他们想要的任何代理?鉴于该行业喜欢将 Web3 强加于任何和所有叙事,这种怀疑是合理的。
我们认为,Web3 特定代理框架的存在有三个充分的理由。
在链上运行的金融代理
我们认为,未来大部分金融交易都将在区块链轨道上进行。这加速了对一类人工智能代理的需求,这类代理可以解析链上数据、执行区块链交易以及跨多个协议和网络管理数字资产。从可以检测套利机会的自动化交易机器人,到执行收益策略的投资组合经理,这些代理都依赖于区块链功能在其核心工作流程中的深度集成。
传统的 Web2 框架不提供用于这些任务的原生组件。您必须拼凑第三方库来与智能合约交互、解析原始链上事件并处理私钥管理 - 从而引入了复杂性和潜在漏洞。相反,专用的 Web3 框架可以开箱即用地处理这些功能,使开发人员能够专注于其代理的逻辑和策略,而不是与低级区块链管道搏斗。
原生协调和激励
区块链不仅仅涉及数字货币。它们提供了一个全球性的、信任最小化的记录系统,内置的金融工具可以增强多代理协调。开发人员可以使用链上原语(如质押、托管和激励池)来协调多个 AI 代理的利益,而不是依赖链下声誉或孤立的数据库。
想象一下一群代理协作完成一项复杂任务(例如,为训练新模型而进行数据标记)。每个代理的表现都可以在链上跟踪,并根据贡献自动分配奖励。基于区块链的系统的透明度和不变性允许公平的报酬、更强大的声誉跟踪和实时发展的激励方案。
加密原生框架可以明确地嵌入这些功能,让开发人员使用智能合约设计激励结构,而无需在每次需要代理信任或支付给另一个代理时重新设计轮子。
早期市场的新机遇
虽然像 LangChain 这样的框架已经具有了思想共享和网络效应,但人工智能代理领域仍处于起步阶段。目前尚不清楚这些系统的最终状态会是什么样子,而且没有一种方法能够锁定市场。
加密经济学激励为框架的构建、管理和货币化方式开辟了新的可能性,这些可能性无法完全映射到传统的 SaaS 或 Web2 经济学上。在这个早期阶段的实验可以为框架本身解锁新的货币化策略,而不仅仅是构建在框架之上的代理。
竞争者
ElizaOS 与热门项目 AI16Z 相关联,是一个基于 Typescript 的框架,用于创建、部署和管理 AI 代理。它被设计为 Web3 友好的 AI 代理操作系统,允许开发人员构建具有独特个性的代理、用于区块链交互的灵活工具,并通过多代理系统轻松扩展。
Rig 是 Playgrounds Analytics Inc. 开发的开源 AI 代理框架,使用 Rust 编程语言构建,用于创建模块化、可扩展的 AI 代理。它与 AI Rig Complex (ARC) 项目相关联。
Daydreams 是一个生成代理框架,最初是为了创建链上游戏的自主代理而创建的,但后来扩展到执行链上任务。
Pippin 是 BabyAGI 的创始人 Yohei Nakajima 开发的 AI 代理框架,旨在帮助开发人员创建模块化和自主的数字助理。Yohei 首先构建了一个独立代理,然后将其扩展为通用框架。
ZerePy 是一个开源 Python 框架,旨在跨多个平台和区块链部署自主代理,重点关注创意 AI 和社交媒体集成。与 Pippin 一样,Zerepy 最初是独立代理 Zerebro,后来扩展为一个框架。
标准
为了评估每个框架的实力,我们站在想要构建 AI 代理的开发人员的角度。他们会关心什么?我们认为将评估分为三个主要类别很有用:核心、功能和开发人员体验。
您可以将框架的核心视为构建所有其他代理的基础。如果核心薄弱、缓慢或不不断发展,则使用该框架创建的代理将受到同样的限制。可以根据以下标准评估核心:
核心推理循环:任何代理框架的大脑;它如何解决问题。强大的框架支持从基本输入输出流到思想链等复杂模式的一切。如果没有强大的推理能力,代理就无法有效地分解复杂任务或评估多个选项,从而将它们简化为华丽的聊天机器人。
记忆机制:代理既需要短期记忆来进行持续对话,也需要长期存储来获取持久的知识。好的框架不只是记住——它们理解不同信息之间的关系,并能优先考虑哪些信息值得保留,哪些值得忘记。
嵌入和 RAG 支持:现代代理必须使用外部知识,如文档和市场数据。强大的框架可以轻松嵌入这些信息并通过 RAG 根据上下文检索这些信息,从而将响应建立在特定知识的基础上,而不是仅仅依赖于基础模型训练。
个性配置:塑造客服人员沟通方式(语气、礼节和性格)的能力对于用户参与度至关重要。良好的框架可以轻松配置这些特征,认识到客服人员的个性会显著影响用户信任。
多代理协调:强大的框架为代理协作提供了内置模式,无论是通过结构化对话、任务委派还是共享内存系统。这可以创建专业团队,每个代理都发挥独特的能力来共同解决问题。
除了核心功能之外,框架的实际效用在很大程度上取决于其功能和集成。工具极大地扩展了代理的实际功能。仅具有 LLM 访问权限的代理可以参与对话,但授予其访问 Web 浏览器的权限,它就可以检索实时信息。将其连接到您的日历 API,它就可以安排会议。每个新工具都会成倍地增加代理的功能。从开发人员的角度来看,工具数量越多,可选性和实验范围就越大。
我们从三个维度评估加密原生框架的功能:
AI 模型支持和功能:强大的框架提供与多种语言模型的原生集成 - 从 OpenAI 的 GPT 系列到 Llama 和 Mistral 等开源替代方案。但这不仅仅涉及 LLM。对文本转语音、浏览器使用、图像生成和本地模型推理等其他 AI 功能的支持可以极大地扩展代理的功能。强大的模型支持正在成为许多此类框架的必备条件。
Web3 基础设施支持:构建加密代理需要与区块链基础设施深度集成。这意味着支持必要的 Web3 组件,例如用于交易签名的钱包、用于链通信的 RPC 和用于数据访问的索引器。强大的框架应该与整个生态系统的基本工具和服务集成,从 NFT 市场和 DeFi 协议到身份解决方案和数据可用性层。
链覆盖:Web3 基础设施支持决定了代理可以做什么,而链覆盖则决定了它们可以在哪里做。加密生态系统正在发展成为一个分散的多链庞然大物,凸显了广泛的链覆盖的重要性。
最后,即使是最强大的框架也只能与开发人员的体验一样好。一个框架可以拥有一流的功能,但如果开发人员难以有效地使用它,它就永远不会被广泛采用。
框架所用的语言直接影响谁能用它构建。Python 在人工智能和数据科学领域都占据主导地位,因此自然而然地成为人工智能框架的选择。用小众语言编写的框架可能具有独特的优势,但可能会使自己与更广泛的开发者生态系统隔绝。
JavaScript 在 Web 开发中的普遍性使其成为另一个强有力的竞争者,尤其是对于针对 Web 集成的框架而言。
清晰、全面的文档是开发人员采用新框架的生命线。这不仅仅是 API 参考,尽管这些也至关重要。强大的文档包括解释核心原则的概念概述、分步教程、注释良好的示例代码、教育教程、故障排除指南和既定的设计模式。
结果
下表总结了每个框架在我们刚刚定义的参数中的表现(排名 1-5)。
虽然讨论每个数据点背后的原因超出了本文的范围,但以下是每个框架给我们留下的一些突出印象。
Eliza是迄今为止此列表中最成熟的框架。鉴于 Eliza 框架已成为加密生态系统在最近的代理浪潮中接触人工智能的谢林点,它突出的一个特点是其支持的特性和集成数量之多。
由于其产生的知名度,每个区块链和开发工具都争先恐后地将其自身集成到该框架中(目前它拥有近 100 个集成!)。同时,Eliza 也吸引了比大多数框架更多的开发者活动。Eliza 至少在短期内受益于一些非常清晰的网络效应。该框架采用 TypeScript 编写,这是一种成熟的语言,既被初学者又被经验丰富的开发者使用,这进一步推动了它的发展。
Eliza 还因其为开发者使用该框架而提供的丰富的教育内容和教程而脱颖而出。
我们已经看到了使用 Eliza 框架的一系列代理,包括 Spore、Eliza(代理)和 Pillzumi。Eliza 框架的新版本预计将在未来几周内发布。
Rig的方法与 Eliza 的方法根本不同。它以拥有强大、轻量级和高性能的核心而脱颖而出。它支持各种推理模式,包括提示链(顺序应用提示)、编排(协调多个代理)、条件逻辑和并行性(并发执行操作)。
然而,Rig 本身并没有那么丰富的集成。相反,它采用了一种不同的方法,团队称之为「Arc 握手」。在这里,Arc 团队与 Web2 和 Web3 中不同的高质量团队合作,以扩展 Rig 的功能。其中一些合作包括与 Soulgraph 合作开发代理个性,以及与 Listen 和 Solana Agent Kit 合作开发区块链功能。
尽管如此,Rig 有两个缺点。首先,它是用 Rust 编写的,虽然性能极佳,但相对较少的开发者熟悉它。其次,我们只在实际应用中看到了有限数量的 Rig 驱动的代理(AskJimmy 是一个例外),这使得评估真正的开发者采用情况变得困难。
在开始Daydreams之前,创始人 lordOfAFew 是 Eliza 框架的主要贡献者。这让他接触到了该框架的增长,更重要的是,接触到了一些缺点。Daydreams 与其他框架的不同之处在于,它专注于思维链推理,以帮助代理实现长期目标。
这意味着,当给定一个高层次和复杂的目标时,代理会进行多步骤推理,提出各种行动,根据它们是否有助于实现目标来接受或丢弃它们,并继续这个过程以取得进展。这使得使用 Daydreams 创建的代理真正具有自主性。
创始人在构建游戏项目方面的背景影响了这种方法。游戏,特别是链上游戏,是训练代理和测试其能力的理想温床。毫不奇怪,Daydreams 代理的一些早期用例是在像 Pistols、Istarai 和 PonziLand 这样的游戏中。
该框架还具有强大的多代理协作和编排工作流实现。
与 Daydreams 类似,Pippin也是框架游戏中的后来者。我们在这篇文章中详细介绍了它的发布。Yohei 的愿景的核心是让代理成为一个「数字存在」,通过访问正确的工具,可以智能和自主地运行。这个愿景体现在 Pippin 简单而优雅的核心中。只需几行代码,就可以创建一个复杂的代理,它可以自主运行,甚至可以为自己编写代码。
该框架的缺点是,它甚至缺乏像支持向量嵌入和 RAG 工作流这样的基本功能。它还鼓励开发者使用第三方库 Composio 进行大多数集成。与迄今为止讨论的其他框架相比,它根本不够成熟。
使用 Pippin 构建的一些代理包括 Ditto 和 Telemafia。
Zerepy具有相对简单的核心实现。它有效地从一组配置的任务中选择一个任务,并在需要时执行它。然而,它缺乏像目标驱动或思维链规划这样的复杂推理模式。
虽然它支持对多个 LLM 进行推理调用,但它缺乏任何嵌入或 RAG 实现。它也缺乏任何用于记忆或多代理协调的原语。
这种核心功能和集成的缺乏反映在 Zerepy 的采用情况上。我们还没有看到任何使用该框架的实际代理上线。
使用框架进行构建
如果所有这些听起来都很技术性和理论性,我们不会责怪你。一个更简单的问题是「我可以使用这些框架构建什么样的代理,而不必自己编写一堆代码?」。
为了在实践中评估这些框架,我们确定了开发人员经常想要构建的五种常见代理类型。它们代表了不同的复杂程度,并测试了每个框架功能的各个方面。
文档聊天代理:测试核心 RAG 功能,包括文档处理、上下文维护、引用准确性和内存管理。此测试揭示了框架在真正的文档理解和简单的模式匹配之间的导航能力。
聊天机器人:评估记忆系统和行为一致性。该框架必须保持一致的个性特征,记住会话中的关键信息,并允许个性配置,从本质上将无状态聊天机器人转变为持久的数字实体。
链上交易机器人:通过处理实时市场数据、执行跨链交易、分析社交情绪和实施交易策略对外部集成进行压力测试。这揭示了框架如何处理复杂的区块链基础设施和 API 连接。
游戏 NPC:尽管世界在过去一年才开始关注代理,但几十年来,代理作为游戏中的非玩家角色 (NPC) 一直扮演着至关重要的角色。游戏代理正在从基于规则的代理转变为由 LLM 驱动的智能代理,并且仍然是框架的主要用例。在这里,我们测试代理理解环境、自主推理场景以及实现长期目标的能力。
语音助手:通过语音处理、快速响应时间和消息传递平台集成来评估实时处理和用户体验。这测试了框架是否能够支持真正交互式的应用程序,而不仅仅是简单的请求 - 响应模式。
我们为每个框架针对每种代理类型给出了满分 5 分的评分。以下是它们的表现:
开源指标
在评估这些框架时,大多数分析都非常重视 GitHub 指标,如 stars 和 fork。在这里,我们将快速介绍这些指标是什么,以及它们在多大程度上表明框架的质量。
星标充当最明显的受欢迎程度信号。它们本质上是开发者给予他们认为有趣或想要跟踪的项目的书签。虽然高星标数表明了广泛的认知和兴趣,但它可能会产生误导。项目有时会通过营销而不是技术价值来积累星标。将星标视为社会证明,而不是质量衡量标准。
Fork 数告诉你多少开发者创建了自己的代码库副本以在其基础上构建。更多的 fork 通常表明开发者正在积极使用和扩展该项目。也就是说,许多 fork 最终被放弃,因此原始 fork 数需要上下文。
贡献者数量揭示了有多少不同的开发者实际向该项目提交了代码。这通常比星标或 fork 更有意义。健康的常规贡献者数量表明该项目有一个活跃的社区在维护和改进它。
我们更进一步,设计了自己的指标——贡献者分数。我们评估每个开发者的公开历史,包括他们过去对其他项目的贡献、活动频率和他们帐户的受欢迎程度,为每个贡献者分配一个分数。然后,我们对一个项目的所有贡献者进行平均,并根据他们做出的贡献数量进行加权。
这些数字对我们的框架意味着什么?
在大多数情况下,星标的数量可以忽略不计。它们不是采用情况的有意义指标。这里的例外是 Eliza,它一度成为 GitHub 上所有项目中排名第一的趋势存储库,这与其成为所有加密人工智能的谢林点相符。此外,像 0xCygaar 这样的知名开发者也为该项目做出了贡献。这也反映在贡献者的数量上——比其他项目多 10 倍——Eliza 吸引了贡献者。
除此之外,Daydreams 对我们来说很有趣,仅仅是因为它吸引了高质量的开发者。作为一个在炒作高峰后推出的后来者,它没有受益于 Eliza 的网络效应。
下一步是什么?
如果你是一名开发者,我们希望我们至少为你选择构建哪个框架(如果你需要的话)提供了一个起点。除此之外,你仍然必须努力测试每个框架的核心推理和集成是否适合你的用例。这是无法避免的。
从观察者的角度来看,重要的是要记住,所有这些人工智能代理框架都不到三个月大。(是的,感觉更长。)在此期间,它们从极度炒作变成了被称为「空中楼阁」。这就是技术的本质。尽管存在这种波动性,我们相信这个领域是加密领域一个有趣且持久的新实验。
接下来重要的是这些框架如何在技术和货币化方面成熟。
就技术而言,框架可以为自己创造的最大优势是使代理能够无缝地在链上交互。这是开发者选择加密原生框架而不是通用框架的首要原因。此外,代理和代理构建技术是全球的前沿技术问题,每天都有新的发展。框架还必须不断发展和适应这些进展。
框架如何实现货币化更有趣。在这些初期,创建一个受 Virtuals 启发的启动平台是项目的唾手可得的果实。但我们认为这里有很多实验空间。我们正走向一个拥有数百万个代理的未来,它们专门从事各种可以想象到的细分领域。帮助它们有效协调的工具可以从交易费用中捕获巨大的价值。作为构建者的门户,框架当然最适合捕获这些价值。
同时,框架的货币化也伪装成开源项目货币化和奖励贡献者的问题,这些贡献者历来从事免费、吃力不讨好的工作。如果一个团队能够破解如何创建一个可持续的开源经济,同时保持其基本精神的代码,其影响将远远超出代理框架。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。