
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 會按照其工作流程進行代理的創建和優化,用戶可在過程中給予反饋或要求自主優化,最終獲得完整代碼和運行說明。