Pensive AI를 통한 실패 진단의 신뢰성 확보
Netflix는 매일 수백만 건의 워크로드를 처리하며, 이 중 상당수가 실패하여 엔지니어들에게 상당한 디버깅 부담을 안겨줍니다. 초기 솔루션인 Pensive는 사전 정의된 규칙을 사용하여 약 절반의 실패에 대해 자동 진단 및 복구 방안을 제공했습니다. 그러나 이 규칙 기반 시스템은 알려지지 않은 실패 모드에 어려움을 겪었고 지속적인 수동 업데이트가 필요했습니다.이러한 한계를 해결하기 위해 Netflix는 인공지능을 통합하여 오류 추출 및 진단을 강화한 Pensive AI를 개발했습니다. 목표는 기존 개발 수명 주기 내에서 더 넓은 적용 범위, 낮은 지연 시간 및 통제된 AI 비용을 제공하는 것이었습니다. Pensive AI는 결정론적 프로세스 주위에 AI 기능을 래핑하여 유지보수를 개선하고 적용 범위를 확장합니다.초기 결과에 따르면 Pensive AI는 이전에 알려지지 않은 실패를 포함하여 모든 실패를 100% 커버합니다. Pensive AI를 사용했을 때 수동 디버깅 작업이 크게 감소했습니다. 이 시스템은 두 가지 상호 보완적인 경로를 특징으로 합니다. 빠른 초기 평가를 위한 항상 켜져 있는 오류 추출과, 첫 번째 검사가 불충분할 때 트리거되는 LLM을 사용한 심층 분석을 위한 온디맨드 디버깅입니다.오류 추출은 전체 텍스트 대신 줄 번호를 반환하여 로그 내의 주요 오류 범위를 식별함으로써 효율성을 높이고 환각을 줄입니다. 이 자동화된 프로세스는 엄격한 시간 제한 내에서 기존 규칙 기반 오류 탐지를 보완하여 시기적절한 응답을 제공합니다. 또한 시스템은 점진적인 채택을 허용하기 위해 새 모델을 기존 모델과 함께 도입하여 데이터 계약을 신중하게 관리합니다.Pensive AI Debugging은 실패한 단계 시도에 대한 근본 원인 분석 및 복구 제안을 제공하며, API 및 사용자 인터페이스를 통해 액세스할 수 있습니다. 더 높은 비용이 발생하는 이 온디맨드 디버깅은 비용을 효과적으로 관리하기 위해 필요한 경우에만 시작됩니다. 디버깅 응답은 중복 계산을 피하고 지연 시간을 줄이기 위해 단계 시도별로 캐싱됩니다.이 시스템은 생성되는 대로 응답을 스트리밍하여 연결이 끊어져도 사용자에게 실시간과 같은 경험을 제공합니다. 요청 클라이언트가 연결 해제되더라도 생성된 응답은 유지되어 작업이 손실되지 않도록 합니다. 이 설계는 시작된 연결과 독립적이므로 강력하고 지속적인 디버깅이 가능합니다.Netflix는 또한 Pensive AI의 오류 추출 및 디버깅 지침의 신뢰성을 보장하기 위해 별도의 평가 프레임워크를 개발했습니다. 추출의 경우, 기존의 수동으로 작성된 규칙은 광범위한 수동 재레이블링 없이 비교를 위한 벤치마크 역할을 합니다. 이러한 프레임워크는 레거시 Pensive 시스템이 이미 처리했던 실패에 대한 성능을 유지하는 데 도움이 됩니다.