자동화 slecs

자동 그룹 발견 중복 제거

목차

봇이 그룹을 자동 발견할 때 괄호가 있는 표제어 중복을 제거하고, 서브유닛까지 포함되는 문제를 걸러냈다.

왜 이 수정이 필요했나

자동화 봇의 신뢰성은 입력 데이터의 정제 수준에 직결된다. discover_groups 기능은 외부 소스에서 그룹 정보를 가져와 자동으로 등록하는 모듈인데, 이 과정에서 가끔 지저분한 데이터가 섞여 들어온다.

구체적으로 두 가지 문제가 있었다:

  • 괄호 표제어 중복: 예를 들어 "운영팀 (운영팀)" 또는 "Infra (Infra)" 같이 괄호 안에 같은 표제어가 반복되는 경우
  • 서브유닛 혼입: "마케팅" 그룹을 발견할 때, "마케팅-성과분석", "마케팅-콘텐츠팀" 같은 하위 단위까지 함께 등록되어 그룹 계층이 뒤섞이는 상황

이렇게 정제되지 않은 데이터가 쌓이면 나중에 그룹 조회나 권한 매핑 같은 다운스트림 작업에서 중복 처리, 불필요한 검색 비용 증가, UX 혼란을 야기한다.

수정 내용

bot/discover_groups.py에서 두 가지 정규화 로직을 추가했다:

항목 처리 전 처리 후
괄호 표제어 "운영팀 (운영팀)" "운영팀"
서브유닛 ["마케팅", "마케팅-분석", "마케팅-콘텐츠"] ["마케팅"]

괄호 처리 로직:
- 괄호 안 텍스트가 괄호 앞 텍스트와 동일하면 괄호 부분을 완전히 제거
- 다르면 유지 (예: "팀 (약칭)" 같은 정보성 있는 괄호는 살림)

서브유닛 필터링:
- 발견된 그룹 목록에서 다른 그룹의 접두어로 시작하는 항목을 제거
- 계층 구조를 명확히 해서 "상위 그룹만" 등록하도록 조정

회고: 자동화 도구와 데이터 품질

이런 정제 작업이 사소해 보이지만, 실제로는 매우 중요하다. 왜냐하면:

  1. 초기 데이터 품질 = 장기 안정성: 정크 데이터가 한 번 들어가면, 나중에 여러 곳에서 "왜 이 그룹이 있지?" 같은 의문과 버그를 야기한다
  2. 자동화 도구는 '누가 정제하나?'의 문제: 수동 입력과 달리, 자동 발견 로직은 "완벽한 입력" 가정 위에 세워지지 않는다. 그래서 소스 쪽에서 못한 정제를 봇 입구에서 충분히 해야 한다
  3. 비용 최적화: 중복 그룹이 적을수록 조회·필터링·비교 연산 비용도 줄어든다

이번 수정으로 그룹 발견 프로세스가 조금 더 까다로워지긴 했지만 (괄호 비교, 접두어 체크), 처리해야 할 쓰레기 데이터가 줄어들어 전체 파이프라인 건강도는 올라간다.

앞으로도 자동화 기능을 만들 때는 "입력이 항상 깔끔하지 않다"는 가정을 기본으로 시작해야겠다는 점을 다시 한 번 확인했다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.