IT/AI
D-158 종료
OpenAI Assistants API 종료, 8월 전에 이것부터 보세요
2026년 8월 26일, OpenAI Assistants API가 완전히 꺼집니다. 그날 이후엔 /v1/assistants와 /v1/threads 엔드포인트는 응답을 돌려주지 않습니다. 전환이 생각보다 단순해 보이지만, 실제로 밟다 보면 놓치기 쉬운 지점이 두 군데 있습니다.
종료 타임라인 — 지금 어느 단계인가
OpenAI Assistants API 종료는 하루아침에 결정된 게 아닙니다. 2025년 3월 Responses API가 공개될 때부터 “기능 동등성이 달성되면 종료하겠다”고 예고했고, 2025년 8월 26일에 공식 deprecation 공지가 나왔습니다. 그리고 정확히 1년 뒤인 2026년 8월 26일이 최종 종료일입니다. (출처: OpenAI 공식 커뮤니티 공지, 2025.08.26)
| 날짜 | 내용 | 상태 |
|---|---|---|
| 2024.12.18 | Assistants API v1 베타 접근 종료 (v2만 운영) | 완료 |
| 2025.03.11 | Responses API 정식 출시 | 완료 |
| 2025.08.26 | Assistants API deprecation 공식 공지 | 완료 |
| 2026.03.21 | 현재 — API 여전히 작동 중, 마이그레이션 권고 | 진행 중 |
| 2026.08.26 | Assistants API 완전 종료 — 요청 불가 | D-158 |
현재(2026.03.21) 기준으로 Assistants API는 여전히 작동합니다. 종료까지 약 158일이 남아 있습니다. 느긋해 보이지만, 프로덕션 트래픽을 점진적으로 전환하고 Thread 데이터를 백필(backfill)하는 작업까지 감안하면 지금 시작해야 여유가 생깁니다.
무엇이 무엇으로 바뀌는가 — 개념 대응표
OpenAI가 Assistants API를 만들었을 때는 “추론 모델(reasoning model)이 등장하기 전”이었습니다. 당시의 설계는 대화 상태를 서버에서 관리하고 스레드를 중심으로 돌아갔는데, GPT-5처럼 추론 토큰을 유지하는 모델이 나오면서 그 구조가 맞지 않게 됐습니다. Responses API는 그 위에서 다시 설계한 구조입니다. (출처: OpenAI 공식 커뮤니티 deprecation 공지, 2025.08.26)
| 이전 (Assistants API) | 지금 (Responses 플랫폼) | 핵심 차이 |
|---|---|---|
Assistants |
Prompts |
API 생성 → 대시보드 생성으로 변경 |
Threads |
Conversations |
메시지만 → 아이템(메시지+툴콜+출력) 저장 |
Runs |
Responses |
비동기 폴링 루프 → 동기적 입력→출력 구조 |
Run Steps |
Items |
분리된 툴 정보를 단일 아이템 타입으로 통합 |
겉보기엔 이름만 바뀐 것 같지만, Runs 구조가 가장 크게 달라집니다. 기존에는 run.status가 “queued → in_progress → completed”로 바뀔 때까지 1초 간격으로 폴링하는 while 루프를 짜야 했습니다. Responses API에서는 입력을 넣으면 출력이 바로 나오는 구조라 그 코드가 통째로 사라집니다. 실사용자 기준 전환 작업 시간이 약 2시간 수준으로 줄어드는 이유입니다. (출처: OpenAI 개발자 커뮤니티 실사용 후기, 2025.03.22)
코드는 2시간이지만, 비용이 달라집니다
파일 검색(file_search) 도구를 사용하고 있다면 지금 당장 비용 계산을 다시 해야 합니다. Assistants API에서는 file_search 호출 건당 별도 요금이 없었습니다. Responses API로 오면서 구조가 달라졌습니다. RAG 기반 어시스턴트를 수천 명 사용자에게 서비스하던 한 개발자가 전환 직후 이 부분을 공개적으로 지적했습니다. (출처: OpenAI 개발자 커뮤니티 전환 경험 공유, 2025.03.22)
💡 공식 가격 문서와 실제 서비스 비용을 같이 놓고 보니 이런 차이가 보였습니다.
Responses API 기준 현행 도구 요금 (출처: OpenAI 공식 Pricing 문서, 2026.01 기준):
- file_search 도구 호출: $2.50 / 1,000건 (Responses API에서만 청구, Assistants API에는 없던 항목)
- file_search 스토리지: 1GB 초과분 $0.10/GB/일
- web_search 도구 호출: 모델 클래스별 상이 (일부 $10/1,000건 수준)
- Code Interpreter: 컨테이너당 $0.03 (1GB 기본)
직접 계산해 보면 이렇습니다. gpt-4o-mini를 사용하는 RAG 기반 서비스에서 질문 1건당 입력 토큰이 약 20,000~40,000개라고 하면, 1,000건 처리 비용은 입력 토큰 기준 약 $3~6 수준입니다. 여기에 Responses API의 file_search 호출 비용 $2.50이 추가되면 실질 비용이 최대 50% 이상 증가할 수 있습니다. 전환 전에 file_search 호출 빈도를 측정하고 월 비용 시뮬레이션을 먼저 돌려보는 게 맞습니다.
Prompts를 API로 못 만드는 이유
많은 개발자가 놓치는 부분이 여기 있습니다. 기존 Assistants API에서는 openai.beta.assistants.create()로 코드에서 바로 어시스턴트를 만들 수 있었습니다. Responses API의 대응 개념인 Prompts는 API로 생성하는 방법이 현재 공개되어 있지 않습니다. 대시보드에서만 만들 수 있고, 만든 뒤 Prompt ID를 코드에서 참조하는 방식입니다. (출처: OpenAI 공식 마이그레이션 가이드, platform.openai.com/docs/assistants/migration)
💡 공식 발표문과 실제 사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다.
수백 개의 어시스턴트를 동적으로 생성하는 애플리케이션(예: 사용자마다 다른 지침을 갖는 RAG 봇)에서는 Prompts가 직접적인 대체재가 아닐 수 있습니다. 이런 패턴에는 Conversations API + client-managed instructions 조합이 더 현실적입니다. OpenAI도 이 이유를 공식적으로 밝히지 않았습니다.
OpenAI 커뮤니티에서도 “기능 동등성(feature parity) 달성”이라는 공식 표현에 이의를 제기하는 목소리가 있었습니다. 동적 어시스턴트 생성 패턴에 대한 API 대응이 아직 완성되지 않은 채 deprecated 선언이 먼저 나왔기 때문입니다. 어시스턴트를 대규모로 프로그래밍 방식으로 관리하고 있다면 전환 전에 이 부분을 반드시 검토해야 합니다.
실전 마이그레이션 4단계
공식 마이그레이션 가이드 기준 (platform.openai.com/docs/assistants/migration)으로 정리한 단계입니다. 각 단계를 순서대로 밟되, 3단계와 4단계는 서비스 특성에 따라 선택해야 합니다.
현재 사용 중인 Assistant ID 목록, 각 어시스턴트의 instructions, 연결된 vector store ID, tool 구성을 전부 기록합니다. 대시보드에서 “Create prompt” 버튼을 눌러 Prompt로 변환하기 전에 이 목록이 있어야 빠짐없이 전환할 수 있습니다.
post /v1/chat/completions 또는 post /v1/threads/runs를 post /v1/responses로 변경합니다. 단순 텍스트 입출력이라면 이것만으로 기본 동작은 됩니다. 폴링 루프(while run.status …) 코드는 삭제합니다.
① Conversations API: Thread와 가장 유사. 서버에 대화 상태를 저장하고 conversation ID를 넘깁니다. ② previous_response_id 체이닝: 마지막 응답 ID를 다음 요청에 넘기는 단순 방식. ③ 클라이언트 관리: 대화 기록을 직접 배열로 관리. 단, ①과 ②는 동시에 사용할 수 없습니다.
Chat Completions에서는 함수가 "type": "function", "function": {…} 외부 태그 방식이었습니다. Responses API에서는 "type": "function", "name": "…" 형식의 내부 태그 방식입니다. 함수도 strict가 기본값으로 바뀝니다. (출처: platform.openai.com/docs/guides/responses-vs-chat-completions)
Thread 기록, 자동으로 안 옮겨집니다
공식 마이그레이션 가이드에 이 문장이 그대로 나옵니다. “We will not provide an automated tool for migrating Threads to Conversations.” Thread → Conversation 자동 이전 도구는 제공하지 않겠다는 뜻입니다. (출처: platform.openai.com/docs/assistants/migration) 서비스에 수천~수만 개의 사용자 Thread가 쌓여 있다면 지금부터 순차적으로 백필 스크립트를 돌려야 합니다.
Thread → Conversation 백필 핵심 흐름
openai.beta.threads.messages.list(thread_id, order="asc")로 메시지 전체 추출- user 메시지는
input_text, assistant 메시지는output_text타입으로 변환 openai.conversations.create(items=[…])로 새 Conversation 생성- 기존 Thread ID와 새 Conversation ID 매핑 테이블을 DB에 저장
한 가지 더 알아두면 좋은 점이 있습니다. Response 객체는 기본적으로 30일 TTL이 적용됩니다. 반면 Conversations에 연결된 아이템은 30일 TTL이 적용되지 않습니다. 대화 기록을 장기적으로 유지해야 하는 서비스라면 store: false가 아닌 Conversations API를 사용하는 방식이 적합합니다. (출처: OpenAI 커뮤니티 공식 답변, 2025.08.26)
Q&A 5가지
마치며
Responses API로의 전환은 구조적으로 단순해졌고, 실사용자 기준 코드 작업 자체는 2~3시간이면 됩니다. 하지만 file_search 비용 증가와 Prompts의 대시보드 전용 생성 방식이라는 두 가지는 코드 변경 전에 반드시 점검해야 할 부분입니다. Thread 기록의 자동 이전도 제공되지 않으니 프로덕션 서비스라면 지금 백필 일정을 잡는 게 현명합니다.
종료까지 158일이 남았습니다. 방어적으로 잡으면 7월 말 완료가 현실적인 목표선입니다. GPT-5와 연동되는 추론 토큰 유지, deep research, MCP, computer use는 Responses API에서만 쓸 수 있는 기능입니다. 이제 그쪽으로 가야 할 이유가 종료 데드라인 하나만이 아닌 셈입니다.
핵심 정리
- 종료일: 2026년 8월 26일 (현재 D-158)
- file_search를 쓰고 있다면 비용 재계산 먼저 (최대 +50% 증가 가능)
- Prompts는 API 생성 불가 → 동적 어시스턴트 패턴은 Conversations + instructions로 전환
- Thread → Conversation 자동 이전 없음 → 백필 스크립트 직접 작성 필요
- Chat Completions는 계속 지원됨
본 포스팅 참고 자료
- OpenAI 공식 Assistants API 마이그레이션 가이드 — platform.openai.com/docs/assistants/migration
- OpenAI 공식 Responses vs Chat Completions 비교 문서 — platform.openai.com/docs/guides/responses-vs-chat-completions
- OpenAI 커뮤니티 deprecation 공지 (2025.08.26) — community.openai.com
- OpenAI 커뮤니티 실전 전환 경험 공유 (2025.03.22) — community.openai.com
- Ragwalla 공식 마이그레이션 가이드 (2026.01.28) — ragwalla.com
본 포스팅은 2026년 3월 21일 기준 공식 문서와 공개된 자료를 바탕으로 작성되었습니다. 본 포스팅 작성 이후 OpenAI 서비스 정책·UI·기능·요금이 변경될 수 있습니다. 정확한 현행 정보는 platform.openai.com 공식 문서에서 직접 확인하시기 바랍니다.

댓글 남기기