왜
Gemini 응답의 usageMetadata 를 버리고 있어 호출당 토큰이 얼마나 드는지 관측값이 없다.
이미지 해상도 설정(media_resolution)을 검토하다 드러났다. 문서상 Gemini 3 계열은 미지정 기본이 이미지 1120 토큰(= HIGH 와 동일)이라 지금 설정을 바꿀 이유가 없어 보이는데, 그 판단이 전부 문서 근거이고 실측이 아니다. 모델을 바꾸거나 해상도를 조절할 때 근거로 쓸 숫자가 없다.
비용 추적도 같은 이유로 막혀 있다. 링크 추출과 이미지 추출의 토큰 비중이 어떻게 다른지, 어떤 입력이 비싼지 알 수 없다.
무엇을
GeminiGenerateContentResponse 에 usageMetadata 를 wire 필드로 추가한다 (promptTokenCount·candidatesTokenCount·totalTokenCount·promptTokensDetails)
- 응답을 받은 자리에서 모델명과 함께 한 줄 남긴다.
promptTokensDetails 의 modality 별 값에서 이미지 토큰을 분리해 함께 남긴다
- 메트릭이 아니라 로그로 둔다. 카디널리티가 낮지 않고(모델명 x modality), 지금 필요한 건 추세보다 "이 호출이 얼마였나"의 원장이다
왜
Gemini 응답의
usageMetadata를 버리고 있어 호출당 토큰이 얼마나 드는지 관측값이 없다.이미지 해상도 설정(
media_resolution)을 검토하다 드러났다. 문서상 Gemini 3 계열은 미지정 기본이 이미지 1120 토큰(=HIGH와 동일)이라 지금 설정을 바꿀 이유가 없어 보이는데, 그 판단이 전부 문서 근거이고 실측이 아니다. 모델을 바꾸거나 해상도를 조절할 때 근거로 쓸 숫자가 없다.비용 추적도 같은 이유로 막혀 있다. 링크 추출과 이미지 추출의 토큰 비중이 어떻게 다른지, 어떤 입력이 비싼지 알 수 없다.
무엇을
GeminiGenerateContentResponse에usageMetadata를 wire 필드로 추가한다 (promptTokenCount·candidatesTokenCount·totalTokenCount·promptTokensDetails)promptTokensDetails의 modality 별 값에서 이미지 토큰을 분리해 함께 남긴다