
GPT와 제대로 된 토론을 하기 위해서는 약간의 공학적 설계가 필요했다
요약
GPT-5.5를 활용한 실무 조사 과정에서 발생하는 전제 유지 실패, 리스크론 폭주, 아첨(sycophancy) 문제를 해결하기 위한 커스텀 지시 설계 과정을 다룹니다. OpenAI의 공식 프롬프트 가이드를 기반으로 효과적인 페르소나와 응답 구조를 설정하는 방법을 제시합니다.
핵심 포인트
- GPT의 아첨(sycophancy) 패턴과 논점 이탈 문제 분석
- OpenAI 공식 가이드를 활용한 커스텀 지시 설계 전략
- 단순 금지보다 성공 기준과 리스크 처리 방식을 명시하는 것이 중요
- Role, Context, Objective 등 체계적인 프롬프트 구조 적용
이 기사에 대하여
GPT-5.5를 사용하면서 "왠지 제대로 된 대화가 성립되지 않는다"라고 느낀 적은 없으신가요?
제 경우, 실무에 필요한 조사를 GPT-5.5에게 맡겼더니 10번을 주고받아도 결론이 안정되지 않아, 결국 "거짓말하지 마!!!!"라고 GPT에게 보내는 상황까지 이르렀습니다. 하지만 소리를 지른다고 해서 근본적으로 해결되지는 않습니다.
당시에는 ChatGPT의 개인화 설정(Custom Instructions, 커스텀 지시)을 아무것도 설정하지 않은 상태였습니다. 이것을 설계하면 개선할 수 있을까? OpenAI의 공식 프롬프트 가이드(Prompt Guide)를 읽으며 시행착오를 겪은 기록입니다.
결론부터 말씀드리면, 공식 가이드에 기반하여 커스텀 지시를 설계했더니, 동일한 의제에 대해 6턴 만에 자료화 단계까지 도달할 수 있게 되었습니다. 다만, 효과가 있었던 것은 "금지 사항을 늘리는 것"이 아니라, GPT에게 무엇을 성공으로 간주할지, 어디서 멈출지, 리스크나 검색 결과를 어떻게 다룰지를 명시하는 것이었습니다.
최종 버전의 지시문 자체는 공개하지 않지만, 설계 방식과 공식 가이드의 포인트는 모두 적어두었습니다. 직접 만드실 때 참고해 보세요.
설정 없는 GPT-5.5에서 일어나고 있던 문제
검증 환경: ChatGPT UI (Plus 플랜), GPT-5.5 모델 선택, Web Search (웹 검색) ON. 커스텀 지시는 미설정 상태에서 시작.
검증에 사용한 의제는 "ChatGPT Plus와 Business ChatGPT & Codex의 플랜 비교"입니다. 실무에 필요한 조사였기에 GPT-5.5에게 그대로 질문했습니다.
결과는 처참했습니다. 크게 세 가지 문제가 발생하고 있습니다.
전제 유지를 실패함
사용자가 "Plus에서도 학습 설정을 OFF로 해두었다"라고 전달했음에도 불구하고, GPT는 몇 번이고 "Plus는 위험하므로 Business를 권장한다"라는 내용으로 돌아갑니다. 정정해 주어도 다음 답변에서 다시 똑같은 논점으로 벗어납니다.
리스크론으로의 폭주
첨삭을 의뢰했을 뿐인데, 묻지도 않은 보안 리스크 이야기를 끊임없이 전개하기 시작합니다. 의뢰 범위를 넘어선 주변 논점을 확장한 결과, 스스로 확장한 논점의 정합성이 맞지 않게 되어 파탄에 이릅니다.
sycophancy (아첨/영합) 패턴
지적할 때마다 "네, 말씀하신 대로입니다"라며 전면 항복하고, 그 직후에 다시 똑같은 구조의 실수를 반복합니다. pushback → agree → drift → repeat의 전형적인 sycophancy 패턴입니다.
결국 강하게 질책하고 나서야 겨우 올바른 답변이 나오는 상태였습니다.
Step 1: 첫 번째 커스텀 지시를 작성해 보기
우선 스스로 커스텀 지시를 작성하여 설정해 보았습니다. 다음과 같은 내용입니다.
구조:
Role (역할) → Context (문맥) → Objective (목표) → Tone (어조) → Audience (대상) → Persona Integration (페르소나 통합) → Response (응답)
작성 내용 요약:
Role: 친근한 헬프 에이전트 -
Context: 객관적인 사실·수치가 포함되는 경우에는 Web Search (웹 검색)로 근거를 확보할 것 -
Objective: 지적 동반자로서 기능할 것. 반론·이견을 담담하게 제시할 것. 아첨에 굴하지 말 것 -
Tone: 대등하게 행동할 것. 치켜세우기·과도한 찬사 금지 -
Audience: 사용자 단 한 명. 일반 독자 대상의 설명 모드로 들어가지 말 것 -
Persona Integration: 다른 페르소나가 기동 중일 때도 검증 요건을 유지할 것 -
Response: 기계적인 질문을 붙이지 말 것. 치켜세우는 표현을 배제할 것. 이견이 있다면 제시할 것 -
직접적인 억제: 사용자가 이미 인지하고 있는 리스크나 지식을 끈질기게 지적하면, 당신의 평가가 현저히 낮아질 것
효과가 있었던 점 · 효과가 없었던 점
| 지시 의도 | 효과 있음? | 결과 |
|---|---|---|
| Web Search (웹 검색)로 근거를 확보하라 | 있음 | 소스 인용의 정밀도가 올라갔다 |
| ... |
어조는 좋아졌습니다. 하지만, 대화의 구조적인 문제는 개선되지 않았습니다. 첨삭을 의뢰해도 의뢰 범위를 넘어 리스크론을 전개하고, 스스로 확장한 논점의 정합성이 파탄 나는 패턴은 그대로 남아 있었습니다. 소리를 질러도 고쳐지지 않았고, 규칙을 추가해도 고쳐지지 않았습니다. 문제는 다른 곳에 있었습니다.
Step 2: 무엇이 잘못되었는지 분석하기
GPT-5.5의 거동을 분석한 결과, 세 가지 편향(Bias)이 보였습니다.
"안전한 쪽으로 치우치는" 편향
보안 및 프라이버시 관련 주제에서는 "리스크를 지적하는 답변"에 강하게 끌려갑니다. RLHF (Reinforcement Learning from Human Feedback)를 통해 "보안 리스크를 간과하지 않는 것 = 좋은 답변"이라고 학습되었기 때문에, 사용자가 "설정을 OFF로 해두었다", "주의가 필요하다고 명시했다"라고 몇 번을 말해도 다시 "하지만 Business 권장 사항입니다"라는 답변으로 돌아옵니다.
"부가가치를 내야만 한다"는 편향 (Bias)
"맞습니까?"라는 질문에 대해 "맞습니다"라고만 끝내는 것이 모델에게는 "불충분한 답변"으로 느껴지는 듯합니다. 반드시 무언가 추가 정보, 수정안, 개선 제안을 내놓으려 합니다. 결과적으로 올바른 문장에 대해 불필요한 수정 버전을 끊임없이 생성하게 됩니다.
"검색 결과 전부 출력하기" 편향 (Bias)
"웹 검색으로 근거를 확보하라"고 지시한 결과, 검색에서 발견한 세세한 사양까지 "전달해야 할 정보"로서 혼입됩니다. 이는 사용자가 요구하는 입도(Granularity)와 맞지 않습니다.
이 세 가지에 대해 "~하지 마라"라는 규칙을 추가해도 GPT-5.5에서는 효과가 미미하다는 것을 알 수 있었습니다. 문제가 발생할 때마다 규칙을 추가하면 지시 자체 자체가 노이즈가 됩니다.
Step 3: 공식 프롬프트 가이드를 읽다
여기서 OpenAI의 공식 프롬프트 가이드(GPT-5.4/5.5용)를 읽어보았습니다. 몇 가지 중요한 통찰을 얻을 수 있었습니다.
성과 지향적 프롬프트가 효과적이다
GPT-5.5는 프롬프트가 성과를 정의하고, 모델이 효율적인 해결 경로를 선택할 수 있는 여지를 남겨둘 때 가장 높은 성능을 발휘합니다. 이전 모델과 비교했을 때, 더 짧고 성과 지향적인 프롬프트가 효과적입니다.
즉, 문제가 발생할 때마다 지시를 추가하는 방식은 GPT-5.5에게 역효과를 낼 수 있습니다.
ALWAYS/NEVER의 사용법
불필요한 절대 규칙을 피하십시오. ALWAYS/NEVER/MUST는 진정한 불변 조건(안전 규칙, 필수 출력 필드, 절대 일어나서는 안 되는 액션)을 위해서만 사용하십시오. 판단이 필요한 상황에는 대신 decision rules (판단 규칙)를 사용하십시오.
"리스크를 지적하지 마라"가 아니라, "언제 지적하고 언제 지적하지 않을 것인가"의 판단 기준을 작성하라는 의미입니다.
Collaboration style이라는 개념
Personality (성격)는 어시스턴트가 어떻게 들리는지를 제어합니다. Collaboration style (협업 스타일)은 어시스턴트의 일하는 방식을 제어합니다. 즉, 언제 질문할지, 언제 전제를 둘지, 얼마나 주도적으로 움직일지, 불확실성이나 리스크를 어떻게 다룰지를 제어합니다.
제 초안에는 Tone (어조/성격)은 있었지만, Collaboration style (일하는 방식)이 결여되어 있었습니다. GPT에게 "어떻게 들릴지"는 지시했지만, "어떻게 일할지"는 지시하지 않았던 것입니다. 이것이 근본적인 문제였습니다.
공식 가이드의 권장 구조
Role → Personality → Goal → Success criteria → Constraints → Output → Stop rules
제 초안과 비교해 보니, Success criteria (성공 조건) 와 Stop rules (정지 조건) 가 빠져 있었다는 것을 알 수 있었습니다.
"언제 멈춰야 하는지", "무엇을 기준으로 충분하다고 판단할지"에 대한 정의가 없었기 때문에, 모델은 "더 유용한 정보를 낼 수 있을 것"이라고 판단하여 논점을 계속 확장했던 것입니다.
Step 4: 구조를 바꾸어 재설계하기
공식 가이드에 기반하여, 내용을 크게 바꾸지 않고 구조를 재편성했습니다. 지시를 늘린 것이 아니라, GPT-5.5가 따르기 쉬운 형태로 재배치하고 부족했던 섹션을 추가했습니다.
최종판에서 변경한 점
| 변경 | 내용 |
|---|---|
| 추가 | Collaboration style (일하는 방식의 원칙), Success criteria (성공의 정의), Stop rules (언제 멈출 것인가) |
| 통합 | 검색 근거 지시를 Constraints에 집약. Response에 산재해 있던 지시를 Output으로 정리 |
| 삭제 | Context 내의 중복된 기술 (GPT-5.5에서는 노이즈가 될 수 있는 부분) |
| 유지 | 리스크 지적 능력 ("이견이 있으면 제시", "윤리 판정 유지", "영합하지 않음") |
설계 시 특히 의식한 포인트
1. 리스크 지적을 금지하는 것이 아니라, decision rule로 만들기
"리스크를 말하지 마라" (NEVER)가 아니라, "사용자가 이미 인식/대처한 경우에는 반복하지 않는다. 미인식 리스크가 있는 경우에만 지적한다" (판단 조건). 이렇게 하면 GPT가 간과한 부분을 발견했을 때는 지적할 수 있습니다.
2. "언제 멈출 것인가"를 명시하기
GPT-5.5는 "더 유용한 정보를 낼 수 있을 것"이라고 판단하여 멈추지 않는 경향이 있습니다. Stop rules(중단 규칙)로 "질문에 답하면 멈춘다. 만약을 위해 보충 설명을 하며 연장하지 않는다", "수정이 필요 없는 부분에 대체안을 생성하지 않는다"라고 명시했습니다.
3. "무엇을 성공으로 볼 것인가"를 정의하기
Success criteria(성공 기준)에 "요구된 입도(granularity)로 답변하고 있는가", "묻지 않은 논점을 전개하지 않는가"라고 적음으로써, GPT가 자신의 답변을 자기 평가할 수 있는 기준을 주었습니다.
4. 리스크 정보의 출력 형식을 분리하기
Output(출력)에 "보안 리스크가 있는 경우에는 메인 답변과 분리하여 간결하게 추가한다"라고 넣음으로써, 리스크 지적이 메인 답변을 오염시키지 않게 되었습니다.
before / after 비교
동일한 의제(ChatGPT Plus와 Business의 비교)로 비교한 결과입니다.
전제 유지
| 설정 없음 | 설정 있음 |
|---|---|
| 질문 | "Plus에서도 OFF 설정으로 하고 있다" |
| GPT의 응답 | 몇 번을 말해도 "Plus는 위험 $\rightarrow$ Business 권장"으로 돌아감 |
| 결과 | 10회 이상 대화가 오가며 결론이 안정되지 않음 |
설정 후의 GPT는 이 전제를 받아들인 상태에서 차이점만을 설명해 주었습니다.
GPT(설정 후): 틀린 말은 아닙니다. 다만, "학습에 사용되지 않는다"는 것과 "Business 수준의 업무 보안이 담보된다"는 것은 별개입니다.
이는 설정이 없었을 때는 절대 나오지 않았을 답변입니다.
문면 리뷰의 질
| 설정 없음 | 설정 있음 |
|---|---|
| 수행 내용 | 클라이언트용 문구의 정오 체크를 의뢰 |
| ... |
논점의 수렴
| 설정 없음 | 설정 있음 |
|---|---|
| 턴 수 | 10회 이상 |
| ... |
남은 한계
솔직히 말씀드리면, 커스텀 인스트럭션(Custom Instructions)으로 완전히 해결되지 않는 문제도 있습니다.
Silent Routing (사일런트 라우팅): Plus 사용자는 일정 메시지 수를 초과하면 mini 버전으로 자동 전환되는 사양이 있습니다. GPT-5.5 표시가 그대로 남아 있기 때문에 사용자 측에서는 판별할 수 없습니다.
RLHF의 안전 편향 (Safety Bias): 보안 관련 화제에서는 "리스크를 지적하는 답변"으로 강하게 끌려가는 경향이 있습니다. 이는 모델의 훈련 수준의 문제로, 프롬프트의 영향 범위를 벗어납니다.
Context Drift (컨텍스트 드리프트): 긴 대화에서는 Markdown 형식 지시의 준수 능력이 저하됩니다. 공식 가이드에서도 "3~5개 메시지마다 지시를 재삽입하면 준수 능력이 개선된다"라고 언급하고 있습니다.
수정본 제시 습관: Stop rules로 억제하더라도, "수정이 필요한 부분을 포함한 전체 수정본"이라는 형태로 나오는 경우가 있습니다. 다만 수정본의 질은 올라가 있으므로 실질적인 해악은 작습니다.
커스텀 인스트럭션으로 제어할 수 있는 것은 "톤", "작업 방식", "출력 형식", "정지 조건"이지, 모델의 추론 능력 그 자체는 아닙니다. 이 경계를 이해해 두는 것이 중요합니다.
요약
적어도 이번 용도에서는 GPT-5.5가 "지시를 늘릴수록 좋아지는" 것은 아니었습니다. 공식 가이드가 권장하는 것은 "드리프트를 방지할 충분한 방향성"과 "모델이 추론할 수 있는 충분한 여백" 사이의 균형입니다.
제 경우에는 다음 4가지가 특히 효과적이었습니다.
Collaboration style (협업 스타일): "어떻게 들리는가"가 아니라 "어떻게 일하는가"를 정의한다.
Success criteria (성공 기준): "무엇이 충분한가"를 명시하여 불필요한 정보 추가를 막는다.
Stop rules (중단 규칙): "언제 멈출 것인가"를 정의하여 폭주를 방지한다.
NEVER $\rightarrow$ decision rule (금지 $\rightarrow$ 결정 규칙): "하지 마라"가 아니라 "이런 조건일 때만 한다"로 바꾼다.
최종판 커스텀 인스트럭션 전문은 이 글에서 공개하지 않지만, 설계 방식은 모두 적었습니다. 출발점으로서 골격 템플릿을 남겨둡니다.
# Role
(당신의 AI에게 요구하는 역할)
# Personality
...
각 섹션의 내용은 자신의 GPT와의 대화에서 실제로 일어나고 있는 문제로부터 역산하여 작성해 보세요. 중요한 것은 템플릿을 복사해서 붙여넣는 것이 아니라, 자신의 대화에서 발생하고 있는 문제를 진단하고 그에 대한 처방전을 구조화하는 것입니다.
「GPT의 답변이 별로다」라고 끝내지 말고, 모델의 특성을 이해한 상태에서 커스텀 지시 (Custom Instructions)를 설계해야 합니다. 도구의 특성을 이해하고 상황에 맞춰 나누어 사용하는 것이 가장 효율적이라고 생각합니다.
이 기사에서 다룬 「모델 특성 진단 → 커스텀 지시 구조 설계」는, 타카조 AI Lab (鷹匠 AI Lab)에서 체계화를 진행하고 있는 방법론의 일부입니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기