이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.
TL;DR
Pinterest는 복잡한 Apache Spark 작업 실패 문제를 해결하기 위해 지능형 진단 에이전트인 'Medic'을 개발했다. 이 시스템은 로그 파싱, 패턴 인식, 근거 추론, 해결책 제시 기능을 모듈화하여 수동 문제 해결의 한계를 극복했다. 초기에는 단일 ReAct 에이전트로 시작했으나, 프롬프트 튜닝의 한계와 유지보수 어려움을 겪으며 LangGraph 기반의 다중 에이전트 아키텍처로 전환했다. 이를 통해 시스템의 신뢰성을 높이고, E2E 테스트 하네스를 구축하여 지속적인 품질 평가와 회귀 테스트를 수행하며 운영 효율을 개선했다.
챕터별 상세
00:00
도입 및 동기
데이터 엔지니어링에서 Spark 작업 실패를 해결하는 과정은 시간이 많이 소요되는 작업이다. 기존 대시보드와 정적 플레이북은 복잡한 워크로드 대응에 한계가 있다. 로그를 자동으로 수집하고 관련 컨텍스트를 연결하여 몇 분 내에 진단과 해결책을 제시하는 지능형 에이전트 'Medic'을 설계했다.
01:36
시스템 설계 목표
시스템의 핵심 설계 목표는 정확성, 확장성, 신뢰성이다. 로그 파싱, 패턴 인식, 근본 원인 추론, 해결책 제시와 같은 모듈형 기능을 갖추었다. Spark 및 플랫폼 메타데이터와 통합하여 새로운 오류 패턴과 도메인으로 쉽게 확장할 수 있는 구조를 지향했다.
02:04
MCP 기반 기반 구축
데이터 소스를 모델 컨텍스트 프로토콜(MCP)로 노출하여 LLM과 연결했다. 작업 제출 서비스, Spark 히스토리 서버, 로그, 메트릭을 MCP 서버에 연결하여 에이전트가 Spark 작업에 대해 추론할 수 있는 환경을 조성했다. 이는 실무에서 효과적이었으나 인간 운영자의 정교한 프롬프팅이 필요했다.
02:28
ReAct 에이전트 구현
단일 추론 및 행동 에이전트인 ReAct를 도입했다. 문제 해결 접근 방식, 보고서 작성법, 일반적인 실패 패턴 처리 방법을 포함한 단일 프롬프트를 에이전트에 부여했다. 이를 통해 초기 베타 사용자 대상의 테스트를 시작했다.
02:58
에이전트 한계점
프롬프트 튜닝은 유지보수가 불가능한 수준에 도달했다. 하나의 프롬프트가 모든 작업을 처리해야 했기에 특정 영역의 세부 사항을 추가하면 다른 영역의 동작이 저하되었다. 또한, 대규모 로그 출력으로 인해 컨텍스트 윈도우 제한에 걸려 에이전트의 추론이 중단되는 문제가 발생했다.
03:53
관측 가능성 및 테스트 가능성
OpenTelemetry를 사용하여 추적 데이터를 Langfuse에 게시하고 에이전트 실행을 워터폴 다이어그램으로 시각화하여 품질 저하 원인을 파악했다. E2E 테스트 하네스를 구축하여 프로덕션 데이터를 스냅샷으로 저장하고, 이를 오프라인 평가에 활용하여 에이전트의 추론 품질을 지속적으로 측정했다.
05:32
로그 처리 최적화
단순 휴리스틱 기반의 예외 필터링은 확장성이 낮았다. 예외 분류 파이프라인을 구축하여 성공적인 작업에서 자주 발생하는 예외를 학습하고 이를 '레드 헤링'으로 간주하여 필터링했다. 에이전트는 예외를 지문 인식 및 클러스터링하고 콘텐츠 관련성과 최신성에 따라 순위를 매겨 상위 예외만 처리하도록 개선했다.
06:48
메트릭 처리 최적화
원시 시계열 데이터는 컨텍스트 윈도우에 부적합했다. 메트릭 분석을 위한 하위 에이전트를 별도로 운영하여 시계열 데이터를 그래프 이미지로 변환하고 이를 대화에 첨부했다. 이를 통해 토큰 효율성을 높이고 에이전트가 데이터 패턴을 시각적으로 추론하도록 유도했다.
08:22
다중 에이전트 아키텍처 전환
LangGraph의 DeepAgents 라이브러리를 사용하여 단일 에이전트에서 다중 에이전트 아키텍처로 전환했다. 전체 흐름을 제어하는 Supervisor, 작업 상태를 결정하는 Triage, 가설을 검증하는 Research, 해결책을 제시하는 Healer 에이전트로 역할을 분담했다. 이는 할루시네이션을 줄이고 시스템 가독성을 개선했다.
10:25
학습 내용 및 향후 계획
다중 에이전트 아키텍처는 시스템 동작에 대한 제어력을 높였다. LangGraph 워크플로는 결정론적이지 않아 브리틀한 면이 있었으나, 사용자 피드백을 통해 에이전트를 지속적으로 개선하고 있다. 향후 Spark를 넘어 다른 데이터 시스템으로 프레임워크를 확장할 계획이다.
용어 해설
- MCP
- — AI 모델이 외부 데이터 소스나 도구와 상호작용하기 위한 표준화된 통신 규약이다. 이 아티클에서는 Spark 작업의 로그, 메타데이터, 메트릭을 LLM에 안전하게 연결하여 진단 에이전트가 데이터를 조회하고 분석하는 기반으로 활용된다.
- ReAct
- — 추론(Reasoning)과 행동(Acting)을 결합한 에이전트 설계 패턴이다. 모델이 문제를 분석하고 필요한 도구를 호출하여 결과를 얻은 뒤, 다시 추론하는 과정을 반복한다. Spark 작업 실패의 근본 원인을 파악하기 위해 단계별로 로그를 분석하고 진단을 내리는 데 사용되었다.
- LangGraph
- — LLM 기반 에이전트의 상태를 관리하고 복잡한 워크플로를 그래프 형태로 정의하는 라이브러리다. 단일 에이전트의 한계를 극복하기 위해 여러 전문 에이전트를 오케스트레이션하고, 작업의 흐름을 제어하는 다중 에이전트 아키텍처 구현에 핵심적인 역할을 한다.
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 07. 20.수집 2026. 07. 20.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
