来源笔记

Conventional Commit Classification using Large Language Models and Prompt Engineering

Commit ClassificationConventional CommitsPrompt EngineeringCode IntelligenceSoftware Repository Mining

本文测试开源 LLM 是否能在不微调的情况下,把代码 diff 分类到 Conventional Commit 类型。少样本提示给出最佳平均准确率,但单次最佳结果只有在一个 InfluxDB 数据集上的 0.6154 准确率。

  • 许多仓库的提交消息缺少结构,这会限制变更日志生成、语义化版本控制和发布自动化。
  • 现有提交分类器通常需要标注数据集、预处理、特征工程,以及在项目术语或标签变化时重新训练。
  • 这篇论文研究只靠提示词的 LLM 分类,能否降低 Conventional Commit 标签的配置成本。
  • 作者从 InfluxDB GitHub 仓库挖掘了 3,200 条大致平衡的提交,并把 Conventional Commit 类型作为真实标签。
  • 每个样本都根据它的代码 diff 进行分类;没有对模型做微调。
  • 他们测试了零样本、少样本和思维链提示。
  • 他们用准确率、精确率、召回率和 F1 评估 Mistral-7B-Instruct、LLaMA-3-8B 和 DeepSeek-R1-32B。
  • 单次最佳结果:Mistral-7B-Instruct 配合少样本提示,在 3,200 条 InfluxDB 提交上达到 0.6154 准确率、0.3823 精确率、0.6154 召回率和 0.4706 F1。
  • DeepSeek-R1-32B 在不同提示词下的平均模型表现最好:0.563 准确率、0.587 精确率、0.563 召回率和 0.538 F1。
  • 少样本提示在不同模型上的平均提示表现最好:0.531 准确率和 0.468 F1;零样本是 0.431 准确率和 0.399 F1。
  • 思维链提示没有提高准确率:它的平均准确率是 0.468,低于少样本的 0.531。
  • LLaMA-3-8B 的平均表现最弱,在各类提示下只有 0.372 准确率和 0.366 F1。
  • 论文没有把结果和已训练的 ML 或微调后的 LLM 基线做比较,所以这些结果更适合用来指导提示词选择,而不是建立新的准确率基准。