ui-critic 是做什么的?
像特定人物那样评判屏幕,以他们过去的决策为依据。普通 Claude 在预测此人真实设计选择时的准确率为 44-50%,而本流程的准确率约为 60%(基于其没有相同主题证据的决策,结果)。它是一个强有力的第二意见,而非万能神谕。
| 提问 | 操作 |
|---|---|
| 哪个设计更好? | 比较 |
| 这个屏幕或流程上应该改什么? | 评审 |
| 教它、调优它,它弄错了 | 调优 |
| 此人在设计之间做出了选择 | 记录决策 |
脚本位于此文件旁边。使用 python3 运行它们;prepare.py 和 annotate.py 需要 Pillow (pip install pillow)。
始终
- 先搞清楚任务。 如果你不知道屏幕的用途和受众,问一次。否则,陈述你的假设。
- 过去的决策优先于这些规则和通用设计观点。 较新的决策优于较旧的。
- 不要仅凭“最佳实践”进行推理。 针对此人决策,谨慎的通用推理得分低于随机水平,因为它倾向于要求更多信息、标签和计数。应依据他们实际选择的内容进行论证。
- 不要将偏好泛化到其证据之外。 列表中的“少”并不意味处处“少”。他们曾在地图图片和较短的文本芯片之间选择了前者,并在比较步骤中添加了照片和笔记,因为这样能让人们更快地识别事物。
- 先给出结论。 先下判决,再提供细节。你的报告遵循与你所评判内容相同的渐进式披露原则。
比较
-
准备。
python3 scripts/prepare.py --out <tmp> <images...>,然后使用处理后的副本。对于流程,每个设计都是一个有序的屏幕列表。 -
获取证据。 阅读
taste/taste.md。运行python3 scripts/cases.py --context "<此屏幕的用途>" --k 4。 -
盲评两次。 生成两个没有共享上下文的子代理,使用 references/judge.md 中的提示。一个代理看到顺序为 X、Y 并标记为 A、B 的设计;另一个看到 Y、X。使用 Sonnet:Opus 成本高出数倍但得分并未更好。给予每个代理案例图像路径,并告知它读取每张图像。不要告诉它们你倾向于哪个设计、谁设计的或哪个更新。
超过两个设计:先比较看起来最强的两个,然后将胜者与下一个比较。不要一次性要求排序。
-
决定。
- 两者选择了相同设计:那就是判决。
- 它们产生分歧:表述为难分伯仲,用一句话给出各方的最佳论点,并指明需要此人裁定的关键问题。不要自己打破平局。
-
跳出选项看问题。 如果两个设计存在共同缺陷,或者失败方有一个值得保留的想法,用一两句话提出合并版本。过去的胜者常常正是这样产生的。
-
报告。
**B.** <一句话:决定胜负的差异。> 置信度:两个顺序一致(非证据证明:不同的模型或证据仍可能推翻) / 难分伯仲 - 原因:<决定性的差异,引用它们所呼应过往决策> - 值得从 A 保留的部分:<如果有> - 比两者都好:<如果有>仅在有人要求时,才添加胜者剩余问题的框线叠加图。
评审
- 准备 如上所述的屏幕,并记下每个屏幕的像素尺寸。坐标仅在处理后的副本上对齐。
- 获取证据。 阅读
taste/taste.md并运行cases.py --k 4,然后在查看新屏幕之前读取每个案例的两张图像。以下得分假设你已经看过它们。 - 审查,按以下顺序:
- 用户来到这个屏幕最想做的一件事是什么?他们一眼必须掌握什么?
- 逐元素检查:这个元素值得放在这里,还是可以放在一层之下?是否有信息被重复表述?同类型的事物是否在本屏幕或应用其他位置以两种不同方式呈现?是否有次要操作与主要操作竞争?用图片是否比用文字理解更快?
- 对于流程,还要问:打开的页面看起来像你点击的入口吗?是否有任何步骤是死胡同?
- 精简。 最多 3 个发现,按重要性排序。去掉无障碍模板、通用润色以及你无法明确指出位置的内容。如果设计优秀,就直接说出来,不报告任何问题。用次要问题来填充是失败。在完成前,检查每个发现不会撤销过去的决策。
- 绘制。 在处理后的屏幕旁边编写
findings.json,框线使用处理副本上严格的绝对像素[x1, y1, x2, y2]:运行{"verdict": "一句话。", "screens": [{"path": "/abs/prepared.png", "label": "主页"}], "findings": [{"screen": 0, "box": [40, 120, 300, 180], "severity": "high", "title": "...", "why": "...", "fix": "..."}]}python3 scripts/annotate.py findings.json --out <tmp>。读取每个.annotated.png,检查每个框是否准确位于其发现所描述的位置。如果偏移,修正数值并重新运行。当发现涉及整个卡片时,框住整张卡片是可以的。 - 报告 判决、发现以及
report.html和带注释图像的路径。
记录决策
当此人在设计之间做出选择或在查看屏幕时陈述偏好时,提供记录:python3 scripts/record.py --context "..." --winner a.png --loser b.png --reason "他们的话" --topic <短标识符>。使用他们自己的话作为理由。这是本技能改进的方式,一句“为什么”比几个未经解释的选择更有价值。
调优
启动 python3 scripts/tune.py,在后台运行,并将 URL 提供给此人。它有四个标签页:
- 挑选:使用方向键在设计之间进行选择。大约 5 分钟。
- 遗漏:评判者与此人意见不合的地方及其论据。他们保留自己的选择或承认评判者正确。
- 规则:编辑
taste/taste.md。 - 分数:重新评分,包括其自身选择的一致性。
在选择或编辑之后,运行 python3 scripts/distill.py 以根据所有决策重建 taste/taste.md。有关数字以及如何将本技能用于他人的品味,请参阅 references/tuning.md。