Skip to content
게으른 엔지니어의 기술 블로그
Go back

고객사 뉴스 리포트 만들다가 2편 — 돌연 요약이 다 실패로 나왔다, 모델이 사라진 걸 아무도 안 알려줬다

지난 글에서 저장 경로 문제를 고치고 나서, 이번엔 API 비용을 프로젝트별로 따로 추적하고 싶어서 Gemini API 키를 이 프로젝트 전용으로 새로 하나 더 발급받아 붙였다.

한 시간 넘게 잘 돌았는데

전용 키를 붙인 채로 주간 리포트를 돌렸다. 프로세스는 죽지 않고 끝까지 잘 돌았다 — 종료 코드도 0이었다. 근데 다 끝나고 결과 파일을 열어보니, 552개 행 전부 요약란에 “요약 실패”만 찍혀 있었다.

로그를 보니 원인이 있었다

실행 로그를 다시 열어보니 매 요약 호출마다 이런 에러가 찍혀 있었다. “이 모델은 더 이상 신규 사용자에게 제공되지 않습니다.” 설정엔 gemini-2.5-flash를 명시적으로 지정해두고 있었는데, 그 모델이 이 새로 발급받은 키에서는 막혀 있었던 것이다.

기존에 쓰던 공용 키는 이 모델에 여전히 접근 가능했는데, 방금 새로 만든 전용 키는 접근이 안 됐다. 신규로 발급된 키가 연결된 프로젝트/계정 등급에 따라 사용 가능한 모델 목록이 달랐던 것 같다.

고치는 방법을 찾았다

일단 급한 대로 특정 모델명 대신 “지금 시점의 최신 flash 모델”을 가리키는 롤링 별칭 gemini-flash-latest로 바꿨다. 이건 새 키에서도 막히지 않고 잘 돌았다. 그런데 다시 열어보니 비용이 확 뛰어 있었다 — 이 별칭이 가리키고 있던 모델이 기존에 쓰던 것보다 비싼 모델이었던 것이다.

결국 별칭 대신 gemini-3-flash-preview로 모델명을 다시 한번 명시적으로 지정하고, 실제 요약 코드로 돌려서 진짜 요약문이 나오는 걸 확인한 뒤에야 리포트를 재실행했다.

배운 점

파이프라인이 요약 실패를 조용히 넘어가도록 설계해둔 게(에러 나면 “요약 실패”로 채우고 다음 기사로 넘어감) 이번엔 오히려 문제를 가렸다. 개별 기사 하나가 실패하는 상황을 견디게 만든 설계인데, 그 설계 덕분에 “전부 다” 실패해도 프로세스는 멀쩡하게 끝나버렸다. 정상적으로 끝났다는 신호(종료 코드 0, 로그에 별다른 크래시 없음)와 결과물이 실제로 쓸모 있다는 것은 다른 질문이다 — 끝나고 나서 실제 내용을 열어보기 전까지는 몰랐다. 그리고 “롤링 별칭”이라는 편리함이, 호출하는 키나 계정이 바뀌는 순간 그 편리함 자체가 어떤 모델이 불려오는지를 숨기는 위험으로 바뀔 수 있다는 것도 새로 배웠다.


Share this post:

Previous Part
고객사 뉴스 리포트 만들다가 — 출력 경로가 있는 줄 알았는데, 사실 컨테이너 안에만 있었다
Next Part
고객사 뉴스 리포트 만들다가 3편 — 회사명만 검색해도 관련 없는 기사가 계속 나왔다