Each language version is independently generated for its own context, not a direct translation.
这篇论文就像是在探讨一个非常实际的问题:当软件开发团队面对一堆新任务时,能不能让“超级 AI 助手”来帮忙估算工作量,而且不需要先给它看很多以前的例子?
在软件开发中,团队通常用“故事点”(Story Points)来给任务打分,就像给电影打分一样(1 分很简单,10 分很难)。以前,这需要大家开会讨论(像玩扑克牌一样),既主观又耗时。后来人们尝试用传统的机器学习模型来预测,但这就像教一个学生做题,必须先给他看几百道带答案的真题,他才能学会。如果是一个全新的项目(没有历史数据),这些模型就“抓瞎”了。
这篇论文就是测试**大语言模型(LLM)**能不能解决这个问题。研究人员找了 4 个不同的 AI 模型(DeepSeek, Kimi, Gemini, OpenAI),在 16 个真实软件项目上做了实验。
我们可以把这篇论文的核心发现,通过几个生动的比喻来讲清楚:
1. 零样本(Zero-shot):AI 的“直觉”
实验场景:不给 AI 任何以前的例子,直接问它:“这个任务大概值几分?”
比喻:这就像让一个没去过中国的外国美食评论家,只看着菜单上的菜名和描述,就能猜出这道菜大概有多难做。
结果:令人惊讶的是,AI 的“直觉”非常准! 即使没有看过任何训练数据,某些 AI(如 Kimi 和 DeepSeek)猜出来的难度排名,比那些“死记硬背”了 80% 历史数据的传统模型还要好。
- 启示:AI 脑子里已经装了很多关于“什么是难、什么是易”的通用知识,不需要专门培训就能上手。
2. 少样本(Few-shot):给 AI 一点“提示”
实验场景:给 AI 看 5 个以前做过的例子(比如:“任务 A 是 3 分,任务 B 是 5 分”),让它猜剩下的。
比喻:这就像给那个外国美食评论家看 5 道中国菜的标准答案,告诉他:“这道宫保鸡丁算 3 分,那道佛跳墙算 8 分”。
结果:
- 效果拔群:只要给这 5 个例子,AI 的准确率就大幅提升。
- 怎么选例子很重要:
- 策略 A(按频率选):选最常见的 5 个难度(比如全是 3 分或 5 分的)。这就像只给 AI 看“中等难度”的菜。
- 策略 B(按跨度选):选 5 个难度跨度最大的(从最简单的 1 分到最难的 10 分)。这就像给 AI 看一张完整的“难度地图”。
- 结论:策略 B 更好! 让 AI 看到难度的全貌(从易到难),比只看最常见的例子更能帮它校准“尺子”。
3. 比较判断(Comparative Judgments):AI 喜欢“比大小”吗?
实验场景:以前有研究说,让人类直接打分很难,但让人类比较“任务 A 和任务 B 哪个更难”很容易。那 AI 呢?
比喻:
- 直接打分:问 AI“这道菜几分?”
- 比较判断:问 AI“宫保鸡丁和佛跳墙,哪个更难做?”
结果:这有点反直觉。对人类来说,比大小容易;但对 AI 来说,直接打分反而更准! - 当 AI 被要求直接打分时,它心里其实已经默默排好了序。如果强行让它只回答"A 比 B 难”,它反而容易出错。
- 但是,虽然 AI 不擅长直接做“比较题”,但把“比较题”作为例子给 AI 看,却非常有用!
- 比如,给 AI 看:“宫保鸡丁比佛跳墙简单”。AI 虽然自己不会做这种题,但看到这种例子后,它能更好地理解难度的相对关系,从而把后面的直接打分猜得更准。
4. 总结:这对我们意味着什么?
这篇论文告诉我们,AI 在软件工作量估算上非常有潜力,而且很“省钱”:
- 冷启动神器:如果你刚开一个新项目,没有历史数据,直接让 AI 猜(零样本)就能得到不错的结果,比传统方法好。
- 少量数据就能起飞:如果你能找 5 个以前的例子给 AI 看,它的准确率会更高。而且,这 5 个例子最好涵盖从“简单”到“困难”的各种情况。
- 人类更轻松的参与方式:虽然 AI 自己更喜欢直接猜分数,但人类在提供“比较例子”(比如告诉 AI"A 比 B 难”)时,比直接给分数更轻松、更准确。利用这些轻松的“比较例子”来训练 AI,效果出奇的好,特别是对于那些算力较小的模型。
一句话总结:
以前我们觉得 AI 需要大量数据才能学会估算工作量,现在发现,AI 自带“常识”,只要给它一点点“路标”(哪怕是简单的比较),它就能比那些死记硬背的旧模型猜得更准、更快。 这让软件开发团队在规划项目时,能少开会、少纠结,多依靠智能助手。