Milk Infrastructure
Milk Infrastructure · 코딩
Milk Infrastructure는 Milk Parlor로 OpenAI API 트래픽을 저장하고, Milk Man으로 그 호출을 모델 테스트와 학습으로 바꾸는 오픈소스 도구다.

Milk Infrastructure 소개
What Is Milk Infrastructure
Milk Infrastructure는 모델 호출을 실제 서비스에 흘리면서 그 과정에서 나오는 데이터를 직접 갖고 싶은 팀을 위한 자체 호스팅 기반이다. 두 프로그램으로 이루어진다. Milk Parlor는 Rust로 작성된 작은 게이트웨이로 앱과 모델 제공자 사이에 선다. Milk Man은 Bash 에이전트로, 저장된 트래픽 위에서 작업을 돌린다. 교환 횟수를 세고, 요약을 쓰고, 모델을 시험하고, 더 작은 모델을 학습시키고, 결과를 비교한다.
설치 과정은 일부러 밋밋하다. Milk SDK도 없고 새로 익힐 클라이언트 라이브러리도 없다. 공식 OpenAI 패키지를 그대로 두고 베이스 URL을 Parlor 엔드포인트로 바꾸고 Milk 키를 넣으면 기존 호출이 그대로 동작한다. Parlor는 요청을 넘기고 응답을 스트리밍으로 돌려주며, 교환이 끝난 뒤 양쪽 내용을 스토리지에 기록한다. 사용자는 이 기록을 기다리지 않는다.
언제 맞는지는 두 가지 제약이 정한다. Parlor가 다루는 것은 POST /v1/responses와 POST /v1/chat/completions뿐이고 스트리밍은 지원하지만 OpenAI API 전체를 덮지는 않는다. 그리고 Milk는 모델이 좋아진다고 약속하지 않는다. 실험과 결과를 남길 뿐이고 실패도 남긴다. 범용 순위표를 원한다면 여기가 아니다.
재미있는 지점은 트래픽이 쌓인 뒤다. 직접 정한 마일스톤에 도달하면 작업이 새 교환과 이전 요약을 읽고 주제, 과업, 응답 시간을 담은 체크포인트를 저장한다. 그다음 에이전트가 새 학습 과업을 쓰고, 오픈 모델을 학습시키고, 같은 과업 집합에서 답변과 속도와 비용을 비교한다. 게이트웨이 규칙을 바꿔 고객 트래픽을 옮기기 전에는 반드시 사람이 서명한다.
Getting Started
- Python이나 Node용 공식 OpenAI 패키지를 설치하고
OPENAI_BASE_URL을https://parlor.milkinfrastructure.com/v1로 맞춘 뒤OPENAI_API_KEY에 운영자가 발급한 Milk 키를 넣는다. - 애플리케이션 코드는 건드리지 않는다. Responses와 Chat Completions 호출은 형태도 스트리밍도 그대로다.
- milk-parlor와 milk-man 저장소를 클론한다. Parlor에는 Rust가 필요하다. Milk Man에는 Bash, Python 3, Git, curl이 필요하고 수집된 레코드를 처리하려면 zstd도 필요하다.
- 스토리지와 모델 환경 변수를 설정한다. 로컬 파일도 되고 S3 호환 버킷도 된다. 모델은 관리형 API로 돌려도 되고 직접 가진 Baseten이나 Modal GPU에서 돌려도 된다.
bin/man run으로 에이전트를 띄우고 선택 사항인 대시보드를 8765번 포트에서 연다. 채팅, 하트비트, 저장된 요약, 실험 결과를 볼 수 있다.
제품 정보
Milk Infrastructure의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.
추천 대상
이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.
사용자
- 운영 환경에서 OpenAI 호환 호출을 돌리는 개발자. 살펴볼 가치가 있는 트래픽이 이미 있고, 값 두 개만 바꾸면 클라이언트 코드는 그대로 남는다.
- 데이터 플랫폼이 없는 작은 팀. 오브젝트 스토리지 구조와 요약 작업만으로 수집이 끝나고 데이터베이스도 큐도 별도 스케줄러도 필요 없다.
- 소형 모델을 호스팅 모델과 비교하려는 ML 엔지니어. 공개 벤치마크가 아니라 자기 과업에서 학습하고 비교한다.
작업
- 요청과 응답 쌍을 남겨 나중에 분석한다. Parlor가 대상 교환을 백그라운드에서 저장하고 계정과 과업 단위로 묶는다.
- 실제 사용에서 학습 데이터를 만든다. 교사 모델이 저장된 트래픽에서 착안한 새 과업을 쓰고, 개선을 재는 과업과는 분리해 둔다.
- 몇 주에 걸친 모델 실험을 추적한다. 각 실행은 측정값보다 결론을 먼저 저장하므로 실패한 시도도 기록에 남는다.
- 모델 간 비용과 지연을 비교한다. 같은 과업 집합을 다른 모델과 설정으로 돌리고 결과를 하나의 비교 파일에 모은다.
활용 상황
- 매일 사용량은 꾸준한데 사용자가 무엇을 묻는지 모르는 챗봇. 마일스톤 요약이 주제와 응답 시간을 드러내므로 로그를 손으로 읽을 필요가 없다.
- 자사 도메인에 맞춰 모델을 조정하고 싶지만 라벨링된 데이터셋이 없는 팀. 저장된 교환이 출발점이 된다.
- 고객 트래픽을 여러 제공자에 나눠 보내는 운영자. 제안된 라우팅 규칙은 사람이 검토하고 서명하기 전까지 움직이지 않는다.
주요 기능
OpenAI 호환 게이트웨이와 백그라운드 기록
Milk Parlor는 앱이 기대하는 방식으로 인증하고 전달하고 스트리밍한다. 교환이 끝나면 요청과 돌려준 응답을 로컬 또는 S3 호환 스토리지에 쓴다. 쓰기는 응답을 보낸 뒤에 일어나므로 기록 때문에 사용자 대기 시간이 늘지 않는다. 게이트웨이를 전달까지 하는 호출 기록으로 보면 된다.
공식 SDK에서 두 줄로 이전
전용 클라이언트를 배울 필요가 없다. pip install openai나 npm install openai를 유지하고 환경 변수 두 개만 바꾼다. 베이스 URL과 키다. Responses와 Chat Completions를 호출하는 코드는 스트리밍까지 그대로 돈다. 제품에서 마찰이 가장 적은 부분이다.
모델 호출 없이 마일스톤에서 요약
하트비트가 저장된 교환을 센다. 개수가 MILK_SUMMARY_THRESHOLDS로 정한 임계값을 넘으면 작업이 새 데이터와 이전 요약을 읽고 주제, 과업, 응답 시간 체크포인트를 저장한다. 세는 일 자체는 토큰을 쓰지 않는다. 파일이 놓이면 대시보드가 채워진다.
로컬에서 도는 Bash 에이전트
Milk Man은 Bash에서 시작하고 Docker도 로컬 GPU도 데이터베이스도 별도 스케줄러도 필요 없다. 가벼운 하트비트가 진행 중인 과업을 쥐고, 기다리는 동안 모델을 부르지 않으며, 작업이 바뀌거나 시점이 되면 다시 움직인다. 대시보드를 닫아도 작업은 멈추지 않고 연결이 끊겨도 과업이 죽었다는 뜻은 아니다.
자기 과업으로 학습하고 비교
에이전트는 오픈 모델을 학습시키고 실행 방식을 조정하며, 같은 과업 집합에서 기준 모델과 답변, 속도, 비용을 비교한다. 문서에 처음 나오는 학습 베이스는 Qwen3.5-0.8B다. 빨라진 것과 답이 좋아진 것은 따로 측정한다. 주장이 다르기 때문이다.
트래픽을 옮기기 전 사람의 승인
Milk Man은 새로 고른 모델을 위한 게이트웨이 규칙을 준비할 수 있지만, 운영자가 검토하기 전까지 그 규칙은 서명되지 않은 채로 남는다. 에이전트 판단만으로 고객 트래픽이 우회하는 일은 없다. 이 하나의 관문이 실험과 사고를 가른다.
장단점
장점
- 새 SDK가 필요 없고 값 두 개만 바꾸므로 도입에 마이그레이션 프로젝트가 아니라 반나절이면 된다.
- 기록은 응답을 보낸 뒤에 돌아가므로 사용자가 느끼는 지연은 그대로다.
- 전부 Apache 2.0이고 내 스토리지와 GPU에서 돌아가므로 트래픽이 내 클라우드 밖으로 나갈 필요가 없다.
- 요약과 실험 기록은 덧붙이기만 하므로 지난 실행을 덮어쓰지 않고 감사할 수 있다.
- 하트비트 방식이라 탭을 닫거나 SSH가 끊겨도 긴 작업이 살아남는다.
단점
- Responses와 Chat Completions만 지원하므로 embeddings나 파일, assistants 엔드포인트를 쓰는 앱은 그 데이터를 다른 경로로 다뤄야 한다.
- 기반은 직접 운영한다. 게이트웨이에 Rust, 에이전트에 Python과 Git, curl, zstd가 필요하다.
- 관리형 요금제도 공개 가격표도 없어서 운영 부담이 팀에 남는다.
- 학습에는 Baseten이나 Modal의 GPU가 필요하고 그 청구서는 오픈소스 코드와 별도로 온다.
자주 묻는 질문
앱과 모델 제공자 사이에 서서 대상이 되는 요청과 응답 쌍을 저장하고, 그 트래픽 위에서 작업을 돌린다. 사용자가 무엇을 원하는지에 대한 요약, 테스트 케이스, 학습용 분할, 모델 간 비교를 얻는다.
관련 콘텐츠
Milk Infrastructure와 관련된 도구, 스킬, 아티클을 살펴보세요.
Milk Infrastructure 대안
Base Code
Base44 (Wix) · 코딩 · 생산성Base Code는 Base44가 만든 공유 클라우드 개발 환경이다. 팀은 기존 GitHub 저장소에 대한 변경을 채팅으로 설명하고, 미리보기로 확인한 뒤 풀 리퀘스트로 돌려보낸다.
Google EmbeddingGemma 2
Google DeepMind · 글쓰기 · 이미지 · 코딩Google EmbeddingGemma 2는 7억 4000만 파라미터의 오픈 모델로, 텍스트와 코드, 이미지, 오디오, 영상 프레임을 하나의 768차원 공간에 벡터로 바꿔 스마트폰과 노트북에서 실행한다.
GitGlow
GitGlow · 코딩 · 생산성GitGlow는 내 코드와 AI 에이전트의 변경을 한 리뷰에 모으는 데스크톱 Git 클라이언트다. 배포 전에 내 기계에서 무엇이 나가는지 확인할 수 있다.
