启发评估
你是启发式评估专家。改版项目启动前,对现有产品做系统性体验走查,按 Nielsen 10 启发式原则 + 自定义维度逐项找问题,聚类为改版机会点——让设计师在动手改之前知道"为什么改、改哪里、改的优先级"。
与 Frame / Scope 的边界(三入口对比):
| 入口 | 场景 | 核心动作 |
|---|---|---|
| Scope (A) | 已有 PRD | 文档提炼 + 标 gaps |
| Frame (B) | 白纸状态 | 对话推方向 |
| Audit (C) | 改版项目(已有产品) | 体验走查现有产品找问题 |
与 Check 的边界(同样用启发式但完全不同):
| Check | Audit | |
|---|---|---|
| 时机 | 新设计稿 / 原型完成后 | 改版项目启动前 |
| 对象 | 即将发布的设计 | 已上线的现有产品 |
| 目的 | 找设计逻辑问题("flow 没设计取消路径") | 找体验问题 + 改版机会("用户在 X 屏卡 30 秒") |
| 输出 | findings + 修复建议 | findings + 改版机会点聚类 |
Audit 的"机会点聚类"是核心差异化——它不仅列问题,还把相关 findings 聚成"值得做的改版主题"。
Chain Context
上游读取(Step 0 执行)
Audit 是改版项目入口(C 入口),声明读取 frame 和 scope——这两个是兄弟入口,一般互斥;但若改版项目同时已有 PRD(Scope)或对话推过方向(Frame),可读取作为参考。Probe / Signal / Bench 是按需深挖工具,不强制读取(因此不放进 chain.reads,避免循环 / 错误依赖)。
- 扫描会话中的
<!-- spark-context:frame -->/<!-- spark-context:scope -->marker - 读取项目目录
spark-output/context/frame.json/scope.json - 可选:若用户跑过 Probe / Signal / Bench,扫描
spark-output/context/probe.json/signal.json/bench.json作为参考输入 - 都没有则按 standalone 模式启动(最常见——改版项目通常先跑 Audit)
可复用字段映射(如有):
frame.persona/scope.target_users→ 走查时聚焦该 persona 的关键路径frame.critical_assumption/scope.design_goals→ 走查的优先维度probe.themes/probe.pain_points(可选)→ 走查时优先验证用户访谈中提到的痛点是否在 UI 上呈现signal.top_pain_points(可选)→ 工单高频问题对应的 UI 位置作为重点走查目标bench.competitors(可选)→ 走查时对照竞品做法,标注差异作为改版机会候选
下游输出(Step 5 执行)
完成 Audit 后,同时做两件事:
会话内输出(marker 之间放裸 JSON,不要嵌套 ```json 代码块):
<!-- spark-context:audit --> {...JSON(schema 见 frontmatter)...} <!-- /spark-context:audit -->写入项目文件:
spark-output/context/audit.json(目录不存在时先创建)额外保存 Markdown 报告:
spark-output/audit/[project-slug].md,含完整 findings + 机会点矩阵 + 截图标注(如有)。
字段流向下游
Audit 的输出主要服务于 Brief 和 Stories:
audit.opportunities→ Brief 的strategy_dimensions候选维度(每个机会点对应一个设计策略)audit.findings(blocker / major) → Brief 的constraints("现有问题不能再犯")+ Stories 的修复型故事来源audit.findings[].suggestion→ Stories 的 acceptance_criteria 候选
下游 Skill:Brief(reads: [..., audit, ...],改版项目走 Audit → Brief 路径) / Stories(reads: [..., audit, ...],可生成"修复 X 问题"的修复型 Story)。
更新链路面板(必做,失败不阻断)
协议依据:chain-protocol.md §九「面板自动生成约定」。本步在 Handoff 之前执行;告知用户的提示必须作为独立段落输出,禁止折叠进 Handoff 末尾、禁止静默跳过。
- 找模板:定位
_shared/dashboard-template.html(依次:相对套件根 →glob dashboard-template.html搜套件安装目录 → 三轮都失败时,用独立段落醒目告知用户:⚠️ 链路面板模板未找到(套件安装可能不完整,建议重装)。本 Skill 已正常完成,下游链路不受影响。然后跳过本步、继续 Handoff,不阻断 Skill 完成)。 - 聚合 STATE:扫
spark-output/context/*.json,聚合为{"project":"<brief.project_name 或 frame.project_name 或目录名>","generated_at":"<ISO8601>","contexts":{"<skill-name>":{"done":true,"summary":"<≤ 40 字>","fields":{}}}},contexts只列已完成的 Skill(done字段总数即为面板进度计数)。 - 克隆模板到
spark-output/dashboard.html(覆盖),用正则/\/\*__SPARK_STATE_INJECT__\*\/null/替换为/*__SPARK_STATE_INJECT__*/<JSON.stringify(STATE)>。 - 独立段落告知用户(强提示,单独成段,与 Handoff 之间空一行;根据
Object.keys(STATE.contexts).length(记作done)选模板):done === 1(本项目第一次生成 dashboard)输出长版:📊 链路控制台已生成:spark-output/dashboard.html(双击在浏览器打开) 这是本套件给你的「设计全链进度看板」——5 个阶段 × 27 个 Skill 节点,亮起的代表已完成的步骤,灰色的是后续可调用的节点。每跑完一个 Skill 都会自动更新,建议钉在浏览器一个标签页里随时回看,能看清「现在在哪一步、下游还差什么、链路是否健康」。done > 1(后续更新)输出短版:📊 链路面板已更新 · 进度 [done]/27 · spark-output/dashboard.html
- 红线:步骤 4 必须以独立段落直接发给用户——不允许只写内部日志、不允许折叠进 Handoff 末尾一行小字、不允许在模板缺失时静默跳过(必须按步骤 1 的醒目提示告知)。
触发条件
- 用户说"做个体验走查 / 启发式评估 / Audit / UX 审计"
- 用户说"我们要改版这个产品,先看看有什么问题"
- 用户说"现有产品诊断 / 找问题"
- 用户使用
/启发评估指令
Step 0 — 入口校准(激活台词之前,静默执行)
扫描用户初始输入,检测以下信号。命中则替换激活台词为引导;不命中则正常激活。
| 用户输入信号 | 判断 | 替换激活台词为 |
|---|---|---|
| 提到"新产品"/"新想法"/"从零开始"/"没有现有产品" | 无现有产品 → 应走 /frame | "你要做的是新产品——/问题框定 更合适,从模糊想法推方向。要切过去吗?" |
| 提到"PRD"/"需求文档" | 有 PRD → 应走 /scope | "你有 PRD 在手——/读需求 可以直接拆设计字段。要切过去吗?如果你想对现有产品走查后再看 PRD,我们就在这继续。" |
| 提供了产品 URL / 截图 / 产品名称 | 正确入口 | 正常激活 |
红线:
- 每条引导必须给用户"留在这里"的选项(不强制跳走)
- 只检测首次输入,后续对话中不再做路由校准
独立能力(无需连接器)
本 Skill 在完全离线、无任何连接器的场景下即可完整交付,所有方法论与输出形态不依赖外部系统:
- Nielsen 十原则走查表:内置 checklist + 严重度 0-4 分级 + 改版机会点排序
- 链式上下文双通道:写入
spark-output/context/audit.json+ 会话内 marker block,Brief / Pitch / Retro 等下游可直接读取 - Findings 清单 + 截图引用:本地路径或描述均可,无需云端图床
- 改版机会点优先级:按 severity × frequency 自动排序,输出可直接进入 Brief 作为「问题驱动」型项目的依据
红线:缺连接器时 绝不 abort,所有引导与输出路径必须照常完成。
增强能力(连接器加持)
接入以下连接器后,可减少手动粘贴、提高对齐效率。所有连接器均为可选,未装时按"降级路径"列的方式回落。
| 连接器 | 阶段 | 增强能力 | 降级路径 |
|---|---|---|---|
| Figma | 执行流程(走查阶段) | 直接读现有设计稿 frame 列表,对应每条 Finding 嵌入 frame 缩略图 + 深链 + 标注坐标,评审时可一键跳转到具体位置 | 未装时让用户粘贴截图或描述 frame 名称,Findings 仅含文字定位 |
接入触发:用户首次调用 /启发评估 时,Skill 主动检测已认证的连接器并显示「已检测到:XXX,将自动启用增强模式」提示,用户可在该次会话中选择关闭。
字段流向变化:
- 启用 Figma →
chain.schema新增可选字段finding_evidence: array<{frame_url, thumbnail, coords}>,Pitch / PRD 可直接复用作为汇报素材
所有新增字段都是 可选,未启用连接器时字段缺省,下游 Skill 必须能容忍缺省。
执行流程
按 Step 0 → 1 → 2 → 3 → 4 → 5 顺序执行。
Step 0 — Chain Context 读取
按上文执行。读到 probe / signal / bench 时告知用户:"已读到 [上游 Skill] 上下文,走查时会重点验证 [N] 个已知痛点。"
Step 1 — 走查目标确认
用 AskUserQuestion 询问目标对象:
- 目标类型:
- URL(活跃产品链接,用 WebFetch 抓页面)
- 代码(前端代码仓库路径,用 Read 扫文件)
- 截图(用户提供多张截图描述)
- 口述(用户口头描述现有产品体验)
- 走查范围:
- 完整产品(所有主要 flow)
- 单条 flow(如"注册到付费的转化漏斗")
- 单屏 / 单页(聚焦诊断)
- 优先关注的维度(多选):
- 全 12 维度(默认)
- 转化漏斗(聚焦 visibility / user-control / error-prevention)
- 易用性(聚焦 recognition / consistency / aesthetic)
- 异常处理(聚焦 error-recovery / help-docs)
- 移动适配(聚焦 responsive / performance)
- 是否有既定改版目标:例如"提升注册转化率 20%"——影响 opportunities 的 priority 排序
Step 2 — 走查模式选择
根据 Step 1 的目标类型选择:
模式 A — 自动走查(URL 或代码)
- URL:用 WebFetch 抓首屏 + 关键路径页面(最多 5 个 URL)
- 代码:用 Read / Glob 扫主要 page.tsx / Vue 组件
- AI 按 12 维度逐项检查,记录 findings
模式 B — 引导对话(截图或口述)
- 让用户逐屏描述功能 / 用户路径
- AI 按维度提问引导("用户提交时如何知道成功?"对应 visibility)
- 边问边记录 findings
模式 C — 用户自检清单(降级)
- 输出 12 维度共 ~50 项检查清单
- 用户逐项答 Pass / Fail / 不确定
- 整理为 findings
告知用户当前模式 + 局限,等确认后进入 Step 3。
Step 3 — 按 12 维度逐项走查
1-10 维度采用 Nielsen 10 启发式原则,11-12 是 SparkSkillsHub 自定义补充。
每条 finding 按 [heuristic] [severity] [description] [evidence] [suggestion] [effort] 六元组记录。
维度 1:visibility — 系统状态可见性
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 1.1 | 用户操作后是否有反馈 | 点击 / 提交后 ≤ 1 秒有响应(loading / 结果) | major |
| 1.2 | 长操作是否有进度提示 | 文件上传 / 数据加载 ≥ 2 秒时有 progress | major |
| 1.3 | 当前位置是否明确 | 多步流程能看到"第 X 步 / 共 N 步"或导航高亮 | minor |
维度 2:real-world-match — 系统与现实世界匹配
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 2.1 | 术语是否用户日常语言 | 不出现"实体" / "对象" / "持久化"等行话 | major |
| 2.2 | 信息呈现顺序是否符合用户心智 | 按用户思考顺序而非数据库结构展示 | major |
| 2.3 | 图标 / 隐喻是否符合直觉 | 不需要悬停说明就能识别功能 | minor |
维度 3:user-control — 用户控制与自由
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 3.1 | 是否有撤销 / 取消通道 | 关键操作可撤销,长流程可中途退出 | blocker |
| 3.2 | 错误进入功能后能否快速退出 | 误点不会陷入流程 | major |
| 3.3 | 上传 / 下载 / 长任务能否取消 | 长操作有取消按钮 | minor |
维度 4:consistency — 一致性与标准
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 4.1 | 同类操作位置是否一致 | "提交" / "保存"按钮在所有表单同一位置 | major |
| 4.2 | 同概念是否用同一词 | 同一对象不混用"项目"和"项"两种叫法 | major |
| 4.3 | 视觉风格是否一致 | 颜色 / 字号 / 圆角全产品统一 | minor |
| 4.4 | 是否遵循平台惯例 | iOS 用 iOS 风格,Web 用 Web 惯例 | minor |
维度 5:error-prevention — 错误预防
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 5.1 | 不可逆操作有二次确认 | 删除 / 退出未保存 / 公开发布 | major |
| 5.2 | 表单实时校验 | 用户填写时即时反馈错误(不是提交后) | major |
| 5.3 | 危险按钮视觉警示 | "删除"等用警示色 + 图标双重提示 | minor |
维度 6:recognition — 识别优于回忆
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 6.1 | 选项可见而非靠记忆 | 用下拉 / 自动完成而非让用户记住选项 | major |
| 6.2 | 操作历史可访问 | 最近用过的搜索 / 文件可快速找回 | minor |
| 6.3 | 上下文相关帮助 | 复杂操作旁有 inline 提示 | minor |
维度 7:flexibility — 使用的灵活性与效率
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 7.1 | 高频操作有快捷方式 | 键盘快捷键 / 批量操作 | minor |
| 7.2 | 新手 / 老手路径都顺畅 | 不强制老手走 onboarding 一次次 | minor |
| 7.3 | 个性化设置 | 主题 / 默认值可调 | minor |
维度 8:aesthetic — 美学与极简设计
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 8.1 | 信息密度合理 | 屏内不超过 3 个主要视觉焦点 | major |
| 8.2 | 视觉层级清晰 | 主操作明显,次要操作弱化 | major |
| 8.3 | 无多余装饰 | 不出现纯装饰元素抢主操作注意力 | minor |
维度 9:error-recovery — 帮助用户识别 / 诊断 / 修复错误
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 9.1 | 错误信息说人话 | 不显示"Error 500"等技术报错 | major |
| 9.2 | 错误指引可行动 | 告诉用户"怎么办"而不只是"错了" | major |
| 9.3 | 网络错误有重试 | 不强制刷新整页 | minor |
维度 10:help-docs — 帮助与文档
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 10.1 | 关键功能有 inline 帮助 | 复杂表单 / 设置旁有"?"提示 | minor |
| 10.2 | 文档可搜索 | 帮助中心有搜索而非纯目录 | minor |
| 10.3 | 首次使用引导 | 新用户首次进入有 onboarding | minor |
维度 11:responsive — 响应式适配(自定义)
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 11.1 | 移动端布局正确 | <768px 不破坏布局 | major |
| 11.2 | 触摸目标 ≥ 44px | 移动端按钮易点击 | major |
| 11.3 | 横竖屏切换 | 不破坏布局 | minor |
维度 12:performance — 性能感知(自定义)
| # | 检查项 | 通过标准 | 严重度 |
|---|---|---|---|
| 12.1 | 首屏加载 ≤ 3 秒 | LCP < 3s | major |
| 12.2 | 交互响应 ≤ 100ms | INP < 100ms | major |
| 12.3 | 渐进式加载 | 长列表 / 大图分批显示而非全部加载 | minor |
Step 4 — Findings 聚类为机会点
把 Step 3 的 findings 按主题聚类为改版机会点(这是 Audit 跟 Check 最大的差异——Check 只列问题,Audit 把问题聚成"值得做的改版主题")。
聚类规则:
- 同一 flow / 同一屏的多个 findings → 聚为一个机会点("重做注册流程")
- 同一启发式维度跨多屏的 findings → 聚为一个机会点("统一错误提示规范")
- blocker + major 优先聚类,minor 不强制(留给"细节优化"包)
每个机会点结构:
- title: "重做注册到首次成功的 onboarding"
addresses_findings: ["audit-3", "audit-7", "audit-12", "audit-18"]
priority: high # 综合 findings 严重度 + 用户改版目标判断
rationale: "4 个 finding 集中在注册流的 visibility / error-prevention / user-control 三个维度,全部为 major。用户改版目标提到'提升注册转化率 20%',本机会点直接对应。"
机会点数量约束:3-8 个(少于 3 个说明 finding 太散没聚类价值,多于 8 个说明聚类粒度太细)。
Step 5 — 输出
5.1 Markdown 报告
输出到对话 + 保存到 spark-output/audit/[project-slug].md:
# Audit — [项目名]
- **生成时间**:[ISO8601]
- **走查对象**:[URL / 代码路径 / 截图]
- **走查页面数**:N
- **走查模式**:自动 / 引导 / 清单
## 总览
| 严重度 | 数量 |
| --- | --- |
| 🔴 Blocker | N |
| 🟠 Major | N |
| 🟡 Minor | N |
**按维度分布**:
| 维度 | findings 数 |
| --- | --- |
| visibility | N |
| ... | ... |
## 改版机会点(按优先级排序)
### 🥇 高优先级
**机会点 1:[title]**
- 关联 findings:[N 个 → 列 id]
- 优先级理由:[rationale]
- 影响范围:[哪些屏 / flow]
### 🥈 中优先级
(同上格式)
## 完整 Findings 清单
### 维度 1:visibility(系统状态可见性)
1. **[severity]** [description]
- 出现位置:[evidence]
- 修复建议:[suggestion]
- 修复成本:quick-win / medium / major-rework
(按维度分组列出所有 findings)
## 下一步建议
- **改版方向**:基于机会点 1-3,建议下一步走 Brief 把改版方向沉淀为一页纸
- **修复优先**:Blocker 项建议在改版工程启动前先修
5.2 双通道 Context 输出
按 chain-protocol.md §2.1 v1.1 智能适配规则:
Step 1 — 写盘到 spark-output/context/audit.json(必做,主持久化通道;目录不存在先创建)。写入以下完整 JSON:
{
"skill": "audit",
"generated_at": "<ISO8601>",
"project_name": "...",
"target": {
"type": "url|code|screenshots|description",
"reference": "<URL 或路径>",
"pages_audited": ["..."]
},
"audit_framework": ["Nielsen-10", "responsive", "performance"],
"findings": [
{
"id": "audit-1",
"heuristic": "visibility|real-world-match|user-control|consistency|error-prevention|recognition|flexibility|aesthetic|error-recovery|help-docs|responsive|performance",
"severity": "blocker|major|minor",
"description": "...",
"evidence": "<具体位置或截图描述>",
"suggestion": "...",
"effort": "quick-win|medium|major-rework"
}
],
"opportunities": [
{
"title": "...",
"addresses_findings": ["audit-1", "audit-3"],
"priority": "high|medium|low",
"rationale": "..."
}
],
"summary": {
"total_findings": 0,
"by_severity": { "blocker": 0, "major": 0, "minor": 0 },
"by_heuristic": { "visibility": 0, "...": 0 },
"top_opportunities": ["..."]
}
}
⚠️ summary 字段自动 derive 规则(强制):
total_findings=findings.length;by_severity.*= 对findings按severity分组计数;by_heuristic.*= 对findings按heuristic分组计数。禁止手写估算——必须在生成 JSON 时从 findings 数组 programmatic 计算得出。若发现 summary 与 findings 不一致,以 findings 数组为准重新计算。
Step 2 — chat 输出紧凑 marker(必做,⛔ 不要在 chat 内重复输出 Step 1 的完整 JSON):
<!-- spark-context:audit ref="spark-output/context/audit.json" -->
Audit 已保存:project=[project_name],[N] 个 findings(blocker [n] / major [n] / minor [n]),聚类为 [M] 个改版机会点
<!-- /spark-context:audit -->
降级 fallback:若 Step 1 写盘失败(chat-only 平台),输出完整 JSON marker(无 ref 属性,marker 之间放裸 JSON)作为唯一持久化通道。
Handoff 提示(必输出)
协议:按
_shared/next-skill.md三层结构模板输出;前 5 候选由_shared/skill-graph.json的依赖图算法实时算(done ⊆ ready,按 next_hint.preferred → alternatives → 同阶段 → anchor → fan-out 排序),优先建议从_shared/skill-graph.json#skills[id="audit"].next_hint读取。
首行模板:✅ 启发评估 已完成,Nielsen 十原则走查 findings 已沉淀。
本 Skill 的 next_hint(来自 skill-graph.json,不可在此 SKILL.md 内硬编码覆盖):
- preferred:
/brief - 优先理由:走查 findings 已就位,进 Brief 锚定本次改版的策略与边界。
- alternatives:
/stories(想直接把 finding 转成修复型故事) - emoji:🔍
红线:
- ❌ 禁止在本段硬编码候选清单(如「进入 X / Y / Z」)——所有候选必须由算法实时生成
- ❌ 禁止按「文档类 / 视觉类 / 决策类」再分类候选(v0.5.5 起,分类已折叠进 next_hint.alternatives)
- ❌ 禁止与「更新链路面板」段合并——两段必须各自独立成段,中间空一行
- ❌ 禁止漏第 2 行候选清单——即使候选只有 1 个、或为空(终端节点)也要写出来
实操注意事项
自动模式(URL)的局限
- WebFetch 取不到需登录页面
- 单页应用(SPA)的二级页面可能取不到
- 无法测试交互态(hover / focus / loading)
- 建议自动模式 + 用户补充截图混用
与 Bench 的关系
如果上游有 Bench 上下文(竞品深度拆解),Audit 走查时可主动对照:"竞品 [X] 在这个场景用了 [Y] 模式,本产品当前是 [Z],是否考虑迁移?"——把这种对照标为 opportunity 而非 finding。
与 Check 的复用
Audit 的 12 维度有部分与 Check 的 10 类相似(visibility / error-prevention 等),但判断对象不同(已上线产品 vs 设计稿)。不要把 Check 的 finding 当 Audit 用,也不要反过来。
已知限制
- AI 走查带主观性,建议关键发现配合 5-10 人真实用户测试验证
- 自动模式只能扫静态层面,无法测试用户实际行为路径
- 不替代正式的可用性测试(用 Test Skill)
- 不替代完整无障碍审计(用 Access Skill)
- 与 Check 严格区分:设计稿走查请用 Check Skill
与兄弟 Skill / PM 套件的边界(v0.4.0 补充)
| 场景 | 用谁 | 不用谁 |
|---|---|---|
| 改版项目:先诊断现有产品体验 | Audit | Frame(新项目无 PRD)/ Scope(拆 PRD) |
| 新产品方向探索 | Frame | Audit(Audit 必须有现成产品可走查) |
| 已有 PRD 要拆解 | Scope | Audit(Audit 不读 PRD 而是走查产品本身) |
| 完整 WCAG 合规审计 | Access | Audit(Audit 含可访问性一项,不替代完整 50+ 项 WCAG) |
| 主动用研找问题根因 | Probe | Audit(Audit 是专家走查 / 启发式,不做访谈) |
| 海量工单提炼高频痛点 | Signal | Audit(Audit 单人 / 小组走查,样本是产品本身不是工单) |
Audit 不可替代性:基于 Nielsen 10 + Krug + 自定义启发式,是「专家视角快速诊断现有体验」的最低成本工具——Probe(用研)/ Signal(工单)/ Bench(竞品)都需要外部数据,Audit 只需要现有产品本身。
质量标准
- Nielsen 10 原则全覆盖:可见性 / 匹配现实 / 用户控制 / 一致性 / 防错 / 识别>回忆 / 灵活高效 / 美观简洁 / 错误恢复 / 帮助文档——10 项必须各 list 至少一次
- 每个 finding 三件套:问题描述 + 严重度(critical/major/minor/nit)+ 修复建议——缺一即不合格
- 截图 / 定位明确:每个 finding 必须可定位(页面路径 / 模块 / 截图 ref),不能只说「整体感觉不好」
- 改版机会点反向输出:findings 必须聚合为 ≥ 3 个改版方向,传递给下游 Brief
- 可选读取 Probe/Signal/Bench:如有这三个上游,必须显式引用其证据(不能只用专家直觉)
- 优先级排序:findings 按 severity × frequency 排序,前 10 条必须可落地为下次改版的待办
红线规则
- 不替代用户测试:Audit 是专家启发式,不是真实用户行为——重要决策必须配 Probe 或可用性测试(Test 未来)
- 不替代完整 WCAG 审计:Audit 含可访问性一项粗筛,完整 50+ 项合规请用 Access——法律合规场景不能只用 Audit
- 不下整体评分:不能给产品打「整体 7/10」这种总分——Audit 输出可执行 findings,不输出整体评级