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...

2 DevGPT: Studying Developer-ChatGPT Conversations

arxiv.org/abs/2309.03...

使用许可协议:CC BY

creativecommons.org/licenses/by...

3 Exploring Prompt Patterns in AI-Assisted Code Generation: Towards Faster and More Effective Developer-AI Collaboration

arxiv.org/abs/2506.01...

4 A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT

arxiv.org/abs/2302.11...

5 ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design

arxiv.org/abs/2303.07...

封面图:Kindel Media、Pexels

相关推荐
threelab几秒前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
RSTJ_16254 分钟前
PYTHON+AI LLM DAY SEVENTY-ONE
人工智能
akunkuntaimei5 分钟前
2026年高考数学各省真题及答案(完整版)
算法·高考
圣殿骑士-Khtangc21 分钟前
单智能体落地实战:从 ReAct 到 Production-Ready AI Agent 全链路解析
人工智能·react.js
云烟成雨TD43 分钟前
Spring AI 1.x 系列【56】用大模型评判大模型:递归顾问实现自动化评估方案
人工智能·spring·自动化
Hello:CodeWorld1 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
AI客栈1 小时前
K8s 自定义控制器中 WorkQueue 队列优化实践:基于 IPVS 转发原理的状态变化处理
人工智能
0xR3lativ1ty1 小时前
每周AI工具新动态
人工智能
jerryinwuhan1 小时前
面向产业带与中小企业数字化转型的电商运营人才培养模式
大数据·人工智能
Drgfd1 小时前
智造赋能品控:汪进进以精益生产,夯实质量制造底座
人工智能·制造