← 最新论文
💻 computer science

Guidelines for Empirical Studies in Software Engineering involving Large Language Models

该论文由22名研究人员共同提出,旨在解决大型语言模型在软件工程实证研究中引发的可复现性挑战,通过构建七类研究类型分类法,制定了包含八项具体规范(涵盖从声明模型用途到设立基线等)的指南,并配套提供适用性矩阵、报告清单及在线动态资源以指导相关研究的设计与报告。

原作者: Sebastian Baltes, Florian Angermeir, Chetan Arora, Marvin Muñoz Barón, Chunyang Chen, Lukas Böhme, Fabio Calefato, Neil Ernst, Davide Falessi, Brian Fitzgerald, Davide Fucci, Junda He, Christoph Treud
发布于 2026-03-04
📖 2 分钟阅读☕ 轻松阅读

原作者: Sebastian Baltes, Florian Angermeir, Chetan Arora, Marvin Muñoz Barón, Chunyang Chen, Lukas Böhme, Fabio Calefato, Neil Ernst, Davide Falessi, Brian Fitzgerald, Davide Fucci, Junda He, Christoph Treude, Marcos Kalinowski, Stefano Lambiase, Daniel Russo, Mircea Lungu, Cristina Martinez Montes, Lutz Prechelt, Paul Ralph, Rijnard van Tonder, Stefan Wagner

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇文章就像是一份**“软件工程师与 AI 大模型合作的‘诚实与透明’操作手册”**。

想象一下,软件工程师(SE)们最近发现了一个超级助手——大型语言模型(LLM)(比如 ChatGPT)。这个助手无所不能,能写代码、改 Bug、甚至模拟人类说话。但是,这个助手有个怪脾气:它有点“记性不好”且“性格多变”

  • 记性不好:它的训练数据是黑盒,没人知道它具体学了什么。
  • 性格多变:你问它同一个问题,哪怕只隔了一分钟,它给出的答案可能完全不同(这就是“非确定性”)。
  • 版本更新快:今天它很聪明,明天它可能就“变笨”了,或者换了个名字。

这导致了一个大问题:如果两个科学家分别用这个助手做实验,他们得到的结果可能完全不一样,而且谁也说不清为什么。这就像两个人用不同的食谱做蛋糕,结果一个甜一个咸,却都说是“标准食谱”做的,这怎么行?

为了解决这个问题,22 位来自世界各地的软件研究专家联手写了这份指南。他们把指南分成了**“七种玩法”“八条铁律”**。


第一部分:LLM 在研究中的“七种角色” (Study Types)

专家们把 LLM 在研究中的用途分成了七类,就像你在厨房里给助手分配不同的任务:

  1. 贴标签员 (Annotators):让 AI 帮忙给一堆文本打标签(比如把评论分类为“好评”或“差评”)。
  2. 裁判 (Judges):让 AI 当评委,给代码质量打分,或者判断需求文档写得好不好。
  3. 总结大师 (Synthesis):让 AI 读几十篇论文,然后帮你总结核心观点,或者生成新的合成数据。
  4. 演员 (Subjects):让 AI 扮演“虚拟人类”,模拟用户怎么说话、怎么反应,用来做实验(省去了找真人做实验的麻烦)。
  5. 观察对象 (Studying Usage):研究人类工程师到底是怎么使用 AI 工具的(比如他们是不是真的在用,还是只是装样子)。
  6. 新工具的核心 (New Tools):把 AI 直接做成一个新的软件工具,比如一个能自动写单元测试的插件。
  7. 考试选手 (Benchmarking):给不同的 AI 模型做“考试”,看谁在写代码、修 Bug 方面更厉害。

第二部分:八条“铁律” (The 8 Guidelines)

为了让这些研究结果可信、可重复,专家们制定了八条规则。你可以把它们想象成**“做菜的透明化标准”**:

1. 📢 大声说出你用了谁 (Declare Usage)

  • 规则:如果你用了 AI,必须在论文里大声说出来!不能偷偷用。
  • 比喻:就像你在餐厅点菜,如果厨师用了预制菜,他必须告诉你,不能假装全是现做的。你要说清楚:用了哪个模型?用来干什么?

2. 📝 记下详细的“配方” (Report Version & Config)

  • 规则:必须记录模型的具体版本号、设置参数(比如温度参数)、甚至微调的细节。
  • 比喻:做蛋糕不能只说“我用了面粉”,得说“用了 2025 年 1 月生产的 5 号面粉,烤箱温度 180 度,烤了 20 分钟”。因为 AI 稍微变个参数,味道(结果)就完全不同。

3. 🏗️ 画出完整的“厨房图纸” (Report Architecture)

  • 规则:如果 AI 是工具的一部分,要画出整个系统的结构图。
  • 比喻:不能只说“我用了搅拌机”,得说清楚搅拌机前面有没有加料器,后面有没有过滤网。因为有时候,是“加料器”决定了味道,而不是搅拌机本身。

4. 💬 公开所有的“对话记录” (Report Prompts & Logs)

  • 规则:把你给 AI 的指令(Prompt)和 AI 的回答全部公开。
  • 比喻:就像侦探破案,必须公开所有的审讯记录。因为 AI 对问题的问法非常敏感,换个问法,答案就变了。如果不公开指令,别人就无法复现你的实验。

5. 👨‍🔬 请真人来“试吃” (Human Validation)

  • 规则:AI 生成的东西,最好让人类专家检查一下。
  • 比喻:AI 做的菜,虽然看起来像那么回事,但最好请个老饕(人类专家)尝一口,确认味道对不对。不能光靠 AI 自己说“我做得很好吃”。

6. 🆓 找个“开源选手”做对比 (Use Open LLM as Baseline)

  • 规则:如果你用了昂贵的商业模型(比如 GPT-4),最好也用一个免费的开源模型(比如 Llama)跑一遍作为对比。
  • 比喻:如果你说你的跑车(商业模型)跑得飞快,最好也拿一辆普通的自行车(开源模型)比一下,或者至少让人家知道你的车具体快在哪里,而不是只说“我用了法拉利”。

7. 📏 用对的“尺子”去量 (Suitable Metrics)

  • 规则:选对衡量标准。别用错尺子。
  • 比喻:你不能用量长度的尺子(比如代码行数)去衡量重量(比如代码质量)。如果 AI 生成的代码能跑通,但全是乱码,那“能跑通”这个指标就不够好。要选真正能反映质量的指标。

8. 🚧 承认“翻车”的可能性 (Report Limitations)

  • 规则:诚实地告诉别人你的研究有什么缺点,AI 哪里不可靠。
  • 比喻:就像天气预报说“明天有 80% 概率下雨”,你得承认还有 20% 可能不下。别把话说太满,要告诉别人:如果模型变了,或者时间过了半年,我的结论可能就不准了。

总结:为什么要这么做?

这就好比**“科学界的透明厨房”**。

以前,大家用 AI 做研究,就像在黑盒子里做菜:你只看到端上来的菜(结果),不知道里面放了什么调料(模型版本),也不知道厨师(AI)当时心情好不好(随机性)。

这份指南就是要求大家把厨房的灯打开

  1. 公开配方(模型和参数)。
  2. 公开过程(指令和日志)。
  3. 请人试吃(人类验证)。
  4. 承认局限(如果明天模型变了,菜的味道可能就不一样了)。

只有这样,其他科学家才能复现你的实验,验证你的发现,整个软件工程的领域才能建立在坚实、可信的基础上,而不是建立在“运气”之上。

一句话总结:用 AI 做研究没问题,但别把它当黑魔法,要把它当成一个需要详细记录、严格验证的普通工具,这样大家才能一起把蛋糕做得更好吃!

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →