Huny's Dev Blog
huny.dev

Workers AI 11월 15일 모델 폐기 예고: 모델 이름을 바꾸기 전에 확인할 호출 계약

Cloudflare의 11월 15일 Workers AI 모델 폐기 예고를 바탕으로 실제 호출 위치, 입출력 계약, 결제 조건과 임베딩 재색인을 점검한다. 후속 모델의 제공 상태와 폐기 이후 복구 경계도 구분한다.

Hun Jang
Hun Jang Nov 6, 2026

AI 모델을 옮길 때 입출력 형식·비용·저장된 벡터를 함께 검토하는 과정을 표현한 생성 이미지.

Cloudflare가 November 5, 2026 Workers AI의 일부 모델을 폐기 대상으로 공지했다. 해당 모델을 참조하는 애플리케이션은 November 15, 2026 전에 수정하라는 안내다. LLM뿐 아니라 음성 합성·음성 인식·이미지 생성·비전·임베딩 모델도 포함된다. 공식 폐기 예고

지금 필요한 작업은 서비스가 실제로 호출하는 모델을 찾고, 대체 모델로 같은 기능을 유지할 수 있는지 확인하는 것이다. 공지에는 정확한 전환 시각이나 시간대가 명시되지 않았다. 한국 시간 자정까지 사용할 수 있다고 가정하지 말고 미리 전환을 마치는 편이 안전하다.

1. 모델 ID와 실제 실행 경로를 연결한다

코드 저장소에서 모델 ID를 찾는 것으로 시작하되, 다음 위치도 함께 확인한다.

  • Worker 코드의 AI 바인딩 호출과 REST API 요청 주소
  • 환경 변수, 배포별 설정, 게이트웨이 라우팅과 모델 별칭
  • 정기 작업과 백그라운드 큐 소비자
  • 장애 때만 실행되는 대체 경로
  • 예제에서 복사한 기본값과 오래된 배포 버전

목록은 ‘현재 모델 → 호출 기능 → 실행 환경 → 담당 코드 → 전환 후보’ 순서로 정리하면 된다. 평소 호출량이 적은 대체 경로를 빠뜨리면, 기본 모델이 정상일 때는 드러나지 않던 장애가 전환 후 발생할 수 있다.

각 항목은 최근 실행 로그와 대조한다. 저장소에 남은 문자열이 실제 배포에서 쓰이는지, 반대로 운영 설정에만 들어 있는 모델이 있는지 구분하는 단계다. 이 작업에 요청 본문이나 인증 토큰을 모을 필요는 없다. 모델 ID, 호출 경로, 성공 여부와 지연 시간부터 확인하자.

이름의 일부가 아니라 전체 ID를 비교해야 한다. 예를 들어 폐기 목록의 @cf/zai-org/glm-5.3-flash와 대체 후보의 @cf/zai-org/glm-5.3은 다른 모델이다. 같은 계열이라는 이유로 일괄 치환하거나 모두 폐기 대상으로 분류하면 안 된다. 전체 대상 목록

2. 공식 대체 후보와 서비스의 합격 기준을 나눈다

Cloudflare는 LLM 후보로 다음을 제시했다.

  • 큰 모델이 필요한 경우: @cf/deepseek-ai/deepseek-v4.1-flash-1017, @cf/zai-org/glm-5.3
  • 상대적으로 작은 모델이 필요한 경우: @cf/google/gemma-4-26b-a4b-it, @cf/qwen/qwen3.8-27b

이 목록만으로 기존 기능·품질·비용의 동등성을 판단할 수는 없다. 사용할 모델의 현재 제공 상태와 개별 스키마를 확인한 뒤, 애플리케이션이 실제로 요구하는 조건으로 평가해야 한다. 공식 권장 후보 · 모델 카탈로그

전환 검사는 다음처럼 나누는 편이 좋다.

  • 일반 응답: 한국어 품질, 출력 길이, 빈 응답과 거절 처리
  • 구조화 출력: 필수 필드, 타입, 추가 필드와 파싱 실패
  • 도구 호출: 도구 이름·인자·여러 호출의 처리 순서
  • 스트리밍: 첫 응답 지연, 종료 이벤트, 중간 연결 종료
  • 운영: 시간 초과, 동시 요청, 사용량과 비용

예를 들어 고객 문의 분류기가 정해진 JSON을 반환해야 한다면, 자연스러운 설명을 잘 쓰는 모델보다 파서가 받는 필드와 타입을 안정적으로 지키는지가 우선이다. 대표 입력과 과거 실패 사례를 고정해 두고, 성공 응답뿐 아니라 거절·출력 잘림·타임아웃 경로도 비교한다.

기존 LoRA 모델을 쓰던 경우에는 어댑터 적용 방식까지 별도 확인해야 한다. 공지의 일반 LLM 후보가 기존 어댑터를 그대로 받을 것이라고 가정하지 말자.

3. 음성과 이미지는 반환값까지 바뀔 수 있다

이번 공지는 MeloTTS의 후보로 Aura-2-en, Whisper Tiny의 후보로 Nova-3, 여러 이미지 생성 모델의 후보로 FLUX.2 klein 9B를 제시한다. 비전 모델 LLava의 후보는 Moondream3.1이다. 이는 작업 유형별 이동 경로를 제시한 것이며, 기존 요청을 그대로 보내도 된다는 뜻으로 읽어서는 안 된다. 음성·이미지·비전 대체 목록

Aura-2-en 문서에는 화자·인코딩·컨테이너·샘플레이트 설정이 있고, 바인딩 반환값으로 오디오 스트림을 설명한다. 기존 코드가 JSON 안의 Base64 문자열을 기대한다면 결과 처리부터 달라질 수 있다. 지원 언어, 발음, 코덱과 최종 재생 클라이언트까지 확인해야 한다. 특히 한국어 음성 서비스라면 후보로 적혀 있다는 이유만으로 한국어 요구사항이 충족된다고 판단하지 않는다. Aura-2-en 문서

FLUX.2 klein 9B 문서는 입력에 multipart 객체를, 출력에 Base64 이미지 문자열을 명시한다. 따라서 요청 직렬화, 결과 디코딩, 파일 저장과 최종 응답의 Content-Type을 하나의 테스트로 연결하는 편이 좋다. 기존 인페인팅 코드가 있다면 마스크와 편집 영역의 의미가 대체 모델에서 어떻게 표현되는지도 별도로 확인한다. FLUX.2 klein 9B 문서

모델 호출이 성공했다는 사실과 사용자에게 정상적인 파일이 전달됐다는 사실은 다르다. 저장된 이미지가 열리는지, 오디오가 끝까지 재생되는지까지 점검해야 한다.

4. 임베딩은 코드 변경과 데이터 이관을 함께 계획한다

@cf/google/embeddinggemma-300m도 이번 대상이다. 11월 5일 공지에서 후속 후보인 @cf/google/embeddinggemma-2는 ‘곧 제공 예정’으로 표시돼 있다. 이 글에서는 후속 모델의 현재 호출 가능 여부나 확정 출시일을 보장하지 않는다. 실제 배포 시점의 카탈로그와 모델 문서에서 제공 상태·규격을 다시 확인해야 한다. 공식 공지 · 기존 모델의 폐기 예정 표시

검색 서비스라면 질문을 벡터로 바꾸는 코드와 저장된 문서 벡터를 함께 점검한다. 새 모델이 만든 질문 벡터를 기존 모델의 문서 벡터와 섞어 검색할 때는, 차원이 같더라도 같은 의미 공간에서 비교된다고 가정할 수 없다. 출력 차원만 맞추는 검사는 입력 형식 오류를 줄일 수는 있어도 검색 품질을 보장하지 않는다.

Vectorize 인덱스는 차원 수와 거리 계산 방식을 생성 시 정하며, 생성 후 설정을 바꿀 수 없다. 차원이나 거리 방식이 달라지면 새 인덱스가 필요하다. 같더라도 이번 이관에서는 검증과 되돌리기를 위해 별도 인덱스를 사용하는 방안을 검토할 수 있다. Vectorize 인덱스 생성 문서

실무 전환은 다음 순서로 계획할 수 있다.

  1. 후속 후보의 실제 제공 상태와 입력·출력 규격을 확인한다. 제공 일정이 불명확하면 현재 사용 가능한 다른 후보나 일시적 기능 축소도 함께 준비한다.
  1. 모델 ID·전처리·문서 분할 방식·차원·거리 방식을 한 묶음으로 기록한다.
  1. 별도 인덱스에 문서를 다시 임베딩하되, 원문 ID와 메타데이터를 보존한다.
  1. 이관 중 추가·수정·삭제되는 문서를 새 인덱스에도 반영할 방법을 정한다.
  1. 고정된 질문 집합으로 검색 결과, 정답 문서의 누락, 잘못된 원문 연결을 비교한다.
  1. 질문 임베딩과 검색 인덱스의 설정을 함께 전환한다.

Vectorize의 insert·upsert는 비동기다. 쓰기 응답을 받았다는 이유만으로 전체 새 데이터가 검색된다고 판단하지 말고, 실제 질의 결과까지 확인한다. 같은 ID에 upsert하면 기존 벡터와 메타데이터 전체를 교체하므로, 일부 필드만 보내는 코드도 점검해야 한다. Vectorize API

후속 모델의 사용 가능 여부가 불명확한 상태에서는 ‘출시되면 바꾸면 된다’는 계획만 남기기 어렵다. 원문 확보, 재임베딩 범위와 비용 산정, 평가 질문 준비는 미리 진행할 수 있다.

5. 효율성 설명과 우리 서비스의 예산을 구분한다

Cloudflare 가격 문서는 모델별 단가와 결제 조건을 따로 안내한다. 대체 후보 중 DeepSeek V4.1 Flash와 GLM-5.3은 유료 결제 방식이 필요한 목록에 포함돼 있다. 기존 모델이 무료 할당량 안에서 동작했다고 해서 대체 모델도 같은 조건에서 실행된다고 가정하면 안 된다. Workers AI 가격 문서

비교할 때는 가격표의 입력 단가 하나만 보지 말고 다음 항목을 함께 적는다.

  • 요청당 입력·출력 사용량과 캐시 적용 조건
  • 평균 지연, 느린 요청의 지연과 동시 처리량
  • 파싱 실패·시간 초과로 생긴 재시도와 대체 호출
  • 음성·이미지 등 각 작업의 과금 단위
  • 전체 문서 재임베딩에 드는 일회성 비용

토큰을 더 효율적으로 쓴다는 설명이 모든 서비스의 청구액 감소를 의미하지는 않는다. 모델 변경으로 출력 길이와 실패율이 달라질 수 있으므로 같은 업무를 완료하는 총비용으로 비교해야 한다. 가격과 결제 조건은 전환 직전에 다시 확인한다.

6. 되돌릴 경로도 폐기 날짜를 통과할 수 있어야 한다

가능하다면 일부 트래픽부터 전환해 오류율·품질·비용을 확인한다. 모델 ID만 바꾸는 설정과 응답 파서 변경을 따로 배포하면 서로 맞지 않는 조합이 생길 수 있으므로, 호환되는 코드와 설정을 함께 관리한다. 임베딩 서비스에서는 질문 모델과 인덱스가 그 묶음에 포함된다.

이때 ‘문제가 생기면 예전 모델로 돌아간다’는 계획은 공지된 날짜 이후까지 유효하다고 보장할 수 없다. 계속 제공되는 다른 모델, 검증된 대체 경로, 기능 축소 화면 등 실제 사용할 수 있는 복구 방안을 준비해야 한다.

전환 중 로그에는 새 모델의 성공 건수뿐 아니라 폐기 대상 모델의 잔여 호출도 남긴다. 오래된 큐 소비자나 정기 작업이 며칠 뒤에 실행되는 경우까지 확인하기 위해서다. 종료 대상 모델의 호출 실패를 일시적 네트워크 오류로 오인해 계속 재시도하지 않도록 오류 분류도 검토한다.

배포 전 확인할 것

  • 실제 배포·정기 작업·대체 경로에서 대상 모델 참조를 찾았는가?
  • 대체 후보의 제공 상태, 결제 조건과 필요한 기능을 확인했는가?
  • 입력·출력·스트리밍·파일 저장을 끝까지 검증했는가?
  • 고정된 입력과 실패 사례로 서비스의 합격 기준을 확인했는가?
  • 임베딩 이관의 신규·변경·삭제 문서와 검색 반영을 확인했는가?
  • 질문 모델과 인덱스, 모델 설정과 응답 파서를 함께 전환하는가?
  • 폐기 날짜 이후에도 동작할 복구 경로가 있는가?

이번 예고를 계기로 사용 중인 모델과 호출 기능의 연결을 남겨 두면 다음 변경에서도 영향을 빠르게 판단할 수 있다. 우선순위는 단순히 호출량이 많은 모델만이 아니라, 전환에 데이터 재생성과 별도 검증이 필요한 기능까지 고려해 정하자.

이 글은 November 6, 2026 확인한 공식 공개 문서를 바탕으로 작성했다. 실제 유료 API 호출, 모델 성능 측정이나 운영 데이터 이관은 실행하지 않았다. 위 절차는 각 서비스에서 수행할 검증 항목이며, 이미 검증된 성능 결과를 의미하지 않는다.

추천 글