CogAgent
CogAgent(Visual Language Model for GUI Agents / 用于图形用户界面智能体的视觉语言模型)。
一、CogAgent 是什么?
CogAgent 是由清华大学 KEG 实验室 & 智谱AI (Zhipu AI) 提出的开源Vision-Language Model (VLM,视觉语言模型),专门设计用来看懂 GUI 截图并操控界面,是典型的GUI Agent(图形用户界面智能体)。
输入:GUI 截图 (Screenshot / GUI Image) +用户自然语言指令 (Natural Language Instruction)
输出:下一步操作 (Next Action) +操作坐标 (Bounding Box / Coordinates) + 可选推理说明
💡 与传统 LLM-based Agent 不同,CogAgent不看 HTML/DOM,而是像人一样直接"看"屏幕截图来做决策。
二、核心能力 (Core Capabilities)
能力 | 英文 | 说明 |
|---|---|---|
视觉问答 | Visual Question Answering (VQA) | 回答截图相关问题,如"这个窗口标题是什么?" |
视觉定位 | Visual Grounding | 找出界面元素位置(返回 bbox 坐标) |
GUI 导航 | GUI Navigation / Agent | 预测点击、输入、滑动等操作及坐标 |
高分辨率理解 | High-Resolution Image Understanding | 支持1120×1120 像素输入,看清小图标/文字 |
三、模型架构 (Architecture)
CogAgent 基于CogVLM (Visual Language Model) 扩展而来:
双分辨率视觉编码器 (Dual-Resolution Vision Encoder)
低分辨率分支 (Low-Resolution Branch):EVA2-CLIP-E,处理 224×224 —— 捕捉全局语义
高分辨率分支 (High-Resolution Branch):EVA2-CLIP-L(≈0.3B 参数),处理1120×1120 —— 看清细字和小图标
高分辨率交叉注意力模块 (High-Resolution Cross-Attention Module)
高分辨率特征通过Cross-Attention(交叉注意力) 注入语言解码器 (Decoder) 每层
隐藏维度 (Hidden Size) 仅 1024(低于 Decoder 的 4096),控制计算量
避免了直接拉高分辨率导致 Self-Attention 的O(n²) 二次方爆炸
✅ 结果:1120×1120 输入的 CogAgent 前向计算量甚至低于 490×490 的 CogVLM。
参数规模
初代 CogAgent-18B:Vision Encoder ≈11B + Language Model ≈7B
新版CogAgent-9B-20241220:基于GLM-4V-9B 微调,更强泛化,支持中英文 GUI
四、训练数据与阶段 (Training)
预训练 (Pre-training)
文本识别数据 (OCR / synthetic text rendering)
视觉定位数据 (Visual Grounding / REC & REG)
GUI 截图 + DOM 对应数据(CCS400K 网页数据集)
多任务微调 (Multi-task Fine-tuning)
VQA 数据集 + GUI Agent 数据集(Mind2Web、AITW 等)
格式化为 QA 对让模型学会"看截图→说操作"
五、典型工作流程 (Pipeline)
用户指令("帮我在GitHub给CogVLM点Star") ↓ [GUI Screenshot + Text Prompt] → CogAgent ↓ 输出: - Status(当前状态):页面显示仓库主页 - Plan(计划):找到右上角 Star 按钮并点击 - Action(动作描述):Click the "Star" button - Grounded Operation(结构化操作):CLICK @ (x, y) bbox ↓ 自动化工具执行点击 → 截新图 → 循环六、性能亮点 (Benchmark Results)
GUI Agent:Mind2Web(网页)、AITW(Android)大幅超越仅用 LLM+HTML 的 Agent
VQA:VQAv2、DocVQA、TextVQA 等多个榜单达 SOTA(同期通用 VLM 第一)
七、关键术语中英对照
英文 | 中文 | 备注 |
|---|---|---|
Vision-Language Model (VLM) | 视觉语言模型 | 图文联合理解的基座模型 |
GUI Agent | 图形用户界面智能体 | 自动操作桌面/手机/网页的 Agent |
Visual Grounding | 视觉定位 | 根据描述找图中物体坐标(bbox) |
Bounding Box (bbox) | 边界框 | 矩形框 (x1,y1,x2,y2) 标出目标位置 |
Cross-Attention | 交叉注意力 | 让文本 Query 去 attend 图像 Key/Value |
Self-Attention | 自注意力 | Transformer 内部同序列相互注意 |
Fine-tuning / SFT | 微调 / 监督微调 | 用任务数据调整预训练权重 |
OCR (Optical Character Recognition) | 光学字符识别 | 从图像中识别文字 |
八、资源链接
📄 论文:[2312.08914] CogAgent: A Visual Language Model for GUI Agents
💻 GitHub:GitHub - zai-org/CogAgent: An open-sourced end-to-end VLM-based GUI Agent · GitHub(含 CogVLM 早期版也在该仓)
🤗 HuggingFace:
THUDM/cogagent-chat-hf、THUDM/cogagent-9b-20241220🖥 硬件:INT4 量化推理约需≥24GB 显存(如 RTX 3090/A5000/A100)
