VarParser: Unleashing the Neglected Power of Variables for LLM-based Log Parsing

이 논문은 기존 LLM 기반 로그 파싱이 상수 부분에만 집중하여 발생하는 비효율성과 비용 문제를 해결하기 위해, 변수 부분의 기여도를 활용하는 'VarParser'를 제안하여 파싱 정확도와 효율성을 동시에 향상시키고 비용을 절감하는 방법을 제시합니다.

Jinrui Sun, Tong Jia, Minghua He, Ying Li

게시일 2026-03-13
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 배경: 거대한 도서관과 '기록장'

컴퓨터 시스템은 매일 밤낮없이 작동하면서 수백만 개의 '기록장 (로그)'을 남깁니다.

  • 예시: "10 시 05 분, 서버 A 에서 '사용자 B'가 '파일 C'를 열었습니다."
  • 문제: 이 기록들은 매일매일 똑같은 문장 (상수) 과 매일매일 바뀌는 숫자나 이름 (변수) 이 섞여 있습니다. 엔지니어들은 이 기록들을 분석해서 시스템이 왜 멈췄는지, 어디가 고장 났는지 찾아내야 합니다. 하지만 기록이 너무 많고 비정형적이라서 사람이 직접 읽기엔 불가능합니다.

2. 기존 방법의 한계: "고정된 문장"만 보는 안경

기존의 AI(대규모 언어 모델) 기반 도구들은 기록을 정리할 때 **고정된 부분 (상수)**에만 집중했습니다.

  • 비유: 마치 도서관에서 책 제목 (고정된 부분) 만 보고 책을 분류하는 사서처럼요.
    • "사용자 B가 파일을 열었습니다."
    • "사용자 D가 파일을 열었습니다."
    • 이 사서는 "사용자"라는 단어만 보고 두 문장이 같다고 생각해서, B 와 D 라는 중요한 이름 (변수) 을 무시하고 "사용자 <*> 가 파일을 열었습니다"라고만 정리해 둡니다.
  • 결과:
    1. 비효율: 비슷한 문장끼리 묶으려고 너무 많은 시간을 씁니다.
    2. 비용: 매번 AI 에게 물어보느라 돈 (API 비용) 이 많이 듭니다.
    3. 정보 손실: 중요한 이름 (B 나 D) 이 사라져서, 나중에 "누가 파일을 열었지?"라고 물을 때 답을 못 합니다.

3. VarParser 의 등장: "변화하는 부분"을 주목하는 새로운 사서

VarParser 는 **"변수 (변화하는 부분) 가 바로 핵심 정보다!"**라고 생각합니다. 고정된 문장보다는 누가, 언제, 무엇을 했는지가 중요한 변수에 집중합니다.

핵심 전략 3 가지 (일상 비유)

① 변수 기여도 샘플링 (가장 중요한 사람만 초대하기)

  • 기존: 기록을 무작위로 뽑거나, 문장 전체를 비교해서 비슷한 걸 찾습니다.
  • VarParser: "이 기록에 어떤 **변수 (이름, 숫자)**가 들어있는지"를 먼저 봅니다.
    • 비유: 파티를 열 때, 모든 초대장을 다 비교하는 게 아니라 **"누가 왔는지 (변수)"**를 먼저 봅니다. 같은 종류의 손님이 온 기록끼리 묶어서, 가장 다양한 손님이 온 기록들만 골라 AI 에게 보여줍니다.
    • 효과: AI 가 공부할 자료를 훨씬 적게 뽑아도 되므로 속도가 빨라지고 비용이 줄어듭니다.

② 변수 중심 캐시 (기억력 있는 사서)

  • 기존: AI 가 정리한 결과를 저장할 때, 변수 부분은 지워버리고 "여기에 뭐가 들어갈지"만 기억합니다.
  • VarParser: 변수 부분도 라벨을 붙여서 기억합니다.
    • 비유: 사서가 "이 책은 '이름' 자리에 들어가는 게 뭐든 상관없어"라고 기억하는 게 아니라, **"이 책의 '이름' 자리에 '김철수'가 들어갔던 적이 있어"**라고 구체적으로 기억합니다.
    • 효과: 새로운 기록이 들어왔을 때, AI 에게 물어보지 않아도 "아, 이 패턴은 '이름' 자리에 숫자가 들어가는 경우구나"라고 바로 알아맞힙니다. AI 호출 횟수가 급격히 줄어듭니다.

③ 적응형 문맥 학습 (맞춤형 예시 보여주기)

  • 기존: AI 에게 예시를 보여줄 때, 문장 전체를 다 보여줍니다. (불필요한 정보 과다)
  • VarParser: AI 에게 "변수 부분만" 골라서 예시를 보여줍니다.
    • 비유: 요리 레시피를 가르칠 때, "냄비, 물, 소금, 고기..."라는 전체 재료를 다 설명하는 게 아니라, **"오늘은 '고기' 대신 '두부'를 넣는 경우"**만 집중해서 설명해 줍니다.
    • 효과: AI 가 헷갈릴 일이 줄어들고, 토큰 (문자) 사용량이 줄어 비용이 절약됩니다.

4. VarParser 의 성과

이 방법을 실험해 보니 다음과 같은 결과가 나왔습니다.

  1. 정확도 UP: 기존 방법들보다 훨씬 정확하게 기록을 분류했습니다.
  2. 속도 UP: AI 를 부르는 횟수가 줄어들어 처리 속도가 빨라졌습니다.
  3. 비용 DOWN: AI 사용량이 줄어들어 운영 비용이 크게 절감되었습니다.
  4. 정보 보존: "누가, 무엇을 했는지"라는 중요한 변수 정보까지 모두 남겨두어, 나중에 시스템 문제를 추적할 때 훨씬 더 많은 정보를 얻을 수 있게 되었습니다.

요약

VarParser는 거대한 로그 데이터를 정리할 때, "고정된 문장"에 매몰되지 않고 "변화하는 정보 (변수)"에 집중하는 새로운 방식입니다.

마치 도서관 사서가 책 제목만 보고 분류하는 게 아니라, 책에 적힌 '저자 이름'이나 '주요 내용'을 먼저 보고 분류하는 것처럼, 더 똑똑하고 빠르고 저렴하게 시스템의 상태를 파악할 수 있게 해주는 혁신적인 도구입니다.