AI辅助编程:常用的7种Prompt模式

"ChatGPT共享链接"(ChatGPT Shared Links)是ChatGPT支持的一个功能,用来为用户的ChatGPT对话生成URL,便于用户分享对话记录,比使用截屏更便捷。GitHub和Hacker News上的不少用户通过"ChatGPT共享链接"来分享与ChatGPT的交互及结果。下图就是一个在GitHub的Pull Request中使用"ChatGPT共享链接"的示例。

DevGPT数据集[1]的数据就来源于GitHub和Hacker News上大量的"ChatGPT共享链接"[2]。该数据集包含了2万余条用户输入的ChatGPT提示语(Prompt)及对应的对话内容。

DevGPT数据集的作者们希望通过该数据集,来促进AI辅助编程领域的研究。作者们列举了AI辅助编程领域若干有待研究的问题[2],例如:

  • 开发人员常向ChatGPT提问哪类问题(排错、编程、理论问题等)?
  • 开发人员向ChatGPT提问时,使用的提示语有哪些模式?使用这些模式与所提问题得到解决有什么关系?
  • 与ChatGPT对话的典型结构是什么样的?提问的问题得到解决平均需要多少轮问答?
  • 如果ChatGPT生成的代码被开发人员采用,有关的代码在使用前需要开发人员做多大程度的修改?修改有哪些常见类型?
  • ChatGPT生成的代码与Stack Overflow等网上找到的代码相比,有什么特点?
  • ChatGPT生成的代码,常见的质量问题有哪些?
  • 根据开始的提示语以及上下文情况,能否准确地预测出与ChatGPT对话的长度?
  • 根据开始的ChatGPT对话,能否准确地预测出所提问题是否会被解决?

提示语的7种常用模式

自DevGPT数据集发布以来,基于该数据集开展的研究成果不少,其中,近期发布的一篇论文[3]基于有关文献以及DevGPT数据集,总结出了AI辅助编程常用的7种提示语模式。

提示语模式在概念上有些类似于软件设计模式,但主要用于与大语言模型(LLM)的交互。以下是这7种常用的提示语模式[3]。

Persona模式

采用该模式时,开发人员为AI定义一个角色或身份,让AI以这个角色或身份来生成信息或结果。该模式常采用"你是...."、"假设你是...."等词语。

提示语示例:"你是一个XX专家....你的任务是创建一个...."

Recipe模式

采用该模式时,开发人员为AI列出一步步的指示,用于指导AI完成一个多步骤的过程,或者进行一系列操作。

提示语示例:"写一个名为XX的函数,该函数首先....,然后...."

Template模式

采用该模式时,开发人员为AI的输出描述一个模板、结构或格式,要求AI按照描述的模板、结构或格式进行回答。

提示语示例:"....回答时采用....格式,分隔符采用....符号,各个标题分别采用...."

Output Automator模式

采用该模式时,开发人员指示AI以代码、脚本、配置文件等机器可读的形式生成结果,以避免AI为答案中的多个步骤生成较长的语言描述。

提示语示例:"....生成一个Dockerfile...."

Instructions-Based模式

又称为Simple Instruction模式------开发人员仅向AI提出指示或命令,无需提供背景知识、角色定义等。该模式常采用"解释...."、"描述...."、"告诉我...."、"为我提供...."等词语。

提示语示例:"帮我解释一下...."

Context and Instructions模式

采用该模式时,开发人员既提出指示或命令,又描述背景知识。该模式中可能会出现"根据...."、"....基于这一信息...."等词语。

提示语示例:"我正在使用XX库来实现....功能。当触发了'开始'之后,XX库一直显示....,直到运行完成为止。我想修改一下这个XX库,使得在触发了'开始'之后,显示变成...."

Question模式

采用该模式时,开发人员围绕感兴趣的信息或解释,直接向AI提问,无需提供背景知识、输出模板、输出风格等。该模式常采用"为什么...."、"在哪里...."、"什么时候...."、"谁...."、"怎样...."等词语。

提示语示例:"如何让XX平台的通知在YY程序运行时显示?"

小结

以上仅为AI辅助编程中常用的一些提示语模式。多个提示语模式可以相互组合,同时出现在一个提示语中。

其它关于提示语模式的总结

美国范德比尔特大学(Vanderbilt University)的研究人员曾经在一篇论文[4]中详细列举并讨论了16种提示语模式。该大学的研究人员在另外一篇论文[5]中列举并讨论了更多的提示语模式,用于软件工程中的代码改进、需求征集、代码重构、系统设计等场景。

参考资料

1\] [github.com/NAIST-SE/De...](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2FNAIST-SE%2FDevGPT "https://github.com/NAIST-SE/DevGPT") \[2\] DevGPT: Studying Developer-ChatGPT Conversations [arxiv.org/abs/2309.03...](https://link.juejin.cn?target=https%3A%2F%2Farxiv.org%2Fabs%2F2309.03914 "https://arxiv.org/abs/2309.03914") 使用许可协议:CC BY [creativecommons.org/licenses/by...](https://link.juejin.cn?target=https%3A%2F%2Fcreativecommons.org%2Flicenses%2Fby%2F4.0%2F "https://creativecommons.org/licenses/by/4.0/") \[3\] Exploring Prompt Patterns in AI-Assisted Code Generation: Towards Faster and More Effective Developer-AI Collaboration [arxiv.org/abs/2506.01...](https://link.juejin.cn?target=https%3A%2F%2Farxiv.org%2Fabs%2F2506.01604 "https://arxiv.org/abs/2506.01604") \[4\] A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT [arxiv.org/abs/2302.11...](https://link.juejin.cn?target=https%3A%2F%2Farxiv.org%2Fabs%2F2302.11382 "https://arxiv.org/abs/2302.11382") \[5\] ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design [arxiv.org/abs/2303.07...](https://link.juejin.cn?target=https%3A%2F%2Farxiv.org%2Fabs%2F2303.07839 "https://arxiv.org/abs/2303.07839") 封面图:Kindel Media、Pexels

相关推荐
layneyao4 分钟前
Ray框架:分布式AI训练与调参实践
人工智能·分布式
循环渐进Forward8 分钟前
【TinyWebServer】HTTP连接处理
linux·网络·c++·网络协议·算法·http
vlln39 分钟前
【论文解读】Search-R1:通过 RL 让 LLM 学会使用搜索引擎
人工智能·深度学习·神经网络·搜索引擎·transformer
alfred_torres1 小时前
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
人工智能·语言模型·自然语言处理
钓鱼的肝1 小时前
题单:归并排序
c++·算法
蹦蹦跳跳真可爱5891 小时前
Python----OpenCV(图像处理——图像的多种属性、RGB与BGR色彩空间、HSB、HSV与HSL、ROI区域)
图像处理·人工智能·opencv
人工智能教学实践1 小时前
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
人工智能·chatgpt
Sun_light2 小时前
队列:先进先出的线性数据结构及其应用
前端·javascript·算法
腾讯云开发者2 小时前
腾讯云TVP走进泸州老窖,解码AI数智未来
人工智能
我是王大你是谁2 小时前
详细比较 QLORA、LORA、MORA、LORI 常见参数高效微调方法
人工智能·llm