LangGraph와 Playwright MCP를 결합해 서비스 장애를 자율 진단·복구하는 AI 에이전트를 구축한 경험을 다룬다. 쏘카 엔지니어링 팀이 야간 알럿 피로와 느린 MTTR 문제를 해결하기 위해 agentic 엔지니어링 패턴을 실제 인시던트 대응에 적용한 사례다.
핵심 포인트- LangGraph의 상태 머신으로 진단 → 분석 → 복구 시도 → 검증 사이클을 그래프로 모델링
- Playwright MCP로 대시보드·알럿 UI를 브라우저 자동화해 에이전트가 시각적 지표를 직접 읽음
- 복구 액션은 사전 정의된 런북을 코드화한 툴셋으로 제한해 할루시네이션 방지
- 에이전트가 스스로 해결 불가 판단 시 on-call 엔지니어에게 컨텍스트 요약 포함 에스컬레이션
- 실제 장애 시나리오에서 MTTR 평균 40% 단축 측정
상세 정리- 배경: 쏘카는 야간 알럿이 월 수백 건, 엔지니어 온콜 피로가 누적되는 상황이었음
- 설계 원칙: "에이전트가 틀리면 사람이 고치는 게 더 어려운 상태를 만들지 않는다" — 모든 액션은 롤백 가능
- LangGraph 그래프 설계: `alert_received` → `diagnose` → `classify` → `attempt_fix` → `verify` → `resolved | escalate` 노드 구성
- 진단 단계: Prometheus 메트릭 쿼리, 로그 집계, 의존 서비스 헬스체크를 병렬 툴 호출로 수집
- Playwright MCP 활용: Grafana 대시보드 스크린샷 캡처 후 Vision 모델로 이상 패턴 탐지
- 복구 툴셋 구성: 파드 재시작, 트래픽 페일오버, 캐시 퍼지, 피처 플래그 토글 등 10개 액션 코드화
- 검증 루프: 복구 액션 후 동일 메트릭 재수집해 정상 범위 복귀 여부 판정 (최대 3회 재시도)
- 에스컬레이션 패킷: 에이전트가 포기 시 장애 타임라인·시도한 액션·현재 상태를 Slack 스레드로 전송
- 한계: 신규 장애 패턴(처음 보는 에러 코드)은 분류 실패율 높음 — 인간 피드백 루프로 지속 훈련 중
- 운영 6개월 결과: 야간 인간 개입 건수 55% 감소, 오탐 에스컬레이션 3% 미만
왜 읽나런북 자동화를 넘어 에이전트가 상황을 판단하는 수준의 자율 운영을 구현하려는 팀에게 실전 아키텍처와 수치를 제공한다. LangGraph 상태 그래프 설계와 Playwright MCP 연동 방식이 구체적으로 기술되어 있다.