본문 바로가기

LLM

GPT-5.5 프롬프트 가이드 완전 분석 — OpenAI가 "기존 프롬프트 버려라"고 말하는 이유

반응형

GPT-5.5가 API에 공개되면서 OpenAI가 공식 프롬프트 가이드를 함께 냈습니다. 핵심 메시지는 하나입니다. GPT-5.2, GPT-5.4 프롬프트를 그대로 가져오지 마세요. 처음부터 다시 쓰세요.

[핵심 요약]
→ 출시: 2026년 4월 23일 (GPT-5.5), 프롬프트 가이드: 4월 25일
→ 공식 위치: developers.openai.com/api/docs/guides/prompt-guidance
→ 핵심 경고: GPT-5.2/5.4 프롬프트를 그대로 마이그레이션하면 오히려 성능 저하
→ 이유: 기존 과도한 단계별 지시 → GPT-5.5의 추론 공간 제한 → 경직된 응답
→ 해결: 아웃컴 퍼스트 — "어떻게 할지" 말고 "무엇을 달성할지"만 지정
→ 7파트 구조: 역할 → 지시 → 성공 기준 → 허용 부작용 → 증거 규칙 → 출력 형식 → 페르소나
→ reasoning_effort: 기본값 medium (이전 모델과 다름)
→ Codex 자동 마이그레이션: $openai-docs migrate this project to gpt-5.5

왜 기존 프롬프트를 버려야 하나

[기존 모델 시대 프롬프트]

이전 GPT 모델들:
→ 추론 능력 제한 → 개발자가 모든 단계를 명시해야 했음
→ "1단계: 사용자 요청 파악 → 2단계: 정책 확인 → 3단계: 계좌 조회..."
→ 세밀한 지시가 필수

GPT-5.5에서 이 방식의 문제:
→ GPT-5.5의 추론 공간(search space)을 오히려 제한
→ 모델이 스스로 찾을 수 있는 최적 경로를 막음
→ 경직되고 기계적인 응답이 나옴
→ 기존 프롬프트 + 새 모델 = 이전 모델보다 오히려 나쁜 성능
[OpenAI 공식 경고 원문]
"To get the most out of GPT-5.5, treat it as a new model family
to tune for, not a drop-in replacement for gpt-5.2 or gpt-5.4.

Begin migration with a fresh baseline instead of carrying over
every instruction from an older prompt stack.

Start with the smallest prompt that preserves the product contract,
then tune reasoning effort, verbosity, tool descriptions, and
output format against representative examples."

→ 요약: 최소한의 프롬프트로 시작해서 필요한 것만 추가
[프롬프트 변화의 방향]

기존 방식 (GPT-4.1 / 5.2 시대):
"1단계: 고객 요청 접수
 2단계: 정책 문서에서 자격 조건 조회
 3단계: 계좌 데이터에서 잔액 확인
 4단계: 허용된 액션 목록에서 실행 가능한 것 선택
 5단계: 실행 후 결과 요약"

GPT-5.5 방식 (아웃컴 퍼스트):
"고객 문제를 end-to-end로 해결하라.
성공 기준: 정책+계좌 데이터 기반 자격 판단,
           허용된 액션 완료 후 응답,
           completed_actions + customer_message + blockers 포함"

→ 단계가 아니라 결과를 정의
→ 방법은 모델이 스스로 결정

실전 1 — 7파트 프롬프트 구조

[OpenAI 권장 7파트 구조]

1. 역할 (Role)
→ 모델의 정체성과 책임 정의
→ 한때 "무의미하다"는 논쟁이 있었지만 GPT-5.5에서 공식 부활
→ 맨 위에 배치

2. 지시 (Instructions)
→ 모델이 수행해야 할 것과 절대 하지 말아야 할 것
→ 단계별 절차 대신 규칙 중심

3. 성공 기준 (Success criteria)
→ "이렇게 하면 완료" 정의
→ 정량적/검증 가능한 형태 권장

4. 허용 부작용 (Side effects)
→ 허용되는 외부 작업 목록 (API 호출, 파일 수정 등)
→ 명시하지 않은 것은 하지 말 것

5. 증거 규칙 (Evidence rules)
→ 어떤 데이터로 판단해야 하는지
→ 추측 금지 → 데이터 기반 결정

6. 출력 형식 (Output format)
→ 응답 구조 정의
→ 가능하면 Structured Outputs API 활용 (프롬프트 내 스키마 정의 불필요)

7. 페르소나 (Persona)
→ 고객 대면 에이전트에서 특히 중요
→ 성격(Personality) vs 협업 스타일(Collaboration style) 구분
# 7파트 구조 예시 — 고객 지원 에이전트

SYSTEM_PROMPT = """
# Role
당신은 셀 SaaS의 고객 지원 전문가입니다.
구독 문의, 기술 지원, 환불 처리를 담당합니다.

# Instructions
- 고객 문제를 완전히 해결하기 전까지 대화를 끝내지 마세요
- 모든 결정은 정책 문서와 계좌 데이터에 기반해야 합니다
- 추측으로 답변하지 마세요

# Success Criteria
- 환불: 정책 기준 충족 여부 판단 완료 + 처리 또는 거절 완료
- 기술 지원: 문제 재현 확인 + 해결 또는 에스컬레이션 완료
- 구독 변경: 변경 완료 + 확인 메일 발송 완료

# Allowed Side Effects
- 환불 처리 시스템 API 호출
- 티켓 생성 및 에스컬레이션
- 확인 이메일 발송
- (허용되지 않음: 계좌 삭제, 정책 외 할인 적용)

# Evidence Rules
- 환불 가능 여부: 구매 날짜 + 정책 문서로만 판단
- 기술 문제: 로그 데이터 또는 재현 확인 후 판단
- 데이터 없이 추측으로 판단 금지

# Output Format
최종 응답 포함 필드:
- completed_actions: 실행한 액션 목록
- customer_message: 고객에게 보낼 메시지
- blockers: 처리 불가 이유 (있을 경우)

# Persona
성격: 친절하고 직접적이며 유능한 전문가
협업: 불분명한 경우 1개 명확한 질문만, 명확하면 바로 실행
"""

실전 2 — 아웃컴 퍼스트 프롬프트

[아웃컴 퍼스트 vs 절차 중심 비교]

절차 중심 (이전 방식, GPT-5.5에서 역효과):
"다음 단계를 순서대로 실행하세요:
 1. search_policy 툴로 환불 정책 조회
 2. get_account 툴로 계좌 조회
 3. 구매일 확인
 4. 정책 기준과 비교
 5. 결과 기반 액션 결정"

아웃컴 퍼스트 (GPT-5.5 권장):
"고객의 환불 요청을 처리하라.
성공: 정책과 계좌 데이터 기반 자격 판단 완료,
      허용된 액션 완료 후 응답,
      누락된 정보가 있으면 가장 작은 필드 하나만 요청"

→ GPT-5.5가 최적 경로를 스스로 결정
→ 결과가 동일하거나 더 나음
→ 프롬프트가 짧아짐 → 캐싱 효율 향상
# ❌ 기존 방식 (GPT-5.5에서 성능 저하)
BAD_PROMPT = """
고객 환불 요청을 처리할 때 다음 단계를 따르세요:
1. search_policy 툴을 사용하여 환불 정책을 검색합니다
2. get_account 툴을 사용하여 고객 계좌 정보를 가져옵니다
3. 구매 날짜를 확인합니다
4. 구매 날짜와 정책 기준을 비교합니다
5. 자격이 되면 process_refund 툴을 호출합니다
6. 자격이 안 되면 거절 메시지를 전달합니다
7. 확인 메일을 발송합니다
"""

# ✅ GPT-5.5 방식 (아웃컴 퍼스트)
GOOD_PROMPT = """
고객의 환불 요청을 end-to-end로 해결하라.

성공 기준:
- 정책과 계좌 데이터를 기반으로 자격 판단
- 허용된 모든 액션을 응답 전에 완료
- 응답에 포함: completed_actions, customer_message, blockers

증거 규칙:
- 구매 날짜와 정책 문서만으로 자격 판단
- 데이터 없이 추측 금지
- 정보 누락 시 가장 작은 필드 하나만 요청
"""

실전 3 — reasoning_effort 설정

from openai import OpenAI

client = OpenAI()

# GPT-5.5 reasoning_effort 기본값: medium
# (이전 GPT-5.2: none, GPT-5: medium)

# ===== medium (기본값 — 대부분 케이스) =====
response = client.responses.create(
    model="gpt-5.5",
    input="이 코드에서 버그 찾아줘",
    reasoning={"effort": "medium"}
    # 품질, 신뢰성, 레이턴시, 비용의 균형
)

# ===== low (빠른 응답, 단순 작업) =====
response = client.responses.create(
    model="gpt-5.5",
    input="이 텍스트 요약해줘",
    reasoning={"effort": "low"}
    # 레이턴시 우선, 단순 작업에 적합
)

# ===== high (복잡한 추론) =====
response = client.responses.create(
    model="gpt-5.5",
    input="이 아키텍처의 보안 취약점 전부 분석해줘",
    reasoning={"effort": "high"}
    # 복잡한 멀티스텝 에이전트 작업
)

# ===== none (최저 레이턴시) =====
response = client.responses.create(
    model="gpt-5.5",
    input="안녕하세요",
    reasoning={"effort": "none"}
    # 단순 분류, 짧은 응답에만 사용
    # none 사용 시 프롬프트에 "단계적으로 생각해줘" 추가 권장
)
[reasoning_effort 선택 기준]

GPT-5.5 기본값: medium
→ 대부분의 프로덕션 워크플로우에 적합
→ "균형 있는 시작점으로 medium 권장" — OpenAI 가이드

none:
→ 단순 분류, 짧은 Q&A, 인터랙티브 챗
→ none 사용 시 프롬프트에 "생각하고 답해줘" 추가

low:
→ 빠른 코드 요약, 간단한 변환
→ 비용 최적화 중요한 배치 작업

medium:
→ 대부분의 코딩 에이전트 작업
→ 고객 지원, 문서 분석

high/xhigh:
→ 복잡한 멀티파일 리팩토링
→ 보안 취약점 분석
→ 수학/논리 집약적 작업

실전 4 — 스트리밍 레이턴시 줄이기 (Preamble 패턴)

[문제: GPT-5.5가 오래 생각하면 사용자 화면이 멈춘다]

GPT-5.5 복잡한 작업 흐름:
사용자 요청 → [추론 중...] → [툴 호출 중...] → 응답 시작

→ 추론 + 툴 호출 시간 동안 사용자 화면: 아무것도 없음
→ "앱이 죽었나?" → 이탈

OpenAI 공식 해결책: Preamble (선행 메시지)
"복잡한 멀티스텝 작업에서 첫 툴 호출 전에
 요청을 인지하고 첫 단계를 알리는
 1~2문장 짧은 업데이트를 먼저 보내세요"
from openai import OpenAI

client = OpenAI()

# Preamble 패턴 구현
SYSTEM_WITH_PREAMBLE = """
# Instructions
복잡한 작업 시작 전 반드시:
- 요청을 이해했음을 1문장으로 확인
- 첫 번째로 할 일을 1문장으로 안내
- 이후 실제 작업 진행

예시:
사용자: "이 레포지토리에서 보안 취약점 전부 찾아줘"

[Preamble 전송]
"보안 취약점 분석을 시작합니다. 먼저 인증/인가 관련 파일부터 검토하겠습니다."

[이후 실제 작업...]
"""

# 스트리밍으로 Preamble 먼저 전송
stream = client.responses.create(
    model="gpt-5.5",
    input="이 레포지토리에서 성능 병목 찾아줘",
    instructions=SYSTEM_WITH_PREAMBLE,
    stream=True
)

for event in stream:
    if event.type == "response.text.delta":
        print(event.delta, end="", flush=True)
        # → 사용자는 즉시 첫 메시지를 봄
        # → "성능 분석을 시작합니다. 데이터베이스 쿼리부터 검토하겠습니다."
[Preamble 이미 쓰는 곳]
→ OpenAI Codex 앱: 작업 시작 시 항상 먼저 계획 알림
→ Claude Code: "파일 구조 파악 중..." 식의 중간 업데이트
→ Cursor: 에이전트 진행 상황 실시간 업데이트

→ 이 패턴 자체가 AI 에이전트 UX의 표준이 되고 있음

실전 5 — 역할 정의 (Role) 재평가

[논쟁: 역할 정의가 필요한가]

2024~2025년 프롬프트 커뮤니티 논쟁:
"당신은 전문가입니다" 같은 역할 정의가 실제로 효과 있나?
→ 일부: "무의미한 토큰 낭비"
→ 일부: "심리적 효과로 미묘하게 도움됨"

GPT-5.5 공식 가이드 입장:
→ 역할 정의 공식 부활 — 7파트 구조의 1번
→ 단, 목적이 달라짐: 페르소나 설정이 아니라 책임 범위 명시
# ❌ 과거 방식: 막연한 역할 설정
OLD_ROLE = "당신은 매우 유능하고 도움이 되는 AI 어시스턴트입니다."

# ✅ GPT-5.5 방식: 구체적 책임과 범위 명시
NEW_ROLE = """
당신은 셀 SaaS의 고객 지원 에이전트입니다.
담당 범위: 구독 관리, 결제 문의, 기술 지원 1단계
담당 외: 환불 5만원 초과 (에스컬레이션), 계정 삭제 (보안팀)
"""

# ✅ 에이전트 역할 + 협업 스타일 구분
AGENT_PROMPT = """
# 역할과 성격 (Personality)
당신은 유능하고 침착하며 직접적인 협력자입니다.
사용자를 유능하다고 가정하고 존중으로 대응합니다.
진행 상황이 명확하면 멈추지 말고 계속 진행하세요.

# 협업 스타일 (Collaboration)
- 모호할 때: 명확한 질문 최대 1개 (과도한 확인 금지)
- 명확할 때: 즉시 실행 → 결과 보고
- 불확실할 때: "...으로 보입니다"로 시작, 절대적 주장 금지
"""

실전 6 — Codex 자동 마이그레이션

# Codex에서 기존 프롬프트 자동 GPT-5.5 최적화
# openai-docs 스킬이 설치된 Codex 환경에서

$openai-docs migrate this project to gpt-5.5

# → Codex가 GitHub의 공식 upgrade-guide.md를 참조
# → 기존 프롬프트 분석
# → GPT-5.5 패턴으로 자동 변환 제안:
#   - 과도한 단계별 지시 제거
#   - 아웃컴 퍼스트 구조로 변환
#   - 7파트 구조 적용
#   - reasoning_effort 설정 추가
# 수동 마이그레이션 체크리스트

def migrate_to_gpt55(old_prompt: str) -> str:
    """기존 프롬프트 GPT-5.5 마이그레이션 가이드"""

    checklist = """
    [마이그레이션 체크리스트]

    1. 단계별 절차 → 성공 기준으로 전환
       ❌ "1단계: A → 2단계: B → 3단계: C"
       ✅ "성공 기준: A + B + C 완료, 응답에 X 포함"

    2. 프롬프트 최소화
       ❌ 모든 엣지 케이스를 프롬프트에 명시
       ✅ 핵심 제약만, 나머지는 모델이 판단

    3. reasoning_effort 명시 추가
       → medium이 기본값 (이전 모델과 다름)

    4. 출력 스키마 → Structured Outputs API로 이동
       ❌ 프롬프트에 JSON 스키마 정의
       ✅ response_format 파라미터 사용

    5. 날짜 제거
       ❌ 프롬프트에 "오늘은 2026년 5월 6일"
       ✅ GPT-5.5는 현재 UTC 날짜를 이미 알고 있음

    6. Preamble 추가 (복잡한 작업)
       → 첫 툴 호출 전 1~2문장 진행 상황 알림

    7. 역할 정의 재확인
       → 모델 정체성 + 책임 범위 명시
       → 성격(Personality) + 협업 스타일 구분
    """
    return checklist

GPT-5 시리즈 프롬프트 진화 타임라인

모델 기본 reasoning 주요 변화

GPT-5 medium verbosity 파라미터 첫 도입, XML 구조 효과적
GPT-5.1 none none 모드 신규 도입, Preamble 프롬프트 가능
GPT-5.2 none xhigh 추가, Compaction, 성능 최적화
GPT-5.4 medium 병렬 툴 호출, phase 파라미터
GPT-5.5 medium 아웃컴 퍼스트, 7파트 구조, 처음부터 다시 작성 권고

마무리

✅ GPT-5.5 프롬프트 마이그레이션 핵심 3가지

1. 처음부터 다시 써라
→ 기존 프롬프트 복붙 금지
→ 최소 프롬프트로 시작 → 필요한 것만 추가

2. 아웃컴 퍼스트로 전환
→ "어떻게" 대신 "무엇을 달성할지"만 정의
→ 성공 기준 + 증거 규칙 + 허용 부작용 명시

3. reasoning_effort medium으로 시작
→ GPT-5.5 기본값 = medium (이전 GPT-5.2는 none)
→ 문제 있을 때만 조정

[오늘 당장 할 것]
1. 현재 GPT-5.2/5.4 프롬프트 목록 작성
2. 각 프롬프트에서 단계별 절차 찾기
3. 성공 기준 + 제약으로 재작성
4. A/B 테스트로 검증
또는: Codex에서 $openai-docs migrate this project to gpt-5.5 실행

 


관련 글

https://cell-devlog.tistory.com/127

 

GPT-5.5 출시 완전 분석 — Claude Opus 4.7에 일주일 만에 날린 OpenAI의 반격

6주 만에 새 모델이 나왔습니다. AI 코딩 툴 전쟁, 이제 속도전입니다.[핵심 요약]→ GPT-5.5: 2026년 4월 23일 출시, GPT-5.4 이후 6주 만→ 핵심: 에이전트 코딩 특화, 다단계 작업 자율 처리→ 포지셔닝:

cell-devlog.tistory.com

https://cell-devlog.tistory.com/42

 

컨텍스트 엔지니어링 — 프롬프트 엔지니어링의 다음 단계

2025년 6월, Andrej Karpathy(전 OpenAI, Tesla AI 디렉터)가 X에 짧은 글 하나를 올렸어요."프롬프트 엔지니어링이라는 말은 우리가 실제로 하는 일을 너무 사소하게 만든다. 더 정확한 표현은 컨텍스트 엔

cell-devlog.tistory.com

 

반응형