Autonomous Agent Framework:协作任务完成框架
Autonomous Agent Framework 是一个设计用于使自主代理能够协同工作完成各种任务的框架。该框架支持多个代理同时运行,并能通过控制台与代理进行交互。本文将介绍如何设置、配置和运行该框架,帮助你快速上手使用。
在开始之前,你需要确保你的系统至少安装了 Node 10。
功能特点
多代理协作
Autonomous Agent Framework 支持同时运行多个代理。你可以指定代理的数量,并通过控制台与所有代理进行交互,使其协同完成复杂任务。
高度可配置
该框架允许用户自定义各种参数和密钥,包括 OpenAI API Key 和 Google API Key 等,从而使代理能够执行多种操作,如网络搜索。
持久化状态
每个代理的状态都会存储在 .store
目录下,便于调试和状态管理。用户可以删除特定代理的状态文件或整个 .store
目录,以便在重新启动时实现状态重置。
使用方法
安装
首先,安装必要的依赖:
npm install
然后,将项目根目录下的 .env.template
文件重命名为 .env
,并添加你的密钥信息:
OPENAI_API_KEY=... # 从 https://platform.openai.com/account/api-keys 获取
GOOGLE_SEARCH_ENGINE_ID=... # 在 https://cse.google.com/cse/all 创建自定义搜索引擎
GOOGLE_API_KEY=... # 从 https://console.cloud.google.com/apis/credentials 获取
AGENT_DELAY=... # 可选,每个代理操作后的延迟时间(毫秒)
此外,还需要为你的 Google Cloud 账户启用 Google Custom Search API,例如:https://console.cloud.google.com/apis/library/customsearch.googleapis.com
运行
运行程序:
npm run start [代理数量] [gpt-3.5-turbo|gpt-4]
通过控制台与代理进行交互。你输入的任何内容都会作为消息发送给当前所有的代理。
常见错误及解决
在启动新的代理后,你可能会看到一些错误,这是代理在尝试操作时发生的。例如:
- 在请求
help
以了解参数之前尝试使用某个操作 - 尝试使用原始文本响应,而不是正确格式化的操作
- 尝试使用多行参数值而未用多行分隔符包裹
这些错误是代理在自我操作过程中常见的调整期现象。通常情况下,代理会从这些错误中学习并恢复,尽管 gpt-3.5-turbo
代理有时会陷入无限错误循环。建议不要让代理无人看管,因为这种无限循环可能会快速消耗大量的代币(尤其是在高代币计数操作如 writeFile
中)。
代理状态管理
每个代理的状态存储在 .store
目录下。例如,代理 1 的状态文件包括:
.store/1/memory
.store/1/goals
.store/1/notes
你可以删除这些文件或整个代理文件夹(或整个 .store
),以选择性地清除所需的状态。在重新启动时,代理将从上次停止的地方继续。
这种状态管理的好处在于,当你需要调试某个代理的问题时,可以删除其记忆中问题发生后的事件,进行代码修改,然后重新启动代理,以便有效地重放那个时刻,直到问题解决。你还可以要求代理实现一个功能,并在实现后重新启动,告知代理已加载该功能,并让其进行尝试。
优势分析
高效协作
该框架允许多个自主代理同时运行,并通过控制台进行交互,这使得处理复杂任务变得更加高效。代理能够协同工作,分担任务,减少人工干预,提高工作效率。
灵活定制
通过配置文件和环境变量,用户可以根据具体需求对代理进行灵活定制。这包括设置 API 密钥、调整操作延迟等,从而使代理能够更好地适应不同的任务需求。
易于调试
框架提供了详细的状态存储和管理功能,便于用户进行调试和问题排查。用户可以通过删除特定状态文件来重新运行代理,测试和优化代码,从而提高代理的稳定性和可靠性。
应用场景
数据收集与分析
多个自主代理可以同时运行,进行大规模的数据收集与分析。例如,可以配置代理从多个网站收集数据,并对数据进行整理和分析,生成报告。
自动化任务执行
该框架适用于需要执行重复性任务的场景。代理可以根据预设的指令自动执行任务,如网络搜索、数据抓取、文件处理等,大大减少了人力投入。
智能问答系统
通过集成 OpenAI 的 GPT-3.5 或 GPT-4,代理可以充当智能问答系统,回答用户的各种问题。用户可以通过控制台与代理互动,获取及时准确的答案。
Autonomous Agent Framework 是一个强大的工具,旨在帮助用户创建和管理自主代理,以高效完成各种任务。通过灵活的配置和强大的功能,该框架能够满足不同场景下的需求,显著提高工作效率。如果你需要一个能够协作完成复杂任务的自主代理系统,Autonomous Agent Framework 无疑是一个值得考虑的选择。