为 GUI Agent 补充应用知识
使用 GUI Agent 时,开发者通常希望只描述目标,就能让它完成操作。但目标明确,不代表 Agent 已经掌握完成任务所需的应用知识。
本文通过实际案例介绍如何补充必要的应用知识、清晰地表达操作意图,帮助 GUI Agent 更稳定地执行任务。
案例:GUI Agent 会在哪些地方犯错
以懂车帝 Android App 为例,开发者希望用这样一句提示词完成任务:
进入降价榜,筛选近一年上市的新能源 MPV,将价格区间筛选设为 10–40 万元,并检查筛选是否生效。
上面的提示词只有一句话,但实际执行时需要经历多个操作。在实战测试中,我们观察到一些可能的薄弱点。
给 GUI Agent 补充缺失的知识
前面的案例中,找到降价榜入口、通过刻度设置价格、调整后点击确认,都依赖具体的应用知识。将这些知识提供给 GUI Agent,可以帮助它更稳定地完成任务。
在 Midscene 中,可以通过 Context 为 aiAct 提供这些补充信息,让 Agent 在执行任务时参考应用的导航路径、交互规则和操作约束。
需要补充 的典型信息
这些知识缺口通常集中在以下几类:
根据运行表现按需补充
不同模型对应用的理解能力不同,需要补充的知识也会有所差异。建议先给出清晰的任务目标和预期结果,再根据实际运行表现补充必要的应用知识。
例如,Agent 如果能够自行找到降价榜,就无需额外说明入口;如果它在调整价格后遗漏确认操作,就补充“调整后需要点击结果按钮才会应用”这条交互规则。
随着模型能力提升,部分指导可能不再必要。可以定期结合运行结果检查 Context,精简 Agent 已经能够自行理解的内容。
常见误区
补充应用知识和编写操作指令时,可以参考以下建议。
不要只给出模糊的测试目标
只输入“测试一下排行榜”,没有说明具体目标、预期结果和必要的应用知识,Agent 只能猜测要做什么、怎样判断结果。
不要用固定坐标和像素距离描述操作
“点击 (424, 815),再左拖 310 像素”绑定了当前设备和布局。屏幕尺寸或组件位置变化后,这些指令容易失效,也限制了 Agent 根据当前界面调整操作的空间。
不要为每条 Case 注入整个 App 的知识库
每条 Case 都加载整个 App 的超长知识库,会增加 Agent 理解无关信息的成本,也让当前任务需要的关键细节更容易被忽略。
不要脱离实际界面,凭空编写操作路径
脱离实际用户界面,凭想象补充操作路径,可能会把不存在的入口或操作写进指令,误导 GUI Agent。如果不确定具体路径,就保留清晰的任务目标,暂不指定操作路径,让 GUI Agent 根据执行时的页面情况决定如何完成任务。





