AI 技术专栏 列表全部文章
AI 技术专栏
AI 技术专栏第 7 / 7 篇

接单做 AI 应用:报价、工期、验收和风险到底怎么谈

AI 项目的成本结构和传统开发不一样:人天少了,token 多了,而且「做到什么程度算做完」特别容易扯皮。这篇讲需求怎么分型、报价里必须算进去哪些成本、工期的不确定性在哪、以及一份能写进合同的验收标准模板。写给接单交付的同行。

更多

做交付这么多年,我以为报价这件事已经不会难住我了。直到接了第一个 AI 项目。

那次我很自信地按人天报了价,做下来发现:人是省了,token 花了不少,更要命的是验收阶段来回扯了三轮——客户觉得「它回答得不够聪明」,我说「你当初没定义什么叫聪明」。最后项目是收尾了,但利润薄得像纸。

从那以后我改了做法。这篇讲的是改了什么,以及为什么。

一、AI 项目和传统项目的三个不同

维度传统开发AI 项目
成本结构几乎全是人天人天 + 持续的 token 成本
产出确定性功能做出来就是做出来了效果好不好是连续的,没有做完的那一刻
依赖方你和需求方你、需求方、以及一个你控制不了的第三方模型

第三条最容易被忽略:模型厂商改一次版本、调一次价,你的项目行为就可能变。这件事你必须在最开始就跟客户讲明白,否则后面所有的锅都是你的。

二、先给需求分型

报价前先做一件事:判断这个需求属于哪一类。风险差别很大,报价方式也应该不一样。

类型典型需求风险怎么报
A. 套壳与集成接一个现成的模型做对话、摘要、翻译、客服问答低可以按人天报,边界清晰
B. 业务流程嵌入把模型塞进现有流程:工单分类、合同提取、报表解读中人天 + 效果达标条款,分期
C. 自主决策让 agent 自己跑流程,比如自动处理退款、自动派单高建议先做付费 PoC,别一口价

C 类尤其要说清楚:这类项目的难点不在开发,在和甲方一起把「什么叫对」定义清楚。这个阶段没法一口价,因为谁都不知道要来回多少轮。我的做法是单独报一个「概念验证」的价,做完再谈正式开发。

三、报价:把这几项算进去

AI 项目容易漏掉的成本,按我踩过的坑排:

  1. token 成本。这个要按最坏情况估,不是按理想情况。一个用户一次问答可能不贵,但一个 agent 在后台反复读文件、重试、思考,消耗能到几十倍。按你预估的三到五倍留余量。
  2. 峰值成本。别忘了有峰谷价差的厂商,白天是最贵的时段。如果你的批量任务能排到夜间,成本直接减半——这个要在设计阶段就定下来。
  3. 评测成本。做评测集、跑评测、反复调,这部分工时非常可观,而且很多客户不认为这是「应该付费的开发」。要单独列出来。
  4. 调模型的工时。提示词迭代、切分策略调整、召回优化——这些看不见界面变化,但很花时间。
  5. 模型变更的维护成本。版本锁定能规避一部分,但长期项目总会有升级需求。按年维护报,或者明确「首次交付不含后续模型适配」。
  6. 兜底方案的成本。降级、转人工、规则兜底,这些是必须的工程件,不是可选项。

报价单上我现在的做法是把 token 成本单独列一行,并注明「按当前价格与预估用量估算,实际以用量结算」。这样客户知道这不是你乱加价,也避免后期涨价时说不清。

四、工期:不确定性在哪

AI 项目的工期估算,最容易翻车的地方是你按「实现」估,实际时间花在「调优」上。

一个典型 AI 项目的真实时间分布(我的经验值):

  需求澄清与「什么叫对」的定义   25%   ← 最容易被低估
  数据整理、切分、评测集          20%   ← 客户常以为不用做
  功能实现                        20%   ← 这部分其实最快
  调优循环(提示词/召回/参数)    25%   ← 最不可预测
  工程件(超时/降级/限流/审计)   10%   ← 不做就等着出事

所以我的做法是:把调优部分单独报一个区间,并明确「超出部分按人天另计」。不然你就会陷入「说好两周,做了两个月,还不好意思加钱」的境地。

另外提醒一句:工期里一定要留出让客户参与的时间。定义「什么叫对」这件事,必须甲方出人,你代替不了。如果甲方配合不了,那这个项目就不该接。

五、验收:最容易扯皮的地方,要提前写死

「它不够聪明」是最难处理的一类反馈,因为它不可证伪。解决办法只有一个:在开工前就把验收标准写成可以打勾的条目。

验收标准模板(写进合同附件)

一、功能范围
  1. 支持以下 N 类问题:___(明确列出)
  2. 不支持:___(明确列出,越具体越好)

二、效果指标(用评测集跑,不少于 XX 条)
  1. 召回准确率 ≥ __%(应命中的文档被命中)
  2. 答案可用率 ≥ __%(人工判定为可直接使用)
  3. 反面用例拒绝率 ≥ __%(不该答的问题必须说不知道)

三、性能指标
  1. 首字节响应 ≤ __ 秒(P95)
  2. 完整响应 ≤ __ 秒(P95)

四、可用性
  1. 模型不可用时的降级行为:___
  2. 数据不出境 / 不用于训练:___(合规要求写清楚)

五、评测方式
  1. 评测集由双方共同确认,共 XX 条
  2. 以评测集跑分作为验收依据,不以主观感受为准

这里面最有价值的是第二条和第五条:把「效果好不好」变成「评测集跑分」,并且评测集双方共同确认。这一条能救你于水火。

而第一条里「不支持」那一栏往往比「支持」更重要——提前说清楚它做不了什么,比事后解释为什么做不了,省事一百倍。

六、风险清单(和甲方讲清楚,也写进合同)

  • 幻觉。模型会生成看起来合理但不正确的回答。涉及医疗、法律、金融、以及任何会产生实际后果的场景,必须有人审环节,不能全自动。
  • 数据出境。客户数据能不能进公有云模型,这是合同问题不是技术问题。提前确认,必要时走私有化或境内服务。
  • 第三方变更。模型厂商调价、下线、改行为,都不由你控制。写清楚这种情况下的处理方式和责任边界。
  • 效果不达预期。这一条必须提前说:AI 项目的效果上限受限于数据质量和场景本身的确定性。数据烂、需求模糊,再强的模型也做不好。
  • 用量超预期。用户一旦觉得好用,用量可能远超预估。成本闸门和用量告警是交付的一部分,不是附加服务。

七、我的建议:从一个小口子开始

如果你和我一样是接单做交付的,我的建议是:别接第一个项目就做全流程 agent。找一个客户已有的、痛感明确的、边界清晰的小场景——比如工单自动分类、合同关键信息提取、报表自动解读——做一个两周能上线的小东西。

原因有三:这类场景效果容易量化;出问题代价小;做成了客户自己会提出下一步。而一上来做大的,多半会陷在「什么叫对」的泥潭里。

最后一句实话:AI 项目里最贵的不是模型,是「把需求说清楚」这件事。你在这上面多花的时间,会以十倍的方式省回来。

备忘

  • AI 项目三个不同:成本含持续 token、效果是连续的没有「做完」那一刻、依赖你控制不了的第三方模型。
  • 需求分型:A 套壳集成(可一口价)、B 业务流程嵌入(人天+效果条款,分期)、C 自主决策(先做付费 PoC)。
  • 报价必算六项:token 成本(按预估 3-5 倍留余量)、峰值成本(批量排夜间可减半)、评测工时(单独列)、调模型工时、模型变更维护、兜底方案。
  • token 成本在报价单上单独列一行,注明按当前价与预估用量估算。
  • 工期真实分布:需求澄清 25% / 数据与评测集 20% / 功能实现 20% / 调优 25% / 工程件 10%。调优部分单独报区间,超出按人天另计。
  • 工期要留客户参与时间;甲方配合不了就不该接。
  • 验收模板五块:功能范围(「不支持」比「支持」更重要)、效果指标(召回/可用率/反面用例拒绝率)、性能指标(P95 首字节与完整响应)、可用性(降级行为、数据不出境)、评测方式(以评测集跑分为准,不以主观感受为准)。
  • 风险清单:幻觉(高风险场景必须有人审)、数据出境(合同问题)、第三方变更、效果不达预期、用量超预期(成本闸门是交付的一部分)。
  • 建议:从小场景起步(工单分类、合同提取、报表解读),两周能上线;别一上来做全流程 agent。
  • 最贵的不是模型,是「把需求说清楚」。
— 感谢读到这里 —发现错误,或想补充?告诉我 →
TURN KNOWLEDGE INTO SOMETHING REAL

有想法,也想把它做出来?

从技术方案到上线交付,聊聊你的下一个项目。

聊聊需求

一起聊聊

搜索文章

输入关键词,按标题和摘要即时筛选。

浏览分类文章归档

阅读设置

字号
行宽
专注模式

专注模式会隐藏页头与侧栏,只留正文。设置保存在当前浏览器。

稍后阅读

保存在当前浏览器,留给下一次安静阅读。

总浏览 -- 次 · 总访客 -- 人 · 今日浏览 -- 次 · 今日访客 -- 人