Agent Zero (A0) – 开源 AI 代理框架

Agent Zero (A0) – 开源 AI 代理框架

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
2
源码安装(开发者)
git clone https://github.com/agent0ai/agent-zero.git
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 倍。

开发路线图

1
增强多模态能力,支持音频和视频处理
2
实现分布式多智能体系统,支持跨设备协作
3
开发可视化编程界面,降低使用门槛
4
构建应用市场,促进工具和插件生态发展

社区与生态

GitHub 仓库 活跃开发中
Discord 社区 实时讨论
MIT 开源协议 自由使用
Agent Zero 不是一个”工具”,而是一个与你共同成长的数字同事——你可以看到它的每一步思考,修改它的每一项行为,甚至让它自己写出新的能力。

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 的要求,并在安装后验证 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
警告: 推荐使用 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
使用 Homebrew 安装:
brew install ollama
2
或从 官方网站 下载 macOS 安装程序
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. 点击”保存”确认您的设置
提示: 访问 Ollama 模型库 查看可用模型列表。使用命令 ollama list 查看已下载的模型,使用 ollama rm <model-name> 删除模型。

移动设备访问

本地网络访问
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
重要: 确保在运行新容器时使用相同的卷挂载路径以保留您的数据。确切的路径取决于您存储 Agent Zero 数据目录的位置(您计算机上选择的目录)。

发表评论

Only people in my network can comment.
人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网 🐾 DeepracticeX 社区 🐾 老薛主机 🐾 智柴论坛 🐾