A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT

02/21/2023
by   Jules White, et al.
0

Prompt engineering is an increasingly important skill set needed to converse effectively with large language models (LLMs), such as ChatGPT. Prompts are instructions given to an LLM to enforce rules, automate processes, and ensure specific qualities (and quantities) of generated output. Prompts are also a form of programming that can customize the outputs and interactions with an LLM. This paper describes a catalog of prompt engineering techniques presented in pattern form that have been applied to solve common problems when conversing with LLMs. Prompt patterns are a knowledge transfer method analogous to software patterns since they provide reusable solutions to common problems faced in a particular context, i.e., output generation and interaction when working with LLMs. This paper provides the following contributions to research on prompt engineering that apply LLMs to automate software development tasks. First, it provides a framework for documenting patterns for structuring prompts to solve a range of problems so that they can be adapted to different domains. Second, it presents a catalog of patterns that have been applied successfully to improve the outputs of LLM conversations. Third, it explains how prompts can be built from multiple patterns and illustrates prompt patterns that benefit from combination with other prompt patterns.

READ FULL TEXT
research
03/11/2023

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

This paper presents prompt design techniques for software engineering, i...
research
05/21/2021

Changes from the Trenches: Should We Automate Them?

Code changes constitute one of the most important features of software e...
research
03/20/2020

Pattern Views: Concept and Tooling for Interconnected Pattern Languages

Patterns describe proven solutions for recurring problems. Typically, pa...
research
04/17/2020

A Procedure for Extracting Software Development Process Patterns

Process patterns represent well-structured and successful recurring acti...
research
12/04/2020

Patterns, anticipation and participatory futures

Patterns embody repeating phenomena, and, as such, they are partly but n...
research
06/28/2017

Development of the SP machine

This paper describes the main things that need to be done to develop the...
research
03/30/2023

Humans in Humans Out: On GPT Converging Toward Common Sense in both Success and Failure

Increase in computational scale and fine-tuning has seen a dramatic impr...

Please sign up or login with your details

Forgot password? Click here to reset