文章目录
- 一、关于 Agent Zero
- 现在有了UI:
- 关键概念
- 1、General-purpose 助理
- 2、计算机作为工具
- 3、多智能体合作
- 4、完全可定制和可扩展
- 5、沟通是关键
- 不错的功能
- 记住
- 已知问题
- 理想的环境
- 二、Setup - 如何在Windows和MacOS上安装Agent Zero
- 提醒:
- 1、安装Conda(minicon da)
- 2、安装Docker(Docker桌面应用程序)
- 3、下载Agent Zero
- 4、设置Conda环境
- 5、配置Agent Zero
- 6、运行Agent Zero
一、关于 Agent Zero
- github : https://github.com/frdel/agent-zero
- 联系:discord | YouTube | twitter
Agent Zero 🤖 first demonstration
个人和有机AI框架
- Agent Zero 不是一个预定义的代理框架。它被设计为动态的、有机增长的和在使用时学习的。
- Agent Zero 完全透明、可读、可理解、可定制和交互式。
- Agent Zero 使用计算机作为工具来完成其(您的)任务。
现在有了UI:
关键概念
1、General-purpose 助理
- Agent Zero 不是为特定任务预先编程的(但可以),它的意思是一个通用的个人助理,给它一个任务,它会收集信息,执行命令和代码,与其他代理实例协作,并尽最大努力完成它。
- 它具有持久记忆,允许它记住以前的解决方案、代码、事实、指令等,以便在未来更快、更可靠地解决任务。
2、计算机作为工具
- Agent Zero 使用操作系统作为工具来完成其任务。它没有预先编程的单一用途工具。相反,它可以编写自己的代码,并根据需要使用终端创建和使用自己的工具。
- 它的武器库中唯一的默认工具是在线搜索、内存功能、通信(与用户和其他代理)和代码/终端执行。其他一切都由代理自己创建,或者可以由用户扩展。
- 工具使用功能是从头开始开发的,即使是非常小的型号,也是最兼容和最可靠的。
3、多智能体合作
- 每个代理都有一个上级代理给它任务和指示。然后每个代理向上级报告。
- 在链中第一个代理(代理0)的情况下,上级是人类用户;代理看不出区别。
- 每个代理都可以创建其从属代理来帮助分解和解决子任务。这有助于所有代理保持上下文干净和集中。
4、完全可定制和可扩展
- 这个框架中几乎没有任何东西是硬编码的。没有什么是隐藏的。一切都可以由用户扩展或更改。
- 整个行为由提示/默认/agent.system.md文件中的系统提示定义。更改此提示并显着更改框架。
- 该框架不以任何方式指导或限制代理。没有代理必须遵循的硬编码轨道。
- 每个提示,每个在其通信循环中发送到代理的小消息模板,都可以在提示/文件夹中找到并进行更改。
- 每个默认工具都可以在python/tools/文件夹中找到,并更改或复制以创建新的预定义工具。
- 当然,它是开源的(除了Perplexity等一些工具,但将来也会被开源替代方案所取代)。
5、沟通是关键
- 给你的代理一个适当的系统提示和说明,它可以创造奇迹。
- 代理可以与上级和下级沟通,提出问题,给出指示,并提供指导。在系统提示中指导您的代理如何有效沟通。
- 终端界面是实时流式和交互式的。您可以在任何时候停下来进行干预。如果您看到您的代理朝错误的方向前进,只需停下来并立即告诉它。
- 这个框架有很大的自由度。你可以指示你的代理定期向上级报告,请求允许继续。你可以指示他们在决定何时委派子任务时使用积分系统。上级可以双重检查下属的结果和争议。可能性是无穷无尽的。
不错的功能
- 输出非常干净、丰富多彩、可读性和交互性;没有任何隐藏。
- 您在终端中看到的相同彩色输出会自动保存到每个会话的日志/文件夹中的 HTML 文件中。
- 代理输出是实时流式传输的,允许用户随时阅读和干预。
- 不需要编码,只需要提示和沟通技巧。
- 凭借可靠的系统提示,即使是小型模型,该框架也是可靠的,包括精确的工具使用。
记住
1、Agent Zero 可能很危险!通过正确的指导,Agent Zero 可以做很多事情,甚至对您的计算机、数据或帐户有潜在的危险。始终在隔离的环境中运行Agent Zero (如内置的docker容器),并小心您的愿望。
2、Agent Zero 不是预编程的;它是基于提示的。整个框架只包含极少量的代码,不以任何方式指导代理。一切都在于提示/文件夹中的系统提示。在这里,您可以根据需要重写整个框架行为。如果您的代理未能正确沟通,使用工具,推理,使用内存,寻找答案-只是更好地指导它。
3、如果你不能提供理想的环境,让你的代理知道。Agent Zero 是为了在一个隔离的虚拟环境中使用(为了安全起见),预先安装和配置了一些工具。如果你不能提供所有必要的条件或API密钥,只需更改系统提示,告诉你的代理它可以使用什么操作系统和工具。没有什么是硬编码的;如果你不告诉你的代理某个工具,它就不会知道它,也不会尝试使用它。
已知问题
1、系统提示糟透了。你可以做得更好。如果你这样做了,请帮帮我:)
2、docker容器中代理和终端之间通过SSH的通信有时会中断并停止产生输出。有时是因为代理运行类似“server.serve_forever()”的东西导致终端挂起,有时会发生随机错误。重新启动代理和/或docker容器会有所帮助。
3、代理可以破坏他的操作系统。有时代理可以停用虚拟环境、卸载包、更改配置等。同样,删除docker容器并清理work_dir/就足以解决这个问题。
理想的环境
- Docker容器:运行Agent Zero的完美环境是内置的docker容器。代理可以自行下载映像frdel/agent-zere-exe并启动容器,您只需要运行docker(如Docker Desktop应用程序)。
- Python:必须在系统上安装Python才能运行框架。
- 互联网访问:代理需要互联网访问才能使用其在线知识工具并执行需要连接的命令和脚本。如果您不需要代理在线,您可以更改提示/文件夹中的提示并使其完全本地。
二、Setup - 如何在Windows和MacOS上安装Agent Zero
可以在此处找到带有视频的详细设置指南:/docs/installation。向下滚动以查看自述文件。
⚠️ 自v0.6以来对启动文件的更改:
main.py文件已替换为run_ui.py(webui)和run_cli.py(终端)启动文件。 webui和终端启动文件的配置已移至initialize.py。
- Agent Zero不是一个应用程序。这是一个框架。它被定制、编辑、增强。因此,您需要安装必要的组件来运行它。
- 我将为本教程提供有关如何使Agent Zero在Windows和MacOS上工作的分步说明和视频。
Agent Zero 🤖 Installation guide
提醒:
- 您不需要安装Python,Conda会为您处理。
- 您不需要API密钥,Agent Zero可以使用本地模型运行,但对于本教程,我将把它留给默认的OpenAI API。本地模型将在另一个教程中介绍。
- 您不需要Visual Studio Code或任何其他代码编辑器,但如果有的话,导航和编辑文件会更容易。
- Docker不是强制性的,但在没有docker的情况下运行Agent Zero实际上更复杂并且可能非常危险,因此我将展示更简单和推荐的方法-使用Docker Desktop应用程序。
- Git/Github不是强制性的,你可以在浏览器中下载框架文件。我不会在本教程中展示如何使用Git。
1、安装Conda(minicon da)
Conda是一个python环境管理器,它将帮助您将项目和安装分开。Full Conda有更多功能,但您只需要“minicon da”。
1)转到此处的minicon da下载页面。如果链接不起作用,只需在网上搜索“minicon da下载”。
2)根据您的操作系统,下载正确的minicon da安装程序。对于MacOS,选择末尾带有“pkg”的版本。
3)运行安装程序并完成安装过程,在这里您可以将所有内容保留为默认值,只需单击Next、Next…使用“pkg”图形安装程序的MacOS也是如此。
4)安装完成后,您应该在Windows机器上安装了“Anaconda Powershell Prompt”。在MacOS上,当您打开应用程序文件夹中的终端应用程序并键入“conda–version”时,您应该会看到安装的版本。
2、安装Docker(Docker桌面应用程序)
- 简而言之,Docker是一种在您的机器上运行虚拟计算机的方式。这些是轻量级的、一次性的并且与您的操作系统隔离,因此它是沙盒Agent Zero 的一种方式。
- Agent Zero仅在需要执行代码和命令时才连接到Docker容器。框架本身在您的机器上运行。
- 在没有docker的情况下运行Agent Zero是可能的,但更复杂和危险,我不会在本教程中介绍这一点。
- Docker有一个用于所有主要操作系统的带有GUI的桌面应用程序,所以我将使用它。
1)转到此处的Docker Desktop下载页面。如果链接不起作用,只需在网上搜索“docker桌面下载”。
2)下载您的操作系统版本。不要被看似缺失的windows intel/amd版本所欺骗,这是按钮本身,而不是在下拉框中。
3)运行安装程序并完成安装过程。它应该比Conda安装更短,您可以将所有内容保留为默认值。在MacOS上,安装程序是一个“dmg”映像,因此只需像往常一样将应用程序拖放到您的Applications文件夹中。
4)安装后,您应该会在Windows/Mac机器上看到Docker Desktop应用程序。
- 在应用程序中创建帐户。无需创建图像或容器,框架将为您执行此操作。但是,这需要您登录到Docker Hub,因此在Docker Desktop应用程序中创建一个免费帐户,应用程序首次运行时会提示您。
3、下载Agent Zero
如果您知道如何使用git,您可以从GitHub克隆Agent Zero存储库(https://github.com/frdel/agent-zero)。在本教程中,我将展示如何下载文件。
1)转到Agent Zero 发布在这里。
2)最新版本位于列表顶部,单击“资产”下的“源代码(zip)”按钮下载。
3)将下载的存档解压缩到您想要的位置。我会将它们解压缩到桌面上的“Agent Zero ”文件夹-Windows上的“C:\用户\frdel\桌面\Agent Zero ”和MacOS上的“/用户/frdel/桌面/Agent Zero ”。
4、设置Conda环境
现在我们有了项目文件和Conda,我们可以为这个项目创建虚拟Python环境,激活它并安装需求。
1)在Windows上打开您的“Anaconda Powershell Prompt”应用程序或在MacOS上打开“终端”应用程序。
2)在终端中,使用“cd”命令导航到Agent Zero文件夹。将路径替换为实际的Agent Zero文件夹路径。
cd C:\Users\frdel\Desktop\agent-zero
您应该会在下一个终端线上看到您的文件夹已更改。
3)使用命令“conda create”创建Conda环境。在“-n”是您的环境名称后,您可以选择自己的,我将使用“a0”-Agent Zero 的缩写。在“python”之后是Conda将为您安装到该环境中的Python版本,现在,3.12工作正常。-y跳过确认。
conda create -n a0 python=3.12 -y
4)完成后,通过另一个命令激活此终端窗口的新环境:
conda activate a0
你应该看到左边的(底座)已经变成了(a0)。这意味着这个终端现在使用新的a0虚拟环境,所有的包都将安装到这个环境中。
⚠️如果您打开一个新的终端窗口,您将需要为该窗口再次使用“conda激活a0”激活环境。
5)使用“pip”安装需求。Pip是一个Python包管理器。我们可以使用命令从必要性. txt文件安装所有必需的包:
pip install -r requirements.txt
这可能需要一些时间。如果您收到有关版本冲突和兼容性的任何错误,请仔细检查您的环境是否已激活,并且您使用正确的Python版本创建了该环境。
5、配置Agent Zero
现在我们可以配置Agent Zero -选择模型、设置、API密钥等。
我将使用OpenAI API保留默认配置,我将在. env文件中提供我的OpenAI API密钥。
1)在Agent Zero文件夹中找到“example. env”文件并编辑内容。我会将我的OpenAI API密钥放在“API_KEY_OPENAI=”之后。如果您有其他服务提供商的API密钥,请根据需要添加它们。
2)将“example. env”文件重命名为“.env”。这很重要,只有这个确切的“.env”文件名是有效的。
3)(可选)如果需要,更改模型或在“initialize.py”文件中设置。
6、运行Agent Zero
设置完成。是时候测试Agent Zero 了。让我们仔细检查一下:
1)确保当前终端窗口中的“a0”Conda环境仍然处于活动状态。您可以在每个终端行的左侧看到,例如(a0)或(base)。如果没有,请再次使用“conda激活a0”命令激活。
2)确保您的终端正在查看Agent Zero文件夹。如果没有,请使用您的路径再次使用“cd”命令导航到它。
3)运行您安装的Docker Desktop应用程序,让它在后台运行。无需创建映像或容器,框架将为您执行此操作。但是,这需要您登录到Docker Hub,因此如果您还没有登录Docker Desktop应用程序,请登录。
4)使用Web UI运行Agent Zero :
python run_ui.py
5)在Web浏览器中打开终端中显示的URL。您应该会看到Agent Zero 界面。第一次需要执行代码时,将下载和部署Docker映像,这可能需要一些时间。看到“初始化docker容器Agent Zero exe以安全执行代码…”时请耐心等待。
24-09-17