Responses API, 싸진다는 말 먼저 보세요

Published on

in

Responses API, 싸진다는 말 먼저 보세요

2026.03.30 기준
Responses API / Assistants API 종료 D-149
OpenAI 공식 문서 기반

Responses API, “싸진다”는 말 먼저 보세요

결론부터 말씀드리면, Responses API는 분명히 좋아졌습니다. 그런데 RAG를 쓰는 앱이라면 오히려 비용이 오를 수 있습니다. OpenAI가 공식 가격표에 슬쩍 끼워 넣은 숫자 하나 때문입니다. 마이그레이션 전에 이 부분을 먼저 봐야 합니다.

2026.08.26
Assistants API 완전 종료일
40~80%
캐시 효율 개선 (공식 수치)
$2.50
file_search 1,000회당 추가 요금

Assistants API가 사라지는 이유

OpenAI는 2025년 8월 26일, Assistants API의 deprecated(폐기 예정) 공고를 냈습니다. 종료일은 정확히 1년 뒤인 2026년 8월 26일입니다. (출처: OpenAI Community 공식 공고, 2025.08.26)

이 결정의 배경은 단순합니다. Assistants API는 추론 모델이 등장하기 전 시대에 설계됐습니다. Assistant ID, Thread ID, Run을 별도로 관리해야 했고, Run의 상태가 queued → in_progress → completed로 바뀔 때까지 polling을 해야 했습니다. OpenAI의 표현을 빌리면 “추론 모델이 나오기 전의 접근법”이었습니다.

Responses API는 그 구조를 완전히 뒤집었습니다. 하나의 API 호출 안에서 여러 도구 호출과 추론이 루프를 돌고, 결과가 한 번에 돌아옵니다. 복잡했던 Run 상태 관리가 사실상 사라졌습니다.

▲ 목차로 돌아가기

Responses API가 실제로 다른 점 3가지

구분 Assistants API Responses API
설정 객체 Assistant (API로 생성) Prompt (대시보드에서만)
대화 저장 Thread (메시지만 저장) Conversation (메시지·툴콜·출력 포함)
실행 방식 Run + polling 필수 단일 호출로 완결
추론 상태 유지 Turn 간 추론 초기화 추론 토큰 Turn 간 보존
내장 도구 file_search, code_interpreter + web_search, image_gen, MCP, computer use

가장 체감되는 변화는 추론 상태 유지입니다. Chat Completions나 Assistants에서는 Turn이 바뀔 때마다 모델의 추론 과정이 초기화됐습니다. Responses API는 previous_response_id나 Conversation 객체를 통해 추론 문맥이 이어집니다. OpenAI 내부 벤치마크에서 TAUBench 기준 Chat Completions 대비 +5% 성능 차이가 났습니다. (출처: OpenAI 공식 블로그 “Why we built the Responses API”, 2025.09.22) 작은 숫자 같지만, 멀티스텝 에이전트에서는 누적 효과가 큽니다.

내장 도구 확장도 주목할 부분입니다. web_search, image_generation, MCP(Remote Model Context Protocol) 서버 연결이 별도 구현 없이 단일 API 호출 안에서 가능해졌습니다. Assistants에서 직접 구현해야 했던 검색 파이프라인을 OpenAI가 서버 사이드로 올렸습니다.

▲ 목차로 돌아가기

캐시 40% 절감, 근데 이 조건에서는 역전됩니다

💡 공식 발표문과 실제 사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다. 비용이 줄어든다는 건 토큰 기준입니다. 도구 호출 건수는 다른 항목입니다.

OpenAI 공식 문서는 Responses API를 쓰면 캐시 활용이 Chat Completions 대비 40~80% 개선된다고 명시합니다. (출처: platform.openai.com/docs/guides/responses-vs-chat-completions) 토큰 비용만 보면 분명히 줄어듭니다.

그런데 OpenAI 공식 가격표에 이런 항목이 있습니다.

⚠️ file_search 도구 호출 요금 (Responses API 전용)

$2.50 / 1,000 calls — 스토리지 비용($0.10/GB/일)과 별도 청구

“File search tool call pricing applies to the Responses API only.” (출처: openai.com/ko-KR/api/pricing/, 2026.03.30 기준)

Assistants API에서는 이 호출 요금이 없었습니다. RAG 기반 앱에서 사용자가 질문할 때마다 file_search가 트리거되는 구조라면, 1,000건당 $2.50이 추가로 쌓입니다.

실제 마이그레이션 사례를 보면 숫자가 더 구체적으로 잡힙니다. 수만 명의 사용자를 둔 RAG 앱에서 gpt-4o-mini를 쓸 경우, 입력 20~40k 토큰 기준 1,000 Q&A당 약 $5의 토큰 비용이 발생합니다. 여기에 file_search 호출 비용 $2.50이 붙으면 실질 비용이 약 50% 인상됩니다. (출처: OpenAI Community 실사용자 보고, 2025.03.23) 캐시 효율이 오른다고 해도 이 추가 청구분을 상쇄하지 못하는 구조입니다.

file_search를 안 쓰는 앱이라면 해당 없습니다. 하지만 RAG가 핵심인 서비스라면, 전환 전에 월간 file_search 호출 수를 먼저 계산해봐야 합니다.

▲ 목차로 돌아가기

Prompts 객체, API로 못 만드는 게 함정입니다

Assistants API에서는 Assistant 객체를 API로 동적으로 생성하고, 고객별 instructions를 코드에서 주입하는 방식이 일반적이었습니다. 동시에 수십~수백 개의 Assistant를 운영하는 서비스라면 익숙한 패턴입니다.

Responses API로 오면 이 패턴이 막힙니다. Assistant의 후속 객체인 Prompt는 현재 대시보드 UI에서만 생성할 수 있습니다. OpenAI 공식 마이그레이션 가이드에도 “Prompts can only be created in the dashboard”라고 명시돼 있습니다. (출처: platform.openai.com/docs/assistants/migration, 2026.03 기준)

💡 가격표나 성능 수치에는 없는 부분입니다. 동적 Assistant 생성에 의존하는 B2B SaaS라면 아키텍처 변경이 필요합니다.

수백 개의 RAG 어시스턴트를 API로 생성·관리하던 팀이라면, Responses API로 전환할 때 Prompt 생성을 대시보드 작업으로 전환하거나, instructions를 코드 레이어에서 직접 주입하는 방식으로 설계를 바꿔야 합니다. OpenAI 커뮤니티에서도 이 부분이 “feature parity가 아니다”는 지적이 나왔고, OpenAI 측은 공식 답변을 내놓지 않은 부분입니다.

다만 instructions를 API 요청 시 직접 전달하는 방식은 여전히 작동합니다. Prompt 객체를 꼭 써야 하는 건 아니고, Prompt 없이 Responses API만으로 운영하는 것도 가능합니다. 단, 이 경우엔 대시보드에서 어시스턴트 별 설정을 한눈에 보는 Playground 기능을 쓸 수 없습니다.

▲ 목차로 돌아가기

실제 마이그레이션: 2시간 만에 끝낸 케이스

OpenAI 커뮤니티에 올라온 실사용자 후기 중, 수백 개의 RAG 어시스턴트와 수만 명의 사용자를 가진 서비스가 Responses API로 전환하는 데 약 2시간이 걸렸다는 보고가 있습니다. (출처: OpenAI Community “My experience switching from Assistants API to Responses API”, 2025.03.22)

빠르게 끝난 이유는 구조 변환이 생각보다 단순하기 때문입니다. 가장 큰 변화는 세 가지입니다.

① 엔드포인트 변경

POST /v1/chat/completionsPOST /v1/responses
함수 호출이나 멀티모달을 쓰지 않는 경우, 이것만 바꿔도 기본 동작합니다.

② 멀티턴 컨텍스트 관리 방식 변경

Assistants에서 Thread가 서버 사이드에서 메시지를 보관했다면, Responses는 previous_response_id를 다음 요청에 넘겨주는 방식으로 이어집니다. Conversation 객체를 생성하면 OpenAI가 대화 내역을 서버에서 관리해줍니다. 기존 Thread를 Conversation으로 변환하는 자동 도구는 OpenAI가 제공하지 않고, 수동으로 backfill 코드를 작성해야 합니다.

③ 함수 정의 방식 소폭 변경

Chat Completions의 externally-tagged 방식 → Responses의 internally-tagged 방식으로 바뀝니다. strict가 기본 true로 설정됩니다. Structured Outputs를 쓴다면 response_format 대신 text.format으로 바꿔야 합니다.

같은 instructions를 Responses API에 그대로 적용해도 응답 품질이 동일하게 유지됐다는 점도 주목할 만합니다. instructions 재작성 없이 엔드포인트와 컨텍스트 전달 방식만 바꿔도 충분하다는 뜻입니다. 속도는 기대와 달리 Assistants 대비 크게 개선되지 않았다는 후기도 있었습니다. file_search를 같은 모델로 쓰는 이상 서버 사이드 병목은 동일합니다.

▲ 목차로 돌아가기

ZDR 환경이라면 store: false가 필수입니다

💡 Responses API가 기본으로 대화 내역을 저장한다는 점이 컴플라이언스 환경에서는 문제가 됩니다. 이 설정을 모르고 넘어가면 데이터 보유 정책 위반으로 이어질 수 있습니다.

Responses API는 기본적으로 응답을 30일간 저장합니다. 대시보드 Logs 페이지에서 조회하거나 API로 다시 불러올 수 있습니다. (출처: platform.openai.com/docs/guides/responses-vs-chat-completions)

Zero Data Retention(ZDR) 계약을 맺은 기업 고객이나, 데이터를 OpenAI 서버에 저장하면 안 되는 의료·금융·법률 분야라면 반드시 store: false를 명시해야 합니다. ZDR 조직에서는 OpenAI가 자동으로 store=false를 강제하지만, 그 외 환경에서는 명시하지 않으면 기본 저장이 켜집니다.

store: false로 설정하면 추론 토큰의 문맥 연속성이 끊깁니다. 이때 Encrypted Reasoning 기능을 활용하면, 추론 토큰을 암호화된 형태로 받아서 다음 요청에 다시 전달할 수 있습니다. 서버에 아무것도 저장하지 않으면서도 추론 문맥을 이어가는 방식입니다. 암호화된 추론 토큰은 서버 인메모리에서 복호화 후 사용되고 즉시 폐기됩니다. (출처: platform.openai.com/docs/guides/responses-vs-chat-completions, Encrypted Reasoning 항목)

결론적으로, Responses API를 도입할 때 데이터 보유 설정은 선택이 아니라 확인해야 할 첫 번째 항목입니다. 기본값이 저장 활성화라는 점이 Assistants API와 다른 동작입니다.

▲ 목차로 돌아가기

Q&A

Q. Chat Completions API도 계속 쓸 수 있나요?
네, Chat Completions는 없어지지 않습니다. OpenAI는 공식 문서에서 “Chat Completions isnt going away”라고 명시했습니다. (출처: developers.openai.com/blog/responses-api, 2025.09.22) 단, GPT-5.4부터는 reasoning: none 설정 없이 Chat Completions에서 tool calling이 지원되지 않습니다. 추론 모델을 도구와 함께 쓰려면 Responses API를 써야 합니다.
Q. 기존 Thread 데이터가 자동으로 Conversation으로 이전되나요?
자동 이전 도구는 제공되지 않습니다. OpenAI 공식 마이그레이션 가이드는 신규 사용자 대화는 Conversation으로 새로 시작하고, 기존 Thread는 필요한 경우 수동 backfill 코드를 작성해 옮기도록 안내합니다. (출처: platform.openai.com/docs/assistants/migration) Thread의 메시지를 읽어 Conversation items로 변환하는 예제 코드가 공식 문서에 수록돼 있습니다.
Q. Conversation 객체에 저장된 데이터는 언제까지 보관되나요?
일반 Response 객체는 30일 TTL이 적용됩니다. 그런데 Conversation에 연결된 Response의 items는 30일 TTL 예외 대상입니다. 정확한 보존 기한은 OpenAI가 현재까지 별도로 공개하지 않았습니다. 컴플라이언스가 중요한 환경이라면 store: false를 명시하는 것이 안전합니다.
Q. gpt-4o-mini를 쓰는 앱도 Responses API 지원이 되나요?
됩니다. 공식 문서에는 일부 오해를 살 수 있는 표현이 있지만, 실사용자 사례에서 gpt-4o-mini가 Responses API에서 정상 동작한다고 직접 확인됐습니다. (출처: OpenAI Community, 2025.03.22) 가장 비용 효율적인 선택지이기도 합니다.
Q. web_search 내장 도구 비용은 얼마인가요?
추론 모델(GPT-5 포함 o-series)에서의 web_search는 $10.00 / 1,000 calls + 검색 컨텐츠 토큰이 모델 요금으로 별도 청구됩니다. 비추론 모델에서는 $25.00 / 1,000 calls이지만, 검색 컨텐츠 토큰이 무료입니다. (출처: openai.com/ko-KR/api/pricing/, 2026.03.30 기준) 호출 횟수 기반 과금이므로, 고트래픽 앱에서는 사전 시뮬레이션이 필요합니다.

▲ 목차로 돌아가기

마치며

Responses API는 분명히 Assistants API보다 잘 만든 API입니다. 추론 문맥 유지, 단일 호출 에이전트 루프, 내장 도구 확장까지 — 방향성은 맞습니다. 그리고 2026년 8월 26일이라는 마감일이 있습니다. 선택이 아닙니다.

다만 “비용이 줄어든다”는 메시지를 그대로 받아들이기 전에, file_search 호출 비용과 Prompts 객체의 API 제한 두 가지는 꼭 먼저 확인해야 합니다. RAG 중심 서비스라면 토큰 절감 효과보다 도구 호출 비용이 먼저 올라올 수 있습니다.

마이그레이션 자체는 생각보다 가볍습니다. 복잡한 서비스도 2시간 안에 끝냈다는 사례가 있습니다. 종료일까지 남은 시간은 약 5개월입니다. 지금이 비용 시뮬레이션을 돌려볼 적기입니다.

📎 본 포스팅 참고 자료

  1. OpenAI 공식 문서 — Responses API vs Chat Completions: platform.openai.com/docs/guides/responses-vs-chat-completions
  2. OpenAI 공식 블로그 — Why we built the Responses API (2025.09.22): developers.openai.com/blog/responses-api/
  3. OpenAI 공식 Assistants Migration Guide: platform.openai.com/docs/assistants/migration
  4. OpenAI 공식 가격표 (2026.03.30 기준): openai.com/ko-KR/api/pricing/
  5. OpenAI Community — Assistants API beta deprecation 공고 (2025.08.26): community.openai.com
  6. OpenAI Community — My experience switching from Assistants API to Responses API (2025.03.22): community.openai.com

본 포스팅은 2026년 3월 30일 기준으로 작성되었습니다. OpenAI Responses API 및 Assistants API 관련 정책·가격·기능은 업데이트로 내용이 달라질 수 있습니다. 본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. 최신 정보는 반드시 platform.openai.com 공식 문서를 확인하세요.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기