[논문 리뷰] ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design
이 논문은 ChatGPT를 사용한 소프트웨어 엔지니어링 작업을 위한 프롬프트 패턴 카탈로그를 제시하고, 요구사항 도출, 시스템 설계, 코드 품질 및 리팩토링을 개선하기 위한 패턴과 패턴을 효과적으로 결합하여 LLM 보조 개발을 돕는 방법을 자세히 설명한다.
This paper presents prompt design techniques for software engineering, in the form of patterns, to solve common problems when using large language models (LLMs), such as ChatGPT to automate common software engineering activities, such as ensuring code is decoupled from third-party libraries and simulating a web application API before it is implemented. This paper provides two contributions to research on using LLMs for software engineering. First, it provides a catalog of patterns for software engineering that classifies patterns according to the types of problems they solve. Second, it explores several prompt patterns that have been applied to improve requirements elicitation, rapid prototyping, code quality, refactoring, and system design.
연구 동기 및 목표
- LLMs like ChatGPT와 같은 LLM으로 해결되는 소프트웨어 엔지니어링 작업을 위한 재사용 가능한 프롬프트 패턴 카탈로그를 소개한다.
- 실용적 활용을 가이드하기 위해 문제 유형별로 패턴을 분류한다.
- 패턴이 어떻게 결합(패턴 컴파운드)되어 요구 elicitation, 설계, 코드 품질, 테스트를 강화할 수 있는지 시연한다.
제안 방법
- 프롬프트 패턴의 형식 구조를 정의한다(이름, 분류, 의도, 동기, 구조, 구현, 결과).
- 13개 패턴의 카탈로그를 카테고리별로 구성하여 제시한다(Requirements Elicitation, System Design and Simulation, Code Quality, Refactoring).
- 구체적인 프롬프트 패턴 구현을 설명한다(예: Requirements Simulator, Specification Disambiguation, API Generator, API Simulator, Few-shot Code Example Generation, DSL Creation).
- 토큰 한계와 반복 설계를 다루기 위해 패턴이 어떻게 상호 작용하고 결합될 수 있는지 설명한다.
- 실제로 ChatGPT로 검증된 예제에 패턴을 근거화하여 적용 가능성을 확인한다.
실험 결과
연구 질문
- RQ1LLMs를 사용하여 시스템 요구사항의 효과적인 elicitation 및 명세를 가능하게 하는 프롬프트 패턴은 무엇인가?
- RQ2프롬프트 패턴은 탐색적 시스템 설계, API 설계 및 소프트웨어 동작 시뮬레이션을 LLM으로 어떻게 지원할 수 있는가?
- RQ3LLMs를 사용할 때 코드 품질 및 리팩토링을 개선하는 기술은 무엇이며, 더 나은 결과를 위해 어떻게 구성될 수 있는가?
주요 결과
- LLMs와 함께하는 소프트웨어 엔지니어링의 네 가지 작업 영역으로 그룹화된 13개의 프롬프트 패턴 카탈로그가 제안된다.
- 패턴은 요구사항 elicitation, 시스템 설계, API 생성/시뮬레이션, 코드 품질, 리팩토링을 지원한다.
- 패턴은 디자인 과제와 토큰 제한을 해결하기 위해 합성(compounds)으로 결합될 수 있다.
- API Generator 및 API Simulator 패턴은 초기 API 설계 탐색 및 인터랙티브한 테스트를 가능하게 한다.
- Requirements Simulator 및 Visualization Generator는 시각화 기반 탐색을 통해 요구사항 충실도를 함께 향상시킬 수 있다.
- 프롬프트 패턴은 자동화된 중간 추론(예: Specification Disambiguation)으로 작동하여 명세의 모호성을 줄일 수 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.