Netflix 모바일 스트리밍과 AI Agent 환경에서 자체 LLM 서빙 플랫폼이 필요했던 이유
출퇴근길 차 안에서 모바일 앱을 켜고 관심 있는 영상 목록을 넘겨보며 바로 재생하는 순간, 그 이면에서는 일회성 답변을 넘어선 복잡한 처리가 일어납니다. 스스로 판단하는 인공지능 에이전트는 사용자의 요청을 분석한 뒤 계획을 세우고, 적절한 도구를 호출하며 여러 단계의 업무가 끝날 때까지 필요한 상태를 유지합니다. 엔드포인트에 연결된 모델은 사용자의 지시에 맞춰 필요한 기능을 선택한 뒤 구조화된 형태의 호출 정보를 반환하고, 실행 프로그램은 이를 전달받아 실제 작업을 수행합니다. 이때 개발 도구 모음인 OpenAI Agents SDK로 에이전트를 정의하고 실행하는 과정에서 애플리케이션이 원활하게 동작하려면, 끊임없이 이어지는 도구 호출과 상태 관리를 받쳐주는 전용 서빙 환경이 필요해집니다.
넷플릭스가 Triton과 vLLM을 결합해 자체 LLM 서빙 플랫폼을 구축한 사례를 소개하는 영상 시연에서는, 대규모 모바일 스트리밍과 자동화된 작업 환경이 맞물릴 때 발생하는 실시간 요구 사항을 강조합니다. 사용자가 화면을 확인하고 다음 동작을 선택할 때마다 에이전트가 여러 전문 기능과 협력해 다단계 작업을 이어가려면, 모델 추론 요청을 즉각 응답 가능한 상태로 처리해야 합니다. 특히 클라이언트나 서버 도구가 연이어 실행되는 상황에서는 수많은 연결이 동시에 몰리더라도 지연 없이 출력을 내보내는 작업 순서가 보장되어야 합니다. 결국 외부 서비스에만 의존하지 않고 전용 서빙 플랫폼을 직접 운영하는 이유는 모바일 앱의 쾌적한 비디오 재생 환경과 고성능 에이전트의 도구 호출을 안정적으로 연결하기 위해서입니다.
Triton과 vLLM을 결합한 서빙 인프라와 클라이언트·서버 도구 호출 동작 흐름
모바일 기기에서 사용자가 최신 영상 목록을 검색하고 재생 버튼을 누를 때, 뒤편에서는 인공지능 에이전트가 요청을 받아 여러 단계의 작업을 계획하기 시작합니다. 클라이언트 앱이 수신한 서비스 요청은 트라이톤(Triton)과 브이엘엘엠(vLLM) 기반의 모델 서빙 인프라로 전달됩니다. 오픈에이아이(OpenAI) 에이전트 개발 키트 사양을 보면, 에이전트는 사용자의 질문과 도구 설명을 비교해 전체 흐름을 수립하고 다양한 전문 기능 사이를 오가며 작업 상태를 지속적으로 기록합니다. 인공지능 모델은 스스로 프로그램을 실행하지 않고, 사용자가 원하는 동작에 맞추어 어떤 기능을 어떤 인자 값으로 호출해야 하는지 구조화된 요청 데이터만 생성하여 전달하는 방식으로 작동합니다.
모델이 반환한 정형화된 도구 호출 신호를 받은 후 실제 동작이 일어나는 지점은 도구의 종류에 따라 명확히 갈립니다. 앤트로픽(Anthropic) 기술 문서에 나와 있듯 도구는 크게 사용자 응용 프로그램이 실행하는 클라이언트 도구와 서버 플랫폼 측에서 처리하는 서버 도구로 나누어집니다. 클라이언트 도구 방식에서는 모델이 구체적인 행동을 제안하면 서비스 애플리케이션이 전달받은 인자를 검증한 뒤 사용자의 화면 상태를 변경하거나 내부 코드를 직접 실행합니다. 반대로 서버 도구 방식은 플랫폼 내부 환경에서 안전하게 요청을 처리한 결과를 다시 전달받아 화면 확인 단계로 이어집니다. 개발자는 전달된 응답 구조와 제안된 행동 인자가 미리 정의된 규칙과 일치하는지 점검하여 실행 경계를 관리할 수 있습니다.
OpenAI Agents SDK 기반 에이전트 정의부터 Evals API를 통한 자동 평가 체계 구축 순서
터미널에서 패키지 설치 명령을 입력한 다음 코드 에디터에서 에이전트를 정의하는 함수부터 차근차근 작성해 봅니다. 에이전트는 사용자가 전달한 요청을 분석해 어떤 순서로 작업을 처리할지 계획을 세우고, 필요한 순간마다 미리 등록해 둔 외부 도구를 골라 호출하며 작동합니다. 여러 단계를 거치는 작업을 마칠 때까지 필요한 맥락이나 진행 상황 같은 상태 정보를 스스로 기억하고 유지하는 것도 특징입니다. 이 과정에서 애플리케이션 실행을 담당하는 클라이언트 환경이 모델이 보낸 구조화된 호출 요청을 받아 실제 기능을 수행합니다. 모델은 개발자가 작성한 도구 설명과 사용자 의도를 비교해 스스로 호출 시점을 판단하기 때문에, 첫 단계를 완성하고 나면 연동할 능력을 하나씩 늘려 가는 방식으로 기능을 확대할 수 있습니다.
기본적인 작동을 확인했다면 여러 전문가 역할을 나누어 서로 협업하도록 구조를 확장하고 평가 절차를 마련합니다. 도구를 호출할 때는 모델이 전달한 파라미터가 안전한지 검증하고, 시스템이 직접 실행하는 서버 도구와 개발자 프로그램이 다루는 클라이언트 도구의 권한 경계를 나누어 관리해야 합니다. 이때 모델이 수행하려는 작업 결과를 바로 반영하지 않고 다음 단계를 안내하는 행동 제안 형태로 받아보면 위험한 연동 오류를 사전에 예방할 수 있습니다. 작성한 로직이 기대한 대로 답변을 생산하고 도구를 정확히 사용하는지 검증하려면 입력값과 출력값을 기록해 둔 테스트 모음으로 자동 평가를 수행하는 확인 방법이 필요합니다. 지표를 측정해 예상과 다른 결과가 나온 구간을 찾아내면 agent 조율 방식을 다듬어 다음 단계로 안정적으로 넘어갈 수 있습니다.
도구 호출 입력·출력 검증과 권한 경계 설정 시 발생 가능한 실패 사례와 평가 제약
새로 만든 에이전트 서비스에 사용자 입력을 넣고 모니터 화면을 보면서 도구 호출 결과를 확인하는 상황을 떠올려 보세요. Anthropic의 기술 문서에 따르면 모델은 사용자의 요청과 도구 설명을 바탕으로 어떤 기능을 실행할지 스스로 판단하고 구조화된 호출 요청을 반환합니다. 이때 애플리케이션이 전달받은 인자값을 제대로 검증하지 않고 클라이언트 도구(client tools)를 곧바로 작동시키면 위험이 발생합니다. 외부 웹 페이지나 신뢰할 수 없는 텍스트에 포함된 인젝션 문구가 도구 입력값으로 들어와 의도치 않은 시스템 명령이 실행될 수 있기 때문입니다. 특히 서버 도구와 달리 사용자의 로컬 환경이나 내부 네트워크에서 직접 움직이는 클라이언트 도구는 권한 경계가 모호해지기 쉽습니다. 모델이 생성한 JSON 형태의 파라미터가 미리 정의한 데이터 규격과 맞는지 수신 직후에 즉시 검사하지 않으면, 잘못된 명령이 서버 내부로 그대로 흘러 들어가는 실체적인 오작동 원인이 됩니다.
개발 서버 터미널에서 OpenAI Agents SDK를 설치하고 빠른 시작(quickstart) 코드를 실행해 다단계 작업 흐름을 테스트하는 장면을 살펴봅시다. 여러 전문 에이전트가 협력하며 상태를 유지할 때, 모델 출력이 다음 단계 도구의 입력으로 연결되면서 예상치 못한 데이터 왜곡이 일어납니다. 이 과정에서 결제나 삭제처럼 파급력이 큰 애플리케이션 실행 단계에 사람 승인 절차를 빠뜨리면 무분별한 작업 실행을 막을 수 없습니다. 또한 Netflix가 Triton과 vLLM을 활용해 자체 LLM 서빙 플랫폼을 구축한 것처럼 대규모 모델을 추론 엔진과 연동할 때는 응답 속도와 격리 환경 유지 사이에서 실효성 있는 평가 제약이 생깁니다. 보안 강화를 위해 완전히 격리된 샌드박스 내부에서 도구를 동작시키면 세션 상태 유지가 끊어지기 쉽고, 반대로 권한을 넓히면 모델의 헛소리나 오작동이 실제 데이터베이스 변경으로 이어지는 한계가 드러납니다. 따라서 최종 출력을 반환하기 전 데이터 검증과 권한 승인 단계를 거쳤는지 실시간 로그 화면으로 점검해야 합니다.
정량적 성공 기준 수립과 Hugging Face Transformers 기반 모델 배포 제약 점검
터미널을 열고 에이전트 하나를 정의한 뒤 애플리케이션 실행을 거쳐 작업이 제대로 넘어가는지 파악하는 단계부터 출발해야 합니다. 복잡한 다단계 업무 전체를 한 번에 서빙 프레임워크로 옮기려 들면 Hugging Face Transformers 기반 모델이 가진 메모리 할당이나 추론 속도 제약에 부딪혀 원인을 찾기 어려워집니다. 그래서 사용자의 요청과 입출력 설명을 바탕으로 도구를 호출할 타이밍을 직접 계산하는 작은 단위의 작업을 첫 번째 검증 대상으로 삼는 편이 좋습니다. 에이전트 소프트웨어 개발 키트의 빠른 시작 안내처럼 가벼운 단일 모델 환경에서 계획 수립과 함수 호출 동작을 먼저 테스트하면, 처리 속도와 성공률 같은 목표 수치를 명확하게 측정할 수 있습니다.
단일 검증을 마쳤다면 다음 기능으로 넘어가기 전에 사람 승인 단계를 거쳐 도구 실행 결과의 정합성을 확인하는 과정이 필요한데요. 영상 시연에서는 Triton과 vLLM을 결합한 자체 서빙 인프라 구축 사례를 보여 주면서, 개별 모델의 응답 성능과 분산 처리 효율을 비교 검증하는 절차를 다루었습니다. 앤트로픽이나 오픈에이아이의 기능 안내처럼 모델이 구조화된 호출 요청을 반환하면 클라이언트나 서버 환경에서 이를 안전하게 받아 처리하는 동작 경계를 확실히 구획해야 합니다. 외부 시스템과의 접점에서 격리 환경을 구축하고 단계별 정량 지표를 수립해 두어야, 추후 서빙 인프라 확장에 맞춰 실시간 서비스 품질을 지속적으로 유지할 수 있습니다.
바로 써볼 체크리스트
시작 전에 확인할 것
도입 전후로 아래 항목만 확인해도, 자동화가 예상 밖으로 움직일 가능성을 크게 줄일 수 있습니다.
- Triton 및 vLLM 기반 서버로 전달되는 모델 프로필과 스키마 정보 및 클라이언트 툴 호출 인자의 형식이 정해진 규격에 부합하는지 배포 전 사전 입력 검증 프로세스를 거쳐 이상 입력을 차단하도록 확인한다.
- 에이전트가 서빙 플랫폼 상에서 클라이언트 및 서버 도구를 실행할 때 허용된 권한 경계 내에서만 명령을 수행하도록 접근 권한 매핑과 권한 제한 정책이 적용되어 있는지 검증한다.
- 구체적이고 측정 가능한 성공 기준을 반영한 평가지표 및 정량적 평가 API를 통해 새로운 모델 및 프롬프트 변경 사항이 기존 시스템 성능과 응답 품질 요구사항을 만족하는지 테스트한다.
- 다단계 에이전트 작업 수행 과정과 외부 도구 호출 내역 및 상태 흐름을 추적할 수 있도록 트레이싱 레벨과 정밀 로그 수집 체계가 정상 작동하는지 전수 점검한다.
- 배포 진행 중 모델 응답 오류나 서비스 이상 동작 등 실패 사례가 감지되면 즉시 배포 절차를 중단하고 이전의 안정적인 서빙 버전으로 되돌릴 수 있는 롤백 메커니즘을 테스트하고 확정한다.
- 자동화된 평가 및 시스템 검증 단계를 통과한 서빙 플랫폼 배포 건에 대해 운영 담당자 및 승인 권한자가 최종 변경 사항을 리뷰하고 명시적으로 배포를 허가하는 사람 승인 절차를 확인한다.
참고 자료
- Netflix Details Its In-House LLM Serving Platform with Triton and vLLM (InfoQ) https://www.infoq.com/news/2026/07/netflix-llm-platform/
- Netflix - Apps on Google Play (play.google.com) https://play.google.com/store/apps/details?id=com.netflix.mediaclient&hl=en_US
- OpenAI Agents SDK guide (OpenAI documentation) https://developers.openai.com/api/docs/guides/agents
- Tool use with Claude (Anthropic documentation) https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview
- OpenAI evaluations guide (OpenAI documentation) https://developers.openai.com/api/docs/guides/evals
- Anthropic evaluation tool (Anthropic documentation) https://platform.claude.com/docs/en/test-and-evaluate/develop-tests
- Hugging Face model documentation (Hugging Face documentation) https://huggingface.co/docs/transformers/index