中文

引导LLM使用软件设计模式的策略:单例模式案例

软件工程 2026-05-27 v1 人工智能

摘要

大型语言模型(LLM)能够从自然语言提示生成功能性源码,但常常无法一致地遵循更高层次的架构结构或设计模式。由于LLM正日益被用于软件工程,其应用既定原则的能力对于软件产品的长期成功至关重要。因此,本文旨在识别引导LLM在生成源码中运用设计模式的策略。我们设计了计算实验,以评估13种LLM在164个来自HumanEval-X的Java编码挑战中,按照单例设计模式生成代码的能力,测试了四种提示策略:指令、二进制自动反馈、详尽自动反馈以及结合少量示例的详尽反馈。我们的结果表明,引导LLM纳入设计模式的最优策略在很大程度上取决于模型类型。然而,总体而言,迭代二进制反馈在保持或提升代码功能性的同时,为单例模式提供了最佳对齐。通过使用指令引导,Llama 3.3在100%的情况下生成单例类,并提升了代码功能,使通过的测试数量增加了34.1个百分点。在指令和二进制反馈指导下,其成果相似。Qwen 3(8B)通过二进制反馈将单例对齐提升至99.2%,功能性提升至58.6%。我们的结果表明,即使是简单的策略也能用于引导LLM使用设计模式。

关键词

引用

@article{arxiv.2605.26898,
  title  = {Strategies for Guiding LLMs to Use Software Design Patterns: A Case of Singleton},
  author = {Viktor Kjellberg and Farnaz Fotrousi and Miroslaw Staron},
  journal= {arXiv preprint arXiv:2605.26898},
  year   = {2026}
}

备注

Accepted at PROMISE 2026