이 페이지는
/v1/chat/completions 호환 모드에 중점을 둡니다. Claude의 기본 추론 블록(/v1/messages의 thinking 필드)에 대해서는 Claude Effort & Thinking Guide를 참조하십시오. Gemini의 기본 thinking_level와 thought_signature에 대해서는 Gemini Native Calls를 참조하십시오.개요
호환 모드에서는 reasoning 모델이 “thinking text를 출력하는지”에 따라 세 그룹으로 나뉩니다.추론 내용: reasoning_content
추론 텍스트를 내보내는 모델은 사고 과정을reasoning_content에 넣으며, content와 병렬입니다.
비스트리밍 — message에는 둘 다 포함됩니다:
delta.reasoning_content가 먼저 전송되고; 사고가 끝난 뒤에야 delta.content가 시작됩니다. 반드시 둘을 별도로 렌더링하십시오(사고는 접고, 답변은 스트리밍하십시오). 그렇지 않으면 UI에 먼저 생각의 벽이 번쩍 나타납니다:
추론 token은 답변을 압도할 수 있습니다. 테스트에서 사소한 “1+1” 질문은 grok-4.3에서 답변 token이 몇 개에 불과했음에도
reasoning_tokens 수백 개를 생성했습니다. 추론은 출력 token으로 과금되므로, 지연 시간과 비용에 민감한 사용 사례에서는 활성화 / 표시 여부를 평가하십시오.사고 시그니처와 멀티턴
“thought signature”는 Gemini 네이티브 개념입니다. 네이티브 멀티모달 / 함수 호출에서는 모델이 암호화된thought_signature를 반환하며, 추론 연속성을 유지하려면 이를 턴 간에 다시 전달해야 합니다(Gemini 네이티브 호출 및 Gemini 함수 호출 참조).
/v1/chat/completions 호환 모드에서는 추론 모델이 무상태입니다:
- 멀티턴에는 이전 assistant 턴의 **
content**만 메시지 히스토리에 넣으면 됩니다; reasoning_content를 다시 전달할 필요가 없으며, 응답에는 시그니처 필드도 나타나지 않습니다;- 테스트에서는 gemini-3.1-flash-lite와 grok-4.3이 모두
content만 다시 전달되었을 때도 멀티턴 컨텍스트를 올바르게 유지했습니다.
구조화된 출력
response_format를 사용하여 모델이 JSON만 출력하게 합니다. 두 가지 유형입니다:
모델별 지원 여부(테스트됨)
json_schema 지원은 매우 다양합니다 — 이는 구조화된 출력에서 가장 큰 함정입니다:
모델 전반에서 JSON을 안정적으로 가져오는 방법
관련 링크
- 같은 그룹: Handling Responses · Compatible Mode Calls · Function Calling
- 네이티브 추론: Claude Effort & Thinking Guide · Gemini Native Calls
- 모델 및 과금: Models & Pricing Overview