面向开发人员提示的自动化提示-linting与修复工具:关于偏见、漏洞与性能优化的实证研究
软件工程
2025-01-23 v1 人工智能
摘要
大型语言模型(LLM)的快速发展导致其迅速集成到应用程序级逻辑中。许多软件系统现在使用提示与这些黑箱模型交互,将自然语言与在运行时插值的值组合,用于执行情感分析、问答等各种任务。由于提示的程序化和结构化自然语言方面,我们将其称为开发人员提示(Dev Prompts)。与传统软件制品不同,Dev Prompts将自然语言指令与编程和标记语言等人工语言混合,因此需要专门的工具进行分析,不同于经典软件评估方法。为此,我们引入PromptDoctor,一个专为检测和纠正Dev Prompts问题而设计的工具。PromptDoctor识别并解决Dev Prompts中关于偏见、漏洞和次优性能的问题,帮助减轻其可能的危害。在分析40,573个Dev Prompts中挑选出的代表性样本2,173个Dev Prompts后,我们发现其中3.46%包含一种或多种形式的偏见,10.75%对提示注入攻击敏感。此外,还发现3,310个Dev Prompts可以进行自动化提示优化。为解决这些问题,我们对我们发现的有缺陷的Dev Prompts应用了PromptDoctor。PromptDoctor去偏了68.29%的偏见Dev Prompts,加固了41.81%的敏感Dev Prompts,并改进了37.1%次优Dev Prompts的性能。最后,我们开发了一个PromptDoctor VSCode扩展,使开发人员能够轻松地在现有开发工作流程中提升Dev Prompts。该工作的数据和源代码均可在...处获得。
引用
@article{arxiv.2501.12521,
title = {An Empirically-grounded tool for Automatic Prompt Linting and Repair: A Case Study on Bias, Vulnerability, and Optimization in Developer Prompts},
author = {Dhia Elhaq Rzig and Dhruba Jyoti Paul and Kaiser Pister and Jordan Henkel and Foyzul Hassan},
journal= {arXiv preprint arXiv:2501.12521},
year = {2025}
}