본문으로 건너뛰기

코사인 유사도가 놓친 공통 원인

Hindsight의 recall과 reflect로 단순 유사도 너머의 반복 장애 원인을 찾은 incident response agent 구축 사례입니다.

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

TL;DR

코사인 유사도만으로는 서로 다른 서비스에서 반복되는 공통 장애 원인을 찾기 어렵습니다. 작성자는 Postgres와 Qdrant에 해결된 incident를 저장하고 Hindsight의 `recall()`로 semantic·keyword·temporal 신호를 결합해 메모리를 모은 뒤, `reflect()`로 여러 기록의 패턴을 도출했습니다. 단일 메모리에서 reflection을 실행하면 비용과 잡음이 커져 `len(memories) >= 2` 조건을 추가했고, 그 결과 반복되는 pool-exhaustion 원인을 더 유용하게 포착했습니다.

실용적 조언

  • 장애 기록을 벡터 유사도만으로 순위화하지 말고 semantic, keyword, temporal 신호를 함께 사용해 후보 메모리를 모으는 구조를 고려할 수 있습니다. 여러 기록이 확보된 뒤에만 reflection 단계를 실행하도록 `len(memories) >= 2` 같은 최소 입력 조건을 두면 단일 사례에서 발생하는 잡음과 불필요한 비용을 줄일 수 있습니다. `recall()`은 관련 기록 수집에, `reflect()`는 수집된 기록 사이의 반복 원인과 상위 패턴 도출에 나누어 사용하는 방식입니다.

섹션별 상세

작성자는 코사인 유사도가 두 사건을 87% 유사하다고 판정했는데도, 겉보기에는 무관한 세 번째 사건과 같은 근본 원인을 공유한다는 점을 놓쳤다고 말합니다. 이는 단일 벡터 거리 순위가 사건 간의 반복 원인이나 여러 기록의 관계를 직접 판단하지 못한다는 문제입니다. 따라서 장애 대응 메모리를 검색할 때 유사 티켓 목록만 반환하는 구조에는 한계가 있다는 관찰입니다.
구축한 장애 대응 agent는 해결된 모든 incident를 Postgres와 Qdrant에 메모리로 저장하고, 그 위에 Hindsight의 `recall()`과 `reflect()`를 적용했습니다. `recall()`은 semantic, keyword, temporal 신호를 가로질러 관련 메모리를 모으고, `reflect()`는 모인 기록에서 여러 서비스에 걸친 반복 패턴을 찾아냅니다. 그 결과 단순히 비슷한 티켓을 나열하는 대신, '여러 서비스에서 발생한 세 번째 pool-exhaustion incident'처럼 공통 원인을 드러내는 흐름을 만들었습니다.
처음에는 단일 메모리에 `reflect()`를 호출했지만, 한 건의 기록만으로 패턴을 찾으려 하면서 비용이 커지고 잡음 속에서도 패턴을 만들었습니다. 작성자는 `len(memories) >= 2` 조건을 둬 최소 두 개의 메모리가 모인 경우에만 reflection을 실행하도록 바꿨습니다. 이 입력 게이트를 적용한 뒤 `reflect()`의 결과가 훨씬 유용해졌다는 경험이 핵심 운영상의 교훈입니다.

용어 해설

코사인 유사도(Cosine Similarity)
벡터 사이의 각도를 이용해 두 데이터가 얼마나 비슷한지 계산하는 지표입니다. 값이 높으면 의미적으로 유사하다고 판단하지만, 서로 다른 사건에 반복되는 공통 원인이나 시간적 연관성까지 직접 포착하지는 못합니다.
벡터 검색(Vector Search)
텍스트나 사건을 임베딩 벡터로 변환한 뒤 가까운 벡터를 찾아 관련 기록을 검색하는 방식입니다. 의미가 비슷한 항목을 빠르게 찾는 데 유용하지만 키워드와 발생 시점, 여러 기록 사이의 패턴을 함께 판단하려면 추가 처리가 필요합니다.
시맨틱 검색(Semantic Search)
단어가 정확히 일치하지 않아도 문장의 의미를 벡터로 비교해 관련 기록을 찾는 검색 방식입니다. 이 사례에서는 의미 기반 신호가 키워드와 시간 신호와 함께 사용되어 단순한 벡터 거리보다 넓은 회수 범위를 구성합니다.
풀 고갈(Pool Exhaustion)
서비스가 사용하는 연결이나 작업 풀의 자원을 모두 소진해 요청 처리가 막히는 장애 원인입니다. 글에서는 여러 서비스에서 반복된 풀 고갈 사건을 개별 티켓의 유사도보다 상위 수준의 공통 패턴으로 찾아내는 사례에 등장합니다.

언급된 도구

Postgres중립

해결된 incident를 메모리로 저장하는 데이터베이스

Qdrant중립

해결된 incident 메모리를 저장하고 검색하는 벡터 데이터베이스

Hindsight추천

`recall()`과 `reflect()`를 통해 메모리 회수와 패턴 도출을 수행하는 도구

AI 분석 전체 내용 보기

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

출처 · 인용 안내

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

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