새벽에 신규 기능을 조심스럽게 풀던 스타트업 대표가 만난 말들
직원 넷짜리 스타트업을 운영하고 있습니다. 몇 달 준비한 AI 요약 기능을 이번 주에 처음 실제 사용자에게 풀기로 했습니다.
전체 사용자에게 한 번에 트는 게 무서워서, 개발을 도와준 에이전트에게 물었더니 이런 방식을 권했습니다.
새 기능을 전체가 아니라 일부에게만 먼저 열 때, 카나리 롤아웃
text
1Rollout: 5% of traffic → new summary engine2Monitoring error rate for 30 minutes...
동료 개발자가 채널에 남긴 설명을 보고서야 이름의 유래를 알게 됐습니다. 과거 광부들이 유독가스를 미리 감지하려고 카나리아 새를 탄광에 데려간 데서 따온 이름이었습니다.
전체 사용자 대신 5%에게만 먼저 새 기능을 보여주고, 문제가 없는지 지켜본 다음 점점 비율을 늘리는 방식이었습니다. 문제가 생겨도 카나리아 몇 마리만 영향을 받을 뿐, 탄광 전체가 위험해지지 않는 셈입니다.
5%로 시작한 지 얼마 안 됐는데, 새 기능을 쓴 첫 사용자 몇 명이 응답이 느리다고 문의를 남겼습니다.
새 기능 첫 요청만 유독 느릴 때, 콜드스타트
로그를 다시 들여다보니 이상한 패턴이 보였습니다. 같은 사용자의 두 번째, 세 번째 요청은 다 빨랐는데, 정말 처음 한 번만 느렸습니다.
text
1request #1: 4200ms2request #2: 180ms3request #3: 165ms
새 기능이 아예 켜져 있지 않다가, 첫 요청이 들어온 순간에야 필요한 걸 불러오고 준비를 시작하기 때문이었습니다. 식어 있던 엔진에 시동을 거는 그 순간만 유독 오래 걸리는 셈이었습니다. 자주 쓰이는 기능이 되면 계속 켜진 상태를 유지해서 이 문제가 줄어듭니다.

느린 응답 문제는 며칠 지나 자연히 줄어들었는데, 이번엔 완전히 다른 종류의 문의가 들어왔습니다.
AI 요약이 없는 내용을 지어낼 때, 할루시네이션을 의심하는 기준
한 사용자가 "요약에 나온 계약 조건이 원문에는 없는데요?"라고 메시지를 보내왔습니다. 같은 문의가 하루 만에 두 번 더 들어오는 걸 보고 우연이 아니라는 걸 알아챘습니다.
검색해보니 이 현상 자체에 이름이 있었습니다. 모델이 원문에 없는 내용을 그럴듯하게 지어내서 답처럼 내놓는 현상이었습니다. 문제는 틀린 답이 아니라 그럴듯한 답이라는 데 있었습니다. 사용자가 원문을 다시 열어보지 않으면 걸러낼 방법이 없었습니다.
사실 확인 절차를 급하게 추가하는 동안, 배포 자동화를 담당하던 동료 개발자가 또 다른 걸 미리 손봐뒀다고 알려줬습니다.
같은 프로젝트인데 컴퓨터마다 결과가 다를 때, 패키지 매니저와 락파일
동료가 "내 컴퓨터에서는 됐는데 서버에서는 안 됐다"는 얘기를 하다가, 자기가 며칠 전 이미 그 문제를 손봐뒀다고 알려줬습니다.
둘이 쓰는 라이브러리 종류와 버전을 일일이 맞추는 대신, 목록만 적어두면 알아서 설치까지 해주는 도구를 쓰고 있었는데, 그 도구가 실제로 설치한 정확한 버전 번호를 파일 하나에 그대로 찍어두고 있었습니다.
text
1package-lock.json2 "chart-lib": "4.2.1" # 정확히 이 버전으로 고정
이 파일 덕분에 누구 컴퓨터에서 설치하든 정확히 같은 버전이 깔립니다. 레시피에 "적당량"이라고만 적어두면 사람마다 다르게 요리하듯, 버전을 못 박아두지 않으면 컴퓨터마다 조금씩 다른 결과가 나올 수 있었습니다.

아침이 되니 요약 기능은 전체가 아니라 일부 사용자에게만 조용히 열려 있었습니다. 직원 넷이서 큰 사고 없이 새 기능을 내보내는 방법은, 결국 한 번에 다 열지 않는 것이었습니다.
자주 묻는 질문
카나리 비율은 얼마나 천천히 늘려야 하나요?
정해진 정답은 없지만, 보통 5% → 20% → 50% → 100%처럼 단계를 나누고 각 단계마다 최소 몇십 분에서 몇 시간씩 지표를 지켜보는 방식을 많이 씁니다. 트래픽이 적은 서비스는 한 단계에 더 오래 머물러야 유의미한 데이터가 쌓입니다.
콜드스타트는 아예 없앨 수 없나요?
완전히 없애기는 어렵지만, 트래픽이 없을 때도 일정 수준으로 미리 켜두는 방식으로 줄일 수 있습니다. 다만 그만큼 평소에도 자원을 계속 쓰게 되는 비용이 따릅니다.
할루시네이션은 모델을 바꾸면 완전히 사라지나요?
정도의 차이는 있지만 완전히 사라지지는 않습니다. 원문을 반드시 근거로 인용하게 하거나, 답변을 원문과 대조해서 검증하는 절차를 별도로 두는 쪽이 더 확실합니다.
<a href="/glossary/code-generation" class="glossary-link" title="AI가 자연어 설명이나 기존 코드 문맥을 바탕으로 프로그래밍 코드를 자동으로 작성하는 기술입니다.">AI 코딩</a> 도구 용어 사전 연작의 5편입니다. 다음 편 예고 · 6편 새 노트북으로 옮겼는데 자꾸 뭔가 안 맞을 때 드리프트 · 워터마크 · 환경변수 · PATH · 쉘 프롬프트