
Magentic-UI 是由微软开发的一款以人为中心的网络智能代理工具,能够帮助用户自动化执行各种复杂的网络任务,同时让用户保持对任务执行过程的控制。
一、主要功能
-
协作规划(Co-Planning):用户可以通过聊天和计划编辑器与 Magentic-UI 协作创建和批准逐步计划。用户可以添加、删除、编辑计划步骤,甚至重新生成步骤,以确保计划符合自己的需求。
-
协作任务执行(Co-Tasking):用户可以直接通过网络浏览器或聊天中断并指导任务执行。Magentic-UI 也可以在需要时向用户请求澄清和帮助,确保任务顺利进行。
-
动作防护(Action Guards):敏感动作只有在获得用户明确批准后才会执行,确保用户对关键操作的控制权。
-
计划学习与检索(Plan Learning and Retrieval):Magentic-UI 会从之前的运行中学习,以改进未来的任务自动化,并将计划保存在计划库中。用户可以自动或手动检索以前保存的计划,以便在未来的任务中使用。
-
并行任务执行(Parallel Task Execution):用户可以同时运行多个任务,并通过会话状态指示器了解 Magentic-UI 是否需要用户输入或任务是否已完成。
二、技术原理
Magentic-UI 基于微软的 AutoGen 技术构建,其底层系统由多个专业智能体组成,这些智能体协同工作,形成一个模块化系统:
-
协调者(Orchestrator):作为主导智能体,由大型语言模型(LLM)驱动,负责与用户进行协作规划,决定何时向用户请求反馈,并将子任务分配给其他智能体完成。
-
网络冲浪者(WebSurfer):这是一个配备网络浏览器的 LLM 智能体,能够控制浏览器,执行点击、输入、滚动等操作,完成协调者分配的任务。它比 AutoGen 的
MultimodalWebSurfer智能体在功能上有了显著提升,支持标签管理、选项选择、文件上传和多模态查询等功能。 -
代码生成器(Coder):配备 Docker 代码执行容器的 LLM 智能体,能够编写和执行 Python 和 Shell 命令,并将结果反馈给协调者。
-
文件冲浪者(FileSurfer):配备 Docker 代码执行容器和 MarkItDown 包中的文件转换工具的 LLM 智能体,可以定位 Magentic-UI 控制的目录中的文件,将文件转换为 Markdown 格式,并回答有关文件的问题。
-
用户代理(UserProxy):代表与 Magentic-UI 交互的用户,协调者可以将任务分配给用户,而不是其他智能体。
用户可以通过输入文本消息和附加图像与 Magentic-UI 交互。Magentic-UI 会创建一个自然语言的逐步计划,用户可以通过计划编辑界面与之交互。协调者根据计划逐步执行任务,将任务分配给相应的智能体或用户,并根据智能体或用户的反馈决定每一步是否完成。如果在执行过程中发现计划存在问题,协调者可以重新规划并获得用户许可后执行新计划。所有中间进度步骤都会清晰地显示给用户,用户还可以暂停计划的执行,发送额外的请求或反馈,并通过界面配置是否需要对智能体的动作(例如点击按钮)进行审批。
三、应用场景
-
需要网络操作的任务:例如填写在线表单、定制食品订单等,Magentic-UI 可以自动完成这些操作,节省用户的时间和精力。
-
深度网站导航:对于未被搜索引擎索引的网站,如过滤航班信息、从个人网站中查找链接等,Magentic-UI 能够深入导航并找到所需信息。
-
需要网络导航和代码执行的任务:比如从在线数据生成图表,Magentic-UI 可以同时处理网络访问和代码执行,完成复杂的任务。
四、使用方法
(一)安装前准备
-
确保安装了 Docker,Windows 用户需要安装 WSL2,并配置 Docker Desktop 使用 WSL2。
-
提供 OpenAI API 密钥,通过设置环境变量
OPENAI_API_KEY或在 Magentic-UI 的设置中配置。 -
安装 Python 3.10 或更高版本。
(二)安装步骤
-
通过 PyPI 安装:推荐使用虚拟环境以避免与其他包冲突。使用以下命令创建虚拟环境并安装 Magentic-UI:
python3 -m venv .venv source .venv/bin/activate pip install magentic-ui如果使用uv进行依赖管理,可以使用以下命令:uv venv --python=3.12 .venv . .venv/bin/activate uv pip install magentic-ui -
运行 Magentic-UI:确保 Docker 正在运行,然后运行以下命令:
magentic ui --port 8081首次运行时,构建 Docker 镜像可能需要一些时间。之后再次运行时会更快。运行后,可以通过浏览器访问http://localhost:8081使用 Magentic-UI。 -
自定义客户端配置:如果需要使用不同的 OpenAI 密钥,或者配置使用 Azure OpenAI 或 Ollama,可以在 Magentic-UI 的设置中更改模型配置,或者创建一个
config.yaml文件并导入。例如,OpenAI 的配置文件如下:# config.yaml ###################################### # Default OpenAI model configuration # ###################################### model_config: &client provider: autogen_ext.models.openai.OpenAIChatCompletionClient config: model: gpt-4o api_key: <YOUR API KEY> max_retries: 10 ########################## # Clients for each agent # ########################## orchestrator_client: *client coder_client: *client web_surfer_client: *client file_surfer_client: *client action_guard_client: *client对于 Azure OpenAI 的配置文件如下:# config.yaml ###################################### # Azure model configuration # ###################################### model_config: &client provider: AzureOpenAIChatCompletionClient config: model: gpt-4o azure_endpoint: "<YOUR ENDPOINT>" azure_deployment: "<YOUR DEPLOYMENT>" api_version: "2024-10-21" azure_ad_token_provider: provider: autogen_ext.auth.azure.AzureTokenProvider config: provider_kind: DefaultAzureCredential scopes: - https://cognitiveservices.azure.com/.default max_retries: 10 ########################## # Clients for each agent # ########################## orchestrator_client: *client coder_client: *client web_surfer_client: *client file_surfer_client: *client action_guard_client: *client -
从源代码构建:如果需要从源代码构建 Magentic-UI,可以按照以下步骤操作:
-
克隆仓库到本地:
git clone https://github.com/microsoft/magentic-ui.git cd magentic-ui -
使用
uv安装依赖:uv venv --python=3.12 .venv uv sync --all-extras source .venv/bin/activate -
构建前端:
cd frontend npm install -g gatsby-cli npm install --global yarn yarn install yarn build -
按照正常步骤运行 Magentic-UI。
-
五、适用人群
-
需要自动化处理复杂网络任务的用户:例如需要频繁填写在线表单、进行深度网站导航或处理需要网络访问和代码执行的复杂任务的用户。
-
对人工智能和智能代理技术感兴趣的开发者和研究人员:Magentic-UI 提供了一个研究人类与智能代理交互的平台,适合进行相关实验和研究。
-
希望提高工作效率的普通用户:通过使用 Magentic-UI,用户可以节省时间,提高处理网络任务的效率,同时保持对任务执行过程的控制。
六、优缺点介绍
(一)优点
-
高度透明和可控的界面:用户可以清晰地看到任务执行的每一步,并在需要时进行干预,确保任务按照自己的意愿进行。
-
强大的多智能体系统:能够处理多种复杂的任务,包括网络操作、代码执行和文件处理,功能强大且灵活。
-
协作规划和任务执行:用户可以与智能体协作制定计划,并在任务执行过程中进行指导,提高任务的成功率和效率。
GenFlow 2.0 是百度文库联合百度网盘发布的全球首个全端通用智能体,支持超 100 个专家智能体同时工作,3 分钟并行完成超 5 项复杂任务,生成速度超主流同类型产品 10 倍。