GPT-5 프롬프팅 가이드, 신규 파라미터, 옵티마이저
Open AI가 8월 초에 GPT-5를 출시하며 여러 개의 쿡북을 발행했다. (쿡북: 레시피처럼 사용 노하우를 담은 문서) 학습도 할겸, 직접 총 3개의 아티클을 한국어로 번역했다. 각 제목을 클릭하면 번역한 페이지를 확인할 수 있다.
- Open AI의 최신 모델인 GPT-5의 성능을 최대한 활용하기 위한 상세 프롬프트 엔지니어링 가이드
- 모델의 자율성을 제어하고 예측 가능성을 높이는 '에이전트 워크플로우' 최적화 방법
- 프론트엔드 앱 개발부터 기존 코드 수정까지 다루는 코딩 성능 극대화 전략
- 모델의 응답 스타일과 지시사항 준수 능력을 미세 조정하는 지능 및 조종성 최적화 기법
- GPT-5에 새롭게 도입된 개발자용 기능들을 소개하는 가이드
- 모델의 응답을 더 정밀하게 제어하여 개발 유연성을 높이는 데 초점을 맞춤
- 장황함(Verbosity) 파라미터: 프롬프트 수정 없이 low, medium, high 세 단계로 답변의 상세함 조절 가능
- 자유 형식 함수 호출(Freeform Function Calling): JSON 형식 없이도 Python 코드나 SQL 쿼리 같은 원시 텍스트를 그대로 도구(Tool)에 전달하여 외부 런타임과의 연동을 간소화함
- 문맥 자유 문법(CFG): Lark나 정규식(Regex)으로 엄격한 문법 규칙을 정의하여, 모델이 특정 SQL 방언이나 정해진 형식의 텍스트만 생성하도록 강제 가능
- 최소 추론(Minimal Reasoning): 추론 과정을 최소화하여 응답 지연 시간(latency)을 줄여주어, 빠른 속도가 중요한 간단한 분류나 텍스트 추출 작업에 이상적
3. 새로운 Optimizer를 사용한 GPT-5 프롬프트 마이그레이션 및 개선
- Open AI의 최신 모델인 GPT-5와 그 성능을 최대한 활용하기 위한 Playground의 GPT-5 Prompt Optimizer를 다룸
- Optimizer는 사용자의 프롬프트에서 모호함이나 모순을 제거하고, Open AI의 모범 사례를 적용하여 명확하게 다듬어 주는 역할
- 이를 통해 코딩, 금융 질의응답과 같은 복잡한 작업에서 모델의 정확성과 효율성을 크게 향상 가능
제품 기획에 다시 박차를 가하며, LLM을 활용한 기능을 만들고 보강하는 중이다. 그래서 주말 간 위 문서를 번역하며 활용할 것을 찾아봤다. 기존 gpt-4.1을 활용하던 기능을 전체적으로 gpt-5 시리즈로 개선하는 방안을 검토 중이다. 'GPT-5 신규 파라미터 및 도구' 문서에 나온 것처럼, gpt-5는 이전 시리즈와 달리 API 사용 방법이 조금 달라졌는데, 이 때문에라도 이번 쿡북을 읽어볼 필요가 있을 듯.
이번 글은 주말 간 쿡북을 읽으며, 1) 일반적으로 사용하는 사용자와 2) API 사용자, 두 가지 관점에서 실제 활용 가능한 노하우와 활용 사례를 담았다.
GPT-5, Gemini, Claude 등 다양한 LLM에 활용할 수 있다.
일반 사용자가 GPT-5의 성능을 체감하기 가장 좋은 방법은 '명확한 조종(Steerability)'과 '최적화 도구(Optimizer)'를 활용하는 것이다. 전자는 1) 신규 파라미터(verbosity, reasoning_effort)을 통해 가능하고, 2) 최적화 도구(Optimizer)는 평상시 프롬프트를 평가하던 프롬프트(LLM as a judge 방식)를 대체하기 좋다.
가장 인상적인 기능이다. 보통 내가 작성한 프롬프트에 모호한 점, 충돌되는 지시, 효율적인 작성법 등 고민할 때 다른 AI를 세팅해서 점검했는데, 이제는 더이상 그런 고민할 필요 없다. Open AI에서 Prompt Optimizer를 내놨기 때문. 프롬프트를 넣고 버튼만 누르면 GPT-5가 가장 잘 이해할 수 있는 형태로 다듬어준다.
이들이 주는 피드백을 보면 'GPT-5에 가장 맞춰준다'도 있지만, '맥락에 어긋나는 지시, 상충되는 지시 등'을 캐치해서 정리해 준다.
[사례: 신제품 출시 SNS 캠페인 기획]
Before (최적화 전):
```
새로 나올 에너지 드링크 '부스트업' 인스타그램 캠페인 아이디어 좀 줘.
```
After (Prompt Optimizer를 활용해서 개선한 프롬프트):
```
<instruction>
20대 대학생 및 직장인을 타겟으로 신제품 에너지 드링크 '부스트업'의 인스타그램 인지도를 높이고 초기 판매를 유도하는 캠페인 기획안 작성
</instruction>
<contents>
1. **핵심 컨셉 및 슬로건:** 제품 특징(천연 카페인, 무설탕)을 강조
2. **콘텐츠 아이디어 (3가지):**
* 릴스 챌린지 아이디어 1개
* 인플루언서 협업 콘텐츠 예시 1개
* 사용자 참여형 스토리 이벤트 1개
3. **해시태그 전략:** 메인, 서브, 이벤트 해시태그 포함
4. **기대 효과:** 구체적인 수치(예: 도달률, 참여율)를 포함하여 간략히 기술
</contents>
<tone_and_voice>
** 활기차고 트렌디하게
</tone_and_voice>
```
이처럼 Optimizer는 막연한 요청을 실행 가능한 기획안의 목차처럼 구조화하여, 훨씬 구체적이고 효과적인 결과물을 얻게 해준다. (필자는 별도로 XML 태그 형태로 구조화하는 걸 연습 중이다.)
GPT-5는 이전 모델보다 훨씬 지시를 잘 따른다. 단순히 "A에 대해 알려줘"라고 하기보다, 원하는 결과물의 형태와 과정을 단계별로 구체적으로 지시하는 것이 좋다. (step-by-step! 예전부터 프롬프트에 '처리 절차'를 작성해 주는 것의 효과를 많이 다뤘다. 같은 맥락이다.)
[사례: 까다로운 고객에게 보내는 이메일 초안 작성 및 수정]
```
<역할>
너는 지금부터 ~~다. ~~ 작성해라.
</역할>
<처리 절차>
1. 1단계 (초안 요청):
"프로젝트 일정이 지연된 것에 대해 불만을 제기한 OOO 고객에게 보낼 이메일 초안 좀 써줘. 정중하지만 우리의 입장도 명확히 해야 해."
2. 2단계 (어조 수정):
"좀 더 공감하는 어조로 바꿔줘. 첫 문단에서 고객의 입장을 충분히 이해하고 있다는 점을 강조해 줘."
3. 3단계 (내용 구체화):
"지연된 원인을 '예상치 못한 기술적 문제'라고 명확히 언급하고, 해결을 위해 '전담 인력을 추가 투입'했다는 사실을 추가해 줘."
4. 4단계 (형식 변경):
"향후 일정은 '불렛 포인트'로 정리해서 가독성을 높여줘."
이처럼 대화를 통해 결과물을 조각하듯 만들어 나갈 수 있다. GPT-5의 높은 지시 이해도를 믿고, 원하는 결과가 나올 때까지 구체적인 요구사항을 던지는 것이 핵심이다.
</처리 절차>
...
```
개발자 입장에서는 단순히 똑똑해진 것을 넘어, '조종 가능성(제어)'과 '안정성'이 높아진 점이 가장 반갑다.
특히 새로 나온 'verbosity'와 'effort' 파라미터로 결과물의 정도를 출력할 수 있다.
Verbosity 파라미터
- 값: low, medium(기본값), high
- 작동 방식:
- low : 매우 간결함, 불필요한 설명 최소화, 핵심만
- medium: 균형 잡힌 수준, 적당한 설명 및 예시
- high: 매우 자세하고 풍부한 설명, 교육·디버깅·문서화에 적합
상황에 따라 응답의 깊이와 속도를 조절하는 것은 사용자 경험에 큰 영향을 미친다. 아래는 하나의 프롬프트에 파라미터만 달리하여 다양한 상황에 대응하는 사례다.
[사례: 고객 지원 챗봇 시나리오]
1. 단순 정보 문의: "운영 시간이 어떻게 되나요?"
>> API 호출:
reasoning_effort: 'minimal',
verbosity: 'low'
>> 챗봇 응답:
"평일 오전 9시부터 오후 6시까지입니다." (빠르고 간결한 답변)
2. 복잡한 문제 해결 요청: "앱 결제 마지막 단계에서 계속 오류가 나요."
>> API 호출:
reasoning_effort: 'medium',
verbosity: 'high'
>> 챗봇 응답:
"결제 오류로 불편을 드려 죄송합니다. 해당 문제는 몇 가지 원인이 있을 수 있습니다. 우선 아래 단계를 순서대로 확인해 주시겠어요?
1. 네트워크 연결 확인: 와이파이 연결이 안정적인지 확인해 주세요.
2. 앱 캐시 삭제:...
3. 앱 재설치:..." (상세하고 친절한 단계별 가이드 제공)
CFG는 후처리(Post-processing) 비용을 극적으로 줄여주는 기능이다. 모델의 출력이 반드시 정해진 형식과 일치해야 하는 작업에 활용할 수 있다.
[사례: 내부 어드민 데이터 입력 자동화]
레거시 시스템에 CSV 형식으로 데이터를 입력해야 한다고 가정해 보자. 시스템은 '상품ID(정수),상품명(따옴표 포함 문자열),가격(소수점 없는 정수),재고(정수)'라는 형식을 강하게 요구한다. 이 경우, GPT-5에선 정규 표현식을 통해 규칙을 준수하는 답변만 출력시킬 수 있다.
>> CFG (Regex) 정의: ^\d+,"[^"]+",\d+,\d+$
>> API 요청: "상품: 스마트워치, 가격: 249000, 재고: 150개를 CSV로 만들어줘. ID는 1024야."
>> API 응답: 1024,"스마트워치",249000,150
이처럼 CFG를 활용하면, 모델이 "가격은 249,000원입니다."와 같은 자연어를 생성하거나 쉼표를 잘못 사용하는 등의 잠재적 오류를 방지하고, 항상 파싱 가능한 데이터를 받을 수 있다.
일회성의 판단을 넘어 '대화'를 만드려면 에이전트는 맥락을 학습해야 한다. 이 관점에서 여러 단계를 거치는 에이전트에게 '기억력'을 부여하는 것은 필수적으로 요구되는 것이다. 이때 Reponse API가 핵심적인 역할을 한다. Open AI 쿡북에서도 GPT-5의 기능을 잘 활용하려면 Response API를 권장한다. (completion API와 response API의 차이는 '단발성 여부'의 차이다.)
[사례: 코드 수정 AI 에이전트]
1단계 (사용자 요청): "내 리액트 프로젝트의 프로필 페이지에 '알림 설정' 버튼을 추가해 줘."
>> 에이전트 행동: ls -R 툴을 호출하여 프로젝트 파일 구조를 파악한다. (previous_response_id 없음)
>> API 응답: 파일 목록을 보여주며 "어떤 파일을 수정할까요?"라고 묻는다.
2단계 (사용자 지시): "src/components/UserProfile.jsx 파일을 수정해."
>> 에이전트 행동:
- previous_response_id를 포함하여 API를 호출한다. GPT-5는 이전 단계에서 파악한 파일 구조(추론 과정)를 기억하고 있으므로, 즉시 해당 파일의 내용을 읽고 버튼을 추가하는 코드를 작성한다.
- previous_response_id가 없다면, 에이전트는 "해당 파일이 어디에 있나요?"라고 되묻거나 다시 파일 검색을 해야 할 수도 있다.
이 기능 덕분에 에이전트는 대화의 맥락을 완벽하게 유지하며 훨씬 더 효율적이고 지능적으로 작업을 수행할 수 있다.
GPT-5는 단순히 더 똑똑해진 모델이 아니라, 사용자가 원하는 대로 정교하게 제어할 수 있는 강력한 도구로 진화했다. 일반 사용자에게는 'Prompt Optimizer'가, 개발자에게는 새로운 API 파라미터와 CFG가 그 핵심이다. 번역을 통해 얻은 이 노하우들을 현재 개발 중인 제품에 적용하며, GPT-5가 가져올 변화를 직접 만들어가 보려 한다.
ⓒ 2025. 327roy All rights reserved.