面向 LLM 开发类软件的工作量度量框架

摘要

大语言模型(LLM)平台的软件开发,与传统企业软件有本质差异。传统软件工作量估算主要依赖功能点、用例点,假设"输入越多、功能越多,工作量越大"。但 LLM 平台的工作量,不仅取决于功能数量,还取决于算法复杂度、分布式训练难度、推理性能要求、数据标注规模、配置部署复杂度。单一的功能点方法会严重低估这类项目。

本文提出一个四分类工作量度量框架,把 LLM 平台开发工作拆为四类:规模敏感型代码开发、复杂度敏感型代码开发、配置部署型实施、数据文档型人工整理。前两类需要写代码,后两类不需要写代码。从估算驱动看,三类由输入规模驱动,一类由输出复杂度驱动。本文给出每类的估算公式、典型功能、风险点,并以一个通用 LLM 平台的功能模块为例,说明如何落地应用。

一、为什么传统功能点方法不够用

1.1 传统方法的假设

功能点分析、用例点估算,核心假设是:

软件工作量*≈* 功能数量*×*单位功能工作量

这套方法适合业务管理系统,比如 OA、CRM、ERP。因为这些系统的工作量,主要随页面、接口、报表、流程数量线性增长。

1.2 LLM 平台的现实

LLM 平台不是这样。比如:

  • "支持多机多卡训练"只是一个需求,但背后涉及分布式通信、容错、性能调优,可能比 100 个普通页面还难。
  • "支持断点续训"只是一个功能,但涉及 checkpoint 一致性、状态恢复、分布式协调。
  • "数据回流"只是一个模块,但涉及流式通道、高吞吐、数据不落地。
  • "数字人合成"只是一个场景,但涉及计算机视觉、图形学、实时渲染。

这些工作的工作量,不取决于输入有多少,而取决于输出有多难。

1.3 结论

LLM 平台需要一个新的度量框架,同时考虑:

  • 输入规模
  • 输出复杂度
  • 代码开发
  • 配置部署
  • 数据标注
  • 文档整理

二、四分类框架

2.1 分类维度

第一维度:是否写代码

  • 需要写代码:研发工作。
  • 不需要写代码:实施、配置、数据、文档工作。

第二维度:工作量由什么驱动

  • 输入规模驱动:量越大越累。
  • 输出复杂度驱动:越难越累。

2.2 四类工作

|--------|------------|-----------|----------|------------------|
| 类别 | 名称 | 是否写代码 | 估算驱动 | 估算基础 |
| 1 类 | 规模敏感型代码开发 | 是 | 输入规模 | 功能点、接口数、模型数 |
| 2 类 | 复杂度敏感型代码开发 | 是 | 输出复杂度 | 算法难度、性能指标、分布式复杂度 |
| 3 类 | 配置部署型实施 | 否 | 输入规模 | 配置项数、节点数、策略数 |
| 4 类 | 数据文档型人工整理 | 否 | 输入规模 | 数据量、标注条数、文档页数 |

2.3 第二层抽象

从估算驱动看:

基于输入规模估算:1 类、3 类、4 类

基于输出复杂度估算:2 类

这个抽象很关键。它说明:

  • 大部分工作,仍然可以用"量 × 单位工作量"估算。
  • 但有一类工作,必须用复杂度因子估算。
  • 如果只算 1 类,会漏掉 2、3、4 类。
  • 如果只算代码,会漏掉配置、数据、文档。

三、四类工作的估算方法

3.1 1 类:规模敏感型代码开发

定义:需要写代码,工作量主要随功能数量、接口数量、模型数量线性增长。

估算公式

工作量 = 功能点数 × 单位功能点人天 × 规模调整因子

或:

工作量 = 接口数 × 单接口人天

  • 页面数 × 单页面人天

  • 模型接入数 × 单模型人天

  • 策略数 × 单策略人天

规模变量

  • 功能点数量
  • 接口数量
  • 页面数量
  • 模型接入数量
  • 策略数量
  • 指标数量
  • 适配器数量
  • 纳管节点数量

典型功能

  • 模型接入适配
  • 统一服务协议
  • 策略管理
  • 指标管理
  • 工具市场
  • 统一适配器
  • 纳管信息展示
  • 计量服务

特点

  • 输入越多,工作量线性增长。
  • 适合功能点、用例点。
  • 可以用历史数据类比。
  • 风险中等。

3.2 2 类:复杂度敏感型代码开发

定义:需要写代码,工作量主要取决于算法难度、性能要求、分布式复杂度、实时性要求,而不是功能数量。

估算公式

工作量 = 基础工作量 × 复杂度因子 × 不确定性因子

或:

工作量 = 算法难度系数 × 实验次数 × 调优人天

复杂度因子

  • 算法复杂度
  • 分布式复杂度
  • 性能要求
  • 实时性要求
  • 集成复杂度
  • 安全合规要求
  • 技术成熟度
  • 团队经验

典型功能

  • 量化微调
  • 编码式微调
  • 增量微调
  • 偏好对齐训练
  • 强化学习对齐
  • 多机多卡训练
  • 断点续训
  • 训练任务自动重提
  • 算力队列调度
  • 推理加速
  • 批量推理
  • 多模型协同编排
  • 流式数据回流
  • 可观测系统
  • 数字人合成
  • 多模态交互

特点

  • 输入可能只是一个需求,但输出极难。
  • 工作量不随输入数量线性增长。
  • 需要专家判断、原型验证、类比估算。
  • 风险高,容易低估。
  • 需要预留实验和调优时间。

3.3 3 类:配置部署型实施

定义:不需要写代码,工作量主要随配置项数量、部署节点数量增长。

估算公式

工作量 = 配置项数量 × 单位配置人天

  • 部署节点数 × 单位部署人天

规模变量

  • 配置项数量
  • 策略数量
  • 词库数量
  • 节点数量
  • 套餐数量
  • 大屏配置项数量
  • 模型注册数量

典型功能

  • 审核策略配置
  • 黑白名单词库配置
  • 回流策略配置
  • 训练参数配置
  • 套餐配置
  • 大屏配置
  • 省端部署
  • 集团纳管配置
  • 模型注册配置

特点

  • 输入是配置项数量。
  • 工作量随配置项数量增长。
  • 看起来简单,但配置项多了也很耗时。
  • 容易在估算中被忽略。
  • 风险低,但工作量大。

3.4 4 类:数据文档型人工整理

定义:不需要写代码,工作量主要随数据量、标注条数、文档页数增长。

估算公式

工作量 = 数据量 × 单位处理人天

  • 标注条数 × 单位标注人天

  • 文档页数 × 单位文档人天

规模变量

  • 训练数据量
  • 标注条数
  • 评测集条数
  • 词库条数
  • 知识文档数
  • 模板数量
  • 素材数量
  • 文档页数

典型功能

  • 训练数据清洗
  • 偏好数据标注
  • 评测集标注
  • 词库整理
  • 知识库整理
  • 提示词模板整理
  • 素材整理
  • 视频模板整理
  • 操作指引编写
  • 接口文档编写
  • 评估指标定义

特点

  • 输入是数据量、文档量。
  • 工作量随数据量线性增长。
  • 质量要求越高,单位人天越大。
  • 最容易在项目估算中被低估。
  • 在 LLM 平台中,可能占总工作量 30%--50%。

四、四类工作对比

|--------|-------------|-------------|-------------|-------------|
| 维度 | 1 | 2 | 3 | 4 |
| 是否写代码 | 是 | 是 | 否 | 否 |
| 估算驱动 | 输入规模 | 输出复杂度 | 输入规模 | 输入规模 |
| 规模变量 | 功能点、接口、模型数 | 算法难度、性能指标 | 配置项、节点数 | 数据量、文档量 |
| 估算方法 | 功能点、用例点 | 复杂度因子、专家判断 | 配置项 × 人天 | 数据量 × 人天 |
| 风险 | 中 | 高 | 低 | 中 |
| 容易低估 | 否 | 是 | 是 | 是 |
| 典型代表 | 模型接入、策略管理 | 多机多卡、推理加速 | 策略配置、部署 | 数据标注、文档 |

、估算流程建议

5 .1 第一步:拆分功能

把平台拆到子功能级别,每个子功能能独立估算。

5 .2 第二步:打标签

给每个子功能打上 1/2/3/4 类标签。

  • 1 类:写代码,规模敏感。
  • 2 类:写代码,复杂度敏感。
  • 3 类:不写代码,配置部署。
  • 4 类:不写代码,数据文档。

5 .3 第三步:分别估算

  • 1 类:功能点 × 单位人天。
  • 2 类:复杂度因子 × 基础工作量。
  • 3 类:配置项 × 单位人天。
  • 4 类:数据量 × 单位人天。

5 .4 第四步:汇总

总工作量 = 1 类 + 2 类 + 3 类 + 4 类

5 .5 第五步:加风险储备

  • 2 类风险最高,建议加 30%--50% 储备。
  • 4 类容易低估,建议加 20%--30% 储备。
  • 3 类配置项容易漏,建议加 10%--20% 储备。
  • 1 类相对可控,建议加 10% 储备。

、常见误区

6 .1 只算代码

LLM 平台中,代码可能只占一半。配置、数据、文档占另一半。

6 .2 用功能点估算一切

复杂度敏感型功能,功能点会严重低估。

6 .3 忽略数据标注

训练数据、偏好数据、评测集,工作量巨大。

6 .4 忽略配置部署

策略配置、节点部署、套餐配置,看起来简单,量大也很耗时。

6 .5 忽略文档

操作指引、接口文档、评估指标定义,都是工作量。

、结论

LLM 开发类软件的工作量度量,不能只用功能点。本文提出四分类框架:

  1. 规模敏感型代码开发:输入规模驱动,功能点估算。
  2. 复杂度敏感型代码开发:输出复杂度驱动,复杂度因子估算。
  3. 配置部署型实施:输入规模驱动,配置项估算。
  4. 数据文档型人工整理:输入规模驱动,数据量估算。

从估算驱动看:

基于输入规模:1 类、3 类、4 类

基于输出复杂度:2 类

这个框架的价值在于:

  • 区分了"量越大越累"和"越难越累"。
  • 区分了代码和非代码工作。
  • 避免只算代码、只算功能点。
  • 可用于 LLM 平台的完整工作量估算。

一句话总结:

LLM 平台的工作量 = 规模敏感代码 + 复杂度敏感代码 + 配置部署 + 数据文档。前三类看输入规模,第二类看输出复杂度。只算功能点,一定低估。

附录:四类工作速查表

|--------|-----------|----------|----------|------------|
| 类别 | 是否写代码 | 估算驱动 | 估算单位 | 典型工作 |
| 1 类 | 是 | 输入规模 | 功能点、接口数 | 模型接入、策略管理 |
| 2 类 | 是 | 输出复杂度 | 复杂度因子 | 分布式训练、推理加速 |
| 3 类 | 否 | 输入规模 | 配置项、节点数 | 策略配置、部署 |
| 4 类 | 否 | 输入规模 | 数据量、文档页数 | 数据标注、文档编写 |

相关推荐
geminigoth1 个月前
Spring AI Alibaba 入门开发一
大模型开发·ai开发·springai开发·deepseek开发·ollama部署开发
AI_小站2 个月前
Loop Engineering又是啥?一文讲清企业Agent落地的四层工程进化论
java·人工智能·架构·prompt·大模型开发·智能体·大模型应用
uncle_ll2 个月前
LangChain 实战指南:回调系统、自定义组件与有状态对话全落地
langchain·llm·embedding·agent·大模型开发·rag
Tbisnic3 个月前
AI大模型学习第十三天:让AI学会查资料、记数据、看图和听声
人工智能·ai·大模型开发·rag·coze
青松@FasterAI4 个月前
【动手学大语言模型】神经网络启蒙:PyTorch 入门实战
人工智能·pytorch·神经网络·大模型开发
zero15975 个月前
AI Agent 三大核心:Harness Engineering、Hermes Agent、OpenClaw 全解析(2026最新)
大模型开发·ai agent·openclaw·harness·hermes agent
zero15976 个月前
Python 8天极速入门笔记(大模型工程师专用):第八篇-Python 综合实战|完整大模型调用脚本,8 天成果落地
人工智能·python·ai编程·大模型开发
Langchain6 个月前
2026 年 AI 最值得关注的方向:上下文工程!
人工智能·python·自然语言处理·llm·agent·大模型开发·rag
青松@FasterAI6 个月前
【动手学大模型】机器何以学习
人工智能·深度学习·神经网络·自然语言处理·大模型开发