시스템은 데이터 흐름부터 모델 추론, 응답 처리, 결과 저장까지 정해진 순서와 조건에 따라 반복된다. 이 과정의 자동화와 안정화를 위해 실행 흐름을 설계하는 프레임워크(Framework)와 실제 작업을 수행하는 도구(Tool)가 필요하다.
프레임워크는 어떤 순서로 작업할지, 실패 시 어떻게 대응할지를 정의하여 실행 흐름을 구조화한다. 도구는 그 흐름 안에서 실제 기능을 수행한다.
프레임워크
시스템에서 사용되는 프레임워크는 복잡성 수준에 따라 파이프라인, 워크플로우, 오케스트레이션으로 구분할 수 있다.
파이프라인 프레임워크
입력을 받아 특정 작업을 수행하고, 그 결과를 다음 작업의 입력으로 전달하는 순차적인 처리에 특화되어 있다.
- LangChain : LLM 기반 애플리케이션 개발을 위한 대표적인 프레임워크다. 프롬프트 템플릿, 메모리 관리, 체인 구성 등을 표준화하여 문서 검색부터 응답 생성까지의 파이프라인을 쉽게 구현한다.
워크플로우 프레임워크
정해진 순서와 조건에 따라 단계별 작업을 자동화하며, 스케줄링과 복구 기능을 지원한다.
- Apache Airflow : 모든 실행 흐름을 DAG(비순환 방향 그래프) 구조로 표현하여 무한 루프를 방지하고 작업의 시작과 끝을 명확히 관리한다.
- Prefect : Python 코드로 직접 워크플로우를 작성할 수 있어 유연하며, 실시간 모니터링과 동적 수정이 필요한 실험 환경에 적합하다.
- LlamaIndex / Haystack : 검색 증강 생성(RAG) 시스템 구축에 최적화되어 있으며, 대규모 문서에서 정확한 정보를 추출하고 연결하는 데 특화되어 있다.
- Semantic Kernel : Microsoft에서 개발한 SDK로, 기존 코드를 플러그인으로 변환하여 AI 모델과 통합된 워크플로우를 구축할 수 있게 돕는다.
오케스트레이션 프레임워크
여러 AI 에이전트가 실시간으로 상황을 판단하며 지능적으로 협업하도록 조율한다.
- LangGraph : 복잡한 에이전트 워크플로우를 그래프 구조로 설계하며, 상태 기반 라우팅을 통해 에이전트가 이전 결과에 따라 다음 행동을 동적으로 결정하게 한다.
- CrewAI : 각 에이전트에 역할, 목표, 배경지식을 부여하여 팀 단위의 협업 업무를 자동화한다.
- AutoGen : Microsoft의 다중 에이전트 대화 프레임워크로, 여러 에이전트가 그룹 채팅 방식으로 토론하며 문제를 해결한다.
도구(Tool)
도구는 프레임워크 위에서 모델 배포, 메시지 처리, 모니터링 등 실제 시스템 실행을 담당한다.
모델 서빙 및 MLOps 도구
훈련된 모델을 API 형태로 제공하고 전체 생명주기를 관리한다.
- 서빙 도구 : 고성능 REST API 구축을 위한 FastAPI, TensorFlow/PyTorch 전용인 TF Serving 및 TorchServe, 그리고 NVIDIA의 Triton Inference Server가 있다. BentoML은 모델을 표준화된 방식으로 패키징하여 배포를 단순화한다.
- MLOps 도구 : 실험 추적과 모델 레지스트리를 관리하는 MLflow, 실험 시각화에 특화된 Weights & Biases, 데이터 및 모델 버전 관리를 담당하는 DVC가 핵심이다.
컨테이너 및 메시지 처리 도구
복잡한 의존성을 해결하고 시스템 간 데이터 전달을 안정화한다.
- Kubernetes / Kubeflow : 컨테이너화된 서비스의 자동 배포, 확장, 장애 복구를 담당하며 GPU 리소스 할당을 최적화한다.
- Apache Kafka / RabbitMQ : 대용량 실시간 데이터 스트리밍과 비동기 메시지 처리를 통해 시스템 구성 요소 간의 안정적인 데이터 흐름을 보장한다.
비즈니스 및 클라우드 도구
AI 결과를 실제 업무 프로세스와 연결하고 인프라 관리 부담을 줄인다.
- 비즈니스 자동화 : Power Automate, Make, Zapier 등을 통해 AI 응답을 Slack, 이메일, CRM 등 외부 서비스로 즉시 전달한다.
- 클라우드 플랫폼 : 통합 ML 환경을 제공하는 AWS SageMaker, Google Vertex AI, Azure Machine Learning과 파운데이션 모델을 API로 제공하는 Amazon Bedrock 등이 있다.
프레임워크와 도구는 시스템의 복잡성을 해결하는 핵심 요소다. 작은 규모로 시작하여 필요에 따라 확장 가능한 유연한 구조를 만드는 점진적인 접근이 가장 현실적이다.