微软Fara1.5:开源浏览器智能体全面超越OpenAI和Google,27B小模型如何做到的?

摘要: 2026年5月22日,微软研究院AI Frontiers实验室发布Fara1.5系列浏览器智能体,在两项主流基准测试中击败OpenAI Operator和Google Gemini 2.5 Computer Use。值得关注的是,这是一款完全开源的模型,权重开放、推理代码公开。本文将深度解析其技术架构、训练管线、安全设计,并提供可运行的本地部署指南。


1. 开源逆袭:27B参数凭什么打败闭源巨头?

当业界还在讨论"闭源大模型是否在各领域全面领先"时,微软用一款27B参数的开源模型给出了答案:在浏览器智能体领域,开源模型不仅能打,还能打赢。

2026年5月22日,微软研究院发布的Fara1.5 系列,在Online-Mind2Web基准测试中以72%的得分击败了OpenAI Operator(58.3%)和Google Gemini 2.5 Computer Use(57.3%)。更令人震惊的是,其9B版本也达到了63.4%,同样超越了两大闭源巨头。

这不是小打小闹的"略胜一筹",而是在真实互联网环境(136个真实网站、300项任务)中的全面碾压

更值得关注的是,Fara1.5是完全开源的:权重开放、推理代码公开。微软用行动证明,开源社区完全有能力打造匹敌甚至超越闭源巨头的浏览器智能体。

本文将深入技术细节,告诉你微软是如何用200万条样本和一套精妙的训练管线,把开源小模型调教成浏览器自动化领域的新标杆。无论你是AI研究员、SRE工程师、还是想用AI自动化替代RPA的开发者,这篇文章都将给你带来实质性的收获。


2. Fara1.5是什么?一句话说清定位

Fara1.5是微软研究院发布的开源浏览器智能体(Browser Computer Use Agent)系列,包含三个参数规模的版本:

模型版本 参数量 定位 GPU显存需求
Fara1.5-4B 4B 轻量级部署,低资源场景 ~8GB
Fara1.5-9B 9B 平衡之选,已上线Azure ~18GB
Fara1.5-27B 27B 性能旗舰,全面超越闭源模型 ~56GB

核心定位

Fara1.5基于Qwen3.5 基础检查点微调,专为真实互联网环境中的浏览器自动化任务设计。与纯合成环境训练的对手不同,Fara1.5在真实网站的嘈杂、多变环境中表现出色。

为什么强调"真实互联网环境"?因为这是最难的部分------真实网站会变、广告会弹、加载会慢、各种边缘情况层出不穷。很多在合成环境表现优秀的模型,一到真实战场就原形毕露。

开源承诺

  • 权重完全开放:Hugging Face可直接下载
  • 推理代码公开:GitHub仓库完全开源
  • 配套MagenticLite沙盒浏览器界面:安全测试环境

技术规格一览

复制代码
基础模型: Qwen3.5
发布时间: 2026年5月22日
发布机构: 微软研究院AI Frontiers实验室
训练样本: 200万条
参数规模: 4B / 9B / 27B
许可证: 开源许可(具体见GitHub)

3. 性能基准:双榜单验证,两项冠军

性能是检验模型实力的唯一标准。Fara1.5在两项主流基准测试中展现统治力:

3.1 Online-Mind2Web基准(真实互联网)

这是目前最具挑战性的浏览器智能体基准,涵盖136个真实网站、300项任务,考验模型在真实复杂环境中的泛化能力。

复制代码
┌─────────────────────────────────────────────┬───────────┬────────────┐
│ 模型                                        │ 得分      │ 排名       │
├─────────────────────────────────────────────┼───────────┼────────────┤
│ Fara1.5-27B                                 │ 72.0%     │ 🥇 冠军    │
│ Yutori Navigator n1                         │ 64.7%     │ 🥈         │
│ Fara1.5-9B                                  │ 63.4%     │ 🥉         │
│ OpenAI Operator                             │ 58.3%     │            │
│ Gemini 2.5 Computer Use                     │ 57.3%     │            │
│ GUI-Owl-1.5-8B                              │ 48.6%     │            │
│ MolmoWeb                                    │ 35.3%     │            │
│ Fara-7B (前代)                              │ 34.1%     │            │
└─────────────────────────────────────────────┴───────────┴────────────┘

关键洞察:

  1. Fara1.5-27B比前代Fara-7B提升超过110%,6个月性能翻倍,这说明微软的训练管线有实质性的技术突破
  2. 9B小模型已经超越OpenAI和Google的旗舰闭源方案,充分证明了"数据质量 > 模型规模"的训练哲学
  3. 领先幅度明显:27B模型领先第二名7.3个百分点,优势不是侥幸

3.2 WebVoyager基准

在另一项主流基准中,Fara1.5同样表现出色:

模型 得分 备注
Fara1.5-27B 88.6% 🥇 冠军
OpenAI Operator 87.0% 略逊一筹
Holo2 30B 83.0%
Fara1.5-9B 86.6% 🥈 亚军
Fara1.5-4B 80.8%

值得注意的是,OpenAI Operator在WebVoyager上表现尚可(87%),但在Online-Mind2Web上却大幅落后(58.3%)。这说明Online-Mind2Web更能考验模型在真实复杂场景下的泛化能力,而Fara1.5在这场更难的大考中脱颖而出。


4. 技术架构:观察-思考-行动循环

Fara1.5的核心架构遵循经典的**"观察-思考-行动"(Observe-Think-Act)**循环,但微软在细节上做了大量优化,使其在真实环境中表现出色。

4.1 核心工作流详解

复制代码
┌─────────────────────────────────────────────────────────────────────┐
│                         Fara1.5 推理循环                              │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ┌───────────────────────────────────────────────────────────┐    │
│   │                     观察 (Observe)                          │    │
│   │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │    │
│   │  │ 历史对话    │  │ 截图(t-2)  │  │ 截图(t-1)  │  截图(t)│    │
│   │  │ Context    │  │           │  │           │         │    │
│   │  └─────────────┘  └─────────────┘  └─────────────┘         │    │
│   └───────────────────────────────────────────────────────────┘    │
│                                 │                                   │
│                                 ▼                                   │
│   ┌───────────────────────────────────────────────────────────┐    │
│   │                     思考 (Think)                           │    │
│   │  ┌─────────────────────────────────────────────────────┐  │    │
│   │  │ 1. 当前页面状态分析                                   │  │    │
│   │  │ 2. 任务目标分解                                       │  │    │
│   │  │ 3. 下一步行动规划                                     │  │    │
│   │  │ 4. 风险评估与安全检查                                 │  │    │
│   │  └─────────────────────────────────────────────────────┘  │    │
│   └───────────────────────────────────────────────────────────┘    │
│                                 │                                   │
│                                 ▼                                   │
│   ┌───────────────────────────────────────────────────────────┐    │
│   │                     行动 (Act)                             │    │
│   │  ┌─────────────────────────────────────────────────────┐  │    │
│   │  │ 动作类型: 点击/输入/搜索/暂停/完成                    │  │    │
│   │  │ 动作参数: 坐标/文本/目标元素                          │  │    │
│   │  └─────────────────────────────────────────────────────┘  │    │
│   └───────────────────────────────────────────────────────────┘    │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

4.2 观察输入(Observation)

每步推理接收两类输入:

1. 历史对话上下文

  • 完整的任务描述(用户最初的指令)
  • 之前的交互记录(动作序列和反馈)
  • 这是模型理解"我要做什么"的关键

2. 最近3张浏览器截图

  • 提供当前页面的视觉状态
  • 帮助模型理解页面布局和元素位置
  • 视觉信息与文本信息互补

为什么是3张而不是1张?因为浏览器状态变化可能是渐进的,3张截图能帮助模型理解页面变化的历史轨迹。

4.3 思考输出(Thought)

模型输出结构化的推理内容,包含四个维度:

python 复制代码
# 思考输出的结构(伪代码)
thought = {
    "observation_analysis": "当前页面包含搜索框、商品列表、筛选器...",
    "goal_decomposition": "任务已完成3步:打开网站→搜索→筛选,还需2步",
    "action_plan": "下一步:点击第二个商品的查看详情按钮",
    "risk_assessment": "动作安全,无不可逆操作,可继续执行"
}

4.4 动作空间设计

Fara1.5的动作空间经过精心设计,平衡了表达能力与可控性:

复制代码
动作类型
│
├── 鼠标键盘操作
│   ├── click(x, y)           # 在坐标(x,y)点击
│   ├── click_element(id)     # 点击指定元素
│   ├── type(text)           # 输入文本
│   ├── hover(x, y)          # 悬停
│   ├── scroll(delta)         # 滚动页面
│   ├── scroll_to_bottom()    # 滚动到底部
│   ├── scroll_to_top()       # 滚动到顶部
│   ├── shortcut(keys)        # 快捷键(如Ctrl+C)
│   └── go_back() / go_forward()  # 浏览器前进后退
│
├── 网页搜索
│   └── search(query)        # 使用搜索引擎查询
│
└── 元动作(Meta Actions)
    ├── grounding(fact)       # 记忆关键事实
    ├── ask_user(question)   # 向用户提问确认
    └── finish()             # 任务完成

元动作的引入是Fara1.5的重要创新:

  • grounding:允许模型记录在任务中获取的关键信息(如电话号码、订单号),避免重复查询
  • ask_user:在关键节点暂停,等待用户输入缺失信息
  • finish:明确告知任务完成,让智能体优雅退出

4.5 与前代Fara-7B的技术对比

特性 Fara-7B (前代) Fara1.5
动作空间 基础鼠标键盘操作 增加元动作(grounding/ask_user)
观察输入 单帧截图 多帧截图序列
推理输出 隐式推理 结构化思考输出
安全机制 基础限制 三重暂停机制
训练数据 ~50万条 200万条

5. 训练秘籍:FaraGen1.5数据管线

Fara1.5的强大性能背后,是微软精心设计的FaraGen1.5训练管线 。这套管线的核心哲学是:高质量合成数据 + 严格验证 = 强大泛化能力

5.1 三模块架构

FaraGen1.5包含三个核心模块:

环境(Environments):负责构建训练环境,包括开放互联网任务和门控任务(Gated Tasks),后者解决了需要登录认证和不可逆操作的任务训练难题。

求解器(Solvers):使用GPT-5.4作为"教师智能体",在Online-Mind2Web上达到83%的得分,负责生成高质量的任务轨迹。

验证器(Verifiers):三重验证机制------正确性验证(LLM评分+数据库快照对比)、效率验证(惩罚冗余动作)、用户交互验证(检查关键节点暂停)。

5.2 环境模块:真实与合成的平衡

1. 开放互联网任务

  • 覆盖无需登录的公开网站
  • 任务多样、场景真实
  • 风险可控,适合大规模数据采集

2. 门控任务(Gated Tasks)

  • 需要登录认证的任务(如邮箱、个人银行)
  • 涉及不可逆操作的任务(如支付、删除数据)
  • 在真实环境中,这类任务很难大规模采集数据

5.3 6个合成网站克隆:解决门控任务的关键

为了解决门控任务的训练难题,微软构建了6个合成网站克隆(FaraEnvs)

克隆名称 模拟场景 核心功能 训练价值
FaraEnv-Mail 邮件系统 邮件撰写、搜索、分类 理解表单交互、信息提取
FaraEnv-Calendar 日历应用 会议安排、时间管理 多步骤规划、日期选择
FaraEnv-Stream 视频平台 内容搜索、播放控制 媒体控制、复杂导航
FaraEnv-ML 机器学习平台 实验管理、模型部署 技术平台操作、专业界面
FaraEnv-Stay 酒店预订 信息查询、表单填写 旅行预订流程、支付模拟
FaraEnv-Scheduler 任务调度 任务创建、分配、追踪 协作平台操作、权限管理

每个克隆都包含三层架构:前端层(HTML/CSS/JavaScript)、API层(RESTful API)、数据层(含角色种子的数据库)。

5.4 求解器模块:用GPT-5.4当"老师"

Fara1.5使用GPT-5.4作为教师智能体 ,在Online-Mind2Web上达到83%的得分

这个"老师"负责:

  • 生成高质量的任务轨迹
  • 提供动作序列的示范
  • 在复杂决策点给出最优解

为什么选择GPT-5.4?

  1. 高性能基线:83%的得分确保了教学质量
  2. 一致性输出:闭源模型输出更稳定,适合做数据生成
  3. 多轮推理能力:GPT-5.4的链式推理与Fara1.5的"思考"机制匹配

5.5 验证器模块:三重保障

1. 正确性验证器

python 复制代码
class CorrectnessVerifier:
    def verify(self, trajectory, task):
        criteria = self.llm.generate_criteria(task)
        initial_state = self.db.take_snapshot()
        self.executor.run(trajectory)
        final_state = self.db.take_snapshot()
        changes = self.db.diff(initial_state, final_state)
        score = self.compute_score(criteria, changes)
        return score >= 0.9  # 90%阈值

2. 效率验证器:惩罚冗余动作,鼓励最优路径

3. 用户交互验证器:确保智能体在关键决策点正确暂停

5.6 训练数据配比详解

200万条样本的配比如下:

数据类型 占比 说明
网页轨迹 60.0% 真实网站交互轨迹
合成环境 12.8% 6个克隆网站轨迹
表单填写与用户交互 12.5% 包含ask_user暂停
事实锚定 (Grounding) 8.8% 避免幻觉和错误提取
视觉问答 4.9% 页面内容理解

5.7 损失函数设计:只监督最后3轮

Fara1.5的损失函数只应用于每个轨迹的最后3轮

python 复制代码
class FaraLossFunction:
    def compute_loss(self, model, trajectory):
        total_loss = 0
        total_steps = len(trajectory.steps)
        supervised_window = 3
        start_idx = max(0, total_steps - supervised_window)
        
        for step_idx in range(start_idx, total_steps):
            step_loss = self.compute_step_loss(
                model, 
                step.observation,
                step.thought,
                step.action
            )
            total_loss += step_loss
            
        return total_loss

为什么这样设计?

  • 前期轮次:探索阶段,允许"试错"
  • 后期轮次:决策关键时刻,确保正确

6. 安全设计:让AI自动化走向实用

在浏览器自动化场景中,一个错误的点击可能导致不可挽回的损失。Fara1.5实现了多层次的安全设计。

6.1 三种主动暂停场景

Fara1.5会在以下三种情况下主动暂停,向用户确认

暂停场景 检测逻辑 用户反馈
缺少个人信息 任务需要用户独有的信息 提供信息或确认跳过
任务描述含糊 意图模糊或有多种解释 澄清需求
即将执行不可逆操作 删除、支付、发送等高风险动作 确认执行

6.2 MagenticLite沙盒浏览器

Fara1.5配套的MagenticLite沙盒环境提供三重保障:

  • 动作记录可审计:所有操作完整日志
  • 随时可停止:用户保留完全控制权
  • 隔离执行环境:不影响真实浏览器环境

6.3 安全训练

Fara1.5的安全能力来自两方面:

  1. 公开安全数据集:使用业界标准的RLHF安全数据
  2. 内部对齐任务:基于微软负责任AI政策构建的专项任务

7. 实战部署:从云端到本地

Fara1.5提供了多种部署方式,满足不同场景需求。

7.1 Azure AI Foundry(推荐生产环境)

Fara1.5-9B已在Azure AI Foundry上线,开箱即用:

bash 复制代码
# Azure CLI 部署命令
az ml model deploy \
    --name fara1-5-9b \
    --version 1 \
    --workspace-name YOUR_WORKSPACE \
    --resource-group YOUR_RESOURCE_GROUP \
    --kind chat \
    --model-path azureml://registries/azureml/models/fara1-5-9b/latest

4B和27B版本即将上线。

7.2 本地部署(Hugging Face)

如果你有本地算力,可以通过Hugging Face获取开源权重:

bash 复制代码
# 1. 安装依赖
pip install transformers torch accelerate huggingface_hub

# 2. 登录Hugging Face(如果需要下载受限模型)
huggingface-cli login
python 复制代码
"""
Fara1.5 本地推理示例
"""
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

class Fara15Client:
    """Fara1.5 推理客户端"""
    
    def __init__(self, model_name: str = "microsoft/Fara1.5-9B"):
        print(f"正在加载模型: {model_name}")
        self.tokenizer = AutoTokenizer.from_pretrained(model_name)
        self.model = AutoModelForCausalLM.from_pretrained(
            model_name,
            device_map="auto",
            torch_dtype=torch.float16,
        )
        print("模型加载完成")
    
    def infer(self, task: str, screenshots: list) -> dict:
        prompt = f"任务: {task}\n\n请分析并输出下一步动作。"
        inputs = self.tokenizer(prompt, return_tensors="pt").to(self.model.device)
        
        with torch.no_grad():
            outputs = self.model.generate(**inputs, max_new_tokens=512)
        
        return {"response": self.tokenizer.decode(outputs[0])}

# 使用示例
if __name__ == "__main__":
    client = Fara15Client("microsoft/Fara1.5-9B")
    result = client.infer("帮我搜索微软最新发布的AI模型", ["page1.png"])
    print(result)

7.3 部署配置建议

模型版本 GPU显存需求 推荐场景
4B ~8GB 快速实验、低资源部署
9B ~18GB 生产环境推荐
27B ~56GB 追求最高精度

显存不足的解决方案

python 复制代码
# 量化推理配置
from transformers import BitsAndBytesConfig

quantization_config = BitsAndBytesConfig(
    load_in_8bit=True,  # 8位量化,显存减半
)

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=quantization_config,
    device_map="auto"
)

7.4 MagenticLite沙盒部署

bash 复制代码
# 1. 克隆仓库
git clone https://github.com/microsoft/magenticlite.git
cd magenticlite

# 2. 安装
pip install -e .

# 3. 启动
magenticlite serve --port 8080

8. 对开发者的意义:开源生态的新机遇

8.1 为什么开源更重要?

方面 闭源方案 Fara1.5开源
定制能力 受限 完全可微调
部署成本 按次计费 按需扩展
数据隐私 需上传云端 完全本地处理
审计透明 黑盒 可审查
迭代速度 等官方更新 自主快速迭代

8.2 应用场景展望

  • RPA替代:更智能的流程自动化
  • 数据采集:复杂网站的信息提取
  • 辅助操作:帮助不熟悉界面的用户完成任务
  • 测试自动化:Web应用的智能测试

8.3 如何基于Fara1.5微调

python 复制代码
# 垂直场景微调示例
from transformers import TrainingArguments, Trainer

ecommerce_data = [
    {
        "task": "搜索商品并按价格排序",
        "screenshots": [...],
        "optimal_actions": ["click:search_box", "type:关键词", "click:price_sort"]
    },
]

training_args = TrainingArguments(
    output_dir="./fara1-5-ecommerce",
    per_device_train_batch_size=4,
    learning_rate=2e-5,
    num_train_epochs=3,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=ecommerce_dataset,
)

trainer.train()

9. 技术总结:三大核心洞察

  1. 数据质量 > 模型规模:200万条精心筛选的高质量样本
  2. 合成 + 真实 = 全覆盖:6个克隆网站解决了门控任务难题
  3. 小模型的春天:9B模型超越闭源旗舰

10. 互动环节

读完这篇文章,你有哪些收获或疑问?

  1. 你在浏览器自动化场景中有哪些痛点?
  2. Fara1.5的开源对你的工作有什么启发?
  3. 想看Fara1.5在哪个具体场景下的实测?

请在评论区分享你的想法,我会挑选有价值的反馈进行深入解答!


参考资料

来源 链接
微软研究院官方博客 https://www.microsoft.com/en-us/research/articles/fara1-5-computer-use-agent/
MarkTechPost深度解析 https://www.marktechpost.com/2026/05/22/microsoft-releases-fara1-5
Decrypt媒体报道 https://demo.decrypt.co/368807/microsoft-fara15-open-source-ai-beats-openai-gemini
IT之家 http://m.toutiao.com/group/7642911936757154350/
智源社区 https://hub.baai.ac.cn/view/54872
GitHub开源仓库 https://github.com/microsoft/fara
Hugging Face模型 https://huggingface.co/microsoft/Fara1.5

本文首发于CSDN,转载需授权

相关推荐
Rain5099 小时前
架构解密:mini-cc 的核心设计思路
前端·架构·开源·node.js·ai编程
a1117769 小时前
【无标题】
前端·开源·html
星栈独行10 小时前
别让 API 跳去登录页:我在 Axum 里做了认证失败双通道
前端·后端·rust·开源·github·个人开发
Teable任意门互动10 小时前
拆解 Teable 背后研发主体,开源多维表格平台实力与落地案例
开发语言·开源·excel·飞书·开源软件
码途漫谈1 天前
Cheat on Content:把内容创作从“赌感觉”改造成可校准的实验
开源·aigc
代码小书生1 天前
time,一个时间操作的 Python 库!
开发语言·python·microsoft
No8g攻城狮1 天前
【AI工具】Sub2API简介 – 开源 AI API 中转网关平台,支持多账户管理
人工智能·ai·开源·ai编程
无相孤君1 天前
我用 Docker + JunimoServer 搭了一个星露谷物语无头服,还顺手做了个本地管理面板
linux·游戏·docker·开源
blackorbird1 天前
攻击者如何迫使微软发送钓鱼邮件
microsoft