
Codex 및 Claude Code를 활용한 DeepSeek V4 Pro의 엔드포인트 호환성 테스트
요약
DeepSeek V4 Pro 모델의 Codex 및 Claude Code 엔드포인트 호환성을 테스트한 결과입니다. OpenAI Chat Completions 방식은 정상 작동하지만, Codex의 핵심인 Responses API 방식은 지원되지 않음을 확인했습니다.
핵심 포인트
- DeepSeek V4 Pro는 OpenAI Chat Completions API와 호환됨
- Claude Messages API를 통한 도구 사용(tool use) 및 결과 처리는 정상 작동
- Codex의 네이티브 방식인 Responses API(/v1/responses)는 지원되지 않음
- 단순 채팅 호환성만으로는 완벽한 Codex 백엔드로 사용하기 어려움
Can deepseek-v4-pro
be used with Codex and Claude Code? 2026-07-05 Crazyrouter 테스트를 통한 짧은 답변은 다음과 같습니다:
- OpenAI 호환(OpenAI-compatible) 방식인
POST /v1/chat/completions를 통해 작동합니다. - 이번 테스트에서 네이티브 Codex 스타일인
POST /v1/responses모델로는 작동하지 않았습니다. - 기본적인
tool_use -> tool_result루프를 포함하여,POST /v1/messages를 통한 Claude Messages 호환성을 통해 작동했습니다.
테스트 베이스 URL:
GET /v1/models는 HTTP 200을 반환하며 deepseek-v4-pro를 목록에 표시했습니다:
{
"id": "deepseek-v4-pro",
"supported_endpoint_types": ["openai"],
...
이것은 중요한데, "OpenAI 호환(OpenAI-compatible)"이 종종 전체 Responses API 호환성이 아닌 Chat Completions 호환성을 의미하기 때문입니다.
| 테스트 | 엔드포인트 (Endpoint) | HTTP | 결과 |
|---|---|---|---|
| 모델 목록 (Model list) | GET /v1/models | 200 | deepseek-v4-pro 존재, 엔드포인트 타입 openai |
| 채팅 완료 (Chat completion) | POST /v1/chat/completions | 200 | 정상적인 토큰 예산(token budget)과 함께 DS_V4_PRO_CHAT_OK 반환 |
| 작은 토큰 예산 (Small token budget) | POST /v1/chat/completions | 200 | 가시적인 출력이 DS로 잘림 ; 추론 토큰(reasoning tokens)이 완료 토큰 30개 중 28개를 사용함 |
| Codex 스타일 Responses | POST /v1/responses | 400 | convert_request_failed와 함께 실패 |
| Claude Messages 텍스트 | POST /v1/messages | 200 | Claude 스타일의 텍스트 콘텐츠 블록 반환 |
| Claude Messages 도구 사용 (tool use) | POST /v1/messages | 200 | tool_use get_city_timezone({"city":"Beijing"}) 반환 |
| Claude 도구 결과 연속 (tool result continuation) | POST /v1/messages | 200 | tool_result를 수락하고 최종 텍스트 반환 |
Codex는 단순한 채팅 클라이언트가 아닙니다. 커스텀 프로바이더(custom provider)는 종종 Responses API의 의미론(semantics)을 사용합니다:
model_provider = "custom"
model = "deepseek-v4-pro"
[model_providers.custom]
...
이는 Codex가 Responses 스타일의 출력 항목(output items), 도구 호출(tool calls), 도구 결과(tool results), 추론 상태(reasoning state), 그리고 스트리밍 이벤트(streaming events)를 기대할 수 있음을 의미합니다. 오직 /v1/chat/completions 뒤에서만 잘 작동하는 모델이 자동으로 좋은 Codex 백엔드(backend)가 되는 것은 아닙니다.
이번 테스트에서, deepseek-v4-pro
채팅 모델로서 온라인 상태였으며 사용 가능했지만, POST /v1/responses 요청 시 HTTP 400 오류를 반환했습니다. 따라서 실질적인 결론은 다음과 같습니다: 게이트웨이(gateway)가 Responses 변환을 검증하지 않았다면, 이를 직접적인 Codex Responses 모델로 구성하지 마십시오.
Claude Code는 일반적으로 Anthropic Messages 형식을 사용하여 통신합니다:
Claude Code -> /v1/messages -> gateway -> /v1/chat/completions -> DeepSeek V4 Pro
게이트웨이는 Claude의 콘텐츠 블록(content blocks)과 tool_use를 OpenAI 호환 채팅 요청(chat requests)으로 변환한 다음, 모델의 출력을 다시 Claude 스타일의 콘텐츠 블록으로 변환할 수 있습니다.
테스트 결과, 이 경로가 텍스트 출력, 도구 사용(tool use), 그리고 도구 결과 연속성(tool-result continuation)에 대해 작동함을 확인했습니다. 이것이 네이티브(native) Claude 지원을 의미하는 것은 아니지만, 실용적인 호환 경로(compatibility path)가 될 수 있습니다.
모델 이름만으로 에이전트 호환성을 판단하지 마십시오. 엔드포인트 규약(endpoint contract)을 테스트하십시오:
- Codex의 경우:
/v1/responses, 도구 호출 항목(tool call items), 도구 결과 연속성(tool result continuation), 스트리밍 이벤트(streaming events), 그리고 비어 있지 않은 최종 출력을 확인하십시오. - Claude Code의 경우:
/v1/messages,tool_use,tool_result, SSE/콘텐츠 블록(content blocks), 사용량 필드(usage fields), 그리고 재시도(retries)를 확인하십시오. - DeepSeek V4 Pro의 경우: 추론 토큰(reasoning tokens)이
max_tokens의 일부를 소비할 수 있으므로 충분한 출력 예산(output budget)을 할당하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기