🚀 微软重磅开源Magentic-UI!彻底改写AI智能体交互方式,开创人类与AI Agents协作的新时代,让AI成为你的超级助手,而不是替代者!超越Manus! 支持浏览器调用+文件操作+代码生成!从部署到测评 保姆级教程 小白也能3分钟拥有自己的智能体!
AI助手的新时代已经到来!想象一下,你只需要说一句话,AI就能帮你在淘宝上货比三家、在携程上预订机票、在招聘网站上投递简历,甚至完成复杂的数据分析和报告生成。但与其他”黑盒”AI不同的是,这个AI会把每一步操作都透明地展示给你,重要决策前还会征求你的意见。
这不是科幻电影的情节,而是微软刚刚开源的Magentic-UI正在实现的现实。
🚀本篇笔记所对应的视频:
- 👉👉👉 通过哔哩哔哩观看
- 👉👉👉 通过YouTube观看
- 👉👉👉 Magentic-One视频
- 👉👉👉 我的开源项目
- 👉👉👉 请我喝咖啡
- 👉👉👉 我的微信:stoeng
- 👉👉👉 承接大模型微调、RAG、AI智能体、AI相关应用开发等项目。
🔥AI智能体相关视频
💡 什么是Magentic-UI?不只是又一个AI工具
革命性的人机协同理念
在AI智能体满天飞的今天,大部分产品都在追求”完全自动化”——让AI独自完成所有工作。但微软Magentic-UI却反其道而行之,提出了一个更加人性化的理念:AI应该是人类的智能助手,而不是替代者。
Magentic-UI是一个开源的人机协同Web智能体系统,它可以:
- 🌐 自动浏览和操作网页
- 💻 编写和执行代码
- 📁 处理和分析文件
- 🤝 与用户实时协作,保持透明和可控
核心特征:透明、可控、协作
1. 透明操作 每一步操作都会实时显示在界面上,你可以清楚地看到AI在做什么,避免了”黑盒操作”的不安感。
2. 人工确认机制 在执行敏感操作(如支付、提交表单)前,系统会主动请求用户确认,确保安全性。
3. 实时干预能力 用户可以随时暂停AI的操作,提供反馈或直接接管控制权。
🏗️ 技术架构深度解析
多智能体协同架构
Magentic-UI采用了基于微软AutoGen框架的多智能体架构,由5个专业智能体组成一个高效团队:
1. Orchestrator(指挥官)
- 角色定位:团队的大脑和指挥中心
- 核心能力:
- 与用户协作制定执行计划
- 决策何时需要用户反馈
- 将复杂任务分解并分配给专业智能体
- 监控整体进度和质量
2. WebSurfer(网络冲浪者)
- 角色定位:专业的网页操作专家
- 核心能力:
- 使用Playwright控制浏览器
- 执行点击、输入、滚动等网页操作
- 管理多个浏览器标签
- 处理文件上传和表单填写
- 支持多模态查询(文本+图像)
3. Coder(程序员)
- 角色定位:代码生成和执行专家
- 核心能力:
- 在Docker容器中安全执行Python和Shell命令
- 数据处理和分析
- 生成可视化图表
- 自动化脚本编写
4. FileSurfer(文件管理者)
- 角色定位:文件处理和内容分析专家
- 核心能力:
- 文件格式转换(基于MarkItDown包)
- 文档内容理解和问答
- 文件系统导航和管理
5. UserProxy(用户代理)
- 角色定位:用户与系统的沟通桥梁
- 核心能力:
- 收集用户反馈和指令
- 处理用户确认和授权
- 在需要时将控制权交还给用户
技术实现细节
前端架构
- 技术栈:基于Gatsby的React应用
- 实时通信:WebSocket确保用户界面与后端实时同步
- 用户体验:双面板设计,左侧显示计划和进度,右侧实时展示浏览器操作
后端架构
- 框架:FastAPI + Python
- 容器化:Docker确保代码执行环境的安全隔离
- 多会话管理:支持并行处理多个任务
- 配置管理:支持OpenAI、Azure OpenAI、Ollama等多种模型
安全机制
- 沙盒执行:所有代码在Docker容器中运行,与主系统隔离
- 网站白名单:用户可控制AI可访问的网站范围
- 操作确认:敏感操作需要明确的用户授权
- 实时监控:所有操作过程透明可见
🎯 核心优势:为什么选择Magentic-UI?
1. 人机协作而非替代
传统AI智能体往往追求完全自动化,但现实中很多任务需要人类的判断和决策。Magentic-UI通过协作计划(Co-Planning)和协作执行(Co-Tasking),让人类和AI各司其职,发挥各自优势。
2. 透明度和可控性
用户始终知道AI在做什么,可以随时干预和调整。这种透明度不仅提高了信任度,也让用户能够从AI的操作中学习。
3. 计划学习和复用
系统能够记住成功的执行计划,并在类似任务中自动或手动复用,大大提高了效率。
4. 强大的扩展性
基于AutoGen框架的模块化设计,开发者可以轻松添加新的智能体或修改现有功能。
5. 开源生态
MIT许可证下的开源项目,开发者可以自由使用、修改和贡献代码。
📊 性能表现:数据说话
微软团队在GAIA基准测试中验证了Magentic-UI的效果:
- 准确率提升:加入轻量级人类反馈后,某些场景下任务完成率提升了71%
- 错误恢复:通过人机协作,系统能够更好地从错误中恢复
- 用户满意度:透明的操作过程显著提高了用户对AI系统的信任度
🛠️ 实际应用场景
企业级应用
- 电商运营:自动更新商品信息、处理订单、分析销售数据
- 市场调研:收集竞品信息、分析市场趋势、生成调研报告
- 客户服务:自动回复客户咨询、更新CRM系统、生成服务报告
个人效率提升
- 求职助手:搜索职位、填写申请、跟踪进度
- 旅行规划:搜索航班酒店、比价预订、制定行程
- 学习辅助:搜索资料、整理笔记、生成总结
专业工作流
- 数据分析:从多个网站抓取数据、清洗处理、生成可视化报告
- 内容创作:搜集素材、生成草稿、多平台发布
- 研究辅助:搜索文献、整理引用、生成综述
🚀 如何开始使用?
快速安装
# 创建虚拟环境
python3 -m venv .venv
source .venv/bin/activate
# 安装Magentic-UI
pip install magentic-ui
# 设置API密钥并启动
export OPENAI_API_KEY=<YOUR_API_KEY>
magentic ui --port 8081
系统要求
- Python 3.10+
- Docker Desktop
- Windows用户需要WSL2
模型支持
- OpenAI GPT系列
- Azure OpenAI
- Ollama本地模型
🔮 未来展望:AI助手的新范式
Magentic-UI不仅仅是一个工具,更是对AI智能体发展方向的重新思考。它提出了一个重要观点:真正有价值的AI不是要替代人类,而是要增强人类的能力。
行业影响
- 重新定义人机交互:从”人服务机器”转向”机器服务人”
- 提升AI可信度:透明和可控的操作建立用户信任
- 推动开放创新:开源模式促进社区贡献和技术进步
技术趋势
- 多模态融合:文本、图像、语音的无缝集成
- 边缘计算优化:减少云端依赖,提高响应速度
- 个性化定制:根据用户习惯自动调整操作策略
📝 结语:拥抱AI助手的新时代
在AI技术飞速发展的今天,Magentic-UI为我们展示了一种更加人性化和实用化的AI应用方式。它不追求完全的自动化,而是致力于创造人机协作的最佳平衡点。
对于开发者来说,这是一个值得深入研究的开源项目;对于企业来说,这是提升效率的有力工具;对于普通用户来说,这是一个可以信赖的智能助手。
未来已来,让我们与AI携手前行,而不是被AI所替代。
想要了解更多关于Magentic-UI的信息?访问GitHub仓库:https://github.com/microsoft/magentic-ui
关注AI超元域频道,获取更多AI前沿技术解析!
🚀部署方式
python3 -m venv .venv
source .venv/bin/activate
pip install magentic-ui
# export OPENAI_API_KEY=<YOUR API KEY>
magentic ui --port 8081
🚀提示词
抓取AI超元域博客的第二篇博客文章,并进行总结,然后改写为一篇公众号文章,并且存入本地markdown文件里。
帮我在淘宝上搜索iPhone 15 Pro,比较不同商家的价格,选择评分最高且价格合理的商品加入购物车,但购买前需要我确认。
帮我规划从上海到巴黎的旅行:搜索5月25-30日的往返航班,找3-4星级酒店,生成行程表,但所有预订操作需要我最终确认。
搜索关于’大语言模型在代码生成中的应用’的最新论文,从IEEE、ACM等数据库收集资料,生成文献综述草稿。
帮我策划一场100人的公司年会:搜索上海合适的酒店会议室,询价餐饮服务,制作物料采购清单。
帮我搜集关于’人工智能发展趋势’的最新资讯,写一篇3000字的深度分析文章,并将文章以markdown的格式保存到本地。
写一个python\脚本,抓取我博客(https://www.aivi.fyi/)的前五篇文章的标题和简介
🚀code agent
# python test-code.py --work_dir /Users/
import asyncio # 异步编程库,用于处理并发操作
import argparse # 命令行参数解析库
from autogen_agentchat.ui import Console # AutoGen的控制台UI组件,用于显示对话
from autogen_ext.models.openai import OpenAIChatCompletionClient # OpenAI模型客户端
from autogen_agentchat.conditions import TextMentionTermination # 终止条件类,当检测到特定文本时结束对话
from magentic_ui.agents import CoderAgent # Magentic-UI的编程智能体
from magentic_ui.teams import RoundRobinGroupChat # 轮询式群聊团队管理器
from autogen_agentchat.agents import UserProxyAgent # 用户代理智能体
async def main() -> None:
"""
主函数 - 程序的入口点
使用异步函数来处理并发操作
"""
# ====== 1. 命令行参数解析 ======
parser = argparse.ArgumentParser() # 创建参数解析器
parser.add_argument(
"--work_dir", # 参数名称
type=str, # 参数类型为字符串
default="debug", # 默认值为"debug"
help="Directory where coder will save files", # 帮助信息:编程智能体保存文件的目录
)
args = parser.parse_args() # 解析命令行参数
# ====== 2. 初始化AI模型客户端 ======
model_client = OpenAIChatCompletionClient(model="gpt-4o") # 创建OpenAI GPT-4o模型客户端
# ====== 3. 设置终止条件 ======
termination = TextMentionTermination("EXITT") # 当检测到"EXITT"文本时终止对话
# ====== 4. 创建智能体 ======
# 4.1 创建用户代理智能体
user_proxy = UserProxyAgent(name="user_proxy") # 代表人类用户的智能体
# 4.2 创建编程智能体
coder = CoderAgent(
name="coder_agent", # 智能体名称
model_client=model_client, # 使用的AI模型客户端
work_dir=args.work_dir, # 工作目录,用于保存生成的文件
bind_dir=args.work_dir, # 绑定目录,限制文件操作范围(安全机制)
)
# ====== 5. 创建团队管理器 ======
team = RoundRobinGroupChat(
participants=[coder, user_proxy], # 参与者列表:编程智能体和用户代理
max_turns=30, # 最大对话轮数限制
termination_condition=termination, # 终止条件
)
# ====== 6. 初始化团队 ======
await team.lazy_init() # 异步初始化团队(懒加载方式)
# ====== 7. 获取用户输入 ======
# 使用异步方式获取用户输入,避免阻塞主线程
user_message = await asyncio.get_event_loop().run_in_executor(None, input, ">: ")
# ====== 8. 启动对话流程 ======
stream = team.run_stream(task=user_message) # 创建对话流,传入用户的任务消息
# ====== 9. 显示对话过程 ======
await Console(stream) # 在控制台显示整个对话流程
# ====== 程序入口点 ======
if __name__ == "__main__":
"""
当脚本直接运行时执行主函数
使用asyncio.run()来运行异步主函数
"""
asyncio.run(main()) # 启动异步事件循环并执行main()函数
Comments