Temperature가 뭐야? AI 답이 매번 달라지는 이유 5분 정리
같은 질문을 ChatGPT에 두 번 던지면 답이 미묘하게 다르다. 그게 우연이 아니라 일부러 그렇게 설계된 것이다. 그 다양성을 조절하는 단 하나의 다이얼이 Temperature다.

Temperature 한 줄 정의
Temperature는 AI 답변의 다양성·예측 불가능성을 조절하는 설정값이다.
값이 낮을수록 모델이 가장 확률 높은 단어만 골라 답이 결정적이 되고, 값이 높을수록 다양한 단어를 시도해 답이 매번 달라진다. 보통 01 (일부 모델은 02) 범위에서 조절한다.
쉬운 비유로, 같은 사람이 같은 질문에 답한다고 생각해보자. 정확한 답이 필요한 질문에는 매번 같은 답을 한다. 아이디어가 필요한 질문에는 매번 새 답을 시도한다. AI도 똑같다. 작업 성격에 맞춰 temperature를 조절하는 게 좋은 결과의 시작이다.
중학생도 이해하는 비유
Temperature를 가장 쉽게 설명하는 비유는 초콜릿 자판기다.
자판기가 단순한 모드(temp=0)면 같은 버튼을 누를 때마다 정확히 같은 초콜릿이 나온다. 예측 가능하고 안정적이다.
자판기가 다양성 모드(temp=1)면 같은 버튼을 눌러도 어떨 때는 밀크, 어떨 때는 다크, 어떨 때는 새 맛이 나온다. 흥미롭지만 실수도 늘어난다.
**중간(temp=0.5~0.7)**이면 80%는 평소 맛, 20%는 약간의 변주. 일반 글쓰기에 잘 맞는다.
이 자판기가 LLM이고, 초콜릿 종류 = 다음에 나올 단어 후보다. Temperature는 그 후보 중 어떻게 고를지 결정한다.
값별 사용 예
| Temperature | 특성 | 어울리는 작업 |
|---|---|---|
| 0.0 | 가장 결정적, 항상 같은 답 | 사실 정리, 코드 생성, 번역 |
| 0.2~0.3 | 거의 결정적 | 보고서, 학술 글, 데이터 분석 |
| 0.5~0.7 | 자연스러움 + 약간의 변동 | 일반 블로그 글쓰기, 답변 |
| 0.8~1.0 | 다양성·창의성 | 광고 카피, 시·소설, 브레인스토밍 |
| 1.2 이상 | 매우 무작위, 가끔 어색 | 창의 실험 |
같은 모델이라도 temperature 0.2와 1.2는 완전히 다른 도구처럼 동작한다. 작업에 맞는 값을 정해두는 게 효과적이다.
실제 사용 예시
예시 1: 코드 생성 (temp=0.0~0.2) 정확한 함수·구문이 필요한 코드는 결정적 답이 좋다. 매번 다른 답이 나오면 디버깅이 어려워진다.
예시 2: SEO 제목 만들기 (temp=0.7~0.9) 같은 키워드로 10개 후보 제목을 받고 싶을 때 temperature 높여 다양성 확보.
예시 3: 사실 검증 글쓰기 (temp=0.3~0.5) 환각을 줄이고 싶으면 낮게. 다만 너무 낮으면 글이 딱딱해지므로 균형.
예시 4: 시·소설·창작 (temp=1.0+) 완전 새로운 표현이 필요한 창작은 높은 temperature가 어울린다.
예시 5: API 자동화 워크플로 (temp=0.3 보수적) 프로그램이 결과를 파싱해야 하면 일관성이 중요. 낮은 temperature로 출력 형식 안정성 확보.
자주 만나는 함정
1. 환각과 다양성의 trade-off 높은 temperature = 다양성 + 환각 증가. 사실 작업은 낮게.
2. 0이라고 100% 같은 답은 아님 모델 내부 비결정성·샘플링 전략 차이로 미세한 변동이 있을 수 있다.
3. 과도하게 높이면 어색 1.5+ 영역은 한국어 문장이 갑자기 어색해질 수 있다. 1.0 근처가 일반적인 상한.
4. 모델별 기본값 다름 GPT 기본값은 약 1.0, Claude는 약간 다를 수 있다. 정확한 기본값은 공식 문서 확인.
5. 시스템 프롬프트와 충돌 시스템 프롬프트에 “정확한 답”을 강조하면서 temperature 1.0을 주면 모델이 헷갈린다. 둘을 일관되게.
Top-p, Top-k와 함께 쓰기
Temperature 외에 단어 선택을 조절하는 다른 파라미터들이 있다.
| 파라미터 | 역할 |
|---|---|
| Top-p (nucleus sampling) | 누적 확률 p% 안 후보만 사용 |
| Top-k | 상위 k개 후보만 사용 |
| Frequency penalty | 자주 나온 단어 억제 |
| Presence penalty | 한 번 나온 단어 다시 안 나오게 |
대부분 일반 사용자는 temperature만 조절해도 충분하다. 본격 튜닝이 필요하면 Top-p와 함께 쓴다 (보통 temp + top_p 둘 다 0.5~0.9 범위).
실전 권장값 표
| 작업 | Temperature | Top-p (선택) |
|---|---|---|
| 코드 생성 | 0.0~0.2 | 0.95 |
| 번역·요약 | 0.2~0.4 | 0.9 |
| 사실 글쓰기 | 0.4~0.6 | 0.9 |
| 블로그 글쓰기 | 0.5~0.7 | 0.9 |
| 광고 카피 | 0.7~0.9 | 0.95 |
| 창작·시·소설 | 0.9~1.2 | 0.95 |
이 표가 절대적 기준은 아니다. 실제로 같은 작업에 두 값을 시도해보고 본인 워크플로에 맞는 값을 찾는 게 가장 빠르다.
비슷한 용어와 차이
| 용어 | 뜻 | Temperature와의 차이 |
|---|---|---|
| Top-p | 누적 확률 컷오프 | 다른 샘플링 방식, 함께 쓰임 |
| Top-k | 상위 후보 수 제한 | 더 단순한 방식 |
| Sampling | 단어 선택 전략 일반 | temperature는 sampling의 한 변수 |
| Determinism | 같은 입력=같은 출력 | temp 0 = 결정적에 가까움 |
| Hyperparameter | 학습 시 사람이 정하는 값 | temperature도 그중 하나 |
언제 Temperature를 마주치나
- API 호출: messages.create의 파라미터
- OpenAI Playground: 우측 슬라이더로 조절
- GPTs 만들기: Instructions 외 별도 설정
- 자동화 도구: Zapier·Make의 ChatGPT 노드 옵션
- AI 코딩 도구 설정: Cursor·Continue의 모델 설정
관련 용어
- 시스템 프롬프트: temperature와 함께 답 톤을 결정. 시스템 프롬프트가 뭐야? 참고.
- 추론(Inference): temperature는 추론 단계의 파라미터. 추론이 뭐야? 참고.
- 할루시네이션: 높은 temperature는 환각 증가. 할루시네이션이 뭐야? 참고.
- 토큰(Token): 단어 후보가 곧 토큰 후보. 토큰이 뭐야? 참고.
Temperature는 “AI 답의 다양성·무작위성을 조절하는 다이얼”이다. 0은 결정적, 1은 다양성. 사실 정리·코드 같은 정확성 작업은 낮게, 창의·브레인스토밍은 높게가 일반 원칙이다. ChatGPT 일반 화면에서는 안 보이지만 API·Playground·GPTs에서 직접 조절 가능하다. 같은 모델이 temperature에 따라 완전히 다른 도구처럼 동작한다는 점만 기억하면 시작은 충분하다.
출처
- Anthropic, API 가이드, https://docs.anthropic.com/
- OpenAI, API 레퍼런스, https://platform.openai.com/docs/api-reference/chat/create
- OpenAI, Playground, https://platform.openai.com/playground