先以固定总价做一次评估,用你的文档检验试点。然后按小时付费、设定上限,把它的分数提上去;能描述清楚的工作,再商定固定总价。
停滞的 AI 试点可以作为交钥匙项目来完成,最后交付一套能用的系统。先做一次简短的固定总价评估:用你的文档测量试点,并定下它必须达到的分数。把分数提高到这个目标,是谁都无法事先定价的工作,所以这部分要按工时与材料计费:按小时费率付费,总额设上限。其余部分,也就是能在纸面上描述清楚的工作,按阶段定下固定总价。
简短的答案是:先买一次固定总价的评估;在对方用你的文档测过试点之前,不要同意为整个项目定一个总价。之后,凡是能事先描述清楚的阶段,各定一个固定总价;提高分数这部分按小时付费,并设上限。只有当系统在你的文档上通过约定的测试时,才为固定总价阶段付款,并保留在阶段之间叫停的权利。
对 AI 系统来说,交钥匙指的是公司交付一套拿来就能用的系统,并由合同写明“能用”是什么意思。例如,系统运行在你的边界之内,也就是你公司掌控的服务器或云账户上。它在你的文档上达到目标分数,并把没有把握的情况交给人处理。这家公司撤出之后,你的员工能自己运行它。
在建筑行业,交钥匙承包商负责设计和建造整个设施,建成后交付即可投入使用。国际咨询工程师联合会(FIDIC)为这类项目出版了一套标准合同,通称银皮书。
FIDIC 介绍 2017 年版的页面列出了银皮书不适用的三种情况:
对于这些情况,FIDIC 推荐另一种标准合同,即它的黄皮书。在有公司拿你的文档实际跑过一遍之前,一个停滞的 AI 试点符合前两种情况,因为还没有人勘察过现场。下文所述的分阶段合同则符合第三种情况,因为它让你对工作保持密切的控制。所以,要把“交钥匙”理解为交付一套能用的系统,而工作本身按阶段定价。
软件项目的很多部分,都可以在动手开发之前描述清楚。一份报表,或者与另一个系统的对接,都能写在纸面上,而公司可以为写下来的东西定价。
用语言模型读取文档的系统,有一个部分是谁都无法事先描述的:它在你的文档上把每个字段读对的比例有多高。字段就是一项数据,比如一个日期或一笔金额。答案取决于你的扫描件和模板,也取决于那些不出现就没人想得起来的情况。在有人用你的文档测量这个系统之前,没有人知道达到目标分数需要多少工作量。
美国政府的采购规则也做了同样的区分。《联邦采购条例》(FAR)第 16 部分讲的是合同类型。它把工时与材料合同描述为:按固定的小时费率为实际工作的小时数付费,再加上材料的实际成本。它只允许在以下情况使用这种合同:签约时没有人能准确估算工作量,或者无法“以任何合理程度的把握”预测其成本。
按照 FAR,固定总价合同适合规格明确、一开始就能定出合理价格的工作。第 16 部分还要求合同官:一旦经验为更确定的定价提供了依据,就要避免长期使用工时与材料合同。
所以,如果在还没有人拿你的文档跑过一遍之前,就为整个项目报出固定总价,这个价格往往会为未知因素留出很大的余量。另一种做法是列一份除外事项清单,写明价格不包含哪些内容,而每一项都把一份风险交还给你。在方案里,这两样都要找一找。
本文不构成法律建议。合同由你的律师来写,本文列出合同应当涵盖的内容。把工作拆开,每一部分都按它开始时已知的情况来定价:
FAR 还要求工时与材料合同包含“承包商超出即自担风险的最高限价”。你的合同里也要设一个上限。它限定了你最多付多少钱,但按照 FAR 自己的付款条款,一旦达到上限,除非你提高上限,否则对方公司没有义务继续工作。要事先约定到那时怎么办:叫停、提高上限,还是重新规划工作。
一家公司可能会把整个流程打包成一份合同,并称之为交钥匙。只要每个阶段都有自己的价格和验收测试,而且你可以在阶段之间叫停,这样做也行得通。
“完成”指的是系统通过验收测试,而打分所对照的合格线要在定价之前商定好。合同应当写明:
验收集要留出一部分,在验收测试之前不让这家公司看到。如果公司见过每一份测试文档,它就能针对这些文档专门调整系统,分数也就会高估系统读取新文档的能力。上面链接的那篇关于始终没能投入生产的 AI 试点的文章,讲了如何建立验收集。
事先约定以下事件会如何改变价格:
除非合同另有约定,运行成本不包含在开发价格之内。模型使用费,或运行模型的服务器成本,会随文档数量增长。要商定在开发期间和上线之后由谁支付这些费用,以及价格是按每月多少份文档测算的。
每一笔固定总价付款,都要与系统在你的边界之内通过验收测试挂钩,任何一笔都不要仅凭到了某个日期就该付。在工时与材料阶段,你按工时付费,直到上限为止,而每周的分数会告诉你要不要继续。
尾款中留出一部分暂不支付,直到系统在生产环境中运行满约定的期限,且分数始终没有低于目标分数。留存的比例和期限要在签约之前商定。
保留这样的权利:在任何一个阶段结束后都可以叫停,并带走到那时为止做出来的一切,包括代码、提示词、验收集,以及用它给系统打分的脚本。下方链接的那篇文章讲了代码所有权在合同里是怎么落实的。
写一页纸的需求说明:试点做什么、读取哪些文档、每天读多少份、数据可以去往哪里,以及你需要的分数。把它连同同样的问题,发给候选名单上的每一家公司:
上面链接的那篇关于外包 AI 开发而数据不出公司的文章,详细讲了最后一个问题。
amBrain 公开描述的唯一一个语言模型项目是:“我们已在一家客户的金融科技边界之内,将一项 LLM 集成投入生产:把非结构化的经纪商与交易场所通知——公司行动、金融工具与保证金变更——抽取并规范化为交易系统所消费的结构化记录。”
本文不是案例研究。它并没有说上述项目起初是另一个团队停滞的试点。上文的各种付费模式,包括交钥匙和固定总价在内,都是一般性建议,本文也没有说 amBrain 是否提供其中任何一种。本文不给出 amBrain 的任何价格或工期。
amBrain 接手在其他团队手里停滞的项目,并把它们推进到生产环境。
amBrain 自 2019 年起开发软件。关于所有权,amBrain 的说法是:“客户拥有产品与代码的全部所有权,我们的可复用组件除外。”签约之前,请像对待其他任何公司一样,要求 amBrain 逐项列出这些组件的名称。
如果你的试点停滞了,就把发给其他每家公司的同一份需求说明和同样的问题也发给 amBrain,然后把各家的回答放在一起比较。
带上您当前的架构和让您担心的故障场景,我们用半小时一起梳理。