Agent Zero (A0)
开源 AI 代理框架
由 Jan Tomášek 于 2024 年发起 | GitHub Stars: 15.2k+
项目简介
Agent Zero 是一个极具创新性的开源 AI 代理框架,由 Jan Tomášek 于 2024 年发起。它并非传统意义上的”工具”或”助手”,而是一个能自我学习、自我进化、完全透明且高度可定制的 AI 系统,运行在 Docker 容器中,具备访问 Linux 系统的完整能力。A0 采用模块化设计,支持多种大语言模型后端,提供完整的 API 接口,可无缝集成到现有工作流中。
Docker
Python
LLM
多模态
开源
自我进化
核心特性
特性 | 描述 |
---|---|
动态成长 | 不预设功能,而是根据用户行为持续学习与适应,通过强化学习不断优化决策过程 |
完全开源透明 | 所有行为、提示词、工具逻辑都可查看与修改,提供完整的代码审计和可解释性 |
持久记忆系统 | 采用向量数据库和分层记忆架构,保存历史任务、偏好、上下文,提升重复任务效率 |
多模态支持 | 支持文本、图像、代码等多模态输入与交互,可处理复杂的多源信息融合任务 |
自我工具生成 | 能动态编写代码、调用系统命令、浏览网页、安装软件,实现工具的自动创建与优化 |
多智能体协作 | 支持多个 Agent 并行处理复杂任务,通过消息总线实现高效通信与任务分配 |
安全隔离运行 | 默认运行于 Docker 容器,采用沙箱机制和权限控制,避免对主系统造成影响 |
技术架构
核心引擎
基于事件驱动的异步处理架构,支持多线程并发执行
认知层
负责推理、规划和决策,支持多种大语言模型后端
记忆系统
短期工作记忆、长期情景记忆和语义记忆的分层架构
工具层
可扩展的工具生态系统,支持动态加载和自定义工具
安装方式
1
拉取并运行 Docker 镜像(推荐方式)
docker pull frdel/agent-zero-run
docker run -p 50001:80 frdel/agent-zero-run
docker run -p 50001:80 frdel/agent-zero-run
2
源码安装(开发者)
git clone https://github.com/agent0ai/agent-zero.git
cd agent-zero
pip install -e .
agent-zero start
cd agent-zero
pip install -e .
agent-zero start
3
浏览器访问
http://localhost:50001
API 与定制化
POST
/api/v1/agent/chat
与 Agent 进行对话交互
POST
/api/v1/agent/task
提交任务给 Agent 执行
GET
/api/v1/agent/memory
查询 Agent 的记忆内容
PUT
/api/v1/agent/config
更新 Agent 配置参数
Agent Zero 支持通过插件系统进行深度定制,开发者可以创建自定义工具、修改提示词模板、调整推理策略,甚至替换核心组件。详细的定制化文档请参考官方 GitHub 仓库。
多智能体协作
主控 Agent
负责任务分解、资源分配和结果整合
专业 Agent
专注于特定领域,如代码生成、数据分析等
安全 Agent
监控操作安全性,防止有害行为
应用场景
开发助手
数据分析
内容创作
系统运维
研究助理
实际案例
自动化软件开发
某科技公司使用 Agent Zero 构建了完整的自动化开发流水线,从需求分析到代码生成、测试和部署,实现了 80% 的开发任务自动化,将产品迭代周期缩短了 60%。
智能数据分析平台
一家金融机构部署了基于 Agent Zero 的数据分析平台,能够自动收集、清洗、分析市场数据,并生成投资建议,使分析师的工作效率提升了 3 倍。
开发路线图
增强多模态能力,支持音频和视频处理
实现分布式多智能体系统,支持跨设备协作
开发可视化编程界面,降低使用门槛
构建应用市场,促进工具和插件生态发展
社区与生态
GitHub 仓库
活跃开发中
Discord 社区
实时讨论
MIT 开源协议
自由使用
Agent Zero 不是一个”工具”,而是一个与你共同成长的数字同事——你可以看到它的每一步思考,修改它的每一项行为,甚至让它自己写出新的能力。
Agent Zero 安装与配置指南
轻松部署您的 AI 代理框架
系统要求
操作系统
Windows 10/11, macOS 10.14+, Linux (Ubuntu 18.04+)
内存
至少 8GB RAM,推荐 16GB+
存储空间
至少 10GB 可用空间
网络
稳定的互联网连接
Docker 安装指南
Windows
macOS
Linux
1
访问 Docker Desktop 官网 下载 Windows 版本
2
运行安装程序,使用默认设置完成安装
3
安装完成后启动 Docker Desktop
4
等待 Docker 启动完成(系统托盘显示 Docker 图标)
1
访问 Docker Desktop 官网 下载 macOS 版本
2
将 Docker.app 拖拽到 Applications 文件夹
3
启动 Docker Desktop,授权所需权限
4
在 Docker Desktop 偏好设置 → 设置 → 高级中,启用”允许使用默认 Docker 套接字”
1
选择安装 Docker Desktop 或 docker-ce
2
Docker Desktop: 访问 官方文档 按照您的 Linux 发行版说明安装
3
docker-ce: 访问 官方文档 按照说明安装
4
如果使用 docker-ce,将用户添加到 docker 组:
sudo usermod -aG docker $USER
# 注销并重新登录
docker login
# 注销并重新登录
docker login
注意: 确保您的系统满足 Docker 的要求,并在安装后验证 Docker 是否正常运行。
Agent Zero 安装步骤
1
拉取 Agent Zero Docker 镜像
docker pull agent0ai/agent-zero
2
创建数据目录(可选,用于持久化数据)
# Windows
mkdir C. \agent-zero-data✅
# macOS/Linux
mkdir ~/agent-zero-data
mkdir C. \agent-zero-data✅
# macOS/Linux
mkdir ~/agent-zero-data
警告: 推荐使用 Agent Zero 的备份和恢复功能来持久化数据,而不是映射整个 /a0 目录。映射整个目录可能会导致升级到新版本时出现问题。
3
运行容器
docker run -p 50001:80 -v /path/to/your/data:/a0 agent0ai/agent-zero
提示: 将 /path/to/your/data 替换为您创建的数据目录路径。50001 是您希望使用的端口号,可以更改为其他可用端口。
4
访问 Web UI
http://localhost:50001
提示: 您也可以在 Docker Desktop 中点击容器 ID 下方的端口直接访问 Web UI。
配置选项详解
Agent 配置
提示词子目录:选择 /prompts 中的子目录用于自定义 Agent 行为
记忆子目录:选择 Agent 记忆存储的子目录
知识子目录:指定自定义知识文件的位置
聊天模型设置
提供商:选择聊天模型提供商(如 Ollama、OpenAI 等)
模型名称:选择特定模型(如 llama3.2)
温度:调整响应随机性(0 为确定性,较高值更创意)
上下文长度:设置上下文窗口的最大令牌限制
上下文窗口空间:配置多少上下文窗口专用于聊天历史
实用模型配置
提供商和模型:选择用于内部任务(如记忆组织、摘要)的较小、更快的模型
温度:调整实用响应的确定性
嵌入模型设置
提供商:选择嵌入模型提供商(如 OpenAI)
模型名称:选择特定的嵌入模型(如 text-embedding-3-small)
语音转文本选项
模型大小:选择语音识别模型大小
语言代码:设置语音识别的主要语言
静音设置:配置语音输入的静音阈值、持续时间和超时参数
API 密钥
在 Web UI 中直接配置各种服务提供商的 API 密钥
点击”保存”确认您的设置
身份验证
UI 登录名:设置 Web 界面访问的用户名
UI 密码:配置 Web 界面安全的密码
Root 密码:管理 Docker 容器 root 密码以进行 SSH 访问
开发设置
RFC 参数(仅限本地实例):配置实例间远程函数调用的 URL 和端口
RFC 密码:配置远程函数调用的密码
LLM 选择指南
聊天模型 (chat_llm)
这是用于对话和生成响应的主要 LLM。选择具有良好对话能力和推理能力的模型。
推荐 GPT-4, Claude, Llama 3, Mistral
实用模型 (utility_llm)
此 LLM 处理内部任务,如消息摘要、记忆管理和内部提示处理。使用较小、成本较低的模型可以提高效率。
推荐 GPT-3.5, Llama 3 8B, Phi-3 Mini
嵌入模型 (embedding_llm)
此 LLM 负责生成用于记忆检索和知识库查找的嵌入。更改 embedding_llm 将重新索引 A0 的所有记忆。
推荐 text-embedding-3-small, text-embedding-ada-002
提示: 尝试不同的模型组合,找到最适合您需求的性能和成本平衡。例如,更快、延迟更低的 LLM 会有所帮助,您也可以使用 faiss_gpu 而不是 faiss_cpu 来处理记忆。
Ollama 本地模型安装
Windows
macOS
Linux
1
从 官方网站 下载 Ollama Setup
2
运行安装程序,按照提示完成安装
1
运行安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
2
拉取模型
ollama pull llama3.2
3
在 Agent Zero 中配置 Ollama
1. 在设置页面的聊天模型、实用模型或嵌入模型部分,选择 Ollama 作为提供商
2. 输入您的模型代码,如 llama3.2 或 qwen2.5:7b
3. 提供您的 API 基础 URL 到您的 ollama API 端点,通常是 http://host.docker.internal:11434
4. 点击”保存”确认您的设置
2. 输入您的模型代码,如 llama3.2 或 qwen2.5:7b
3. 提供您的 API 基础 URL 到您的 ollama API 端点,通常是 http://host.docker.internal:11434
4. 点击”保存”确认您的设置
移动设备访问
本地网络访问
Docker 容器自动在所有网络接口上暴露 Web UI
使用 http://<YOUR_COMPUTER_IP>:<PORT> 访问
外部网络访问
在设置的外部服务选项卡中,启用 Cloudflare Tunnel
这将您的 Agent Zero 实例暴露到互联网
安全注意事项
在互联网上暴露实例时,请务必在设置的身份验证选项卡中设置用户名和密码
定期更新您的密码以确保安全
提示: 您的计算机 IP 地址通常是 192.168.x.x 或 10.0.x.x 格式。您可以通过运行 ipconfig(Windows)或 ifconfig(Linux/Mac)找到您的 IP 地址。
更新和维护
1
从旧版本迁移
自 v0.9 起,Agent Zero 具有备份和恢复功能,无需手动备份文件
在设置的备份和恢复选项卡中,按照向导完成备份和恢复过程
2
Docker 容器更新步骤
在 Docker Desktop 中,从”容器”选项卡停止容器
右键单击并选择”删除”以删除容器
转到”映像”选项卡并删除 agent0ai/agent-zero 映像
搜索并拉取新映像
使用与旧容器相同的卷设置运行新容器
# 停止当前容器
docker stop agent-zero
# 删除容器(数据在文件夹中是安全的)
docker rm agent-zero
# 删除旧映像
docker rmi agent0ai/agent-zero
# 拉取最新映像
docker pull agent0ai/agent-zero
# 使用相同的卷挂载运行新容器
docker run -p $PORT:80 -v /path/to/your/data:/a0 agent0ai/agent-zero
docker stop agent-zero
# 删除容器(数据在文件夹中是安全的)
docker rm agent-zero
# 删除旧映像
docker rmi agent0ai/agent-zero
# 拉取最新映像
docker pull agent0ai/agent-zero
# 使用相同的卷挂载运行新容器
docker run -p $PORT:80 -v /path/to/your/data:/a0 agent0ai/agent-zero
重要: 确保在运行新容器时使用相同的卷挂载路径以保留您的数据。确切的路径取决于您存储 Agent Zero 数据目录的位置(您计算机上选择的目录)。