목차
Claude 가이드 - 이 글은 시리즈의 일부입니다.
이 글은 Claude API 공식 문서의 Batch Processing 페이지를 정리한 글입니다. 원문: https://platform.claude.com/docs/en/build-with-claude/batch-processing 마지막 확인: 2026-05-12
1. 한 줄 요약 #
급하지 않은 질문 여러 개를 한 바구니에 담아 보내면, Claude가 반값(50% 할인) 으로 답을 만들어 줍니다.
2. 무엇이고 왜 좋을까 #
배치(Batch, “묶음”)는 택배 일반우편과 같습니다. 당일 배송이 아니라 며칠 안에 도착하는 대신 요금이 훨씬 쌉니다.
평소에 Claude에게 질문을 하나 보내면 몇 초 안에 답이 옵니다. 즉답이죠. 그런데 답이 꼭 지금 당장 필요하지 않은 일도 많습니다. 예를 들어 “내가 가진 100개의 회사 문서를 한 줄씩 요약해줘” 같은 작업은 1시간 안에 답이 오기만 하면 충분합니다.
배치 처리는 바로 이런 일을 위한 기능입니다. 질문을 하나의 묶음으로 보내고, Claude가 시간 날 때 처리한 뒤(대부분 1시간 이내) 결과를 알려줍니다. 가격은 정확히 절반. AI가 글자를 세는 단위인 “토큰” 기준으로 입력·출력 모두 50% 할인됩니다.
핵심 수치: 한 묶음에 최대 10만 개 질문, 최대 24시간 안에 결과 보장, 비용은 절반.
3. 이런 상황에서 써요 #
상황 1: 학생 — 강의 자료 100개 한꺼번에 정리 #
이번 학기 전공 강의에서 PDF 강의록이 100개가 쌓였습니다. 시험 기간 전에 각 강의록의 핵심을 세 줄씩 정리해두고 싶은데, 하나씩 Claude에게 물어보면 시간도 오래 걸리고 비용도 만만치 않죠.
배치를 쓰면 100개 PDF에 대한 요약 요청을 한 번에 보내놓고, 점심 먹고 오후에 결과만 받으면 됩니다. 비용은 절반이고, 그 사이에 다른 공부를 할 수도 있죠.
상황 2: 직장인 — 사내 매뉴얼 한국어 번역본 만들기 #
회사에 영어로 된 제품 설명서가 50개 있는데, 신입사원들을 위해 한국어 요약본을 만들어야 합니다. 급한 일은 아니지만 다음 주까지는 필요하죠.
이럴 때 50개 문서를 한 묶음으로 보내두면, 하루 안에 한국어 요약이 다 돌아옵니다. 가격은 절반이라 회사 카드에도 부담이 적습니다. 결과는 한 번에 받으니 정리하기도 편하죠.
상황 3: 일반인 — 좋아하는 책 시리즈 전권 인물 정리 #
10권짜리 소설 시리즈를 다 읽었는데, 등장인물이 너무 많아서 헷갈립니다. 각 권마다 “이 권에 등장하는 주요 인물과 그들의 관계를 정리해줘"라고 요청하고 싶다면?
10번을 따로 보내는 대신 한 묶음으로 보내두고, 차 한 잔 마시며 기다리면 됩니다. 결과가 모이면 나만의 등장인물 사전이 완성되죠. 한 번에 처리하니 그날 분량의 비용도 절반입니다.
4. 가볍게 시작하기 #
💻 개발 경험이 있으신가요? 아래 코드는 Python 기준 가장 짧은 예시입니다. 비개발자라면 “아, 이런 식으로 보내는구나” 정도로 보고 넘어가셔도 좋습니다. 코드를 직접 쓰지 않아도 개념만 알면 충분합니다.
import anthropic
from anthropic.types.message_create_params import MessageCreateParamsNonStreaming
from anthropic.types.messages.batch_create_params import Request
client = anthropic.Anthropic()
# 질문 두 개를 한 묶음으로 보냅니다
message_batch = client.messages.batches.create(
requests=[
Request(
custom_id="질문-1", # ← 결과를 받을 때 누가 누군지 구분하는 이름표
params=MessageCreateParamsNonStreaming(
model="claude-opus-4-7",
max_tokens=1024,
messages=[{"role": "user", "content": "오늘 날씨 인사 한 줄"}],
),
),
Request(
custom_id="질문-2",
params=MessageCreateParamsNonStreaming(
model="claude-opus-4-7",
max_tokens=1024,
messages=[{"role": "user", "content": "내일 응원 메시지 한 줄"}],
),
),
]
)
print(message_batch) # 묶음 id가 나오는데, 이 id로 나중에 결과를 찾아옵니다핵심은 두 가지입니다. 첫째, custom_id에 사람이 알아볼 수 있는 이름을 붙여 두세요. 결과가 순서대로 오지 않기 때문에 이 이름표로 짝을 맞춥니다. 둘째, 묶음을 만든 뒤 곧바로 답이 오지 않습니다. message_batch.id를 적어두고, 나중에 “이 묶음 다 됐어?“라고 다시 물어봐서 결과를 받아오는 구조입니다.
5. 흔한 오해와 함정 #
⚠️ 함정 1: “그럼 무조건 배치가 이득이죠?” #
아닙니다. 챗봇처럼 사용자가 화면 앞에서 답을 기다리는 상황엔 배치를 쓰면 안 됩니다. 배치는 답이 오기까지 최소 몇 분에서 길게는 1시간 이상 걸립니다. “지금 당장 답이 필요한가?“를 먼저 생각하세요. 급하면 평소대로, 급하지 않으면 배치가 정답입니다.
⚠️ 함정 2: “결과가 보낸 순서대로 오는 거죠?” #
❌ 안 그렇습니다. 두 번째 질문 결과가 첫 번째보다 먼저 도착할 수 있습니다.
✅ 그래서 custom_id(이름표)가 중요합니다. 결과를 받을 때 이름표를 보고 어떤 질문의 답인지 매칭해야 헷갈리지 않습니다. 이름표 없이 보냈다가 어떤 답이 어떤 질문의 것인지 몰라 다시 보내는 분이 정말 많습니다.
⚠️ 함정 3: “오래 기다리면 다 처리되겠죠?” #
배치는 24시간 안에 완료되어야 합니다. 그 안에 처리되지 못한 질문은 자동으로 만료되어 답을 받을 수 없습니다(요금은 청구되지 않으니 안심하세요). 또 결과는 묶음을 만든 지 29일 동안만 다운로드할 수 있습니다. 한 달이 지나면 묶음 자체는 보이지만 결과는 사라지니, 중요한 결과는 받자마자 따로 저장해두세요.
6. 한 단계 더 (관심 있는 분만) #
🎯 여기까지 오신 분 환영합니다. 이 섹션은 배치를 좀 더 알뜰하게 쓰는 방법이 궁금하신 분을 위한 보너스입니다. 본문만 읽으셔도 충분합니다.
캐시(잠깐 기억해두기)와 함께 쓰면 할인 두 번 #
자매 시리즈 #1 Prompt Caching에서 다룬 “캐시” 기능과 배치를 함께 쓰면 할인이 겹쳐서 적용됩니다. 똑같은 책 한 권을 50번 분석할 거라면, 책 본문을 캐시로 표시해두고 배치로 보내면 캐시 할인(최대 90%) + 배치 할인(50%)이 동시에 들어갑니다.
Request(
custom_id="분석-1",
params=MessageCreateParamsNonStreaming(
model="claude-opus-4-7",
max_tokens=1024,
system=[
{"type": "text", "text": "당신은 문학 분석 도우미입니다."},
{
"type": "text",
"text": "<오만과 편견 전문>",
"cache_control": {"type": "ephemeral"} # ← 이 한 줄이 캐시 활성화
},
],
messages=[{"role": "user", "content": "주요 주제를 분석해주세요"}],
),
),같은 책 본문을 모든 질문에 똑같이 넣고, 캐시 표시(cache_control)도 똑같이 붙이면 두 번째 질문부터 캐시가 작동합니다. 단, 배치는 처리 시간이 길어 캐시가 만료될 수 있으니 캐시 적중률은 30~98% 사이로 들쭉날쭉할 수 있다는 점은 미리 알아두세요.
비용 시뮬레이션 — Claude Opus 4.7 기준 #
| 사용 방식 | 입력 100만 토큰 가격 | 출력 100만 토큰 가격 |
|---|---|---|
| 평소(즉답) | $15.00 | $75.00 |
| 배치만 | $7.50 | $37.50 |
| 배치 + 캐시 적중 | 더 저렴 | 더 저렴 |
급하지 않은 일에만 한정해서, 비용이 정확히 절반으로 떨어진다는 점을 기억하세요.
7. 한 마디 #
배치 처리는 처음 들으면 “비동기? 폴링?” 같은 단어 때문에 어려워 보이지만, 사실 “급하지 않으면 묶어서 싸게” 한 문장으로 끝나는 기능입니다. 직접 코드를 쓰지 않더라도 “내가 하려는 일은 배치로 충분하겠다"라고 판단할 수 있으면 그것만으로 충분합니다.
혹시 막히신다면 함정 1~3 중 하나일 가능성이 큽니다. “지금 당장 답이 필요한가?” 를 먼저, custom_id(이름표)를 꼭 붙였는지 다음으로, 결과를 29일 안에 받았는지 마지막으로 확인해보세요.
다음 글에서는 Claude 가이드 #3 — Streaming(스트리밍) 을 소개합니다. 답이 한 글자씩 흘러나오는 모드인데, 배치와는 정반대로 “지금 당장 답이 보이게 하고 싶을 때” 쓰는 기능이에요. 함께 알아두면 “급할 때 / 천천히 받아도 될 때"를 자유롭게 골라 쓸 수 있게 됩니다.
Claude API 공식 문서를 한국어로 풀어쓴 시리즈입니다. 원문 정확성이 가장 우선, 의역과 친근함은 그 위에서.