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 时:
- 可通过
npx --yes @midscene/web
启动本地 Playground Server; - 利用 "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 模型的潜力,实现更高效、精准的人机交互。在实际应用中,不断实践和总结经验,将能进一步提升提示词编写水平,为项目开发带来更多价值。