Midscene 提示词工程实战:从入门到精通的 11 个核心技巧

Midscene 提示词工程实战:从入门到精通的 11 个核心技巧

在 Midscene 平台进行 AI 交互时,编写高质量的提示词(Prompt)是获得理想响应的关键。本文将深入剖析 11 个核心技巧,帮助开发者实现更稳定、高效的 AI 交互。

一、追求稳定响应,驯服 AI "幻想"

AI 模型在生成响应时,偶尔会出现偏离实际需求的 "幻想" 情况。我们编写提示词的首要目标,就是通过优化指令,让模型在多次运行过程中输出稳定的结果。实践证明,结构清晰、逻辑明确的提示词,能够显著提升 AI 模型响应的准确性和可靠性。

二、细节与样例:提示词的黄金搭档

提供详细描述和具体示例,是提升提示词效果的重要手段。以搜索操作为例:

  • ❌ 错误示例:搜 ' 耳机'

  • ✅ 正确示例:找到搜索框(搜索框的上方应该有区域切换按钮,如 ' 国内 ',' 国际 '),输入 ' 耳机 ',敲回车

在断言操作中:

  • ❌ 错误示例:断言:外卖服务正在正常运行

  • ✅ 正确示例:断言:界面上有个 "外卖服务" 的板块,并且标识着 "正常"

通过明确操作细节和具体界面元素描述,能引导模型精准执行任务,让判断依据更清晰。

三、即时操作接口:提速增效的利器

Midscene 提供不同交互模式,选择合适的接口能大幅提升执行效率:

  • agent.ai('点击登录按钮') 采用自动规划模式,模型会先规划操作步骤再执行,这一过程会消耗更多时间和 token;

  • agent.aiTap('登录按钮') 作为即时操作接口,可直接定位目标并执行点击操作,速度更快且准确性更高。

在对效率要求较高的场景中,优先使用即时操作接口能有效提升任务处理速度。

四、深度解析错误:从报告中找答案

Midscene 的运行报告是定位问题的关键。每个 .ai 调用包含规划和定位两个核心步骤:

  • 规划步骤出错:当出现步骤不符预期(如操作步骤缺失或多余),表明模型在规划步骤出错。

    • ❌ 错误示例:选择 'include' 选项
    • ✅ 正确示例:点击 'range' 下拉菜单,并选择 'include' 选项
      通过补充更多任务细节,能帮助模型更准确地规划操作。
  • 定位步骤出错:若定位结果不符合预期(比如元素识别错误或坐标偏移),则是定位步骤出现问题。

    • ❌ 错误示例:点击 "Add" 按钮
    • ✅ 正确示例:点击页面右上角的 "Add" 按钮,它是一个带有 "+" 图标的按钮,位于 "range" 下拉菜单的右侧
      通过提供更详细的定位参数,能提高模型定位的准确性。

五、优化组合拳:模型与接口的升级

除了优化提示词本身,还可以通过以下方式提升交互效果:

  • 选择强大的 AI 模型:更大尺寸、性能更强的模型往往具备更出色的理解和处理能力;
  • 持续使用即时操作接口 :替代常规的 .ai 调用,在实际项目中能不断积累效率优势,让 AI 交互更加流畅高效。

六、指令简洁至上:一次只做一件事

尽管 Midscene 具备自动重规划能力,但为确保 LLM 输出的准确性,每个 .ai 指令应专注于单一任务。将复杂操作拆解为多个简单指令:

  • ❌ 错误示例:点击登录按钮,然后点击注册按钮,在表单中输入 '[email protected]' 作为邮箱,'test' 作为密码,然后点击注册按钮

  • ✅ 正确示例:

    • 点击登录按钮

    • 点击注册按钮

    • 在表单中 [邮箱] 输入 '[email protected]'

    • 在表单中 [密码] 输入 'test'

    • 点击注册按钮

这样的分步操作能避免模型输出混乱,提高任务执行成功率。

七、数值处理策略:为模型提供选项

由于 LLM 在辨别数值(如坐标、十六进制颜色值)时可能存在困难,可将数值转换为选项形式:

  • ❌ 错误示例:string,文本颜色的十六进制值

  • ❌ 错误示例:[number, number],主按钮的 [x, y] 坐标

  • ✅ 正确示例:string,文本的颜色,返回:蓝色 / 红色 / 黄色 / 绿色 / 白色 / 黑色 / 其他

通过提供具体选项,降低模型理解难度,提高输出的准确性。

八、调试利器:可视化报告与 Playground

Midscene 的测试报告详细记录了每个步骤的信息,是调试的重要依据。当需要结合报告中的 UI 状态重新运行 Prompt 时:

  1. 可通过 npx --yes @midscene/web 启动本地 Playground Server;
  2. 利用 "Send to Playground" 功能,快速验证修改后的提示词效果,大大提高调试效率。

九、界面导向思维:让模型 "看见" 关键信息

传递给 LLM 的数据主要是截图和元素坐标,DOM 属性和浏览器状态对其几乎不可见。因此,编写提示词时应从界面实际展示出发,避免依赖模型无法获取的信息:

  • ❌ 错误示例:标题有个 test-id-size 属性

  • ❌ 错误示例:浏览器有两个 tab 开着

  • ❌ 错误示例:异步请求已经结束了

  • ✅ 正确示例:标题是蓝色的

使用基于界面可视化内容的表述,确保模型能够准确理解和处理指令。

十、双重保障:断言交叉检查结果

鉴于 LLM 可能出现错误行为,在执行操作后对结果进行检查至关重要。以待办应用为例:

javascript

scss 复制代码
await ai('在任务框中输入"后天学习 AI",然后按 Enter 键创建');
// 检查结果
const taskList = await aiQuery<string[]>('string[], 列表中的任务');
expect(taskList.length).toBe(1);
expect(taskList[0]).toBe('后天学习 AI');

通过上述代码对任务创建结果进行断言检查,确保操作达到预期效果。

十一、语言无界:中、英文提示词自由切换

大多数 AI 模型支持多语言理解,开发者可根据个人习惯和项目需求,自由选择中文或英文编写提示指令。即使提示语言与页面语言不同,通常也不会影响模型的正常处理,为开发者提供了极大的便利性。

掌握这些 Midscene 提示词工程技巧,能够帮助开发者充分发挥 AI 模型的潜力,实现更高效、精准的人机交互。在实际应用中,不断实践和总结经验,将能进一步提升提示词编写水平,为项目开发带来更多价值。

相关推荐
LAOLONG-C15 分钟前
今日CSS学习浮动->定位
前端·css·css3
城南旧事21 分钟前
SSE (Server-Send Events) 服务端实时推送技术
前端
Mapmost27 分钟前
【数据可视化艺术·应用篇】三维管线分析如何重构城市"生命线"管理?
前端·数据可视化
palpitation971 小时前
在Flutter中使用Builder的正确方式:一场context的教育
前端
Eliauk__1 小时前
深入剖析 Vue 双向数据绑定机制 —— 从响应式原理到 v-model 实现全解析
前端·javascript·面试
代码小学僧1 小时前
Cursor 的系统级提示词被大佬逆向出来了!一起来看看优秀 prompt是怎么写的
前端·ai编程·cursor
MrsBaek1 小时前
前端笔记-Axios
前端·笔记
洋流1 小时前
什么?还没弄懂关键字this?一篇文章带你速通
前端·javascript
晴殇i1 小时前
for...in 循环的坑,别再用它遍历 JavaScript 数组了!
前端·javascript
littleplayer1 小时前
iOS 单元测试详细讲解-DeepSeek
前端