Page 228 - 《软件学报》2026年第5期
P. 228
张添翼 等: LLM-Extractor: 基于大语言模型的软件配置间约束提取方法 2107
1.2 大语言模型提示工程
大语言模型一般是指参数规模巨大、使用超大规模自然语言语料训练的文本生成模型 [31] . ChatGPT 问世以
来, 生成式人工智能迎来了大发展时期, GPT (generative pre-trained Transformer) [32] 、LLaMA (large language model
meta AI) [33] 、Gemini [34] 等模型反复迭代, 能力不断增强. 大语言模型目前被广泛应用于多种自然语言处理任务, 其
能力在文本理解 [29] 、知识获取 [32,35] 、逻辑推断 [30,36,37] 和自然语言生成 [38] 等任务上得到了验证, 除此之外, 大语言
模型相较于传统方法也具有更强的适用性和泛化性.
大语言模型相关的研究工作可以被分为 3 种类型: 预训练 (pre-training) [39] 、模型微调 (fine-tuning) [40] 以及提示
工程 (prompting) [41] . 其中预训练指使用大规模的自然语言数据集或者多模态数据集, 训练生成式模型; 模型微调
是针对特定领域任务的优化方法, 在不重新预训练模型的情况下, 使用高质量、有标注的特定领域数据集, 对模型
进行端到端参数微调, 这种方法在领域问答等方面应用广泛; 提示工程是应用最广泛的方法, 不需要调整模型本
身, 只对提示词做优化, 借助大语言模型强大的文本理解和逻辑推断能力, 解决特定任务.
提示工程的核心是提示词的构建, 研究人员会针对特定任务开发特定的提示模板, 随后将任务的具体数据装
填入模板中, 引导 LLM 分析问题并生成目标内容. 为了得到最有效的提示词, 研究人员提出了大量的策略来优化
提示内容, 其中思维链和少样本策略应用最为广泛. 思维链策略是一种符合直觉的提示策略, 最早由 Wei 等人 [36]
提出, 该策略以分步渐进式思考的方式, 引导 LLM 分析问题并输出目标内容, 这种策略被广泛运用于多步骤推理
问题. 多项研究工作也表明, 即使仅在提示词中添加“让我们一步一步来思考 (let’s think step by step)”, 也能提高
LLM 的推理和生成性能 [42] . 少样本策略是指在提示词中加入少量的提示-生成示例样本, 从而提高模型在特定任
务的泛化能力. 在这方面有很多研究聚焦不同类型的样本对生成效果的影响. Zhao 等人 [43] 认为应当随机地添加样
本, Su 等人 [44] 推荐使用类型丰富的样本, 而 Liu 等人 [45] 则建议使用和测试集语义相同的示例. 针对文本中软件配
置约束提取的各个阶段, LLM-Extractor 均使用了 CoT 来引导大模型分布分析并解决问题, 同时使用了多种示例
样本来增强提示效果.
1.3 大语言模型与文本关系抽取
LLM 的强大能力也被应用于文本关系抽取, 已有相当数量的工作研究如何使用 LLM 从非结构化的文本数据
中抽取实体和关联关系. Trajanoska 等人 [46] 探索了使用 LLM 自动化抽取关联关系并构建图结构的能力, 研究表明
使用 LLM 的方法相较于传统的自然语言处理方法拥有更高的准确性. Kommineni 等人 [47] 不仅研究了 LLM 在关
系抽取、实体抽取等方面的能力, 还尝试使用 LLM 来半自动化地生成知识图谱本体 (ontology), 研究表明 LLM
能够减少构建过程中的人力介入. Carta 等人 [48] 基于 GPT-3.5 模型开发了一种构建知识图谱的流水线方法, 在特定
领域的数据集上获得了良好的效果. 已有研究表明 LLM 在关系抽取问题上具有良好的效果.
2 背景和动机
本节首先介绍研究问题的背景, 然后通过针对软件配置文档的经验研究, 借助实际示例来说明这项研究的动机.
2.1 研究背景
近年来软件系统的规模越来越庞大、应用场景越来越多, 因此与之对应的软件配置项个数也不断增多, 软件
配置项之间的约束关系也变得越来越复杂. 例如, 华为主导开发和商用的 openGauss 数据库拥有 700 多个配置项,
通过与华为 openGauss 数据库运维人员的访谈, 我们了解到, 大部分用户生产环境中的数据库集群处于常年运行
的状态, 一年可供重启调整的“天窗”机会一般少于 10 次, 而许多软件配置的生效需要重启数据库, 因此软件配置
的下发需要尤为谨慎. 但是运维人员往往只对单一配置项的取值范围和作用有所了解, 对多个配置项之间存在的
复杂约束关系缺乏了解, 而这些被忽视的复杂约束关系, 可能在配置实践中产生严重的问题.
在这样的情况下, 软件配置约束提取成为软件配置研究的重点领域, 有大量研究使用静态程序分析、样本学
习、文本分析等多种方法来提取软件配置约束. 其中使用静态程序分析和样本学习的方法占多数, 由于程序分析
方法存在编程语言适用性有限、分析规模有限等问题, 目前仍停留在研究验证阶段; 而基于样本学习的方法需要

