DeepSeek API가 Responses API 형식을 지원한다
DeepSeek V4 Pro 0813 quietly released
TL;DR Highlight
base_url만 바꾸면 OpenAI SDK로 DeepSeek 모델을 Responses API로 호출한다
Who Should Read
OpenAI Responses API 기반 클라이언트나 Codex에서 DeepSeek 모델로 갈아타 보려는 백엔드 개발자
Core Mechanics
- Codex 수요 때문에 Responses API를 지원한다
- base_url을 https://api.deepseek.com으로 두면 된다.
- 설정만 바꾸면 Codex에서 DeepSeek 모델을 쓸 수 있다고 안내한다.
- 모델은 deepseek-flash와 deepseek-v4-pro 두 개다
- 문서의 예제는 deepseek-flash로 호출한다.
- 이미지 입력은 deepseek-flash에서 받는다고 적혀 있다.
- 서버 측 web_search는 v4-pro 전용이다
- deepseek-v4-pro에서는 API가 서버에서 검색하고 결과를 컨텍스트에 넣어 응답을 이어 간다.
- deepseek-flash에서는 web_search가 무시된다.
- 상태를 저장하지 않는 stateless API다
- previous_response_id, conversation, store, background는 지원하지 않는다.
- 응답에는 항상 store: false가 붙는다.
- 지원하지 않는 파라미터는 에러 없이 무시된다
- 그래서 기존 Responses API 클라이언트를 수정 없이 붙일 수 있다고 한다.
- 단 컨텍스트 윈도우를 넘기는 요청은 400 에러를 돌려준다.
Community Reactions
- Hacker News 상위 3개 글 중 2개가 이 건이라는 반응
- 조용히 나왔다는 제목과 달리 화제가 됐다는 농담 섞인 댓글이 있었다.
- 벤치마크에서 큰 변화는 없을 것 같다는 의견
- Flash가 이미 로컬 에이전트 코딩에서 Opus 4.5를 대체할 수 있어서 Pro에 비슷한 성과가 없었을 수 있다는 추측성 댓글이다.
- 가격 페이지 링크가 공유됐다
- 모델별 비용은 pricing 문서를 보면 된다는 댓글이 달렸다.
How to Apply
- 기존 OpenAI SDK 코드의 base_url만 바꿔 호출해 보기
- 오늘 파이썬에서 base_url을 https://api.deepseek.com으로, model을 deepseek-flash로 바꿔 responses.create를 한 번 호출한다.
- response.output_text와 usage의 cached_tokens, reasoning_tokens를 출력해 확인한다.
- previous_response_id 의존 코드를 점검해 직접 이력 관리로 바꾸기
- 서버가 상태를 저장하지 않으므로 매 요청마다 input에 이전 대화를 직접 넣는다.
- store, background 등 무시되는 파라미터에 기대는 로직이 있는지 찾아 제거한다.
- 웹 검색이 필요한 경로는 deepseek-v4-pro로 분리하기
- tools에 {"type": "web_search"}를 넣고 model을 deepseek-v4-pro로 지정해 테스트한다.
- flash에서는 검색이 무시되므로 라우팅 조건에 모델을 명시한다.
Try It
# 터미널에서 실행 (pip3 install openai)
from openai import OpenAI
client = OpenAI(api_key="<your DeepSeek API Key>", base_url="https://api.deepseek.com")
stream = client.responses.create(
model="deepseek-flash",
instructions="You are a helpful assistant.",
input="Hi, how are you?",
stream=True,
)
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="")
# 이어서 해 볼 것: stream=True를 빼고 response.usage를 출력해 cached_tokens를 확인해 보기Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓