
Archon
Archon简介
Archon 是一个能让 ai 自动生成和优化其他 AI代理的开源工具。作为首款 “Agenteer”,Archon 第六版支持多种工具库和 MCP 服务器集成,让生成的 AI 更高效可靠。用户只要描述需要的 AI 功能,Archon 就会通过一系列步骤,包括规划、编码和优化,来创建 AI。
核心功能:
整合文档资源(能抓取网站内容、上传 PDF/文档等)
智能搜索能力(基于高级 RAG 策略)
任务管理功能(与知识库集成)
支持实时更新(同步新内容和协作任务)
架构特点:
代理架构流程
用户描述要创建的 AI 代理,理由 LLM 确定高层次范围,主要编码代理根据范围和文档创建初始代理。之后用户可以反馈,也可以让 Archon 自主优化代理。
如果自主优化,专门的优化代理会改进提示、工具和代理配置。然后主要编码代理根据反馈再次创建代理,这个过程会一直重复,直到用户觉得代理完成,最后输出完整代码和运行说明。
文件架构
核心文件包括:streamlit_ui.py(管理 Archon 的 Web 界面)、graph_service.py(处理代理工作流的服务)、run_docker.py(构建和运行 Archon Docker 容器的脚本)、Dockerfile(定义主 Archon 应用程序的容器)、MCP 相关文件(实现 AI IDE 的 Model Context Protocol 服务器集成)。
Archon 包包括:archon/(核心代理和工作流实现)、archon_graph.py(定义 LangGraph 工作流和代理协调)、pydantic_ai_coder.py(主要编码代理)、refiner_agents/(专门的优化代理)。
实用程序包括:utils/(共享实用程序函数和数据库设置)、site_pages.sql(数据库设置命令)。
工作台:运行时创建,workbench/ 包含环境变量文件 env_vars.json、日志文件 logs.txt 和详细范围文档 scope.md。
Archon部署
Docker 容器:
主容器:运行 Streamlit UI(端口 8501)和图服务(端口 8100),处理所有代理功能和用户交互,由根 Dockerfile 构建。
MCP 容器:实现 AI IDE 的 Model Context Protocol,与主容器的图服务通信,为 Windsurf、Cursor 等 AI IDE 提供标准化接口,由 mcp/Dockerfile 构建。run_docker.py 脚本会自动构建和启动两个容器并进行配置。
本地 Python:通过 Python 虚拟环境直接在系统上运行。
Archon应用:
为开发者提供工具:帮助开发者创建和优化 AI 代理,减少开发工作量。通过预建工具库和 MCP 集成,开发者可以快速获取和使用各种工具,提高开发效率。
展示代理系统发展:作为一个教育框架,展示了从简单到复杂的代理系统演变过程,体现了规划、反馈循环和领域知识集成等方面的发展,为研究代理系统的人员提供参考。
Archon安装使用方法:
安装:
Docker(推荐):
克隆仓库:git clone https://github.com/coleam00/archon.git
进入项目目录:cd archon
运行设置脚本:python run_docker.py,该脚本会自动构建容器(包括 MCP 服务器容器和主 Archon 容器),启动 Archon 并进行端口映射,若存在 .env 文件则使用其中的环境变量。
本地 Python 安装:
克隆仓库:git clone https://github.com/coleam00/archon.git
进入项目目录:cd archon
创建并激活虚拟环境:python -m venv venv,激活命令在 Windows 上为 venv\Scripts\activate,在其他系统上为 source venv/bin/activate
安装依赖:pip install -r requirements.txt
启动 Streamlit UI:streamlit run streamlit_ui.py
使用:
设置过程:
环境配置:在 Streamlit UI 的 Intro 部分,配置 API 密钥和模型设置,这些信息存储在 workbench/env_vars.json 中。
数据库设置:设置 Supabase 向量数据库。
文档处理:引导爬取和索引 Pydantic AI 文档。
代理服务启动:启动用于生成代理的代理服务。
MCP 配置(可选):配置与 AI IDEs 的 MCP 集成。
操作流程:
按照 Streamlit UI 的引导完成设置后,描述想要创建的 AI 代理,Archon 会按照其工作流程进行代理的创建和优化,用户可在过程中给予反馈或要求自主优化,最终获得完整代码和运行说明。