TensorZero 소개
LLM 애플리케이션을 운영 단계까지 끌고 가다 보면, 여러 모델 제공자를 호출하는 게이트웨이, 추론 기록을 남기는 관측 도구, 품질을 측정하는 평가 도구, 프롬프트와 모델을 다듬는 최적화 도구가 제각각 따로 놀게 됩니다. 도구마다 데이터 포맷과 연동 방식이 달라서, 한 곳에서 모은 데이터를 다른 곳에서 그대로 쓰기 어렵다는 점이 운영의 마찰을 키웁니다.
TensorZero는 이 흐름을 하나로 묶기 위해 만들어진 오픈소스 LLMOps 플랫폼입니다. 게이트웨이(Gateway), 관측가능성(Observability), 평가(Evaluation), 최적화(Optimization), 실험(Experimentation)이라는 다섯 가지 기능을 단일 스택으로 제공하며, 필요한 부분만 골라 점진적으로 도입할 수 있도록 설계되어 있습니다. 게이트웨이는 성능을 위해 Rust로 작성되었고, OpenAI SDK 및 OpenTelemetry와 호환되어 기존 코드를 크게 바꾸지 않고도 연결할 수 있습니다.
이 플랫폼의 핵심 아이디어는 다섯 기능을 한데 모았을 때 생기는 복리 효과입니다. 게이트웨이를 거친 추론과 피드백이 그대로 관측 데이터가 되고, 그 데이터가 평가와 최적화의 입력으로 이어지면서 프로덕션에서 수집한 신호가 모델을 다시 개선하는 순환이 만들어집니다. TensorZero는 자신을 "프로토타입에도 적합하지만 가장 복잡한 LLM 애플리케이션과 배포까지 지탱하도록 처음부터 설계된 오픈소스 스택" 이라고 소개합니다.
TensorZero의 다섯 가지 구성 요소
TensorZero는 다섯 개의 기능을 따로 떼어 쓸 수도, 함께 묶어 쓸 수도 있도록 구성되어 있습니다. 각 기능은 다음과 같은 역할을 맡습니다.
- 게이트웨이(Gateway): 하나의 통합 API로 모든 주요 LLM 제공자(API 또는 자체 호스팅)를 호출합니다. 도구 사용(tool use), 구조화된 출력(JSON), 배치 추론, 임베딩, 멀티모달 입력(이미지·파일), 캐싱 등을 지원하고, 라우팅과 재시도, 폴백, 로드 밸런싱으로 가용성을 확보합니다.
- 관측가능성(Observability): 추론과 피드백(지표, 사람의 수정 등)을 사용자 소유의 데이터베이스에 저장하고, 개별 추론부터 시간에 따른 집계 패턴까지 UI나 프로그램으로 살펴봅니다. OpenTelemetry 트레이스(OTLP)와 Prometheus 지표 내보내기도 지원합니다.
- 평가(Evaluation): 휴리스틱이나 LLM 심판(LLM judge)을 이용해 개별 추론을 검사하는 추론 평가 와, 전체 워크플로를 검증하는 워크플로 평가 를 제공합니다. 저자는 이를 각각 LLM의 단위 테스트, 통합 테스트에 빗댑니다.
- 최적화(Optimization): 프로덕션 지표와 사람의 피드백을 모아 프롬프트와 모델, 추론 전략을 다듬습니다. 지도 미세조정(SFT)과 RLHF, 자동 프롬프트 최적화 알고리즘인 GEPA, 동적 인컨텍스트 학습(DICL) 등을 지원합니다.
- 실험(Experimentation): 내장된 A/B 테스트와 라우팅, 폴백, 재시도로 프롬프트와 모델을 비교합니다. 멀티턴 시스템과 순차 검정(sequential testing)을 포함한 실험 설계를 지원합니다.
이 다섯 기능이 같은 데이터 위에서 맞물리기 때문에, 예컨대 평가에 쓴 LLM 심판을 다른 함수처럼 미세조정해 사람의 선호에 맞추거나, 평가 데이터를 그대로 모델 미세조정에 재사용하는 식의 연결이 가능합니다.
TensorZero의 LLM 게이트웨이
게이트웨이는 TensorZero에서 가장 먼저 닿게 되는 진입점입니다. 한 번 연동하면 Anthropic, AWS Bedrock, AWS SageMaker, Azure, DeepSeek, Fireworks, GCP Vertex AI(Anthropic·Gemini), Google AI Studio, Groq, Mistral, OpenAI, OpenRouter, SGLang, TGI, Together AI, vLLM, xAI(Grok) 등 주요 제공자를 단일 API로 호출할 수 있고, Ollama처럼 OpenAI 호환 API를 제공하는 백엔드도 연결됩니다.
게이트웨이는 Rust로 작성되어 있으며, 저자는 "10k+ QPS에서 p99 기준 1ms 미만의 지연 오버헤드" 라는 성능 수치를 게이트웨이 벤치마크 문서의 근거로 제시합니다(README §LLM Gateway). 이 수치는 게이트웨이가 추가하는 오버헤드를 가리키며, 실제 지연은 호출하는 모델 제공자에 따라 달라집니다.
사용 방식은 OpenAI SDK를 그대로 쓰되 base_url 과 model 만 바꾸는 형태입니다. 게이트웨이를 Docker 컨테이너로 배포한 뒤, 클라이언트가 게이트웨이를 가리키도록 설정합니다.
from openai import OpenAI
# 클라이언트를 TensorZero 게이트웨이로 연결합니다
client = OpenAI(base_url="http://localhost:3000/openai/v1", api_key="not-used")
response = client.chat.completions.create(
# 임의의 모델 제공자(또는 TensorZero 함수)를 호출합니다
model="tensorzero::model_name::anthropic::claude-sonnet-4-6",
messages=[
{
"role": "user",
"content": "Share a fun fact about TensorZero.",
}
],
)
TensorZero의 평가와 최적화 연계
TensorZero에서 평가와 최적화는 게이트웨이가 쌓아 둔 데이터 위에서 함께 돌아갑니다. 평가는 UI에서도, CLI에서도 실행할 수 있습니다. 예를 들어 데이터셋에 대해 특정 변형(variant)을 평가하는 명령은 다음과 같습니다.
docker compose run --rm evaluations \
--evaluation-name extract_data \
--dataset-name hard_test_cases \
--variant-name gpt_4o \
--concurrency 5
이렇게 측정한 지표와 사람의 피드백은 최적화 단계로 흘러갑니다. 저자는 TensorZero를 "프로덕션 데이터를 더 똑똑하고 빠르고 저렴한 모델로 바꾸는 데이터와 학습의 플라이휠" 로 설명합니다. 관측 단계에서 모은 과거 추론을 새로운 프롬프트나 모델, 추론 전략으로 다시 재생(replay)해 볼 수 있다는 점도 이 순환을 뒷받침합니다.
한편 저자는 TensorZero Autopilot이라는 별도 제품을 함께 소개합니다. 이는 TensorZero를 기반으로 관측 데이터를 분석하고 평가를 설정하며 프롬프트와 모델을 자동으로 최적화하는 유료 제품으로, 오픈소스 LLMOps 플랫폼인 TensorZero 본체와는 구분됩니다. 저자에 따르면 TensorZero는 프런티어 AI 스타트업부터 포춘 10대 기업까지 사용하며 오늘날 전 세계 LLM API 지출의 약 1%를 담당한다고 합니다. 이 수치는 저자가 제시한 주장으로, 본문에서는 출처를 그대로 옮깁니다.
TensorZero의 라이선스
TensorZero는 Apache License 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. 오픈소스 LLMOps 플랫폼 본체는 100% 자체 호스팅이 가능하며, 위에서 언급한 Autopilot은 이와 별개의 유료 제품입니다.
TensorZero 공식 홈페이지
TensorZero 문서 사이트
TensorZero 프로젝트 GitHub 저장소
더 읽어보기
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다!
텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. ![]()
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

