본문으로 건너뛰기

코사인 유사도만으로는 놓치는 장애 근본 원인

Hindsight의 다중 기억 패턴 탐색이 단순 벡터 검색의 장애 원인 누락을 보완합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

작성자는 Cosine similarity가 87% 유사하다고 판정한 두 장애조차 세 번째 장애와 공유한 근본 원인을 놓친 사례를 제시했습니다. Postgres와 Qdrant에 해결된 장애를 memory로 저장한 뒤 Hindsight의 recall()로 semantic·keyword·temporal 신호를 결합해 기억을 회수하고, reflect()로 여러 서비스에 걸친 반복 패턴을 찾았습니다. 단일 memory에서 reflect()를 실행하면 잡음과 비용이 커져 len(memories) >= 2 조건을 둔 뒤 결과가 더 유용해졌습니다.

실용적 조언

  • 장애 기록을 Cosine similarity 하나로만 순위화하지 말고 semantic, keyword, temporal 신호를 함께 사용해 후보 memory를 회수해야 합니다. 이렇게 하면 표현은 다르지만 발생 시점이나 핵심 용어가 겹치는 사건을 함께 비교할 수 있습니다. 다만 이 글은 세 신호의 가중치나 정량적 성능 비교까지는 제공하지 않습니다.
  • reflect()처럼 여러 기억 사이의 패턴을 찾는 연산은 비교 대상이 2개 이상일 때만 실행하도록 조건을 둘 수 있습니다. 단일 memory에서 패턴 추론을 시작하면 잡음에서 의미를 만들 가능성이 커지고 연산 비용도 증가하기 때문입니다. 글에서 사용한 구체적인 조건은 len(memories) >= 2입니다.

섹션별 상세

작성자는 Cosine similarity가 두 장애를 87% 유사하다고 판정했지만, 서로 관련 없어 보이는 세 번째 장애와의 공통 근본 원인은 찾지 못했다고 밝혔습니다. 이 사례는 벡터 간 의미적 근접성만으로는 서비스 간에 다르게 표현된 장애 패턴을 연결하기 어렵다는 한계를 드러냅니다. 따라서 장애 대응에서는 유사한 티켓의 순위뿐 아니라 여러 사건에 반복되는 원인까지 추적해야 합니다.
구현된 incident response agent는 해결된 장애를 Postgres와 Qdrant에 memory로 저장하고, 그 위에서 Hindsight의 recall()과 reflect()를 사용합니다. recall()은 semantic, keyword, temporal 신호를 함께 사용해 관련 기억을 회수하고, reflect()는 회수된 기억에서 여러 서비스에 걸친 반복 패턴을 찾아냅니다. 그 결과 단순히 비슷한 티켓 목록을 반환하는 대신 수영장 고갈(pool exhaustion) 장애가 세 번째로 반복됐다는 식의 관계를 드러냅니다.
처음에는 단일 memory에 reflect()를 호출했지만, 적은 정보에서 패턴을 찾으려다 잡음 속의 의미 없는 패턴을 만들고 비용도 커졌습니다. 이후 memories의 개수가 2개 이상일 때만 reflect()를 실행하도록 조건을 걸었고, 작성자는 결과가 훨씬 유용해졌다고 평가했습니다. 이 게이트는 패턴 추론을 충분한 비교 대상이 모였을 때로 제한하는 실용적인 운영 방식입니다.

용어 해설

코사인 유사도(Cosine Similarity)
두 벡터의 방향이 얼마나 가까운지 측정하는 검색 지표입니다. 장애 기록을 임베딩 벡터로 바꾼 뒤 각도 기반 유사도를 계산해 비슷한 사건을 찾지만, 표현이 다른 공통 원인까지 포착하지 못할 수 있습니다.
벡터 검색(Vector Search)
텍스트를 벡터로 변환한 뒤 데이터베이스에서 의미적으로 가까운 항목을 찾는 방식입니다. 장애 대응에서는 과거 티켓을 검색하는 데 쓰이지만, 키워드와 발생 시점 같은 신호를 함께 반영하지 않으면 관련 사건의 연결 고리를 놓칠 수 있습니다.
시맨틱 검색(Semantic Search)
단어가 정확히 일치하지 않아도 문장의 의미적 유사성을 기준으로 관련 기록을 찾는 검색 방식입니다. 이 글의 recall()은 시맨틱 신호를 키워드와 시간 신호에 결합해 단일 유사도 순위보다 넓은 장애 후보를 회수합니다.
근본 원인 분석(Root Cause Analysis)
서로 달라 보이는 여러 장애가 같은 원인에서 발생했는지 추적하는 분석 과정입니다. 장애 기록을 개별 유사도 점수로 나열하는 대신 여러 기억 사이의 반복 패턴을 찾으면 서비스가 달라도 공통 원인을 파악할 수 있습니다.

언급된 도구

Postgres중립

해결된 incident를 memory로 저장하는 데이터베이스

Qdrant중립

저장된 incident memory를 벡터 검색하는 데이터베이스

Hindsight추천

incident memory에 recall()과 reflect()를 적용해 관련 기록과 반복 패턴을 찾는 도구

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 13.수집 2026. 08. 13.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.