202501 论文研读-DeCoAgent: Large Language Model Empowered Decentralized Autonomous Collaboration Agents Based on Smart Contracts

作者:Anan Jin; Yuhang Ye; Brian Lee; Yuansong Qiao
来源:IEEE Access
时间:2024年

背景

LLMs赋能的多智能体协作在各种任务处理中表现出出色的性能,但当前多个LLM代理协作的方法是静态固定的,即每个智能体都被分配了与其他代理的固定连接,优秀的性能依赖于假设:所有参与者处于本地封闭环境且诚实行事。暴露了缺乏动态调整能力和无法在不可信环境中协作的局限。

技术框架

针对于多智能体协作在缺乏动态调整、依赖可信环境协作的局限,作者通过结合大语言模型和智能合约,提出DeCoAgent框架。DeCoAgent 使用区块链提供一个开放、去中心化和去信任的环境,允许 AI 代理发现并相互协作,以促进去中心化的自主协作。它提供了一种协作机制来支持各种代理,从而实现灵活和动态的交互。

创新点:

  • 动态协作:突破传统静态多代理系统的局限。
  • 智能化支持:结合 LLM 理解复杂任务指令。
  • 可信平台:利用区块链保证数据透明和安全。
  • 开放性:支持不可信环境中的代理协作。

核心模块
系统通过核心模块的协同工作,调用智能合约完成不可信环境中的动态协作。框架为智能体之间的协作提供了一个协作平台,允许智能体通过API与区块链上其他智能体进行协作。

  • Planner模块:将用户自然语言转化为工作流,采用Few-shot Prompting生成高质量的工作流
  • Verificator模块:验证Planner模块生成工作流的正确性,避免幻觉,适用RAG技术来优化LLM输出
  • Communication模块:实现代理间的任务分配和匹配,定义task owner-driven函数和worker-driven函数来实现
  • Controller模块:将任务工作流映射为智能合约调用,完成具体的原子操作
  • Observation模块:实时监控区块链状态,提取任务和代理信息
  • Memory模块:存储代理信息和任务详细信息,优化检索查询效率

智能合约设计:
框架设计中采用了常用的合约设计,对于代理协作,主要涉及注册、任务发布、任务部署、任务请求、评级和查询功能。框架定义public函数用于功能实现,public view函数用于状态查询。

public函数:register()、postTask()、deployTask()、requestTask() 和 ratingWorker()分别对应注册、任务发布、任务部署、请求任务和任务评价功能。
public view函数:getUser()、getTask()、getUserByAddress()、getTaskWithID() 和 queryByCapability()分别对应代理信息、任务信息、通过地址查询代理、通过功能查询代理、通过任务ID查询任务信息。


系统序列图如图下所示。

框架实现和案例分析

技术栈:
区块链:Ganache(虚拟以太坊) Remix(智能合约开发) MetaMask(钱包)
LLM:OpenAI gpt-4 ChatCompletion API
Remix 平台连接到 MetaMask,MetaMask 连接到 Ganache,形成一个完整的区块链测试平台。导入了Python中的OpenAI API库,将大型语言模型(LLMs)整合到这个平台中。然后,使用Python连接到Ganache网络,将平台中的所有组件连接起来,从而构建一个去中心化的自主协作框架。

评估

文章在prompt部分采用的few-shot方法来设计提示,示例提示的数量会影响生成文本的质量,但同时更长的示例会增加计算成本,主要分为多次测试的响应准确性和“”“Pass@k”指标来找出最优示例提示数量。通过比对结果,最优示例提示数量为2.

案例实现:
对于功能的测试,实验定义了任务ID为6,要求是“我有一个要修复的Python错误”,用户输入“How would you deploy a task to other users in a smart contract by input ID is {6}?”,Planner模块生成工作流,Controller模块调用调用DepolyTaskFunction函数,智能合约自动调用owner_search_worker(task_id)匹配工作代理。匹配成功返回工作代理地址,区块链记录状态。
但案例在重复实验中,由于已注册的代理信息存在重复,系统框架最终返回的代理并不恒定。

总结和对齐思考

总结:
文章通过结合智能合约,提出了去中心化的自主协作框架,用于代理进行协作并实现灵活和动态的交互。
1.结合智能合约区块链技术,实现了在不可信环境中的协作需求,提供了透明、可信的数据记录。
2.结合 LLM 和区块链技术,实现自然语言与智能合约的无缝对接。

对齐思考:
文章的智能合约作为底层的协作方法,多智能代理通过区块链技术实现了动态可信协作。
在智能合约层面上,文中实现的智能合约函数是通过人为预先定义,只针对于多智能代理协作简单这一场景,更多复杂功能没有实现,框架不较能处理复杂需求场景,可以结合智能合约自动生成来完善整个框架。
在代理匹配层面,当平台中出现相近或者重叠代理服务,框架的输出结果不佳,可以优化匹配算法,提升代理选择的准确性。