Grok 4.7 API 연결하기: 여러 턴에서 추론 정보를 유지하는 방법
정확한 Grok 4.7 모델 ID로 Responses 요청을 보내고, 대화를 이어 갈 때 암호화된 추론 정보를 보존하는 방법을 알아봅니다.
애플리케이션에서 Grok 4.7을 호출하려면 xAI API의 grok-4.7을 사용하세요. 중요한 연동 변경은 모델 이름만이 아닙니다. Responses가 반환하는 암호화된 추론 항목은 대화 기록을 다시 보낼 때 그대로 유지해야 합니다.
이 글은 2026년 9월 22일 확인한 공식 API 문서를 따릅니다. 예시는 요청을 구성하는 방법을 보여 주며, 유료 운영 환경 테스트나 성능 벤치마크 결과가 아닙니다.
최소한의 Responses 요청으로 시작하기
공식 빠른 시작을 따라 개발자 키를 만들고 필요한 잔액이 있는지 확인한 뒤, 로컬 환경에 XAI_API_KEY를 설정하세요. 브라우저에서 실행되는 코드나 커밋하는 설정 파일에 키를 넣지 마세요.
curl https://api.x.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $XAI_API_KEY" \
-d '{
"model": "grok-4.7",
"input": "Explain why Python list.sort() returns None."
}'
공식 모델 안내에서 이 엔드포인트와 모델 식별자를 확인할 수 있습니다. 먼저 작은 요청을 보내면 도구, 대용량 파일, 에이전트 프레임워크를 추가하기 전에 계정과 프로토콜 문제를 분리할 수 있습니다.
HTTP 성공 응답은 확인 항목 중 하나일 뿐입니다. 예상한 답변과 사용량 정보가 있는지 살펴보고, 답변 내용도 검증하세요. 형식이 올바른 API 응답이 정확한 추론을 보장하지는 않습니다.
Python에서 응답 항목 전체 보존하기
Responses를 지원하는 OpenAI SDK 버전을 설치하고 테스트 로그에 버전을 기록하세요. 예를 들어 python -m pip show openai로 설치된 패키지 버전을 확인할 수 있습니다.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1",
)
history = [{
"role": "user",
"content": "Explain why Python list.sort() returns None.",
}]
first = client.responses.create(model="grok-4.7", input=history)
print(first.output_text)
# 암호화된 추론을 포함한 모든 항목을 보존합니다.
history.extend(item.model_dump(exclude_none=True) for item in first.output)
history.append({
"role": "user",
"content": "Show a version that sorts without mutating the input.",
})
second = client.responses.create(model="grok-4.7", input=history)
print(second.output_text)
다음 턴의 기록을 저장할 때 first.output을 눈에 보이는 답변만으로 줄이지 마세요. 공급자는 명시적인 include 항목이 없어도 Grok 4.7이 reasoning.encrypted_content를 자동으로 포함한다고 설명합니다. 추론 항목을 그대로 유지하고 암호화된 필드를 해독하거나 다시 작성하려 하지 마세요.
이 예시는 클라이언트가 기록을 관리하고 명시적으로 전송합니다. 프레임워크에 적용할 때는 호환 래퍼가 공급자별 필드를 모두 보존할 것이라고 가정하지 말고, 실제로 무엇을 저장하고 전달하는지 살펴보세요.
Chat Completions는 별도 경로입니다
Responses의 암호화된 추론 동작이 Responses 출력 객체를 Chat Completions의 messages 배열에 넣으라는 뜻은 아닙니다. 호출하는 엔드포인트의 스키마를 사용하세요. 기존 애플리케이션이 Chat Completions를 사용한다면 새 모델로 해당 경로부터 테스트한 뒤 프로토콜을 바꿀 필요가 있는지 판단하세요.
가능하면 엔드포인트 전환과 모델 평가는 별도 변경으로 진행하세요. 동시에 바꾸면 실패 원인이 어댑터, 대화 기록, 모델 중 어디에 있는지 구분하기 어려워집니다.
추론과 캐시 설정을 명시적으로 관리하기
모델은 low, medium, high, xhigh 추론 설정을 제공하며 기본값은 high입니다. 평가할 때 사용한 설정을 기록하세요. 높은 설정이 작업 완료 비용을 낮춰 준다는 보장은 없습니다.
캐시의 경우 공식 안내는 대화 라우팅을 개선하기 위해 Responses의 prompt_cache_key 또는 Chat Completions의 x-grok-conv-id 헤더를 권장합니다. 그래도 캐시 사용량은 측정해야 합니다. 라우팅 설정만으로 캐시 입력 요금이 적용되었다고 입증할 수는 없습니다.
실패한 단계부터 확인하기
| 증상 | 먼저 확인할 정보 |
|---|---|
| 인증 실패 | 활성 공급자, 키 발급처, 민감 정보를 가린 HTTP 오류 |
| 모델 요청 거절 | 정확한 grok-4.7 ID와 공급자 모델 목록 |
| 첫 턴은 성공하지만 후속 턴은 실패 | 보존한 출력 항목과 엔드포인트 스키마 |
| 에이전트 비용이 예상보다 증가 | 전체 요청 흐름, 추론, 재시도, 캐시 사용량 |
| 편집기에는 Fast가 있지만 API 호출은 실패 | Fast가 공개 API 버전이 아니라는 제품 차이 |
이는 진단 범주이며 직접 재현한 오류 메시지는 아닙니다. 여러 설정을 한꺼번에 바꾸기 전에 실제 요청 ID와 오류를 확보하세요.
긴 작업을 실행하기 전에 Grok 4.7 비용 안내를 확인하세요. 직접 연동을 작성하는 대신 완성된 클라이언트를 사용하려면 이용 경로 안내에서 Cursor, Grok Build, API 계정의 차이를 볼 수 있습니다.
자주 묻는 질문
- Grok 4.7의 API 모델 ID는 무엇인가요?
- 공개 xAI API에서는 grok-4.7을 사용합니다. 게이트웨이의 식별자는 다를 수 있습니다.
- Responses 호출 사이에 암호화된 추론 정보를 버려도 되나요?
- 아니요. 공급자는 다음 입력에 추론 항목을 변경 없이 다시 전달하도록 안내합니다.


