누구나 볼 수 있는 중고거래 서버 LLM 릴리즈 노트 도입기
당근이 배포 기록을 Notion에 쌓고 LLM으로 릴리즈 노트를 자동 생성했다.
배포 기록을 먼저 자산으로 쌓고 그 위에 LLM 번역 레이어를 얹어, 개발자만 읽던 배포 내역을 누구나 확인할 수 있는 릴리즈 노트로 바꿨다. 별도 인프라를 새로 두지 않고 GitHub Actions, Notion, Rails rake task, Prompt Studio로 파이프라인을 구성했다.
-
Stage 1에서는 배포 시
notion:record_deploy가 실행돼git log와ghCLI로 PR 목록과 PR description을 모아 Notion에 저장하고, 배포 DB와 PR DB를 relation으로 연결했다. -
변경 diff를 직접 넣지 않고 이미 CodeRabbit이 정제한 PR description을 원문으로 썼다. 같은 SHA가 여러 리전에 배포될 수 있어
리전-HEAD_SHA조합으로 upsert했고, 이전 배포 SHA가 없으면 최근 50개 커밋으로 fallback했다. -
Stage 2에서는 매일 UTC 01:00(KST 10:00)에
release_notes:daily가 실행돼 Notion PR DB에서 본문을 읽고 Prompt Studio로 요약한 뒤 LLM 릴리즈 노트 DB에 저장했다. -
dry_run으로 출력만 확인할 수 있게 했고, KST/UTC 경계는Time.zone.yesterday를 기준으로 맞춰 날짜 어긋남을 줄였다.
프롬프트 품질은 분류 규칙과 용어 변환표로 맞췄다. 변경 유형을 다섯 라벨로 나누고 우선순위를 정했으며, notification-batch를 알림 발송 배치 작업처럼 바꾸는 규칙과 리전 표기 규칙을 넣어 비개발자도 읽을 수 있게 다듬었다. 이렇게 쌓인 데이터는 릴리즈 노트뿐 아니라 배포 빈도, 리전별 필터링, 기여자 추적에도 재활용된다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.
