测试时间
2026年1月30日
任务描述
设计并开发一个基于 OpenAI API 的产品瑕疵检测系统,该系统应允许用户上传产品图片,通过调用 OpenAI API 分析图片内容,识别并以文字输出图片上存在的瑕疵。具体功能需求包括:实现图片上传界面,支持常见图片格式(JPG、PNG等);集成 OpenAI API 进行图像分析,要求能够准确识别至少5种常见产品瑕疵类型(如划痕、凹陷、色差、污渍、变形等);提供清晰的检测结果展示,包括瑕疵位置标记、瑕疵类型分类及置信度评分;系统需具备错误处理机制,能够处理图片上传失败、API调用超时等异常情况;界面设计应简洁直观,响应式布局适配不同设备。遇到需要决策的问题可随时向我确认。
需求解析
本任务唯一的挑战在于如何调用 OpenAI API 以及生成高质量的 prompt,其余均为常规业务逻辑,因此我们将重点聚焦于 AI 所生成 prompt 的品质。由于系统通过调用 OpenAI API 进行瑕疵检测,最终效果由 OpenAI 模型决定,故评估时不会考虑瑕疵检测的准确性。总体而言,评估将聚焦于以下几个方面:
- prompt 质量 (50%)
- UI 美观度与功能完整性 (40%)
- 开发流畅度 (10%)
1. Claude Opus 4.5 (In Cursor)
prompt
你是一个专业的产品质量检测AI助手。你的任务是分析产品图片,识别其中可能存在的瑕疵和质量问题。你需要检测以下类型的瑕疵:划痕 (Scratch) - 表面的线性损伤或刮痕凹陷 (Dent) - 表面的凹陷或压痕色差 (Color Deviation) - 颜色不均匀、斑点或与预期颜色不符污渍 (Stain) - 表面的污点、水渍或其他污染变形 (Deformation) - 形状扭曲、弯曲或不规则裂纹 (Crack) - 表面或结构的裂缝气泡 (Bubble) - 材料内部或表面的气泡毛刺 (Burr) - 边缘粗糙或毛边请以JSON格式返回分析结果,格式如下:{"overallQuality": "优秀/良好/一般/较差","qualityScore": 0-100的数字,"defects": [{"type": "瑕疵类型(中文)","typeEn": "瑕疵类型(英文)","location": "瑕疵在图片中的位置描述","severity": "严重程度:轻微/中等/严重","confidence": 0-100的置信度数字,"description": "详细描述"}],"summary": "整体检测总结,简洁描述产品状况","recommendations": ["改进建议1", "改进建议2"]}注意事项:如果图片不是产品图片或无法识别,请在summary中说明如果没有检测到瑕疵,defects数组为空,qualityScore应该较高置信度表示你对该瑕疵判断的确定程度位置描述要具体,如"左上角"、"中心偏右"、"底部边缘"等请只返回JSON,不要包含其他文字
整体来看,该 prompt 质量较高,但存在一个不足:原文需求明确要求 UI 上展示瑕疵位置,而 Claude 生成的 prompt 未包含此要求,导致生成代码时界面未呈现瑕疵位置信息,此为扣分项。
Prompt 得分: 7.
UI
界面现代简洁、配色舒适,采用环形图展示评分,列出检测摘要及改进建议,唯一缺陷仍是未展示瑕疵的具体位置。
UI 得分: 7.
开发体验
Claude 的开发体验一贯出色,此类简单任务一次通过属基本操作,直接满分。
开发体验得分: 10.
综合评分
Claude Opus 4.5 (In Cursor): 7.3
2. Claude Opus 4.5 (In Claude Code)
Prompt
你是一个专业的产品质量检测专家。请仔细分析这张产品图片,识别以下类型的瑕疵:划痕 (Scratch) - 表面线性损伤凹陷 (Dent) - 表面凹陷变形色差 (Color Deviation) - 颜色不均匀或异常污渍 (Stain) - 表面污染物变形 (Deformation) - 形状异常裂纹 (Crack) - 表面裂缝气泡 (Bubble) - 表面气泡缺陷请严格按照以下JSON格式返回检测结果,不要包含任何其他文字:{"hasDefects": boolean,"defects": [{"type": "瑕疵类型中文名","typeEn": "DefectTypeInEnglish","location": "瑕疵在图片中的位置描述,如:左上角、中部偏右、底部边缘等","severity": "low或medium或high","confidence": 0.0到1.0之间的数字,"description": "详细描述该瑕疵的特征"}],"overallQuality": "good或acceptable或poor","summary": "对产品整体质量的总结评估"}注意:如果没有发现瑕疵,hasDefects设为false,defects为空数组confidence表示你对该瑕疵判断的置信度severity根据瑕疵对产品质量的影响程度判断请仔细观察图片的每个区域
与 Cursor 版本结果类似,评分保持一致。
Prompt 得分: 7.
UI
本次 Claude 生成的界面明显不如 Cursor 版本。点击分析后未展示上传的图片,整体设计偏花哨,背景色杂乱,且带有 AI 偏好使用 emoji 的特点。
UI 得分: 5.
开发体验
Claude Code 表现稳定,一次性完成。
开发体验得分: 10.
综合评分
Claude Opus 4.5 (In Claude Code): 6.5
3. GPT-5.2-codex
Prompt
"你是产品瑕疵检测助手,请只输出严格 JSON。","需要识别至少以下5种瑕疵类型:划痕、凹陷、色差、污渍、变形。","输出结构如下:","{",'"summary": "一句话总结",','"defects": [',"{",'"type": "划痕|凹陷|色差|污渍|变形",','"confidence": 0.0-1.0,','"bbox": { "x": 0-1, "y": 0-1, "width": 0-1, "height": 0-1 }',"}","]","}","如果没有瑕疵,defects 为空数组,并说明 summary。","bbox 为归一化坐标,基于图像宽高比例,粗略框出瑕疵位置。"
该 prompt 相比 Claude 明显薄弱,虽然上下文不宜过长,但此处显得过于精简。
Prompt 得分: 4
UI
Prompt 简陋,UI 同样简陋,检测结果仅简单展示了两个字符。不过,在结果图片中标注了瑕疵位置(此前已说明不关注结果准确性,因并非 Coding Agent 主要决定)。
UI 得分: 5
开发体验
GPT 在此次开发中的表现令人意外——它是唯一一个调用 OpenAI API 时出现报错的 AI。自身调用自身 API 竟因传递了不存在的参数而报错,且错误持续了三轮。
开发体验得分: 5
综合评分
GPT-5.2-codex: 4.5
4. Gemini 3 Pro
Prompt
You are an expert Quality Assurance Inspector for product manufacturing.Your task is to analyze product images and identify potential defects.Focus on these specific defect types:Scratches (划痕)Dents (凹陷)Discoloration (色差)Stains (污渍)Deformation (变形)For each defect found, provide:type: One of the 5 types listed above.confidence: A score between 0 and 1 indicating your certainty.description: A brief description of the defect.location: Approximate center coordinates of the defect as [x, y] percentages (0-100) relative to the image width and height. Top-left is [0, 0].Return the result as a JSON object with a "defects" array.Example format:{"defects": [{"type": "Scratches","confidence": 0.95,"description": "Visible scratch on the top surface","location": [50, 25]}]}If no defects are found, return {"defects": []}.
Prompt 与 Claude 风格相近,且额外说明了 location 应为具体坐标,此为加分项。
Prompt 得分: 8
UI
号称"前端严父"的 Gemini 生成的 UI 同样显得简陋,不过好在标注了瑕疵位置,且位置准确度最高(尽管此功劳更多归因于 OpenAI)。
UI 得分: 6
开发体验
一次性完成。
开发体验得分: 10
综合评分
Gemini 3 Pro: 7.4
5. Composer-1
Prompt
You are a quality control expert analyzing product images for defects.Analyze the image and identify any defects from these categories:- scratch: Surface scratches or marks- dent: Dents or depressions- color_difference: Color inconsistencies or variations- stain: Stains, spots, or discolorations- deformation: Shape deformations or warping- crack: Cracks or fractures- discoloration: Unusual color changes- surface_imperfection: Other surface imperfectionsFor each defect found, provide:1. Type (from the categories above)2. Location description (e.g., "top-left corner", "center area", "edge")3. Confidence score (0-100)4. Description of the defectReturn your response as a JSON object with this structure:{"defects": [{"type": "scratch","location": "top-left corner","confidence": 85,"description": "Visible scratch approximately 2cm long"}],"summary": "Overall quality assessment","overallQuality": "good|fair|poor"}If no defects are found, return an empty defects array with overallQuality "good".
与 Claude 高度相似,同样详细清晰,但同样欠缺对具体坐标位置的要求,仅要求模糊位置描述。
Prompt 得分: 7
UI
UI 相比 Claude 差距明显。
Analyze Another Image按钮颜色略显突兀- 未在图片中标注位置
- 检测结果中的
90% confidence与Stain在色彩上或需互换 - 具体瑕疵的文字颜色偏浅,不够醒目
UI 得分: 5
开发体验
一次性完成。
开发体验得分: 10
综合评分
Composer-1: 6.5
6. Kimi-K2.5
Prompt
你是一个专业的产品质量检测专家。请仔细分析产品图片,识别以下5种常见瑕疵类型:划痕 (scratch) - 产品表面的线性损伤凹陷 (dent) - 产品表面的局部下陷色差 (color_difference) - 颜色不均匀或与标准不符污渍 (stain) - 表面的污染或斑点变形 (deformation) - 产品形状异常或扭曲请以 JSON 格式返回分析结果,格式如下:{"defects": [{"type": "瑕疵类型英文","name": "瑕疵中文名称","location": "瑕疵位置描述","confidence": 0.0-1.0,"description": "详细描述","severity": "轻微/中等/严重"}],"summary": "总体评估摘要","totalDefects": 0}注意:只返回 JSON 数据,不要其他文字说明如果没有发现瑕疵,defects 为空数组confidence 为 0-1 之间的浮点数severity 只能是 "轻微"、"中等" 或 "严重"`
同样未指定 location 需要具体坐标。
Prompt 得分: 7
UI
Kimi 生成的 UI 是 AI 风格最浓郁的:典型的蓝紫渐变、经典的 emoji 使用、以及黄色背景文字框。
UI 得分: 6
开发体验
Kimi 在编写代码过程中未出现明显错误,但运行时报告了依赖缺失的错误,推测是执行安装依赖命令时出现了问题。
开发体验得分: 6
综合评分:
Kimi-K2.5: 6.5
7. Qwen-3-coder
本次挑战中表现最差的是这个模型。
Prompt
请分析这张产品图片,识别以下5种类型的瑕疵:划痕、凹陷、色差、污渍、变形。对于每个发现的瑕疵,请提供:1)瑕疵类型 2)在图片中的位置描述 3)置信度评分(0-100%)。如果未发现明显瑕疵,请回复'未发现明显瑕疵'。以JSON格式返回结果,包含字段:defects(数组,每个元素包含type、location、confidence)。
- Prompt 没有换行
- 未提供 JSON 格式的说明示例
- 虽然提到了所需字段,但仅列出了字段名称,缺少字段类型与描述
Prompt 得分: 2
UI
表现极差,几乎无法使用。
- 顶部蓝色方块为上传按钮,初始文本为"点击上传",上传后竟变为文件名,行为令人困惑
- "开始分析"与"重新选择"按钮,一绿一灰,颜色搭配极不协调,灰色通常用于 disabled 状态
- 黑色大 banner 非常土气且丑陋,类似十年前的 bootstrap 风格
- 同样未在图片中标明瑕疵位置
UI 得分: 1
开发体验
结果已如此,开发体验已不重要。
开发体验得分: 1
综合评分
Qwen-3-coder: 1.5
排名
| 模型 | Prompt (50%) | UI (40%) | 开发体验 (10%) | 综合评分 |
|---|---|---|---|---|
| Gemini 3 Pro | 8 | 6 | 10 | 7.4 |
| Claude Opus 4.5 (In Cursor) | 7 | 7 | 10 | 7.3 |
| Claude Opus 4.5 (In Claude Code) | 7 | 5 | 10 | 6.5 |
| Composer-1 | 7 | 5 | 10 | 6.5 |
| Kimi-K2.5 | 7 | 6 | 6 | 6.5 |
| GPT-5.2-codex | 4 | 5 | 5 | 4.5 |
| Qwen-3-coder | 2 | 1 | 1 | 1.5 |
总结
- Claude: 当之无愧的最强者。虽然本次挑战中两次未注意到坐标要求,惜败于 Gemini,但其在其他方面几乎做到了极致。
- Gemini: 虽号称"前端严父",但在本次挑战中 UI 设计表现欠佳,不过因精准捕捉到坐标这一关键需求,整体微弱优势战胜 Claude,位列第一。
- GPT: 表现未达预期。尽管平时对 GPT-5.2-codex 模型使用不多,但有限的体验中评价尚可,未发现明显问题。然而本次挑战暴露了其严重的幻觉问题,连自身 API 参数都未掌握。
- Composer-1: 许多人对该模型可能较为陌生。作为 Cursor 官方推出的第一款自研编程模型,其最大特点在于响应速度极快。该模型刚推出时曾用于回答过几个问题,token 生成速度快到肉眼难以跟上,瞬间即可完成回复。因此一直想测试其编程质量。作为 Cursor 的首款自研模型,起初并未抱太高期望,但最终表现中规中矩、顺利完成任务,整体超出预期。
- Kimi-K2.5: 该公司一直给人一种营销强于实力的印象,尤其在 Kimi-K2 刚发布时,全网都在刷如何用它驱动 Claude Code。因此同样未抱太多期待,但最终效果尚可,只是生成的 UI 具有较浓的 AI 风格。
- Qwen-3-coder: 表现有些过分。原本以为其在国产 AI 中能跻身第一梯队,没想到表现如此全面落后。只能说还需继续努力☹️。
