Agent Zero
扫码查看

一个与用户共同成长的个人AI智能体框架

Agent Zero

综合介绍

Agent-Zero 是一个开源的AI智能体框架,使用Python语言编写。它与其他预设好功能的智能体框架不同,其设计目标是成为一个能够与用户共同成长和学习的个人助理。这个框架是动态变化的,会根据你的使用习惯和任务需求,有机地进行自我调整和学习。Agent-Zero 的核心特点是它将用户的计算机本身作为一个工具来完成任务,它能够直接操作操作系统,执行代码和终端命令,创建和使用自定义工具。该框架具有高透明度和可定制性,用户可以查看和修改所有代码与提示。它还支持多智能体协作,能将一个复杂任务拆解给多个子智能体来协同完成。此外,Agent-Zero 拥有持久化记忆功能,能够记住之前的解决方案和操作,从而在未来更快、更可靠地处理相似任务。

功能列表

  • 通用个人助理:它并非为特定任务预设程序,而是作为一个通用的个人助理。用户可以分配任务,它会自主收集信息、执行代码、与其它智能体合作来完成目标。
  • 将计算机作为工具:Agent-Zero 将整个操作系统视为工具,能够自行编写代码并通过终端执行命令,按需创建工具,而不仅仅是依赖预设的几个功能。
  • 多智能体协作:当面对复杂任务时,Agent-Zero 能够创建子智能体来分解和处理不同部分,并通过信息传递和共享成果进行合作。
  • 持久化记忆:拥有记忆系统,能记住过往的成功解决方案、代码、事实和指令,从而提高未来处理任务的效率和可靠性。
  • 完全可定制和扩展:用户可以修改框架的任何部分,包括提示词、记忆系统和工具定义,也可以添加新的工具和脚本。
  • MCP服务器与客户端:最近更新增加了模型内容协议(MCP)服务器功能,允许 Agent-Zero 作为工具被其他LLM应用(如Cursor或Windsurf)调用,同时也能将外部MCP服务作为自己的工具使用。
  • 实时交互与干预:终端界面是实时数据流并且可交互的,用户可以在任何时间点暂停或介入,以纠正智能体的任务方向。
  • 透明的日志记录:所有在终端中显示的彩色输出,都会被自动保存为HTML文件,存放于logs/文件夹中,方便回顾和审查,没有任何隐藏操作。

使用帮助

Agent-Zero 提供了一个灵活且强大的方式来创建能解决实际问题的AI智能体。它的安装和使用流程相对直接,但需要用户具备一些基本的命令行和环境配置知识。由于它能直接操作电脑,官方强烈建议在隔离环境(如Docker)中运行以确保系统安全。

安装流程

Agent-Zero 的标准安装方式是通过克隆其GitHub仓库并安装相关依赖来完成。

  1. 克隆仓库:打开你的终端,使用git命令将项目文件下载到本地。
    git clone https://github.com/frdel/agent-zero.git
    
  2. 进入项目目录:使用cd命令进入刚刚克隆下来的文件夹。
    cd agent-zero
    
  3. 安装依赖:项目所需的Python库都记录在requirements.txt文件中,通过pip可以一键安装。
    pip install -r requirements.txt
    

    完成以上步骤后,Agent-Zero 的基本环境就绪了。

在Docker中运行

为了安全起见,官方推荐使用Docker来运行Agent-Zero。这样可以将智能体的操作环境与你的主操作系统完全隔离。

  1. 拉取Docker镜像:官方已经将运行环境打包成Docker镜像,可以直接从Docker Hub拉取。
    docker pull frdel/agent-zero-run
    
  2. 运行Docker容器:使用以下命令来启动一个包含Agent-Zero的交互式容器。你需要将本地的配置文件和日志文件夹挂载到容器内部,以便进行修改和查看记录。
    docker run -it --rm \
    -v ./settings.yaml:/app/settings.yaml \
    -v ./logs:/app/logs \
    frdel/agent-zero-run
    ```    这个命令会启动容器,并在退出时自动删除,保持环境整洁。
    

基本使用方法

安装完成后,你可以直接在命令行中与Agent-Zero进行交互。

  • 启动:如果你没有使用Docker,直接在项目目录下运行主程序。
    python main.py
    
  • 下达指令:启动后,程序会提示你输入指令。你可以像和人对话一样,用自然语言给它分配一个任务。例如,你可以让它帮你搜索信息:"查找一下关于‘强化学习’的最新研究进展"或者让它执行系统操作:"帮我列出当前文件夹下所有的.py文件"

核心功能操作

  • 任务分解与子智能体:当你给出一个复杂任务时,比如“创建一个网站”,Agent-Zero可以将其分解。 它可能会创建一个负责后端逻辑的子智能体,再创建一个负责前端页面的子智能体。这个过程是自动进行的,但你可以在系统提示词中进行引导和配置,定义智能体之间的协作和沟通方式。
  • 实时干预:在Agent-Zero执行任务的过程中,所有步骤都会实时显示在终端上。如果你发现它的执行路径不是你想要的,可以随时按下Ctrl+C来中断任务,然后给出修正后的指令。 这种交互性确保了最终结果符合你的预期。
  • 使用MCP工具:Agent-Zero现在支持MCP协议,这意味着你可以轻松地扩展它的工具库。
    1. 进入settings(设置),找到MCP标签页。
    2. 在“外部MCP服务器”部分,可以打开配置文件(一个JSON文件)。
    3. 将第三方MCP工具(例如,其他开发者创建的用于特定服务的工具)的配置信息粘贴到这个JSON文件中。这样,Agent-Zero就可以调用这些外部工具来完成更复杂的任务。
  • 将Agent-Zero作为MCP服务:反过来,你也可以将Agent-Zero本身暴露为一个MCP服务器,供其他AI应用调用。 在设置的MCP页面可以找到相应的配置信息,将其复制到另一个应用(如代码编辑器插件)中,就可以在那个应用里直接使用Agent-Zero的强大能力了。

应用场景

  1. 自动化开发任务对于程序员来说,可以指令Agent-Zero完成克隆代码仓库、根据文档安装依赖、编写或修改代码片段等一系列开发流程。例如,你可以让它“克隆指定的Git仓库,并根据README文件完成环境配置”。
  2. 信息搜集与整理当需要研究一个新领域时,可以指令Agent-Zero上网搜索、阅读资料、并整理成报告。由于它拥有记忆功能,可以持续学习某个主题,为你提供越来越精准的信息。
  3. 复杂的项目管理面对一个需要多方面协作才能完成的复杂项目(例如“策划一次线上活动”),可以利用其多智能体功能。让主智能体作为项目经理,创建负责内容撰写、宣传推广、技术支持等不同角色的子智能体,分头执行并汇报进度。
  4. 个人日常助理可以作为一个通用的个人助理,帮你管理文件、发送邮件、设置提醒等。因为它能直接操作电脑,所以能完成比普通聊天机器人更实际的任务。

QA

  1. Agent-Zero与其他AI智能体框架(如LangChain或AutoGPT)有何不同?Agent-Zero最大的不同在于它的设计哲学。它不是一个预设功能的框架,而是强调“有机成长”和“与用户共同学习”。 它将整个计算机操作系统作为其工具,而不是提供一组有限的预定义工具。这使得它在执行现实世界任务时更加灵活和强大。同时,它对用户完全透明,所有代码和提示都可以被修改。
  2. 使用Agent-Zero是否安全?由于Agent-Zero能够执行代码和系统命令,它具有潜在的风险,可能会对你的计算机数据或账户造成影响。因此,官方强烈建议始终在像Docker这样的隔离环境中运行它,以防止任何意外或有害的操作影响到主机系统。
  3. 我需要具备编程知识才能使用Agent-Zero吗?基本使用(如下达指令)不需要编程知识。但要发挥其全部潜力,例如自定义工具、修改核心提示词或扩展功能,具备Python编程和命令行操作知识会非常有帮助。特别是安装和配置过程,需要一些技术背景。
  4. Agent-Zero如何实现“记忆”功能?它拥有一个持久化记忆系统,可以将过往任务的解决方案、代码、关键信息等存储下来。 当遇到新任务时,它会首先查询记忆库,寻找相似的成功案例,从而借鉴过去的经验来更高效地解决当前问题。
微信微博Email复制链接