从“看图说话”到“精准指令”

在测试和开发一线工作多年,我发现一个有趣的现象:当工程师面对多模态LLM时,常常陷入两种极端——要么过度信任它的“智能”,要么因几次失败而全盘否定。实际上,Vision-LLM既不是魔法也不是废物,而是一个需要精确调校的专业工具。

最近带领团队进行UI智能巡检项目时,我观察到一个典型的误用场景:工程师上传整个屏幕截图,然后简单询问“页面正常吗?”。结果模型要么给出笼统的“看起来正常”,要么开始分析不相关的设计元素,完全偏离了质量检测的实际需求。

问题的核心在于:Vision-LLM无法理解你的业务上下文,除非你明确地告诉它。

理解根本差异:视觉提示 vs 文本提示

首先必须认识到,为Vision-LLM设计提示与传统的文本提示有本质区别:

传统文本提示像是在给一位文字分析师下达指令——你可以依赖语言本身的精确性和逻辑性。

视觉提示则像是指导一位刚入职的测试实习生:你需要明确指出“看哪里”“看什么”“怎么看”“记录什么”。

让我分享一个实际案例:在一次金融App的验收测试中,工程师上传了交易确认页面截图,只写了“检查页面”。模型返回了一堆关于界面美观度的评价。而优化后的提示是:“聚焦于交易金额、手续费、到账时间三个关键数据区域,验证数字准确性并与后台日志比对。”结果直接定位到了两个数据展示bug。

精准提示的四层结构框架

经过数十个项目验证,我发现高效的Vision-LLM提示应该包含四个明确层级:

第一层:目标定位(告诉模型看什么)

这是最容易出错的一步。很多工程师只上传图片,却不说清楚具体关注点。

低效写法:“分析这张图”
高效写法:“分析【图像1】中的核心功能区域,具体指登录表单和错误提示区域”

工程师实用技巧

  • 使用方括号明确图像标识,尤其是多图场景

  • 描述区域时采用“左上角”“中部偏右”等位置词,或提供相对坐标

  • 对于UI测试,明确指出控件类型:“按钮”“输入框”“弹窗”“状态提示”

第二层:任务定义(告诉模型做什么)

任务必须具体、可执行,最好以动词开头。

模糊指令:“看看有什么问题”
精准指令:“执行以下三个检查:1)识别所有按钮的可用状态 2)验证表单必填项标识 3)检测文字截断或重叠现象”

测试场景专用动词库

验证类:校验、确认、核对
检测类:识别、定位、发现
对比类:比较、核对、匹配
评估类:评估、判断、分级

第三层:约束条件(告诉模型怎么判断)

这是提升准确性的关键,决定了模型判断的严格程度。

示例1-边界值设定:

“验证输入框字符限制:若超过20个字符,标记为‘超限’;若为空,标记为‘必填项未填’”

示例2-容错规则:

“对比设计稿与实际截图:颜色允许±5%偏差,位置允许±2像素偏移,超出范围才标记差异”

示例3-排除规则:

“仅检测用户操作相关元素,忽略背景图、装饰性图标等非功能性内容”

第四层:输出规范(告诉模型如何呈现)

好的输出应该便于后续自动化处理。

推荐格式:

  "检查项": "按钮状态验证",
  "状态": "通过/失败",
  "详细信息": "提交按钮处于禁用状态,符合预期",
  "截图区域": "右下角",
  "置信度": 0.95
}

表格输出适用于批量检查:

元素类型

预期状态

实际状态

是否一致

备注

登录按钮

启用

启用

-

验证码输入框

显示

隐藏

未按预期显示

三大实战场景深度解析

场景一:UI自动化测试的视觉验证

传统痛点:基于DOM的自动化测试无法检测视觉问题,如错位、重叠、颜色错误。

Vision-LLM解决方案

针对【实际截图】与【设计稿对比图】,执行以下任务:

1. 整体布局检查
   - 对比主要模块的相对位置关系
   - 识别明显错位(偏移>10像素)

2. 关键控件验证
   - 按钮:状态(启用/禁用)、样式、文案
   - 输入框:占位符、边框状态、错误提示
   - 导航:选中状态、悬停效果(如有)

3. 内容一致性检查
   - 文字截断识别
   - 图标与文案匹配度
   - 数据展示格式一致性

输出要求:按严重程度分级(阻塞/严重/一般),附带具体位置描述。

场景二:工业质检的缺陷识别

工程化挑战:传统CV算法对新缺陷类型适应性差,标注成本高。

多模态增强方案

分析【零件检测图】,执行缺陷检测:

检测维度:
1. 表面缺陷:划痕(长度>0.5mm)、凹陷(深度>0.1mm)、污渍
2. 尺寸异常:与标准尺寸对比,公差±0.05mm
3. 装配问题:错位、漏装、反装

判定规则:
- 明确缺陷:直接标注类型和位置
- 疑似缺陷:标注“待复查”,附可能性评分
- 无法判断:标注“图像质量不足”,建议重拍

输出格式:缺陷分布热力图坐标 + 类型统计表

场景三:文档智能处理与验证

常见需求:合同、报告、票据的自动审核。

结构化处理提示

处理【文档扫描图】:

提取任务:
1. 关键字段提取(指定位置或模式匹配)
   - 合同:甲方、乙方、金额、日期
   - 发票:发票号、税号、金额、开票方

2. 逻辑验证
   - 金额大小写一致性
   - 日期逻辑性(如结束日期不早于开始日期)
   - 签名盖章完整性

3. 异常标记
   - 模糊不清:标记置信度低于80%的字段
   - 修改痕迹:识别涂改、覆盖区域
   - 必填缺失:检查必要字段的完整性

输出:结构化JSON + 异常项列表 + 处理建议

工程师的避坑清单

坑1:图像质量忽视

  • 问题:上传模糊、过曝、遮挡的图像

  • 解决:预处理步骤增加图像质量检查

  • 提示技巧:当图像质量不佳时,主动在提示中说明“如因图像质量无法判断,请返回‘无法准确识别’”

坑2:过度依赖默认理解

  • 问题:认为模型“应该知道”行业术语

  • 解决:提供术语解释或示例

  • 例如:在医疗影像分析中,先定义“阴影区域指密度异常增高区域”

坑3:忽略上下文连续性

  • 问题:在多轮对话中不引用历史图像

  • 解决:使用明确的引用方式

  • 示例:“基于刚才分析的图像1中的异常,现在请特别关注图像2的对应区域是否已修复”

坑4:输出解析困难

  • 问题:模型返回自由文本,难以程序化处理

  • 解决:严格约束输出格式,并使用解析校验

  • 实践:在代码中添加JSON格式验证,格式错误时自动重试

进阶技巧:从单次交互到系统工程

技巧1:构建提示模板库

为常见任务建立标准化模板,团队共享。例如:

  • UI验证模板

  • 文档提取模板

  • 缺陷检测模板

  • 数据图表分析模板

每个模板包含:适用场景、输入要求、提示结构、输出格式、异常处理规则。

技巧2:实现质量反馈循环

使用流程:
1. 初始提示 → 执行 → 获取结果
2. 人工审核 → 标注问题 → 分析原因
3. 优化提示 → 更新模板 → 重新测试
4. 记录改进效果 → 完善知识库

技巧3:多模型协同验证

对于关键任务,采用多模型交叉验证:

  • 主模型:深度分析

  • 验证模型:结果校验

  • 规则引擎:逻辑合理性检查

最后的核心认知

在多模态AI时代,工程师的核心竞争力正在发生变化。技术实现能力固然重要,但更关键的是问题定义能力和指令设计能力

Vision-LLM本质上是一个能力强大但需要精确引导的协作者。它不知道你的业务规则,不了解你的质量标准,更不理解你的工作流程。所有这些都需要你通过精心设计的提示来“教会”它。

记住三个关键原则:

  • 明确性优于简洁性:多一点细节,少一点歧义

  • 结构化优于自由化:格式化的输出便于自动化处理

  • 可迭代优于一次性:把提示设计看作持续优化的过程

开始实践时,建议从一个具体的小场景入手——比如登录页面的错误状态验证。设计3-4个不同复杂度的提示,对比效果,分析失败原因,迭代优化。当你掌握了一个场景,其他场景的模式也就触类旁通了。

最好的提示不是最聪明的,而是最可靠的。在工程世界里,可预测、可重复、可集成往往比“惊艳”更有价值。

现在,选择一个你正在面对的实际问题,开始设计你的第一个精准视觉提示吧。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐