---
title: "AI MVP 范围模板"
canonical: https://wavect.io/zh/blog/ai-mvp-scope-template/
language: zh
description: "AI MVP 的 SoW 需要版本化评测集、带阈值的目标指标、上线门槛，以及对不确定情形的处理。附一份可直接复制、可当作实用文档使用的范围模板。"
image: "https://wavect.io/img/blog/headers/header_ai-mvp-scope-template.png"
---

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

13 min 阅读 · 12 Jun 2026

[**下一篇**](/zh/blog/technical-due-diligence-ai-mvp/)

# AI MVP 范围模板：验收标准、评测集、上线门槛，以及哪些内容应写进 SoW

要点速览

为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。对于 LLM 来说，“它能用”并不是一个可测试的验收标准。你要用四样东西取代它，而且这四样必须在钱易手之前就写进工作说明书：一个带黄金答案的版本化评测集、该评测集上的目标指标与阈值、一个决定能否上线的上线门槛，以及对不确定情形的明确处理外加回滚机制。如果某供应商的范围写着“构建一个 AI 助手”却不含其中任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。文中附有一份可直接复制的模板。

为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。"用户可以重置密码"是一个二元判断，你可以把它写成通过或失败的测试。"助手回答正确"则不是，因为同一个问题在模型版本、温度或措辞改变时会产生不同的答案。所以你要用四样东西取代"它能用"，而且这四样必须在钱易手之前就写进工作说明书：一个带有黄金答案的**版本化评测集**、该评测集上的**目标指标与阈值**、一个决定能否上线的**上线门槛**，以及对**不确定情形**的明确处理外加回滚机制。如果某供应商的范围写着"构建一个 AI 助手"却不含这四样中的任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。下方附有一份可直接复制的模板。

这正是创始人在采购之前在内部传阅的那份文档。它从构建方的角度撰写，把那些棘手的问题都摆到了明面上。监管日期截至 2026 年中有效，凡处于变动中的均已注明保留。

## 为什么"它能用"对 AI 不管用

在普通软件中，验收是二元的：给定输入 X，断言输出 Y，完成。对于同一个输入，LLM 在多次运行之间会给出不同的输出，所以"聊天机器人回答精准"背后并没有任何测试。没有数字、没有界定好的集合、没有底线，没有东西可签字确认，质量糟糕时也没有东西可据理力争。解决办法是统计性的，而非二元的。你在一个界定好的集合上接受一个测得的比率，最好在多次运行间取平均，而对于可复现的回归检查，在用例允许之处把温度固定为零。第二个陷阱紧随而来：对某个情形的修复会悄悄破坏另一个，所以评测集必须在每次提示词或模型变更时都作为门槛运行，而不是只在最后跑一次。正是这一个转变，从"它能用"转到"它每一次都在这个集合上越过这道线"，才是把一个 AI 构建范围划好的全部意义所在。

## AI MVP 的工作说明书必须钉死哪些内容

每一节都得对得起自己的位置。承重的几节是评测集、验收标准和上线门槛。

| 章节 | 它必须钉死什么 |
| --- | --- |
| 问题 + 一个结果 | 一句话。MVP 必须完成的那一项用户任务。凡不为它服务的，都在范围之外。 |
| 范围内与范围外 | 两份清单。范围外清单才是承重的那一份：把你不打算构建的那些诱人功能（多语言、语音、微调、移动端）点名列出，让它们成为变更请求，而不是默认假设。 |
| 功能 + AI 行为规格 | 常规需求外加 AI 行为：任务、语气、拒答行为（何时必须说"我不知道"）、引用要求，以及在低置信度或检索未命中时的回退。这里就是你为不确定情形编码的地方。 |
| 验收标准 | 在一个具名评测集上的目标指标加阈值。绝不能是"它能用"。示例见下。 |
| 评测集 | 多少个案例（大约 100 个是一个可行的 MVP 底线，~200 个用于更完整的集合；十个几乎说明不了什么）、黄金答案归谁所有（你这一方的领域专家，而非供应商一家）、以及每个案例如何打分：对客观字段做确定性检查，用 LLM-as-judge 以二元通过或失败来评判细微的质量，再用人工复核来校准。 |
| 上线门槛 + 回滚 | 可衡量的上线门槛，由产品、工程和 QA 在编写测试之前共同商定，外加一个自动回滚触发器和一个终止判据。 |
| 数据 | 来源、出处、使用权（训练与检索）、PII 处理以及数据驻留。看得到提示词的模型 API 是一个次级处理者：它需要一份 DPA 以及不训练、零留存的配置，而不是面向消费者的条款。 |
| 非功能性 | 延迟预算（对于流式 UI，time-to-first-token 是首要 SLA）、每次动作的成本预算（输出 token 的成本是输入的数倍，且智能体式流程会把一次动作扇出成许多次调用），以及对每一次模型调用的日志记录。 |
| 安全与合规 | 认证、权限模型与租户隔离、GDPR（处理活动记录、合法依据、对高风险的 DPIA、次级处理者 DPA），以及在应用与用户对话之处的 EU AI Act 透明度。 |
| 里程碑、付款、IP、交接 | 分阶段的探索、构建、评测与加固、上线，按阶段付款。付款后 IP 归你所有。一份具名的交接产物清单。 |

## 验收标准：错与对

正是这一节决定了你能否对供应商有所约束。

**错**，因为没有数字、没有集合、也没有底线："聊天机器人正确回答客户的问题"、"助手准确而有帮助"、"模型很少幻觉"、"它在测试中表现良好"。

**对**，在商定好的、带固定黄金答案的 100 案例评测集上：

- 至少 90% 的忠实回答，扎根于检索到的上下文，由 LLM-as-judge 以二元通过或失败打分，并对照人工标注进行校准；
- 至少 85% 的回答相关性；
- 有害或违反政策的输出低于 2%，作为硬性门槛，任何单条有害输出都阻止上线；
- 在至少 95% 的无法回答的测试案例上拒答或上报；
- p95 time-to-first-token 低于 2 秒，p95 完整响应低于 4 秒；
- 在商定的模型下每次对话成本低于 EUR 0.05；
- 部署前的评测运行中，任何指标都不低于其底线。

把这些确切阈值当作根据你的风险来谈判的起点，而非金科玉律。供应商通常把忠实度达到或高于 0.75、幻觉低于 5%（高风险场景为 1%）作为生产起点；你应根据一个错误答案对你意味着多大代价来设定自己的阈值。你在这里划定的评测集，正是投资人技术尽调将索要的同一份证据，我们在 [AI MVP 技术尽调清单](/zh/blog/technical-due-diligence-ai-mvp/) 中有所覆盖，而打分方法见 [LLM 评测何时值得构建](/zh/blog/llm-evaluation-cost-roi-production/) 。

## 可直接复制的范围模板

粘贴它，填好方括号，删掉不适用的部分。在你拿到任何一份提案之前就把它传阅一遍。

**AI MVP 范围 / SoW，[项目名称]** *日期 [日期] · 版本 [v0.1] · 负责人 [姓名]*

**1. 问题 + 一个结果。** 问题：[一句话]。这个 MVP 必须交付的那一个结果：[用户] 能够 [做 X]，以便 [Y]。

**2. 范围。** 范围内：[功能 1]、[功能 2]。范围外，仅限变更请求：[多语言]、[语音]、[微调]、[移动端]。

**3. 功能 + AI 行为。** 功能：[清单]。AI 行为：任务 [具体做什么]、语气 [简洁，不臆测]、引用 [必须或不得扎根于来源]、拒答 [当超出范围或低置信度时，说"我不知道"或上报]、回退 [备用模型、缓存答案或转交人工]。

**4. 验收标准。** 在商定好的 [100] 案例评测集上：忠实度 >= [90]%；相关性 >= [85]%；有害输出 < [2]%（任何单条失败都阻止上线）；无法回答案例上的正确拒答 >= [95]%；p95 time-to-first-token < [2]s；p95 完整响应 < [4]s；在模型 [X] 下每次对话成本 < [EUR 0.05]；部署前任何指标都不低于其底线。

**5. 评测集。** 规模 [100] 个案例（[X] 个顺畅路径、[Y] 个边缘、[Z] 个无法回答）。黄金答案负责人：[客户方领域专家]。打分：对 [客观字段] 做确定性检查，对 [质量] 用 LLM-as-judge 通过或失败，人工复核用于校准。存储并版本化于 [位置]。

**6. 上线门槛 + 回滚。** 当第 4 节的所有底线均达成、并经 [产品] + [工程] + [QA] 签字确认后上线。回滚：若 [指标] 在一个 [窗口] 内跌破 [底线]，自动回退。终止判据：若 [忠实度 < X% 或出现任何有害输出]，则不发布。

**7. 数据。** 来源 [清单]、出处与权利 [按来源]、PII [处理什么以及如何处理]、驻留 [欧盟区域]。模型提供方：已签 DPA、不训练、零留存。

**8. 非功能性。** 延迟与成本预算如第 4 节所述。可观测性：将每一次模型调用（提示词、响应、token、成本）记录到 [工具]，每日成本告警阈值为 [阈值]。

**9. 安全 + 合规。** 认证 [方法]、权限与租户隔离 [模型]、GDPR（处理记录、合法依据、必要时的 DPIA、处理者协议），以及应用与用户交互时自 2026 年 8 月 2 日起适用的第 50 条透明度义务。

**10. 里程碑 + 付款。** 探索、构建、评测与加固、上线，按阶段付款。付款后 IP 归 [客户] 所有。交接：评测集与结果、提示词与模型登记表、架构与数据流图、运行手册、日志访问、凭据。签字确认：客户 [__] 供应商 [__] 日期 [__]。

![Kevin Riedl](/img/team/kevin.webp)

"如果范围无法用数字告诉你足够好长什么样、以及模型出错时会发生什么，那它就不是范围。它只是一个愿望。评测集和上线门槛是把一个 AI 演示变成你真正能够采购之物的那两行字。"

## 关于 AI Act 的一点说明

如果应用与用户交互，第 50 条透明度义务自 2026 年 8 月 2 日起适用。独立高风险系统义务现改为自 2027 年 12 月 2 日起适用，嵌入受监管产品的高风险系统则自 2028 年 8 月 2 日起适用。请把适用角色、分类和日期写进范围，不要给所有 AI 系统套用同一个日期。

## 常见问题

### 如何为一项 AI 功能编写验收标准？

不要写成"它能用。"你要在一个具名评测集上定义目标指标和阈值，例如在 100 案例集上至少 90% 的忠实回答、有害输出低于 2%、p95 延迟低于 4 秒、每次对话成本低于 EUR 0.05。由于系统是概率性的，你接受的是多次运行间测得的比率，而不是单次的通过或失败。

### 什么是评测集？

一个版本化、归属明确的代表性输入案例集合，配有商定好的黄金答案，用于客观衡量质量，并在每次提示词或模型变更时捕捉回归。大约 100 个案例是一个可行的 MVP 底线，约 200 个用于更完整的集合。十个案例几乎说明不了什么。

### 评测集应归谁所有？

你这一方的领域专家，而非供应商一家。知道正确答案长什么样的那个人必须定义黄金答案，否则你就是在让构建方批改自己的作业。

### 评测案例如何打分？

三种方式，常常组合使用：对日期、ID、JSON 结构等客观字段做确定性代码检查；用 LLM-as-judge 评判细微的质量，采用二元通过或失败而非 1 到 5 的评分；以及用人工复核来构建和校准这个评判器。

### LLM 应用的上线门槛是什么？

决定能否上线的可衡量门槛：系统在评测集上必须达到的阈值，由产品、工程和 QA 在编写任何测试之前共同商定。低于门槛就不发布。它还定义了回滚触发器和终止判据。

### AI 工作说明书里应该包含什么？

问题与一个结果、范围内与范围外、功能需求外加 AI 行为规格（语气、拒答、引用、回退）、作为评测集上指标加阈值的验收标准、评测集本身、上线门槛与回滚、数据权利及 PII 与驻留、非功能性（延迟、每次动作成本、日志记录）、安全与合规，以及里程碑、付款、IP 和交接产物。

### 为什么我不能在范围里直接写"AI 回答正确"？

因为模型是非确定性的。同一个问题可能产生不同的答案，所以"正确"背后并没有任何测试。你需要一个界定好的集合、一个指标和一道底线，否则就没有东西可签字确认，质量糟糕时也没有东西可据理力争。

### AI 出错或不确定时我该如何处理？

在范围里把它写明：一条拒答或"我不知道"的路径、向人工上报，或一个回退。然后通过在评测集中纳入无法回答的案例来测试它，并要求系统在比如至少 95% 的此类案例上拒答或上报。

### AI MVP 的 SoW 需要哪些数据条款？

训练与检索数据的出处和使用权、PII 处理、相关情况下的欧盟数据驻留，以及与模型提供方签订的、配置为不训练且零留存的 DPA。看得到用户提示词的模型 API 是一个次级处理者。

### EU AI Act 会影响我的 AI MVP 范围吗？

会，取决于使用场景和你的角色。第 50 条透明度义务自 2026 年 8 月 2 日起适用，独立高风险系统自 2027 年 12 月 2 日起适用，嵌入产品的高风险系统自 2028 年 8 月 2 日起适用。

## 最终思考

一份 AI MVP 范围的好坏，取决于它的评测集和上线门槛。这两行字把一句含糊的"给我们造个助手"变成了既能约束供应商、日后又能赢得投资人尊重的东西。

所以在你拿到一份提案之前，先写下那一个结果，划出范围外的界线，在一个由你自己的专家拥有的集合上定义指标和底线，决定模型不确定时会发生什么，并点明让它上线的那道门槛。上方的模板就是起点。先把它填好，你拿回来的那些提案才会谈的是同一件事，而这正是比较它们的唯一办法。

## 你可能也喜欢..

[**AI MVP 技术尽调清单** 你在这里划定的评测集，正是投资人尽调将索要的东西。他们在演示之外还会检查什么，以及该准备好哪些产物。](/zh/blog/technical-due-diligence-ai-mvp/) [**AI 赋能与通用型 AI 咨询的对比** 一家递给你一份策略幻灯片。另一家在你的基础设施上交付一套可运行的方案，由你的团队拥有并能够自行运营。](/zh/compare/ai-enablement-vs-generic-ai-consultancy/)

产品战略

## 继续浏览此集群

范围、产品市场匹配、可信版本与打造有用产品的关键决策。

[从核心文章开始**通往产品市场契合的道路**](/zh/blog/road-to-product-market-fit/)

- [2026 年在奥地利做一个 AI MVP 要多少钱？](/zh/blog/ai-mvp-cost-austria-2026/)
- [我们交付的产品。多少失败了](/zh/blog/products-shipped-failure-benchmark/)
- [通往产品市场契合的道路](/zh/blog/road-to-product-market-fit/)
- [逃离功能陷阱](/zh/blog/product-factory-kills/)

只收重要内容

## 关注与你相关的内容

每当我们发布新文章，你会收到一封简短邮件。你可以关注整个博客，也可以只选感兴趣的主题。

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

13 min 阅读 · 12 Jun 2026

[**下一篇**](/zh/blog/technical-due-diligence-ai-mvp/)

邮件订阅新文章 ×

×

通过邮件获取新文章

我们发布时给你一封简短邮件。免费，不做跟踪。

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/blog/ai-mvp-scope-template/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-07-07",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-07-07",
      "url": "https://wavect.io/zh/blog/ai-mvp-scope-template/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。对于 LLM 来说，“它能用”并不是一个可测试的验收标准。你要用四样东西取代它，而且这四样必须在钱易手之前就写进工作说明书：一个带黄金答案的版本化评测集、该评测集上的目标指标与阈值、一个决定能否上线的上线门槛，以及对不确定情形的明确处理外加回滚机制。如果某供应商的范围写着“构建一个 AI 助手”却不含其中任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。文中附有一份可直接复制的模板。",
  "articleBody": " 博客概览/产品与 MVP/产品战略 AI MVP 范围模板：验收标准、评测集、上线门槛，以及哪些内容应写进 SoW 要点速览 为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。对于 LLM 来说，“它能用”并不是一个可测试的验收标准。你要用四样东西取代它，而且这四样必须在钱易手之前就写进工作说明书：一个带黄金答案的版本化评测集、该评测集上的目标指标与阈值、一个决定能否上线的上线门槛，以及对不确定情形的明确处理外加回滚机制。如果某供应商的范围写着“构建一个 AI 助手”却不含其中任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。文中附有一份可直接复制的模板。 为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。\"用户可以重置密码\"是一个二元判断，你可以把它写成通过或失败的测试。\"助手回答正确\"则不是，因为同一个问题在模型版本、温度或措辞改变时会产生不同的答案。所以你要用四样东西取代\"它能用\"，而且这四样必须在钱易手之前就写进工作说明书：一个带有黄金答案的版本化评测集、该评测集上的目标指标与阈值、一个决定能否上线的上线门槛，以及对不确定情形的明确处理外加回滚机制。如果某供应商的范围写着\"构建一个 AI 助手\"却不含这四样中的任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。下方附有一份可直接复制的模板。 这正是创始人在采购之前在内部传阅的那份文档。它从构建方的角度撰写，把那些棘手的问题都摆到了明面上。监管日期截至 2026 年中有效，凡处于变动中的均已注明保留。 为什么\"它能用\"对 AI 不管用 在普通软件中，验收是二元的：给定输入 X，断言输出 Y，完成。对于同一个输入，LLM 在多次运行之间会给出不同的输出，所以\"聊天机器人回答精准\"背后并没有任何测试。没有数字、没有界定好的集合、没有底线，没有东西可签字确认，质量糟糕时也没有东西可据理力争。解决办法是统计性的，而非二元的。你在一个界定好的集合上接受一个测得的比率，最好在多次运行间取平均，而对于可复现的回归检查，在用例允许之处把温度固定为零。第二个陷阱紧随而来：对某个情形的修复会悄悄破坏另一个，所以评测集必须在每次提示词或模型变更时都作为门槛运行，而不是只在最后跑一次。正是这一个转变，从\"它能用\"转到\"它每一次都在这个集合上越过这道线\"，才是把一个 AI 构建范围划好的全部意义所在。 AI MVP 的工作说明书必须钉死哪些内容 每一节都得对得起自己的位置。承重的几节是评测集、验收标准和上线门槛。 章节它必须钉死什么 问题 + 一个结果一句话。MVP 必须完成的那一项用户任务。凡不为它服务的，都在范围之外。 范围内与范围外两份清单。范围外清单才是承重的那一份：把你不打算构建的那些诱人功能（多语言、语音、微调、移动端）点名列出，让它们成为变更请求，而不是默认假设。 功能 + AI 行为规格常规需求外加 AI 行为：任务、语气、拒答行为（何时必须说\"我不知道\"）、引用要求，以及在低置信度或检索未命中时的回退。这里就是你为不确定情形编码的地方。 验收标准在一个具名评测集上的目标指标加阈值。绝不能是\"它能用\"。示例见下。 评测集多少个案例（大约 100 个是一个可行的 MVP 底线，~200 个用于更完整的集合；十个几乎说明不了什么）、黄金答案归谁所有（你这一方的领域专家，而非供应商一家）、以及每个案例如何打分：对客观字段做确定性检查，用 LLM-as-judge 以二元通过或失败来评判细微的质量，再用人工复核来校准。 上线门槛 + 回滚可衡量的上线门槛，由产品、工程和 QA 在编写测试之前共同商定，外加一个自动回滚触发器和一个终止判据。 数据来源、出处、使用权（训练与检索）、PII 处理以及数据驻留。看得到提示词的模型 API 是一个次级处理者：它需要一份 DPA 以及不训练、零留存的配置，而不是面向消费者的条款。 非功能性延迟预算（对于流式 UI，time-to-first-token 是首要 SLA）、每次动作的成本预算（输出 token 的成本是输入的数倍，且智能体式流程会把一次动作扇出成许多次调用），以及对每一次模型调用的日志记录。 安全与合规认证、权限模型与租户隔离、GDPR（处理活动记录、合法依据、对高风险的 DPIA、次级处理者 DPA），以及在应用与用户对话之处的 EU AI Act 透明度。 里程碑、付款、IP、交接分阶段的探索、构建、评测与加固、上线，按阶段付款。付款后 IP 归你所有。一份具名的交接产物清单。 验收标准：错与对 正是这一节决定了你能否对供应商有所约束。 错，因为没有数字、没有集合、也没有底线：\"聊天机器人正确回答客户的问题\"、\"助手准确而有帮助\"、\"模型很少幻觉\"、\"它在测试中表现良好\"。 对，在商定好的、带固定黄金答案的 100 案例评测集上： 至少 90% 的忠实回答，扎根于检索到的上下文，由 LLM-as-judge 以二元通过或失败打分，并对照人工标注进行校准； 至少 85% 的回答相关性； 有害或违反政策的输出低于 2%，作为硬性门槛，任何单条有害输出都阻止上线； 在至少 95% 的无法回答的测试案例上拒答或上报； p95 time-to-first-token 低于 2 秒，p95 完整响应低于 4 秒； 在商定的模型下每次对话成本低于 EUR 0.05； 部署前的评测运行中，任何指标都不低于其底线。 把这些确切阈值当作根据你的风险来谈判的起点，而非金科玉律。供应商通常把忠实度达到或高于 0.75、幻觉低于 5%（高风险场景为 1%）作为生产起点；你应根据一个错误答案对你意味着多大代价来设定自己的阈值。你在这里划定的评测集，正是投资人技术尽调将索要的同一份证据，我们在AI MVP 技术尽调清单中有所覆盖，而打分方法见LLM 评测何时值得构建。 可直接复制的范围模板 粘贴它，填好方括号，删掉不适用的部分。在你拿到任何一份提案之前就把它传阅一遍。 AI MVP 范围 / SoW，[项目名称] 日期 [日期] · 版本 [v0.1] · 负责人 [姓名] 1. 问题 + 一个结果。 问题：[一句话]。这个 MVP 必须交付的那一个结果：[用户] 能够 [做 X]，以便 [Y]。 2. 范围。 范围内：[功能 1]、[功能 2]。范围外，仅限变更请求：[多语言]、[语音]、[微调]、[移动端]。 3. 功能 + AI 行为。 功能：[清单]。AI 行为：任务 [具体做什么]、语气 [简洁，不臆测]、引用 [必须或不得扎根于来源]、拒答 [当超出范围或低置信度时，说\"我不知道\"或上报]、回退 [备用模型、缓存答案或转交人工]。 4. 验收标准。 在商定好的 [100] 案例评测集上：忠实度 >= [90]%；相关性 >= [85]%；有害输出 < [2]%（任何单条失败都阻止上线）；无法回答案例上的正确拒答 >= [95]%；p95 time-to-first-token < [2]s；p95 完整响应 < [4]s；在模型 [X] 下每次对话成本 < [EUR 0.05]；部署前任何指标都不低于其底线。 5. 评测集。 规模 [100] 个案例（[X] 个顺畅路径、[Y] 个边缘、[Z] 个无法回答）。黄金答案负责人：[客户方领域专家]。打分：对 [客观字段] 做确定性检查，对 [质量] 用 LLM-as-judge 通过或失败，人工复核用于校准。存储并版本化于 [位置]。 6. 上线门槛 + 回滚。 当第 4 节的所有底线均达成、并经 [产品] + [工程] + [QA] 签字确认后上线。回滚：若 [指标] 在一个 [窗口] 内跌破 [底线]，自动回退。终止判据：若 [忠实度 < X% 或出现任何有害输出]，则不发布。 7. 数据。 来源 [清单]、出处与权利 [按来源]、PII [处理什么以及如何处理]、驻留 [欧盟区域]。模型提供方：已签 DPA、不训练、零留存。 8. 非功能性。 延迟与成本预算如第 4 节所述。可观测性：将每一次模型调用（提示词、响应、token、成本）记录到 [工具]，每日成本告警阈值为 [阈值]。 9. 安全 + 合规。 认证 [方法]、权限与租户隔离 [模型]、GDPR（处理记录、合法依据、必要时的 DPIA、处理者协议），以及应用与用户交互时自 2026 年 8 月 2 日起适用的第 50 条透明度义务。 10. 里程碑 + 付款。 探索、构建、评测与加固、上线，按阶段付款。付款后 IP 归 [客户] 所有。交接：评测集与结果、提示词与模型登记表、架构与数据流图、运行手册、日志访问、凭据。签字确认：客户 [__] 供应商 [__] 日期 [__]。 \"如果范围无法用数字告诉你足够好长什么样、以及模型出错时会发生什么，那它就不是范围。它只是一个愿望。评测集和上线门槛是把一个 AI 演示变成你真正能够采购之物的那两行字。\" 关于 AI Act 的一点说明 如果应用与用户交互，第 50 条透明度义务自 2026 年 8 月 2 日起适用。独立高风险系统义务现改为自 2027 年 12 月 2 日起适用，嵌入受监管产品的高风险系统则自 2028 年 8 月 2 日起适用。请把适用角色、分类和日期写进范围，不要给所有 AI 系统套用同一个日期。 常见问题 如何为一项 AI 功能编写验收标准？ 不要写成\"它能用。\"你要在一个具名评测集上定义目标指标和阈值，例如在 100 案例集上至少 90% 的忠实回答、有害输出低于 2%、p95 延迟低于 4 秒、每次对话成本低于 EUR 0.05。由于系统是概率性的，你接受的是多次运行间测得的比率，而不是单次的通过或失败。 什么是评测集？ 一个版本化、归属明确的代表性输入案例集合，配有商定好的黄金答案，用于客观衡量质量，并在每次提示词或模型变更时捕捉回归。大约 100 个案例是一个可行的 MVP 底线，约 200 个用于更完整的集合。十个案例几乎说明不了什么。 评测集应归谁所有？ 你这一方的领域专家，而非供应商一家。知道正确答案长什么样的那个人必须定义黄金答案，否则你就是在让构建方批改自己的作业。 评测案例如何打分？ 三种方式，常常组合使用：对日期、ID、JSON 结构等客观字段做确定性代码检查；用 LLM-as-judge 评判细微的质量，采用二元通过或失败而非 1 到 5 的评分；以及用人工复核来构建和校准这个评判器。 LLM 应用的上线门槛是什么？ 决定能否上线的可衡量门槛：系统在评测集上必须达到的阈值，由产品、工程和 QA 在编写任何测试之前共同商定。低于门槛就不发布。它还定义了回滚触发器和终止判据。 AI 工作说明书里应该包含什么？ 问题与一个结果、范围内与范围外、功能需求外加 AI 行为规格（语气、拒答、引用、回退）、作为评测集上指标加阈值的验收标准、评测集本身、上线门槛与回滚、数据权利及 PII 与驻留、非功能性（延迟、每次动作成本、日志记录）、安全与合规，以及里程碑、付款、IP 和交接产物。 为什么我不能在范围里直接写\"AI 回答正确\"？ 因为模型是非确定性的。同一个问题可能产生不同的答案，所以\"正确\"背后并没有任何测试。你需要一个界定好的集合、一个指标和一道底线，否则就没有东西可签字确认，质量糟糕时也没有东西可据理力争。 AI 出错或不确定时我该如何处理？ 在范围里把它写明：一条拒答或\"我不知道\"的路径、向人工上报，或一个回退。然后通过在评测集中纳入无法回答的案例来测试它，并要求系统在比如至少 95% 的此类案例上拒答或上报。 AI MVP 的 SoW 需要哪些数据条款？ 训练与检索数据的出处和使用权、PII 处理、相关情况下的欧盟数据驻留，以及与模型提供方签订的、配置为不训练且零留存的 DPA。看得到用户提示词的模型 API 是一个次级处理者。 EU AI Act 会影响我的 AI MVP 范围吗？ 会，取决于使用场景和你的角色。第",
  "articleSection": "Engineering",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "dateModified": "2026-07-07",
  "datePublished": "2026-06-12",
  "description": "为 AI MVP 划定范围与普通软件 MVP 不同，因为这个系统是概率性的，而不是确定性的。对于 LLM 来说，“它能用”并不是一个可测试的验收标准。你要用四样东西取代它，而且这四样必须在钱易手之前就写进工作说明书：一个带黄金答案的版本化评测集、该评测集上的目标指标与阈值、一个决定能否上线的上线门槛，以及对不确定情形的明确处理外加回滚机制。如果某供应商的范围写着“构建一个 AI 助手”却不含其中任何一样，那他划定的只是一个演示，而你将在加固阶段为这道缺口买单。文中附有一份可直接复制的模板。",
  "headline": "AI MVP 范围：验收标准、评测集与 SoW",
  "image": "https://wavect.io/img/blog/headers/header_ai-mvp-scope-template.svg",
  "inLanguage": "zh",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/zh/blog/ai-mvp-scope-template/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/blog/ai-mvp-scope-template/",
  "wordCount": 470
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/overview/",
      "name": "博客概览",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/topics/product-mvp/",
      "name": "产品与 MVP",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/clusters/product-strategy/",
      "name": "产品战略",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/ai-mvp-scope-template/",
      "name": "AI MVP 范围模板 | ",
      "position": 5
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "不要写成\"它能用。\"你要在一个具名评测集上定义目标指标和阈值，例如在 100 案例集上至少 90% 的忠实回答、有害输出低于 2%、p95 延迟低于 4 秒、每次对话成本低于 EUR 0.05。由于系统是概率性的，你接受的是多次运行间测得的比率，而不是单次的通过或失败。"
      },
      "name": "如何为一项 AI 功能编写验收标准？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "一个版本化、归属明确的代表性输入案例集合，配有商定好的黄金答案，用于客观衡量质量，并在每次提示词或模型变更时捕捉回归。大约 100 个案例是一个可行的 MVP 底线，约 200 个用于更完整的集合。十个案例几乎说明不了什么。"
      },
      "name": "什么是评测集？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "你这一方的领域专家，而非供应商一家。知道正确答案长什么样的那个人必须定义黄金答案，否则你就是在让构建方批改自己的作业。"
      },
      "name": "评测集应归谁所有？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "三种方式，常常组合使用：对日期、ID、JSON 结构等客观字段做确定性代码检查；用 LLM-as-judge 评判细微的质量，采用二元通过或失败而非 1 到 5 的评分；以及用人工复核来构建和校准这个评判器。"
      },
      "name": "评测案例如何打分？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "决定能否上线的可衡量门槛：系统在评测集上必须达到的阈值，由产品、工程和 QA 在编写任何测试之前共同商定。低于门槛就不发布。它还定义了回滚触发器和终止判据。"
      },
      "name": "LLM 应用的上线门槛是什么？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "问题与一个结果、范围内与范围外、功能需求外加 AI 行为规格（语气、拒答、引用、回退）、作为评测集上指标加阈值的验收标准、评测集本身、上线门槛与回滚、数据权利及 PII 与驻留、非功能性（延迟、每次动作成本、日志记录）、安全与合规，以及里程碑、付款、IP 和交接产物。"
      },
      "name": "AI 工作说明书里应该包含什么？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "因为模型是非确定性的。同一个问题可能产生不同的答案，所以\"正确\"背后并没有任何测试。你需要一个界定好的集合、一个指标和一道底线，否则就没有东西可签字确认，质量糟糕时也没有东西可据理力争。"
      },
      "name": "为什么我不能在范围里直接写\"AI 回答正确\"？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "在范围里把它写明：一条拒答或\"我不知道\"的路径、向人工上报，或一个回退。然后通过在评测集中纳入无法回答的案例来测试它，并要求系统在比如至少 95% 的此类案例上拒答或上报。"
      },
      "name": "AI 出错或不确定时我该如何处理？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "训练与检索数据的出处和使用权、PII 处理、相关情况下的欧盟数据驻留，以及与模型提供方签订的、配置为不训练且零留存的 DPA。看得到用户提示词的模型 API 是一个次级处理者。"
      },
      "name": "AI MVP 的 SoW 需要哪些数据条款？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "会，取决于使用场景和你的角色。第 50 条透明度义务自 2026 年 8 月 2 日起适用，独立高风险系统自 2027 年 12 月 2 日起适用，嵌入产品的高风险系统自 2028 年 8 月 2 日起适用。"
      },
      "name": "EU AI Act 会影响我的 AI MVP 范围吗？"
    }
  ]
}
```
