Magentic-UI
扫码查看

通过聊天操作的网页智能体

Magentic-UI

综合介绍

Magentic-UI 是一个以人为中心的网页智能体研究原型,它允许用户通过聊天界面来完成网页浏览、执行代码、以及分析文件等多种复杂任务。该工具由一个多智能体系统驱动,旨在让用户在保持控制权的同时,自动化处理各种网络任务。Magentic-UI 特别适用于那些需要与网站进行深度交互的任务,例如填写表单、筛选航班信息,或是从网站提取数据并生成图表。它的核心特点是透明可控的交互界面,允许用户与智能体共同规划任务、在执行过程中进行干预和指导,并通过行动护栏(Action Guards)确保敏感操作的安全性。该系统基于微软的 AutoGen 框架构建,为研究人与智能体的高效协作提供了平台。

功能列表

  • 协同规划 (Co-Planning): 用户可以通过聊天和计划编辑器,与智能体一起创建、修改和批准任务的执行步骤。
  • 协同执行 (Co-Tasking): 在任务执行过程中,用户可以随时中断并直接通过浏览器或聊天窗口对智能体进行引导。智能体在遇到困难时也会主动请求帮助。
  • 行动护栏 (Action Guards): 对于点击按钮等敏感操作,系统会暂停并等待用户明确批准后才会执行,确保操作的安全性。
  • 计划学习与检索: 系统能从过往的任务中学习,并将成功的操作流程保存起来,在未来处理相似任务时可以自动或手动调用,以提高效率。
  • 并行任务执行: 支持同时运行多个不同的任务,并通过会话状态指示器(如“需要输入”、“任务完成”、“进行中”)来提醒用户关注需要介入或已完成的任务。
  • 多智能体协作: 系统由多个专门的智能体组成,包括负责统筹的“Orchestrator”、负责网页浏览的“WebSurfer”、负责代码编写与执行的“Coder”以及负责文件处理的“FileSurfer”。

使用帮助

Magentic-UI 的设计目标是让用户通过自然语言指令来驱动一个智能体团队,完成网页上的复杂任务。下面将详细介绍其安装和使用流程。

安装流程

在开始安装前,请确保满足以下先决条件:

  1. Python 环境: 需要 Python 3.10 或更高版本。
  2. Docker: Magentic-UI 依赖 Docker 来执行代码和浏览网页。请根据您的操作系统安装 Docker。
    • 在 Windows 上,强烈建议使用 WSL2 (Windows Subsystem for Linux) 以获得最佳的兼容性,并确保 Docker Desktop 已启用与 WSL2 的集成。
    • 在 macOS 上,请安装 Docker Desktop。
    • 在 Linux 上,请安装 Docker Engine。
  3. API 密钥: 您需要一个 OpenAI API 密钥。

安装步骤:

  1. 创建并激活虚拟环境: 为了避免与其他 Python 包产生冲突,建议在虚拟环境中安装 Magentic-UI。打开您的终端并执行以下命令:
    python3 -m venv .venv
    source .venv/bin/activate
    

    如果您使用 uv,可以使用以下命令:

    uv venv --python=3.12 .venv
    . .venv/bin/activate
    
  2. 通过 PyPI 安装: 在激活虚拟环境后,使用 pip 来安装 Magentic-UI:
    pip install magentic-ui --upgrade
    

    或者使用 uv

    uv pip install magentic-ui
    
  3. 设置 API 密钥: 您需要将您的 OpenAI API 密钥设置为环境变量。在终端中执行:
    export OPENAI_API_KEY="<YOUR_API_KEY>"
    

    请将 <YOUR_API_KEY> 替换为您自己的密钥。

  4. 运行 Magentic-UI: 确保 Docker 正在运行,然后启动 Magentic-UI 服务:
    magentic-ui --port 8081
    

    首次运行时,系统需要一些时间来构建 Docker 镜像。构建完成后,您可以通过浏览器访问 http://localhost:8081 来打开 Magentic-UI 的操作界面。

核心功能操作

Magentic-UI 的界面主要分为两个部分:左侧的会话导航面板和右侧的会话交互面板。

  1. 发起新任务:
    • 在左侧面板中,您可以创建新的会话来开始一个新任务。
    • 在右侧的交互面板中,您可以像聊天一样输入您的任务需求,例如“帮我查找从北京到上海明天最早的航班”,您甚至可以附加图片进行说明。
  2. 协同规划与审批:
    • 输入任务后,智能体“Orchestrator”会首先与您进行沟通,并将任务分解成一个详细的、分步骤的计划。
    • 这个计划会显示在界面上,您可以直接对其进行编辑,包括增加、删除或修改步骤,确保任务的执行路径符合您的预期。
    • 在执行计划的每一步之前,特别是涉及到点击、输入等敏感操作时,系统会暂停并等待您的批准。您会在界面上看到明确的提示,询问是否继续执行。
  3. 实时观察与干预:
    • 会话交互面板的右侧是一个实时的浏览器视图,您可以直观地看到“WebSurfer”智能体正在执行的每一步操作,例如打开网页、滚动页面、填写表单等。
    • 如果您发现智能体的操作有误,可以随时暂停任务,并通过聊天窗口给出新的指令,或者直接在浏览器视图中手动操作,智能体将会接管并继续完成后续任务。
  4. 使用不同模型 (Azure OpenAI / Ollama):
    • 如果您希望使用 Azure OpenAI 或本地运行的 Ollama 模型,可以在安装时加入可选依赖:
      # 针对 Azure
      pip install magentic-ui[azure]
      # 针对 Ollama
      pip install magentic-ui[ollama]
      
    • 安装后,您可以在界面的右上角设置中,修改模型配置,指向您的 Azure Endpoint 或本地 Ollama 服务。

应用场景

  1. 网络信息搜集与数据处理用户需要从多个网站上搜集关于特定主题的数据,并对这些数据进行整理和分析,最终生成一份可视化图表。用户可以指令 Magentic-UI 访问这些网站,提取相关信息,然后让 Coder 智能体使用 Python 对数据进行清洗和处理,并生成图表。
  2. 复杂的在线预订用户需要预订一个包含多个航段、对座位有特殊要求的国际航班,或者预订一个需要填写复杂偏好(如餐饮、活动安排)的度假套餐。用户可以通过自然语言向 Magentic-UI 描述所有需求,智能体将自动在相应的预订网站上填写表单、筛选选项并完成预订流程,期间需要用户批准的关键步骤会暂停等待确认。
  3. 软件开发辅助一位开发者正在调试一段代码,需要查找相关的 API 文档和社区论坛中的解决方案。开发者可以将问题和代码片段交给 Magentic-UI,让它自动在 Stack Overflow、GitHub Issues 以及官方文档中进行搜索,并将找到的相关信息和代码示例汇总起来。

QA

  1. Magentic-UI 是否免费使用?Magentic-UI 是一个开源的研究原型项目,您可以在其 GitHub 仓库中找到源代码并根据 MIT 许可证免费使用。但是,它依赖于大型语言模型(如 OpenAI 的 GPT-4o),因此您在使用过程中需要支付相应模型的 API 调用费用。
  2. 我是否需要编程知识才能使用 Magentic-UI?不需要。Magentic-UI 的主要交互方式是通过自然语言聊天,旨在让非技术用户也能通过简单的指令完成复杂的网络任务。它的“协同规划”功能会将您的指令分解为可理解的步骤,您只需要进行确认和监督即可。
  3. Magentic-UI 与其他浏览器自动化工具有何不同?Magentic-UI 的核心区别在于其“以人为中心”的设计理念。它不是一个完全自主运行的黑盒工具,而是强调用户与智能体之间的协作。通过协同规划、协同执行以及行动护栏等功能,用户始终对任务的执行过程拥有完全的可见性和控制权,既提高了任务成功率,也保证了操作的安全性。
微信微博Email复制链接