Gemini 3.1 Pro에 코딩·요약·번역 54번 시켜봤습니다 — 생각 수준을 low로 내려도 채점 결과는 떨어지지 않았습니다

커피 추출 방식을 다룬 글을 주고 「핵심 5문장으로 요약해줘. 원문에 없는 내용은 추가하지 마」라고 했습니다. 다섯 번째 반복에서 돌아온 답의 첫 줄과 넷째 문장입니다.

원문을 바탕으로 요약한 핵심 5문장입니다.
4\. 이러한 커피의 추출 결과를 좌우하는 3가지 핵심 변수는 원두의 분쇄도, 물의 온도, 물과 원두가 닿는 시간입니다.

두 군데가 걸립니다. 요약만 달라고 했는데 요약 앞에 머리말이 붙었습니다. 그리고 「3가지」는 원문에 없는 숫자입니다. 원문은 변수 세 개를 나열만 했고, 모델이 그것을 세어 붙였습니다.

이번 테스트에서 채점기에 걸린 것은 이 「3가지」가 전부입니다. Gemini 3.1 Pro에 코딩·요약·번역 과제를 생각 수준 high와 low로 9번씩, 모두 54번 넣었고, 채점 결과가 어긋난 회차는 요약 두 번뿐이었습니다. 그 두 번도 생각을 더 많이 하는 high 쪽에서 나왔습니다.

그래서 짧은 실무 과제를 맡길 때 생각 수준을 어디에 둘지는 품질보다 시간과 토큰으로 정하게 됩니다. low는 과업마다 채점 결과가 떨어지지 않았고, 번역은 응답 시간 중앙값이 34% 줄었습니다. 대신 받은 답을 그대로 붙여 넣기 전에 지울 것이 과업마다 하나씩 있었습니다.

요약 18번, 머리말은 18번 다 붙었습니다

요약은 조건을 잘 지켰습니다. 18번 모두 번호 붙은 다섯 문장이었고, 원문의 추출 방식 네 가지(드립·에스프레소·침지식·콜드브루)와 핵심 변수 세 가지를 빠뜨린 요약은 없었습니다.

다만 18번 모두 요약 앞에 한 줄이 먼저 나왔습니다. 「원문에서 추출한 핵심 5문장 요약입니다」, 「원문을 바탕으로 요약한 핵심 5문장입니다」처럼 문구만 조금씩 달랐습니다. 채팅 창에서 읽을 때는 아무 문제가 없습니다. 이 답을 보고서나 스크립트로 그대로 옮기는 자리라면 매번 첫 줄을 지워야 합니다. 채점기는 번호 붙은 줄만 요약으로 세도록 짜서 이 머리말을 점수에 넣지 않았습니다.

원문 밖 숫자는 채점기가 요약 본문의 아라비아 숫자를 모두 뽑아 원문 숫자와 대조해 찾습니다. 걸린 두 번은 모두 「3가지 핵심 변수」였습니다.

요약 첫 실패 — 생각 수준 high/반복5 · 원문 밖 숫자 · 5문장 · 원문 밖 숫자 3

원문과 대조해 보면 틀린 정보는 아닙니다. 원문에 나열된 변수가 정말 세 개입니다. 그래도 채점 결과는 실패로 둡니다. 「원문에 없는 내용은 추가하지 마」를 글자 그대로 적용하면 추가된 표현이고, 세는 대상이 늘 이렇게 명확하지는 않기 때문입니다. 원문에 없는 개수를 요약이 붙이기 시작하면, 나열이 애매한 원문에서는 그 개수가 틀릴 수 있습니다.

번역은 18번 모두 영어 원어를 괄호에 남겼습니다

번역 과제는 LLM 서비스 운영을 다룬 영어 단락 하나였고, 「자연스러운 한국어로, 전문 용어는 통용 표기를 따라」라고만 했습니다. 채점기는 지연 시간·처리량·배치·양자화·가중치·컨텍스트 윈도우·토큰 일곱 개가 들어갔는지, 괄호 밖에 영어 단어가 남았는지를 봅니다. 18번 모두 통과했습니다.

통과와 별개로 모양은 한결같았습니다. 18번 모두 「지연 시간(latency)」, 「양자화(quantization)」처럼 영어 원어를 괄호에 달았습니다. 기술 문서라면 도움이 되는 표기입니다. 일반 독자용 글이라면 괄호를 걷어내는 손이 한 번 더 갑니다.

한 번은 번역이 아니라 설명서가 돌아왔습니다. high 여덟 번째 반복에서 번역문 앞에 「IT 및 AI 분야에서 통용되는 전문 용어와 매끄러운 문맥을 반영하여 자연스럽게 번역한 결과입니다」라는 머리말이 붙었고, 뒤에는 「참고한 전문 용어 번역」이라는 용어 대조표가 열 줄 붙었습니다. 번역문만 떼어 쓰려면 앞뒤를 잘라내야 하는 답이었습니다.

코드는 18번 모두 같은 한 줄이었습니다

코딩 과제는 정수 리스트에서 중복을 없애고 내림차순으로 정렬하는 함수 dedup_sort(nums)를 짜고 예시 출력도 보여 달라는 것이었습니다. 응답에서 코드 블록을 꺼내 따로 실행하고, 숨은 케이스 일곱 개를 넣었습니다. 빈 리스트, 원소 하나, 전부 같은 값, 음수와 0이 섞인 리스트, 이미 내림차순인 리스트, 2,000개짜리 리스트까지입니다.

18번 모두 통과했고, 18번 모두 핵심은 return sorted(set(nums), reverse=True) 한 줄이었습니다. 반복마다 달라진 것은 주석과 설명 문장뿐이었습니다. 입력 리스트를 건드린 답도, 리스트가 아닌 값을 돌려준 답도 없었습니다.

이 과제는 쉬운 쪽입니다. 같은 모델에 CSV 파일 12개를 읽어 합치는 스크립트를 짜게 했을 때는 결과가 갈렸습니다. 그 기록은 엑셀 CSV 취합 스크립트 10개를 돌려 본 글에 있습니다.

high와 low, 차이는 시간과 토큰에서만 났습니다

Gemini 3.1 Pro는 답을 내기 전에 생각 토큰을 씁니다. 요청의 생각 수준(thinking level)으로 그 양을 조절할 수 있고, 공식 문서 기준 기본값은 high입니다. 생각 토큰은 화면에 보이지 않지만 출력 요금에 들어갑니다. 공시 단가는 입력 100만 토큰당 2달러, 생각 토큰을 포함한 출력 100만 토큰당 12달러입니다(Google Cloud 가격표 · 2026년 9월 23일 확인 · 프롬프트 20만 토큰 이하 기준).

과업 · 생각 수준 응답 시간 중앙값 생각 토큰 중앙값 답 토큰 중앙값 회당 추정 비용
코딩 · high 8.58초 700 310 $0.0123
코딩 · low 6.75초 468 281 $0.0093
요약 · high 12.42초 1,268 221 $0.0183
요약 · low 9.88초 984 219 $0.0154
번역 · high 19.53초 2,150 290 $0.0293
번역 · low 12.83초 1,446 279 $0.0204

54회 집계 — 생각 수준 high 코딩 9/9 요약 7/9 번역 9/9 · 생각 수준 low 코딩 9/9 요약 9/9 번역 9/9 · 인프라 0건

답의 길이는 생각 수준에 거의 영향을 받지 않았습니다. 달라진 것은 보이지 않는 쪽입니다. 번역을 high로 돌리면 출력 토큰의 87%가 생각 토큰이었습니다. 독자가 받는 번역문보다 모델이 속으로 쓴 분량이 여섯 배 넘게 길었던 셈입니다.

54번 전체의 추정 비용은 0.94달러였습니다. 한 번에 몇 센트라 개인 작업에서는 부담이 작습니다. 같은 요약·번역을 하루 수천 건 돌리는 자동화라면 이야기가 다릅니다. high와 low의 차이가 곧바로 요금 차이가 되고, 이번 과제에서는 그 차이를 내고도 채점 결과가 나아지지 않았습니다.

비용은 응답에 실려 온 토큰 사용량에 공시 단가를 곱해 계산했습니다. 청구서와 대조한 금액이 아니고, 프롬프트가 20만 토큰을 넘는 긴 문서에는 더 높은 단가가 붙습니다.

이렇게 돌렸습니다

이번 테스트는 2026년 9월, Google Cloud Vertex AI의 global 엔드포인트로 gemini-3.1-pro-preview를 불러서 했습니다.

  • 측정 경로가 첫 기록과 다릅니다. 이 주소의 6월 첫 기록은 Antigravity 구독 CLI로 과업마다 3번씩, 모두 9번 돌렸습니다. 이번에는 같은 시험지를 API로 보냈고 반복을 늘렸습니다. 이 글의 수치는 모두 이번 API 기록에서 나왔습니다.
  • 시험지는 6월 첫 기록의 입력 세 개를 글자 그대로 가져왔습니다. 코딩 지시 한 줄, 커피 추출 방식을 설명한 한국어 글 요약, LLM 운영을 다룬 영어 단락 번역입니다.
  • 조건은 생각 수준 high와 low 두 가지입니다. 과업 3개 × 조건 2개 × 반복 9회, 모두 54번입니다. 파일럿 6번으로 진행 판정을 받은 뒤 나머지 48번을 이어 돌렸습니다.
  • 온도는 요청에 넣지 않아 모델 기본값을 썼습니다. 생각 토큰이 출력 상한을 먼저 채우면 답이 잘리기 때문에 출력 상한은 32,768토큰으로 넉넉히 두고, 매번 종료 사유를 기록했습니다. 54번 모두 정상 종료(STOP)였습니다.
  • 요청은 한 번에 하나씩 보냈습니다. 두 번은 할당량 초과(429)와 서버 오류(500)가 먼저 돌아와 기다렸다가 다시 받았습니다. 응답 시간은 성공한 시도만 셌습니다. 위 집계 화면의 행별 시간은 실패한 시도까지 합친 값이라 그 두 행만 43초대로 보입니다.

채점은 gemini_tasks_score.py가 합니다. 코드는 실제로 실행하고, 요약은 문장 수와 원문 밖 숫자를, 번역은 용어 목록과 괄호 밖 영어를 봅니다. 요약의 언급 여부와 번역 용어는 단어 목록으로 찾기 때문에 목록에 없는 표기로 옮기면 빠진 것으로 셉니다. 이번에는 그렇게 빠진 회차가 없었습니다.

어디에 두고 쓸까

저라면 이런 짧은 과제는 생각 수준을 low로 두겠습니다. 이번 세 과제에서 low는 채점 결과가 high보다 떨어진 곳이 없었고, 시간과 토큰은 매번 적게 들었습니다. high는 긴 추론이 필요한 과제에서 따로 재 볼 몫입니다.

받은 답은 이렇게 손봅니다.

  • 요약은 첫 줄을 지웁니다. 이번에는 18번 모두 머리말이 붙었습니다. 원문에 없는 개수 표현(「3가지」)이 들어갔는지도 한 번 봅니다.
  • 번역은 괄호 속 영어를 남길지 정합니다. 18번 모두 원어를 달았습니다. 번역문 앞뒤에 설명이 붙어 오는 경우도 한 번 있었습니다.
  • 코드는 내 케이스로 한 번 돌려 봅니다. 이번 함수는 18번 모두 맞았지만, 그건 빈 리스트·음수·큰 입력을 넣어 봤기 때문에 할 수 있는 말입니다.

무료 로컬 모델에 같은 종류의 일을 맡기면 어디까지 되는지는 내 PC의 gemma3:4b와 유료 클라우드를 나란히 잰 기록에, 코드만 따로 본 결과는 로컬 코드 모델 비교 기록에 있습니다.

재현과 원자료

실행 파일은 run_gemini_tasks_bench.py, 채점기는 gemini_tasks_score.py, 시험지는 gemini_tasks_cases.json입니다. Vertex AI 호출은 vertex_gemini.py가 맡고 서비스 계정 키가 필요합니다. --mode pilot으로 파일럿을 돌린 뒤 같은 실행 폴더에서 --mode full로 이어갑니다.

이번 기록의 기준 파일은 test_runs/gemini-31-pro-vertex-tasks-20260923/run.yaml입니다. 조건별·과업별 집계는 같은 폴더의 aggregate.json, 회차별 판정은 results.csv, 요청과 응답 원문은 raw/, 비용 계산은 cost_estimate.json, 「3가지」 두 건을 원문과 대조한 판정은 summary_number_audit.json에 있습니다. 이 경로들은 비공개 작업 폴더라 외부에서 열 수 없습니다. 본문에는 이번 실행 중에 찍힌 터미널 화면 캡처 두 장을 실었습니다.

재현: cinevyze-bench의 run_gemini_tasks_bench.py·gemini_tasks_score.py·gemini_tasks_cases.json·vertex_gemini.py(Vertex AI 서비스 계정 키는 각자 준비). 위 test_runs/… 실행 기록은 공개하지 않습니다.

이번 결과는 Gemini 3.1 Pro 미리보기 모델 하나, 짧은 과제 세 개를 놓고 얻었습니다. 긴 문서, 여러 단계가 얽힌 코드, 다른 생각 수준(medium)에서는 다시 재야 합니다.

54회 호출은 Google Cloud Vertex AI에 실제로 보낸 요청이고, 비용도 그 응답의 토큰 사용량으로 계산했습니다. 측정 코드와 글 작성에 AI 도구의 도움을 받았고, 과금 승인은 제가 했고 발행 전 검수도 제가 합니다.

시네 · cinevyze 운영자 — AI 도구의 응답을 원출력과 검사 기준으로 대조합니다. 이번 측정은 Google Cloud Vertex AI(global)의 gemini-3.1-pro-preview로 진행했고, 채점은 Linux PC에서 돌렸습니다. 측정 시점은 2026년 9월입니다. 운영자 소개

댓글

이 블로그의 인기 게시물

AI 프롬프트를 영어로 바꿔도 60쌍 중 우열이 갈린 건 9쌍뿐이었습니다

AI가 준 출처 링크 37개를 다시 열었더니, 판정 가능한 35개가 모두 깨졌습니다

AI 답변 재현성 실험: 온도 0에서 답은 고정됐고 오답도 반복됐습니다