GUI-Agent阶跃星辰GUI-MCP决策层,如何实现疑问?
摘要:【GUI-Agent】阶跃星辰 GUI-MCP 解读 (2) 决策层 目录【GUI-Agent】阶跃星辰 GUI-MCP 解读 (2) 决策层0x00 摘要0x01 LocalServer1.1 核心功能概述1.2 详细功能说明1.3 在系
【GUI-Agent】阶跃星辰 GUI-MCP 解读---(2)---决策层
目录【GUI-Agent】阶跃星辰 GUI-MCP 解读---(2)---决策层0x00 摘要0x01 LocalServer1.1 核心功能概述1.2 详细功能说明1.3 在系统架构中的位置1.4 实现automate_step流程图代码ask_llm_anything流程图代码0x02 Parser0920Summary 的功能2.1 核心功能概览2.2 详细功能说明2.3 重点函数分析2.3.1 str2action核心步骤使用场景代码2.3.2 make_status_prompt2.4 THINK 标签2.5 COT 输出与执行流程2.6 支持的动作类型动作空间定义提示词引导动作解析动作验证实际执行流程0x03 交互0x04 模型分发4.1 模型分发机制4.2 本地模型流程4.3 云端模型流程0x05 过渡到执行层0xFF 参考
0x00 摘要
25年底,阶跃星辰升级发布了全新的AI Agent系列模型Step-GUI,包括云端模型Step-GUI、首个面向GUI Agent的MCP协议:GUI-MCP(Graphical User Interface - Model Context Protocol),这是首个专为图形用户界面自动化而设计的 MCP 实现,兼顾标准化与隐私保护。因此,我们就来解读这个MCP协议,顺便看看端侧Agent的实现架构。
本文是第二篇,主要是介绍决策层,本层在任何情况下(是/非MCP)都会用到。
因为是反推解读,而且时间有限,所以可能会有各种错误,还请大家不吝指出。
0x01 LocalServer
LocalServer 是本地 GUI Agent 服务器实现,作为系统核心组件之一,负责协调模型推理、环境管理和任务执行。总的来说,LocalServer 是 GUI Agent 系统的大脑,负责将高层任务请求转化为具体的模型推理和设备操作序列。
1.1 核心功能概述
会话管理
模型推理调度,即负责与 LLM 交互,解析模型输出为可执行动作
环境状态跟踪
日志记录与持久化
1.2 详细功能说明
会话管理(get_session 方法)
创建新的任务会话并分配唯一 session_id(UUID 保证唯一性)
初始化会话配置(任务描述、任务类型、模型配置等)
记录会话开始日志
自动化步骤执行(automate_step 方法):这是 LocalServer 的核心方法,负责执行单步自动化操作:
① 环境状态读取:读取历史日志,获取之前的环境和动作记录
解析当前观察(主要是屏幕截图)
支持图像缩放预处理
② 消息构建:
使用 Parser 将任务、环境和历史动作转换为模型输入消息
支持图像缩放预处理
③ 模型调用:调用 ask_llm_anything 函数与 LLM 交互,并记录模型推理时间和响应
④ 动作解析:使用 Parser 将模型响应解析为可执行动作
⑤ 日志记录:
保存完整的交互日志(环境、动作、模型输入输出等)
支持调试模式下的详细输出
日志管理系统:使用 LocalServerLogger 管理会话日志,提供:
日志与图像文件分离存储
支持日志读取和图像保存
1.3 在系统架构中的位置
LocalServer 在整个系统中起到承上启下的协调作用:
MCP 接口 / 命令行工具
↓
[LocalServer](协调层)
↓ ↓
Parser(环境转换) LLM 模型(推理决策)
↓
设备执行层(act_on_device 等)
1.4 实现
automate_step
automate_step 将 GUI 交互的观测信息(截图 + 文本)转换为可执行的动作指令,是 GUI-Agent 决策的核心环节。
