面向改进LLM指导问题解决的提示词知识缺口检测
软件工程
2025-02-26 v3
摘要
大型语言模型(LLM)已成为软件开发中解决问题的重要工具,尤其是在问题解决方面。然而,尽管其广泛使用,LLM对问题解决查询的响应质量仍面临重大挑战。由于提示设计中的知识缺口,LLM交互往往产生错误、不完整或模糊的信息,这会导致不productive的交往和降低开发者生产力。在本文中,我们分析了433次开发者与ChatGPT交谈的对话,存在于GitHub问题线程中,以考察提示知识缺口和对话风格对问题解决的影响。我们识别出开发者提示词中的四类知识缺口:缺失上下文、缺失规格、多个上下文以及模糊指令。假设闭合问题中的对话有助于实现成功解决,而开放问题中的对话则未实现解决,我们发现无效的对话中包含知识缺口的提示占比达44.6%,而有效的对话仅为12.6%。此外,我们观察到七种不同的对话风格,其中指令式提示( Directive Prompting)、链式思维(Chain of Thought)和响应式反馈(Responsive Feedback)是最常见的。我们发现知识缺口在所有对话风格中都有存在,缺失上下文是开发者在问题解决对话中最常遇到的挑战。基于我们的分析,我们识别出与成功问题关闭相关的关键文本和代码相关的启发式方法,包括Specificity(具体性)、Contextual Richness(上下文丰富性)和Clarity(清晰度),这些方法有助于评估提示词质量。这些启发式方法为自动化工具的开发奠定了基础,该工具可动态标记不清晰的提示并建议结构化改进。为测试可行性,我们开发了一个轻量级浏览器扩展原型,用于检测提示词缺口,可轻易适配到开发者工作流程中的其他工具。
引用
@article{arxiv.2501.11709,
title = {Towards Detecting Prompt Knowledge Gaps for Improved LLM-guided Issue Resolution},
author = {Ramtin Ehsani and Sakshi Pathak and Preetha Chatterjee},
journal= {arXiv preprint arXiv:2501.11709},
year = {2025}
}