LLM API · 구조화 출력 · 비용 관리
시스템이 자동으로 모델을 호출해 요약·분류·리뷰를 돌리는 파이프라인 만들기 — 호출 코드부터 비용 3원칙까지.

API로 업무 파이프라인 자동화
사내 시스템이 자동으로 모델을 호출해 문서 요약·티켓 분류·코드 리뷰를 돌린다면 채팅 구독이 아니라 토큰당 과금 API가 맞다. 사람이 UI로 쓰는가 vs 시스템이 자동 호출하는가 — 이 기준으로 구독과 API를 가른다.
가장 단순한 LLM 호출
API의 기본은 시스템 프롬프트로 역할을 고정하고, 사용자 입력을 메시지로 넣어 응답을 받는 것이다. curl로 요청하는 최소 예시는 다음과 같다.
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-6","max_tokens":512,"messages":[{"role":"user","content":"이 티켓을 버그/기능/문의로 분류해줘"}]}'
구조화 출력으로 파싱 안정화
AI 출력을 코드로 이어 받으려면 형식이 안정적이어야 한다. JSON 스키마를 명시하고 구조화 출력/JSON 모드를 켜면 자유 텍스트를 정규식으로 긁는 것보다 견고하다. Python으로 티켓 분류 결과를 JSON으로 강제하는 예시다.
client = anthropic.Anthropic()
SYSTEM = "티켓을 분류해 {category, priority, summary} JSON만 출력하라."
res = client.messages.create(
model="claude-haiku-4-5", max_tokens=300,
system=SYSTEM,
messages=[{"role":"user","content": ticket}]
)
data = json.loads(res.content[0].text) # 실패 시 재시도 로직 필수
비용 관리 3원칙
- 모델 라우팅 — 단순 분류·요약은 Haiku·Flash·GPT-5 Instant 같은 소형 모델로.
- 프롬프트 캐싱 — 반복되는 시스템 프롬프트·긴 문서를 캐시해 입력 비용을 대폭 절감.
- 배치 처리 — 실시간이 아니어도 되는 대량 작업은 배치로 약 50% 할인.
API 과금은 대체로 출력 토큰이 입력보다 비싸다(Claude는 출력이 입력의 약 5배). 모델 버전 번호를 코드에 하드코딩하기보다 별칭·설정값으로 추상화하면 세대 교체(6~12개월 주기)에 안전하다.
파이프라인 안정화
- 출력 스키마를 검증하고, 위반 시 재시도·대체 경로를 둔다.
- 비용이 큰 액션(외부 발송·삭제) 앞에는 사람 승인 게이트를 건다.
- 프롬프트 인젝션에 대비해 신뢰 경계를 명확히 한다.
- 로그·모니터링으로 어떤 결정이 왜 났는지 추적 가능하게 한다.
개인이 채팅 UI로 글쓰기·검색을 한다면 월 $20 안팎 구독이 단순하고 예측 가능하다. 시스템이 자동으로 모델을 호출해 대량·반복 처리를 한다면 토큰당 API가 맞고, 캐싱·배치로 단가를 관리한다.
출력 예시를 한두 개 보여 주고(퓨샷), 구조화 출력/JSON 모드를 켜고, 파이프라인에 스키마 검증과 재시도를 추가하면 대부분 해결된다.

요청 → 응답 → 검증
API 파이프라인의 기본은 시스템 프롬프트로 역할을 고정하고 입력을 메시지로 보내 구조화된 응답을 받는 것입니다. 자유 텍스트를 정규식으로 긁는 대신 구조화 출력/JSON 모드로 스키마를 강제하면 파싱이 안정됩니다. 형식 위반 시 재시도, 비용이 큰 액션 앞에는 사람 승인, 로그·모니터링까지 함께 설계해야 실전에서 오래 굴러갑니다.