在这篇论文中,研究人员对ChatGPT在回答Stack Overflow编程问题时的表现进行了深入的分析。52%的ChatGPT回答包含错误信息,77%的ChatGPT回答冗长。尽管如此,35%的情况下用户更喜欢ChatGPT的回答,39.34%的情况下未能识别ChatGPT回答中的错误信息。
在这篇论文中,研究人员对ChatGPT在回答Stack Overflow编程问题时的表现进行了深入的分析。
研究主题和主要问题
研究主题集中在评估ChatGPT对Stack Overflow编程问题回答的特征。主要问题包括:
ChatGPT的回答与Stack Overflow人类回答在正确性和质量上的差异。
ChatGPT回答中存在的细粒度问题。
Stack Overflow问题类型对ChatGPT回答质量的影响。
ChatGPT与人类回答在语言结构和属性上的差异。
ChatGPT回答与人类回答的情感基调比较。
程序员能否区分ChatGPT回答和人类回答。
程序员能否识别ChatGPT回答中的错误信息。
程序员是否更喜欢ChatGPT的回答。
研究方法
研究采用了混合方法,包括手动分析、语言学分析和用户研究:
数据收集:从Stack Overflow上收集了517个问题,并使用ChatGPT生成回答进行分析。
手动分析:评估ChatGPT回答的正确性、一致性、全面性和简洁性。
语言学分析:使用LIWC和情感分析工具对ChatGPT和人类回答进行大规模语言学分析。
用户研究:通过12名程序员参与的用户研究,了解他们对ChatGPT和Stack Overflow回答的偏好。
主要发现
正确性和质量:52%的ChatGPT回答包含错误信息,77%的ChatGPT回答冗长。尽管如此,35%的情况下用户更喜欢ChatGPT的回答。
细粒度问题:错误类型包括概念错误、事实错误、代码错误和术语错误。代码错误主要是逻辑错误、API/库/函数使用错误、代码不完整和语法错误。
问题类型的影响:问题的人气和时间对回答的正确性有显著影响。调试问题的回答更容易出现不一致,但不那么冗长。
语言特征:ChatGPT回答更正式,表现出更多的分析性思维和权威性表达,且负面情绪较少。
情感基调:ChatGPT回答表现出显著更多的正面情绪。
区分能力:用户能够正确识别ChatGPT回答的概率为80.75%。
识别错误信息:用户39.34%的情况下未能识别ChatGPT回答中的错误信息。
用户偏好:用户65.18%的情况下更喜欢Stack Overflow的人类回答,但ChatGPT回答在语言风格、全面性和礼貌性上更受用户青睐。
未来研究建议
为了在未来的研究中开发更有效的工具来帮助程序员识别和纠正ChatGPT回答中的错误信息,建议如下:
不正确性等级和不确定性沟通:提供每个答案的不正确性等级和不确定性,以帮助程序员理解生成代码的风险。
增强验证能力:开发工具以链接到官方文档和支持现场执行生成的代码,使程序员更容易验证答案的正确性。
严格的代码审查和测试:强化对生成代码的代码审查和软件测试方法,以确保不正确或不安全的代码不会渗透到软件产品中。
改进提示工程:系统调查不同提示策略如何影响ChatGPT回答不同类型编程问题的正确性。
开发错误识别算法:开发自动化工具来检测和标记错误,并结合知识图谱等方法,增强ChatGPT在编程问题上的理解和推理能力。
用户研究和反馈:进行更小规模但更聚焦的研究,调查交互如何影响ChatGPT回答的正确性,并开发新方法来提高交互过程中生成答案的质量。
通过这些措施,未来的研究可以显著提高程序员在使用ChatGPT回答编程问题时的准确性和可靠性,更有效地识别和纠正错误信息。
论文地址:
https://dl.acm.org/doi/10.1145/3613904.3642596
领取专属 10元无门槛券
私享最新 技术干货