OpenAI Assistants API 종료, 3가지 비용 함정 확인했습니다

Published on

in

OpenAI Assistants API 종료, 3가지 비용 함정 확인했습니다

📅 2026.03.18 기준
Responses API 기준
⚠️ 2026.08.26 종료

OpenAI Assistants API 종료,
3가지 비용 함정 확인했습니다

결론부터 말씀드리면, Responses API로 옮겨야 하는 건 맞습니다. 그런데 공식 마이그레이션 가이드에 나오지 않는 비용 구조 변화가 있어서, 그냥 API 엔드포인트만 바꿨다가 청구서 받고 놀라는 경우가 생깁니다. 공식 문서와 실제 사용 후기를 교차 확인한 내용을 정리했습니다.

2026.08.26
Assistants API 종료일
$2.50
file_search 1k건당
자동화 없음
Thread 마이그레이션

Assistants API가 정확히 언제, 어떻게 꺼지나요?

OpenAI가 Assistants API의 deprecated 공지를 낸 건 2025년 8월 26일입니다. 그로부터 정확히 1년 후인 2026년 8월 26일에 서비스가 종료됩니다. (출처: OpenAI 공식 Deprecations 페이지)

종료 이후에는 /v1/assistants, /v1/threads, /v1/runs 엔드포인트 전체에 대한 호출이 막힙니다. Chat Completions API(/v1/chat/completions)는 계속 지원되므로, 혼동하지 않도록 주의해야 합니다.

현재 기준(2026.03.18)으로 종료까지 약 161일이 남았습니다. 프로덕션 시스템을 운영 중이라면 지금 당장 마이그레이션 일정을 잡아두는 게 맞습니다.

▲ 목차로 돌아가기

Responses API로 뭐가 달라지는 건가요?

Assistants API는 Assistant → Thread → Run 세 개의 객체를 오가는 구조였습니다. 이게 꽤 번거로웠는데, Responses API는 이를 단일 호출로 단순화했습니다. 입력 아이템을 넣으면 출력 아이템이 나오는 방식입니다.

Assistants API (구) Responses API (신) 변경 이유
Assistants Prompts 버전 관리·스냅샷 지원
Threads Conversations 메시지만 아닌 tool call 등 모든 아이템 저장
Runs Responses 폴링 없이 단일 호출로 결과 반환
Run steps Items 메시지·tool call·출력 결과를 동일한 타입으로 통일

Responses API는 deep research, remote MCP, computer use 같은 신규 기능이 계속 추가되고 있고, 내부 테스트 기준 캐시 활용률이 Chat Completions 대비 40~80% 개선된다고 OpenAI가 공식 문서에 명시하고 있습니다. 단순히 “오래된 걸 끄는 게 아니라” 에이전트 방향성을 Responses로 통일하는 과정입니다. (출처: OpenAI 공식 마이그레이션 가이드)

▲ 목차로 돌아가기

여기서 돈이 빠져나갑니다 — file_search 과금 구조

솔직히 이게 가장 중요한 내용입니다. OpenAI 공식 요금 페이지를 보면 이런 항목이 있습니다.

💡 공식 요금표와 실제 청구서를 같이 놓고 보니 이런 차이가 보였습니다

Assistants API의 file_search(구 retrieval)는 도구 호출 건당 별도 과금이 없었습니다. 그런데 Responses API에서는 file_search 도구 호출 1,000건당 $2.50가 추가됩니다. 공식 요금 페이지에 “(Responses API only)”라고 명시돼 있습니다. (출처: OpenAI API Pricing 페이지)

이게 얼마나 큰 차이인지 실제로 계산해보면 더 명확해집니다. RAG 기반 챗 서비스에서 gpt-4o-mini를 쓰고 질문당 입력 토큰을 약 30,000개 사용한다고 가정하면, 질의 1,000건 기준 토큰 비용은 $0.15/백만 토큰 × 30M = 약 $4.50입니다. 여기에 file_search 도구 호출 비용 $2.50이 더해지면 총 $7.00이 됩니다. Assistants API 기준($4.50)과 비교하면 실효 비용이 약 56% 증가하는 셈입니다.

이 수치는 실제로 RAG 앱을 운영하다가 Responses API로 전환한 개발자가 OpenAI 커뮤니티에 공개한 분석과 일치합니다. 해당 개발자는 “sneaky way of increasing the effective price by 50%”라고 표현했고, OpenAI 측에서는 별도 공지 없이 요금 페이지에만 표기해둔 상태입니다. (출처: OpenAI Developer Community, 2025.03)

주의: file_search를 쓰지 않는 단순 대화형 앱이라면 이 추가 비용은 발생하지 않습니다. RAG나 파일 검색 기능을 사용하는 앱에서만 해당합니다. 앱 아키텍처를 먼저 확인하는 게 순서입니다.

비용을 통제하려면 tool_choice 파라미터로 file_search 호출을 필요한 경우에만 제한하거나, 벡터 스토어 쿼리 횟수 자체를 줄이는 구조 개선이 필요합니다. “그냥 이전하면 된다”는 생각으로 접근하면 막상 청구서에서 처음 보는 항목을 만나게 됩니다.

▲ 목차로 돌아가기

Thread 이전, OpenAI가 대신 해줄 거라고요?

마이그레이션 공지를 보면서 많은 개발자들이 “Thread를 Conversation으로 자동으로 옮겨주는 도구가 있겠지”라고 기대하는 경우가 많습니다. 막상 공식 문서를 열어보면 이런 문장이 있습니다.

💡 공식 발표문과 실제 작업 범위를 같이 놓고 보니 이런 차이가 보였습니다

“We will not provide an automated tool for migrating Threads to Conversations. Instead, we recommend migrating new user threads onto conversations and backfilling old ones as necessary.”

(출처: OpenAI 공식 마이그레이션 문서)

즉, Thread → Conversation 이전은 전적으로 개발자 몫입니다. OpenAI가 제공하는 건 코드 샘플뿐이며, 실제로 기존 대화 히스토리를 Thread에서 꺼내 Conversation 형식으로 재구성하는 작업을 직접 구현해야 합니다.

이게 실제로 어느 정도의 작업인지 공식 문서의 예시 코드를 보면 감이 옵니다. Thread 메시지를 순서대로 꺼내, 각 role에 맞게 input_textoutput_text로 변환해 Conversation을 재생성하는 로직이 필요합니다. Thread 수가 수만 건이 넘는 앱이라면 백필 작업만으로도 상당한 공수가 들 수 있습니다.

하나의 현실적인 접근은, 기존 Thread는 2026년 8월 26일 이전에는 그대로 두고 새로 생성되는 대화 흐름만 Conversations API로 전환한 다음, 필요한 과거 Thread는 점진적으로 백필하는 방식입니다. 이것도 OpenAI가 권고하는 방법이기도 합니다.

▲ 목차로 돌아가기

Prompt 객체, API로 못 만듭니다

Assistants API에서 Assistant 객체는 API로 생성·수정이 자유로웠습니다. 배포 파이프라인에서 프로그래밍으로 Assistant를 만들고 교체하는 구조를 많이 사용했습니다. Responses API의 대응 개념은 Prompt인데, 여기서 막히는 지점이 있습니다.

💡 Assistants 문서와 Prompts 문서를 나란히 놓고 보니 이런 차이가 나왔습니다

공식 문서에 이런 표현이 있습니다: “Assistants were persistent API objects that bundled model choice, instructions, and tool declarations—created and managed entirely through the API. Their replacement, prompts, can only be created in the dashboard.” (출처: OpenAI 마이그레이션 문서)

Prompt 객체는 대시보드에서만 생성 가능합니다. API로는 기존 Prompt ID를 참조해서 사용하는 건 되지만, 새로 만들거나 programmatically 수정하는 건 안 됩니다. 이 의미는 기존에 CI/CD 파이프라인 안에서 Assistant를 자동 생성·교체하는 구조를 썼던 팀이라면 배포 방식을 다시 설계해야 한다는 뜻입니다.

OpenAI는 이를 “portability and versioning” 이점으로 설명하고 있습니다. 대시보드에서 스냅샷을 찍고 버전을 관리하는 방식이 더 안전하다는 논리입니다. 다만 완전 자동화 배포가 필요한 B2B 서비스 운영자 입장에서는 이 부분이 추가 작업으로 이어지는 건 사실입니다.

▲ 목차로 돌아가기

실제 마이그레이션 흐름 — 단계별 확인 사항

이론은 충분히 봤고, 실제로 어떤 순서로 진행하면 되는지 확인해봤습니다. OpenAI 공식 마이그레이션 가이드를 기반으로, 실제 사용자 경험에서 나온 주의 사항을 더했습니다.

STEP 1

기존 Assistant 객체를 Prompt로 전환

OpenAI 대시보드에서 기존 Assistant를 찾아 “Create prompt” 버튼을 누릅니다. 여기서 생성된 Prompt ID를 소스 코드에 저장해두면 됩니다. API가 아닌 대시보드 작업이므로 자동화 불가입니다.

STEP 2

신규 대화 흐름을 Conversations API로 전환

새로 생성되는 사용자 대화는 openai.conversations.create()로 시작하도록 코드를 바꿉니다. previous_response_id를 쓰는 방식도 가능하지만, 장기 대화에서는 Conversations API가 더 안정적입니다.

STEP 3

file_search 사용 여부 점검

RAG 기능 사용 중이라면 반드시 현재 file_search 호출 건수를 추산하고, 전환 후 추가 비용($2.50/1k건)을 사전에 계산해야 합니다. 앱 아키텍처에 따라 tool_choice로 호출을 제한하는 방안을 검토합니다.

STEP 4

함수 정의 형식 변경 주의

Responses API에서는 함수 정의가 외부 태그 방식에서 내부 태그 방식으로 바뀌었고, strict 옵션이 기본 활성화됩니다. 기존 함수 스키마를 그대로 복붙하면 예상치 못한 오류가 날 수 있어 검토가 필요합니다.

STEP 5

ZDR(Zero Data Retention) 요건 확인

데이터 보존 정책이 있는 엔터프라이즈 환경이라면 Responses API의 stateful 기능(Background mode 포함)을 사용할 수 없는 경우가 있습니다. store: false와 암호화된 reasoning 조합으로 stateless 운영이 가능하지만 추가 구성이 필요합니다.

실제로 Responses API로 전환을 완료한 개발자들의 후기를 보면, 코드 전환 자체는 2~4시간 수준으로 빠르게 끝나는 경우가 많습니다. 다만 file_search 비용 재계산, Thread 백필, Prompt 대시보드 작업이 ‘숨어있는 작업량’으로 나타납니다. 이 부분의 공수 추정이 빠지면 일정이 쫓기게 됩니다.

▲ 목차로 돌아가기

자주 묻는 질문

Q1. Chat Completions API도 같이 종료되나요?
아닙니다. Chat Completions API(/v1/chat/completions)는 계속 지원됩니다. OpenAI가 종료하는 건 Assistants API만입니다. Chat Completions 기반으로 만든 앱은 영향이 없습니다.
Q2. 기존 벡터 스토어는 그대로 쓸 수 있나요?
네, 벡터 스토어는 Responses API에서도 그대로 사용할 수 있습니다. Assistants API와 동일한 벡터 스토어를 참조하면 되고, 파일을 다시 업로드할 필요가 없습니다. 다만 Responses API에서는 file_search 도구 호출 건당 추가 비용이 발생하는 점을 주의해야 합니다.
Q3. 마이그레이션 안 하면 어떻게 되나요?
2026년 8월 26일 이후 Assistants API 관련 엔드포인트(/v1/assistants, /v1/threads, /v1/runs)에 대한 호출이 실패합니다. 서비스에서 해당 API를 직접 호출하고 있다면 서비스 장애로 이어지기 때문에, 지금 시점부터 이전 계획을 수립하는 것이 중요합니다.
Q4. previous_response_id 체이닝 방식에서 토큰 비용은 어떻게 되나요?
previous_response_id를 통해 이전 응답을 체이닝하더라도, 이전 턴의 입력 내용 전체가 해당 요청의 입력 토큰으로 여전히 과금됩니다. Threads API가 서버 측에서 히스토리를 관리하던 방식과 토큰 비용 구조는 사실상 동일합니다. 대화가 길어질수록 비용이 누적되는 건 동일하므로, 긴 대화를 다루는 앱이라면 Compaction 기능 활용을 검토해야 합니다.
Q5. Python SDK는 업데이트가 필요한가요?
네, Responses API 사용을 위해 최신 버전의 openai Python/Node 패키지가 필요합니다. SDK에서 openai.responses.create()openai.conversations.create()를 지원하는 버전으로 업그레이드 후 진행하는 것이 좋습니다. 구버전 SDK에서는 Responses API 엔드포인트를 직접 사용할 수는 있지만 타입 지원이 없어 불편합니다.

▲ 목차로 돌아가기

마치며

Responses API 자체는 잘 만든 API입니다. 구조가 단순하고 에이전트 기능이 강화됐습니다. 이전 방향은 맞습니다. 다만 “빨리 해야 하니까 엔드포인트만 바꾸자”는 식으로 접근하면 예상 밖의 항목이 생깁니다.

핵심 세 가지를 다시 정리하면, 첫째 file_search를 쓰는 RAG 앱은 Responses API 전환 후 도구 호출 비용이 추가됩니다. 규모에 따라 실효 비용이 50% 이상 오를 수 있습니다. 둘째 Thread → Conversation 자동 이전 도구는 없으며 수동 구현이 필요합니다. 셋째 Prompt 객체는 대시보드에서만 생성되므로 CI/CD 자동화 구조를 재검토해야 합니다.

161일이라는 시간이 길어 보일 수 있지만, 프로덕션 서비스 이전은 항상 예상보다 오래 걸립니다. 지금 일정을 잡아두는 것을 권합니다.

▲ 목차로 돌아가기

📚 본 포스팅 참고 자료

  1. OpenAI 공식 Assistants API 마이그레이션 가이드
  2. OpenAI 공식 Chat Completions → Responses API 전환 가이드
  3. OpenAI 공식 API 요금 페이지 (Built-in tools 항목 포함)
  4. OpenAI Developer Community — Responses API 전환 실사용 후기
  5. Ragwalla — Assistants vs Responses API 비교 분석 (2026.01 업데이트)

본 포스팅은 2026년 3월 18일 기준으로 작성되었습니다. OpenAI Assistants API 및 Responses API의 정책·요금·기능은 업데이트로 언제든지 변경될 수 있습니다. 본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있으므로, 중요한 의사결정 전 반드시 공식 문서를 직접 확인하시기 바랍니다.

댓글 남기기


최신 글


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

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

계속 읽기