论文
指导LLM使用软件设计模式的策略:以单例为例
Strategies for Guiding LLMs to Use Software Design Patterns: A Case of Singleton
摘要
大语言模型 (LLM) 可以根据自然语言提示生成功能源代码,但通常无法始终遵循更高级别的架构结构或设计模式。由于 LLM 在软件工程中的使用越来越多,因此它们将既定设计原则应用于生成代码的能力对于软件产品的长期成功至关重要。因此,本文的目标是确定指导 LLM 将设计模式合并到生成的源代码中的策略。我们设计了一个计算实验,在 HumanEval-X 的 164 个 Java 编码挑战中,使用四种提示策略来评估 13 LLM 生成遵循单例设计模式的代码的能力:指令、二进制自动反馈、广泛的自动反馈和带有少量提示的广泛反馈。我们的结果表明,指导 LLM 包含设计模式的最佳策略在很大程度上取决于模型的类型。尽管如此,总体而言,迭代二进制反馈提供了与单例的最佳一致性,同时保留或改进了代码的功能。在指令指导下,Llama 3.3在100%的情况下生成了Singleton类,并改进了代码功能,使测试通过数量增加了34.1个百分点。通过指令和二进制反馈的指导,它取得了类似的结果。 Qwen 3 (8B) 使用二进制反馈将与 Singleton 的一致性提高到 99.2%,将功能性提高到 58.6%。我们的结果表明,即使是简单的策略也可以用来指导 LLM 使用设计模式。