OpenAI
이 페이지는 기계 번역되었습니다. 영어 원문 보기

OpenAI 모델 응답 길이 제어하기

토큰 설정, 명확한 프롬프트, 예시, 중지 시퀀스를 사용해 OpenAI 모델의 출력 한도를 설정하는 방법을 알아보세요.

마지막 수정: 6 days ago

개요

모델 응답의 길이를 제어하는 것은 여러 이유로 유용합니다. 토큰 단위로 과금되므로 비용을 관리하는 데 도움이 되고, 지연/성능을 개선하며(짧은 응답이 더 빨리 반환됨), 지나치게 길거나 장황한 출력물을 피해서 관련성을 보장할 수 있습니다.

이는 토큰 상한, 추론 및 장황함 설정, 명확한 지시문, 예시, 그리고 중지 시퀀스를 통해 달성할 수 있습니다. 가장 최신이면서 완전한 세부 정보는 항상 platform.openai.com의 공식 API 레퍼런스를 참고하세요.

최대 출력 길이 설정

Responses API

GPT-5 모델과 대부분의 o-시리즈 모델에 사용합니다. 모델이 생성할 토큰 수에 상한을 두려면 max_output_tokens를 사용하세요. stop는 지원하지만, 다중 완료(n)는 지원하지 않습니다.

Chat Completions API

레거시 GPT-3.5, GPT-4o, 그리고 경우에 따라 o-시리즈에 사용합니다.

  • o3 및 o4-mini 같은 추론 모델의 경우 max_completion_tokens(max_tokens의 별칭)을 사용하세요.

  • 이전/비추론 모델의 경우 max_tokens가 계속 동작합니다.

  • stopn(다중 완료)을 지원합니다.

참고: “최소 토큰” 설정은 없습니다. 최소 길이가 필요하면 프롬프트에 명시하세요.

모델 그룹별 토큰 한도

최신 토큰 한도, 컨텍스트 크기, 출력 상한은 각 모델 문서를 참고하세요.

빠른 예시

Responses API

{ "model": "gpt-5", "input": "결과를 약 80단어로 요약해 줘.", "max_output_tokens": 120 }

Chat Completions(추론 모델)

{ "model": "o3-mini", "messages": [{"role": "user", "content": "한 줄짜리 선택지 5개를 써줘."}], "max_completion_tokens": 100 }

GPT-5 모델 전용 제어: verbosityreasoning.effort

이 제어 기능은 GPT-5 모델에서만 사용 가능합니다(gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro 등). O-시리즈 및 레거시 모델은 이를 지원하지 않습니다.

verbosity"low", "medium"(기본값), 또는 "high"를 받습니다. 세부 수준에는 영향을 주지만, 엄격한 하드 제한은 아닙니다.

{ "model": "gpt-5", "input": "PageRank를 개략적으로 설명해 줘.", "text": { "verbosity": "low" }, "max_output_tokens": 200 }

reasoning.effort는 답변을 생성하기 전에 얼마나 많은 추론 토큰을 생성할지 제어합니다. GPT-5.2는 none,low, medium, high,and xhigh를 지원합니다. gpt-5.2-pro는 medium, high,and xhigh만 지원합니다. 더 이전의 추론 모델은 low, medium, high만 지원합니다.

{ "model": "gpt-5", "input": "자유의 여신상을 1mm 두께로 도금하려면 금이 얼마나 필요할까?", "reasoning": { "effort": "minimal" } }

지연 시간에 민감한 사용 사례에서는 reasoning.effortnone으로 설정해 모델이 비추론 모델처럼 동작하도록 할 수 있습니다.

구체적인 지시 제공

원하는 정확한 길이 또는 형태를 요청하세요. 예:

  • 정확히 다섯 가지 옵션을 나열해 줘.”

  • 50단어 요약을 작성해 줘.”

  • 100 토큰을 넘지 마. 더 필요하면 ‘공간이 더 필요해요.’라고 말해.”

일관된 길이의 예시 사용

원하는 길이와 일치하는 few-shot 예시는 모델이 그 패턴을 계속 이어가도록 돕습니다.

전략적 중지 시퀀스 적용

stop를 사용해 모델이 구분자 또는 번호 목록 경계에 도달했을 때 생성을 중단하게 하세요.

{ "stop": ["\n###", "6."] }

여러 후보

  • Chat Completions: n은 한 번의 호출로 여러 완료 결과를 반환합니다.

  • Responses API: n을 지원하지 않습니다. 출력이 2개 이상 필요하면 여러 번 호출하세요.

이 문서가 도움이 되었나요?