당근 검색 엔진, 쿠버네티스로 쉽게 운영하기 2편 — 데이터 노드 웜업 적용 | by Dongsun Shin | 당근 테크 블로그 | Dec, 2025 | Medium (새 탭에서 열림)

당근 검색 플랫폼팀은 쿠버네티스(ECK) 환경에서 Elasticsearch 클러스터를 운영하며, 롤링 리스타트 시 발생하는 레이턴시 급증 문제를 해결하기 위해 '데이터 노드 웜업(Warmup)' 시스템을 구축했습니다. 단순히 Pod가 실행되는 것을 넘어 샤드 복구와 캐시 예열이 완료된 후에만 다음 노드를 재시작하도록 제어함으로써, 피크 타임에도 서비스 영향 없이 안정적인 배포가 가능해졌습니다. 이를 통해 운영자의 모니터링 부담을 제거하고 언제든 안심하고 배포할 수 있는 환경을 마련했습니다. **롤링 리스타트와 콜드 캐시의 위험성** * Elasticsearch는 페이지 캐시, 쿼리 캐시 등 다양한 메모리 캐시에 크게 의존하므로, 재시작 직후 캐시가 비어 있는 '콜드 캐시' 상태에서는 성능이 급격히 저하됩니다. * 쿠버네티스의 기본 롤링 업데이트는 Pod의 준비 상태(Ready)만 확인하고 다음 노드를 재시작하기 때문에, 준비되지 않은 노드에 트래픽이 몰리며 전체 검색 레이턴시가 수 초까지 치솟는 장애가 발생할 수 있습니다. * 노드 한 대가 내려간 동안 남은 노드들이 모든 부하를 감당해야 하며, 복제본(Replica) 샤드가 없는 상태에서 다른 노드에 문제가 생기면 클러스터가 'Red' 상태로 변해 가용성이 무너질 위험이 큽니다. **안전한 배포를 위한 단계별 웜업 전략** * 목표는 배포 중에도 P99 레이턴시를 평소 수준으로 유지하고, 클러스터 상태가 'Yellow'에서 다시 'Green'이 된 것을 확인한 후 다음 단계로 넘어가는 것입니다. * 이를 위해 노드 재시작 후 세 가지 단계를 거칩니다: 1) 데이터 노드가 클러스터에 정상 합류할 때까지 대기, 2) 할당된 샤드들의 데이터 복구(Recovery) 완료 확인, 3) 실제 검색 쿼리를 미리 실행하여 캐시를 채우는 과정입니다. * 특히 샤드 복구가 완료되지 않은 상태에서 웜업을 시작하면 데이터가 없는 상태에서 쿼리를 날리는 꼴이 되므로, 반드시 인덱싱 상태를 모니터링하는 로직이 포함되어야 합니다. **사이드카 패턴 기반의 웜업 시스템 구현** * Elasticsearch 컨테이너와 함께 실행되는 별도의 `warmup-sidecar`를 도입하여 노드의 상태를 정밀하게 추적합니다. * 사이드카는 API를 통해 해당 노드의 샤드들이 모두 'Started' 상태인지 확인하고, 실제 운영 환경에서 발생하는 검색 트래픽(Traffic Replay)을 신규 노드에 미리 쏘아주어 메모리에 데이터를 올립니다. * 이 모든 과정이 완료되어야만 쿠버네티스의 Readiness Probe를 통과하게 설계하여, ECK 오퍼레이터가 노드 웜업이 끝날 때까지 다음 Pod의 재시작을 자동으로 대기하도록 제어했습니다. 대규모 트래픽을 처리하는 상태 기반(Stateful) 시스템에서는 인프라 수준의 단순한 헬스체크만으로는 부족하며, 애플리케이션 내부의 데이터 준비 상태를 고려한 정교한 배포 전략이 필수적입니다. 데이터 노드 웜업 도입으로 배포 시간은 기존보다 길어졌지만, 시간에 구애받지 않고 24시간 언제든 안전하게 시스템을 업데이트할 수 있는 운영 안정성을 확보하게 되었습니다.

제미나이, STOC (새 탭에서 열림)

Google Research는 이론 컴퓨터 과학 분야의 최고 권위 학회인 STOC 2026 제출 논문을 대상으로, Gemini를 활용한 자동 피드백 도구를 실험적으로 도입했습니다. 이 도구는 복잡한 논리 구조와 수식을 검증하여 인간 연구자가 수개월 동안 발견하지 못한 치명적인 오류를 24시간 이내에 찾아내는 성과를 거두었습니다. 결과적으로 참여 저자의 97%가 피드백이 유용했다고 답하며, AI가 전문적인 연구 워크플로우를 보조하는 강력한 협업 도구가 될 수 있음을 증명했습니다. **추론 확장 기술을 통한 수학적 엄밀성 확보** * Gemini 2.5 Deep Think의 고급 버전에 적용된 '추론 확장(Inference Scaling)' 메서드를 활용하여 단순한 선형적 사고를 넘어 여러 해결 경로를 동시에 탐색합니다. * 다양한 추론 및 평가 흔적(traces)을 결합함으로써 LLM 특유의 환각 현상을 줄이고, 논문의 가장 핵심적인 논리적 결함에 집중할 수 있도록 최적화되었습니다. **구조화된 피드백 제공 방식** * 저자들에게는 논문의 기여도 요약, 주요 정리(Theorem) 및 보조 정리(Lemma)에 대한 구체적인 오류 지적 및 개선 제안, 오타 및 단순 교정 사항이 포함된 체계적인 리포트가 제공됩니다. * 단순한 문구 수정을 넘어 변수 이름의 불일치, 부등식의 잘못된 적용, 증명 과정에서의 논리적 공백 등 기술적인 디테일을 심층 분석합니다. **실제 연구 현장에서의 성과와 사용자 반응** * 실험에 참여한 논문의 80% 이상이 AI 리뷰를 선택했으며, 저자들은 수개월간 발견하지 못했던 '논문 전체를 부정하게 만드는 치명적인 버그'를 AI가 찾아냈다는 점에 주목했습니다. * 설문 결과 참여자의 97%가 재사용 의사를 밝혔으며, 81%는 논문의 명확성과 가독성이 크게 향상되었다고 평가했습니다. * 인간 리뷰어와 달리 중립적인 톤으로 신속하게(2일 이내) 피드백을 제공한다는 점이 큰 장점으로 꼽혔습니다. **전문가와 AI의 협업 모델 및 한계점** * 모델이 복잡한 표기법이나 그림을 해석하는 과정에서 간혹 환각을 일으키기도 하지만, 해당 분야의 전문가인 저자들은 AI의 출력물에서 '노이즈'를 걸러내고 유익한 통찰만을 선택적으로 수용하는 능력을 보여주었습니다. * 이는 AI가 인간을 대체하는 것이 아니라, 전문가의 판단을 돕고 검증의 시작점 역할을 수행하는 '보조적 파트너'로서 최적화되어 있음을 시사합니다. **교육적 가치와 미래 전망** * 설문에 응한 연구자의 75%는 이 도구가 학생들에게 수학적 엄밀성과 논문 작성법을 교육하는 데 큰 가치가 있다고 응답했습니다. * 연구 커뮤니티의 88%는 연구 프로세스 전반에 걸쳐 이러한 도구를 지속적으로 사용하기를 희망하고 있으며, Google은 향후 동료 검토(Peer Review) 과정을 대체하는 것이 아닌, 이를 보완하고 강화하는 방향으로 기술을 발전시킬 계획입니다. 연구자들은 이 도구를 단순한 자동 검토기가 아닌, 연구 초기 단계부터 논리의 빈틈을 메워주는 '상시 접속 가능한 동료 연구자'로 활용할 것을 권장합니다. 특히 복잡한 증명이 포함된 논문을 투고하기 전, 예상치 못한 논리적 오류를 사전에 필터링하는 용도로 매우 유용합니다.

달리는 기차 바퀴 칠하기: 7년만의 컬러 시스템 업데이트 (새 탭에서 열림)

토스 디자인 시스템(TDS)은 서비스의 글로벌 확장과 다양한 플랫폼 대응을 위해 7년 만에 컬러 시스템을 전면 개편했습니다. 인지적으로 균일한 색공간인 OKLCH를 도입하여 시각적 일관성과 접근성을 확보하고, 디자이너가 직접 제어하는 자동화된 토큰 관리 체계를 구축했습니다. 이번 개편을 통해 TDS는 단순한 디자인 가이드를 넘어, 비즈니스 성장을 뒷받침하는 확장 가능한 기술 인프라로 진화했습니다. ### 기존 컬러 시스템의 한계와 부채 - **명도 불일치**: 동일한 명도 단계(예: 100)임에도 색상(Grey, Blue, Red 등)에 따라 실제 느껴지는 밝기가 달라 UI가 얼룩덜룩해 보이는 문제가 있었습니다. - **모드 간 이격**: 라이트모드와 다크모드의 명도 기준이 달라 다크모드에서 특정 색이 너무 튀거나 가독성이 떨어지는 현상이 발생했습니다. - **관리 체계의 파편화**: 웹, iOS, 안드로이드, 디자인 에디터 등 각 플랫폼에서 컬러를 개별 관리하면서 싱글 소스 오브 트루스(SSOT)가 무너지고 커뮤니케이션 비용이 증가했습니다. ### OKLCH 색공간을 통한 인지적 균일함 확보 - **지각적 평등성**: 수치상 명도와 인간이 느끼는 밝기가 다른 HSL 모델 대신, 인지적으로 균일한 OKLCH 및 HSLuv 색공간을 활용해 모든 색상의 명도를 통일했습니다. - **접근성 자동화**: 정의된 명도 체계를 바탕으로, 외부 브랜드 컬러를 입력하더라도 TDS 기준에 맞는 배경-텍스트 대비를 자동으로 추출하는 로직을 구현했습니다. - **디바이스 최적화**: RGB 환경에서 표현하기 어려운 OKLCH 색상을 위해 채도(Chroma)를 클램핑(Clamp)하여 색조와 명도를 유지하면서도 기기 호환성을 높였습니다. ### 심미성과 접근성을 위한 시각 보정 - **Dark Yellow 문제 해결**: 수치적으로만 맞춘 노란색은 탁해 보이거나 너무 진해 보일 수 있어, 노란색 계열에 한해 별도의 명도 진행 단계를 적용하는 시각 보정을 거쳤습니다. - **다크모드 시인성 강화**: 인간의 눈이 어두운 배경에서 대비를 더 낮게 인식하는 특성을 고려하여, 최신 명도대비 메트릭인 APCA를 참고해 다크모드의 대비를 더 강하게 설계했습니다. - **시맨틱 토큰 정비**: 색상의 값(Primitive)이 아닌 사용 의도(Semantic)에 집중한 토큰 체계를 정립하여 디자인 결정 시간을 단축하고 일관성을 보장했습니다. ### 디자이너 중심의 토큰 자동화 시스템 - **통합 파이프라인**: Figma 플러그인(Token Studio)과 GitHub를 연동하여 디자이너가 컬러를 수정하고 커밋하면 모든 플랫폼의 코드가 자동으로 생성되도록 구축했습니다. - **실험적 환경**: 개발자의 수동 작업 없이도 디자이너가 직접 토큰을 변경하고 빠르게 실험할 수 있는 환경을 만들어 디자인 시스템의 운영 효율을 극대화했습니다. 성공적인 디자인 시스템 개편을 위해서는 단순한 심미적 수정을 넘어, 데이터 기반의 색공간 설계와 엔지니어링 관점의 자동화가 필수적입니다. 특히 비즈니스가 확장되는 시점이라면 컬러 시스템을 개별 컴포넌트가 아닌, 모든 플랫폼을 관통하는 하나의 '코드'이자 '인프라'로 접근하는 태도가 필요합니다.

코드 품질 개선 기법 26편: 설명의 핵심은 첫 문장에 있다 (새 탭에서 열림)

코드의 가독성과 유지보수성을 높이기 위해서는 주석의 첫 번째 문장에 가장 핵심적인 정보를 담는 것이 중요합니다. 단순히 코드의 동작 과정을 나열하기보다 높은 추상화 수준에서 코드의 목적을 먼저 설명해야 하며, 이를 통해 읽는 사람이 전체 맥락을 빠르게 파악할 수 있도록 유도해야 합니다. 주석의 유형에 따라 가장 중요한 요소(반환값, 존재 이유, 이상적인 상태 등)를 선별하여 서두에 배치하는 것이 문서화의 핵심입니다. **효율적인 문서화 주석 작성법** - **첫 문장에서 개요 전달**: 문서화 주석은 전체를 다 읽지 않고 첫 번째 문장만 읽어도 해당 함수나 클래스의 역할을 이해할 수 있도록 작성해야 합니다. - **추상화 수준 높이기**: "마침표로 분할한다"와 같은 구현 디테일보다는 "문장 단위로 분할한다"처럼 코드보다 높은 수준의 용어를 사용하여 의도를 명확히 합니다. - **중요 정보 우선 배치**: 함수의 경우 '무엇을 반환하는지'가 가장 중요하므로, 반환값의 의미를 첫 문장에 기술하고 구체적인 구분자나 예외 처리 조건은 뒷부분에 보충합니다. - **구체적인 예시 활용**: 경계 조건이나 복잡한 입력값이 있을 때는 주석 하단에 `input -> output` 형태의 예시를 추가하여 이해를 돕습니다. **임시 방편 및 인라인 주석의 구성** - **존재 이유 명시**: 특정 버그를 회피하기 위한 코드나 임시 방편적인 코드에서는 '무엇을 하는지'보다 '왜 이 코드가 필요한지'를 먼저 설명해야 합니다. - **맥락 제공**: 예를 들어 "기기 X의 버그를 해결하기 위함"이라는 목적을 서두에 두면, 나중에 코드를 읽는 작업자가 해당 로직의 삭제 여부를 더 쉽게 판단할 수 있습니다. **효과적인 TODO 주석 작성** - **목표 상태 우선 기술**: TODO 주석에서는 앞으로 수행해야 할 리팩토링의 방향이나 '이상적인 상태'를 가장 먼저 작성합니다. - **제약 사항 후순위 배치**: 현재 상태의 문제점이나 즉시 수정하지 못하는 기술적 부채에 대한 설명은 목표를 명시한 뒤에 덧붙이는 것이 가독성에 유리합니다. 코드의 의미는 코드가 스스로 말해야 하지만, 그 너머의 의도와 비즈니스 로직의 맥락은 주석의 첫 문장이 결정합니다. 읽는 이의 시간을 아끼기 위해 가장 중요한 핵심부터 말하는 습관을 들이는 것이 좋습니다.

혁신의 조명: (새 탭에서 열림)

구글 리서치는 아프리카 전역의 데이터 과학 커뮤니티와 협력하여 현지의 시급한 의료 과제를 해결하기 위한 'Data Science for Health Ideathon'을 개최했습니다. 이 대회는 MedGemma, MedSigLIP 등 구글의 개방형 의료 AI 모델을 활용해 자궁경부암 검진, 모성 건강 지원 등 아프리카 보건 시스템에 실질적인 변화를 가져올 수 있는 솔루션을 개발하는 데 중점을 두었습니다. 최종 선정된 팀들은 구글의 기술 자원과 전문가 멘토링을 통해 아이디어를 구체적인 프로토타입으로 구현하며 지역 맞춤형 AI 혁신의 가능성을 증명했습니다. **협력적 의료 혁신과 기술적 기반** * 르완다 키갈리에서 열린 'Deep Learning Indaba' 컨퍼런스를 기점으로 아프리카 AI 및 의료 커뮤니티 간의 역량 강화를 목표로 시작되었습니다. * 참가자들에게는 MedGemma(의료 LLM), TxGemma(치료제 개발 모델), MedSigLIP(의료 영상 분석 모델) 등 구글의 최신 보건 AI 모델이 제공되었습니다. * 프로젝트 수행을 위해 Google Cloud Vertex AI 컴퓨팅 크레딧과 상세 기술 문서, 구글 DeepMind 연구진의 기술 멘토링이 단계별로 지원되었습니다. **자궁경부암 및 모성 건강을 위한 AI 솔루션** * **Dawa Health (1위):** WhatsApp으로 업로드된 질확대경 영상을 MedSigLIP 기반 분류기로 실시간 분석하여 암 징후를 식별합니다. 여기에 Gemini RAG(검색 증강 생성)를 결합해 세계보건기구(WHO)와 잠비아의 프로토콜에 따른 임상 가이드를 제공합니다. * **Solver (2위):** 자궁경부 세포진 검사 자동화를 위해 MedGemma-27B-IT 모델을 LoRA(Low-Rank Adaptation) 방식으로 파인튜닝했습니다. FastAPI 기반의 웹 앱을 통해 병리 의사에게 주석이 달린 이미지와 임상 권고안을 출력합니다. * **Mkunga (3위):** 모성 건강 상담을 위해 MedGemma와 Gemini를 활용한 AI 콜센터를 구축했습니다. Vertex AI의 TTS/STT(음성 합성 및 인식) 기술을 통해 스와힐리어로 저비용 원격 진료 서비스를 제공합니다. **열악한 통신 환경을 고려한 기술적 접근** * **HexAI (최우수 PoC):** 인터넷 연결이 제한된 환경에서도 작동할 수 있는 오프라인 우선(Offline-first) 모바일 앱 'DermaDetect'를 개발했습니다. * 온디바이스(On-device) 형태의 MedSigLIP 모델을 통해 커뮤니티 건강 요원들이 현장에서 피부 질환을 즉시 분류할 수 있도록 설계되었습니다. * 고도화된 분석이 필요한 경우에만 클라우드 기반의 MedGemma와 연결하는 하이브리드 구조를 채택하여 데이터 플라이휠을 구축했습니다. 이번 사례는 고성능 의료 AI 모델이 오픈소스로 제공될 때, 현지 개발자들이 지역적 특수성과 인프라 한계를 극복하며 얼마나 창의적인 솔루션을 구축할 수 있는지 잘 보여줍니다. 특히 인프라가 부족한 지역에서는 RAG를 통한 신뢰성 확보나 온디바이스 모델링을 통한 오프라인 지원 기술이 의료 격차를 해소하는 핵심적인 전략이 될 수 있음을 시사합니다.

더욱 똑똑하게 답하며, 더욱 풍부한 감정표현을 향한 Kanana-o의 진화 과정 - tech.kakao.com (새 탭에서 열림)

카카오의 멀티모달 언어모델 Kanana-o는 텍스트, 이미지, 음성을 동시에 이해하고 처리하여 사람처럼 자연스러운 상호작용을 지향하는 통합 모델입니다. 연구팀은 모델이 입력 모달리티에 관계없이 일관된 지능을 발휘하도록 고품질의 복합 지시 이행 데이터를 구축하고, 음성 토큰화 기술을 통해 풍부한 감정 표현력을 확보했습니다. 그 결과 Kanana-o는 한국어 맥락을 깊이 있게 이해하며 복잡한 명령을 수행하는 동시에, 사람과 유사한 섬세한 음성 반응을 제공하는 독보적인 성능을 입증했습니다. **멀티모달 지시 이행 능력의 고도화** * 단순한 질의응답을 넘어 요약, 문체 변환, 형식 제한 등 복합적인 제약 조건이 포함된 오디오 기반 지시 이행 데이터셋을 직접 설계했습니다. * 텍스트 입력 시에는 뛰어난 성능을 보이지만 오디오 입력 시 성능이 저하되는 기존 모델들의 한계를 극복하기 위해, 모달리티에 무관하게 안정적인 지능을 유지하는 일반화(Domain-generalization) 작업에 집중했습니다. * 한국어 음성 지시 이행 벤치마크인 Speech-KoMT-Bench에서 글로벌 경쟁 모델 대비 압도적인 성능을 기록하며 한국어 환경에서의 우수성을 증명했습니다. **이미지-오디오-텍스트 통합 데이터 구축** * 이미지를 보면서 음성으로 질문하는 등 서로 다른 모달리티가 결합된 시나리오에서도 정교하게 동작하도록 이미지-오디오-텍스트 통합 데이터셋을 구축했습니다. * 시각 정보와 청각 정보를 동시에 정렬(Alignment)함으로써, 모델이 복합적인 입력 환경에서도 사용자의 의도와 맥락을 정확히 파악할 수 있도록 학습시켰습니다. **오디오 토큰화를 통한 자연스러운 감정 표현** * 기존의 단조로운 음성 합성 방식을 넘어, 음성 데이터를 이산적인 토큰(Discrete Audio Tokens)으로 변환하여 언어모델이 텍스트와 함께 예측하도록 설계했습니다. * 이를 통해 단순한 텍스트 전달이 아닌, 발화자의 감정선, 호흡, 웃음소리, 억양 등 미묘한 운율(Prosody) 정보를 풍부하게 담아낼 수 있게 되었습니다. * 사용자의 감정을 실시간으로 인식하고 이에 어울리는 목소리 톤으로 응답함으로써, 기계적인 비서가 아닌 실제 사람과 대화하는 듯한 정서적 유대감을 제공합니다. Kanana-o는 단순히 기술적 지표를 높이는 것에 그치지 않고, 실제 서비스 환경에서 사용자가 체감할 수 있는 '이해력'과 '표현력'의 조화를 이루어냈습니다. 한국어에 특화된 강력한 지능과 섬세한 감성 표현 기술의 결합은 향후 더욱 몰입감 있고 실질적인 도움을 주는 AI 경험을 제공할 것으로 기대됩니다.

​한국어와 이미지를 한 번에, 카카오의 멀티모달 임베딩 모델 개발기 - tech.kakao.com (새 탭에서 열림)

카카오는 한국어 환경과 다양한 서비스 시나리오에 최적화된 멀티모달 임베딩 모델인 'Kanana-v-embedding'을 개발했습니다. 이 모델은 비전-언어 모델(VLM) 아키텍처를 기반으로 텍스트와 이미지를 하나의 공통된 의미 공간에 표현하여, 검색, 추천, RAG(검색 증강 생성) 등에서 발생하는 복합적인 모달리티 요구사항을 효과적으로 해결합니다. 특히 지시어(Instruction) 기반 학습과 가변 차원 임베딩 기술을 적용하여 실무적인 유연성과 성능을 동시에 확보한 것이 특징입니다. **멀티모달 임베딩의 개념과 VLM 기반 아키텍처** * 텍스트와 이미지를 고정 길이의 벡터로 변환하여 동일한 의미 공간상에 배치함으로써, 서로 다른 형태의 데이터 간 유사도를 코사인 유사도 등으로 직접 비교할 수 있게 합니다. * 기존 CLIP 모델이 텍스트와 이미지를 독립적으로 처리하여 복합 입력에 한계가 있었던 점을 극복하기 위해, VLM 기반 프레임워크를 채택했습니다. * 텍스트와 이미지 토큰이 트랜스포머 레이어를 거친 후, 마지막 히든 스테이트의 [EOS] 토큰 표현을 추출하고 정규화하여 최종 임베딩으로 사용합니다. **지시어 기반 학습 및 가변 차원 지원** * 검색, 추천, 분류 등 수행하려는 태스크의 목적에 맞는 지시어(Instruction)를 입력 쿼리와 함께 제공하여, 목적에 특화된 임베딩 표현을 생성할 수 있도록 설계했습니다. * 마트료시카 표현 학습(Matryoshka Representation Learning) 기법을 적용하여 64차원부터 2,048차원까지 다양한 임베딩 크기를 지원합니다. * 이를 통해 지연 시간(Latency)이 중요한 서비스 환경과 고성능 품질이 필요한 환경 모두에 유연하게 대응할 수 있는 운영 편의성을 갖췄습니다. **성능 극대화를 위한 학습 테크닉과 KoEmbed 데이터셋** * 그래디언트 캐싱(Gradient Caching) 기술을 도입하여 GPU 메모리 한계를 극복하고 대규모 배치 사이즈(8k 이상) 학습을 구현함으로써 대조 학습의 효율을 극대화했습니다. * 하드 네거티브 마이닝(Hard Negative Mining)을 통해 정답과 유사하지만 실제로는 오답인 샘플을 학습에 활용하여 모델의 변별력을 높였습니다. * 한국어와 카카오 서비스 특유의 문맥을 반영하기 위해 텍스트-텍스트, 텍스트-이미지 쌍으로 구성된 대규모 내부 데이터셋 'KoEmbed'를 구축하여 학습에 투입했습니다. **벤치마크를 통한 성능 검증 및 실무 적용** * 한국어 텍스트 임베딩 성능 측정 지표인 Ko-StrategyQA를 포함한 MTEB 벤치마크에서 기존 모델들을 제치고 종합 1위를 기록하며 탁월한 한국어 이해 능력을 입증했습니다. * 멀티모달 검색 성능 지표인 M-BEIR에서도 글로벌 수준의 성능을 확인하여 텍스트-이미지 교차 검색 및 추천에서의 경쟁력을 확보했습니다. * 이 모델은 카카오톡 앨범 검색, 유사 상품 추천, 멀티모달 RAG 시스템 등 다양한 실 서비스에 적용되어 사용자 경험을 개선하는 데 활용될 예정입니다. Kanana-v-embedding은 단순한 기술적 연구를 넘어 한국어 사용자에게 실질적인 가치를 제공하기 위해 최적화된 모델입니다. 한국어 서비스 환경에서 텍스트와 이미지를 동시에 다루며 성능과 효율성을 모두 잡아야 하는 개발자들에게 이 모델의 대조 학습 최적화 기법과 가변 차원 임베딩 방식은 훌륭한 기술적 이정표가 될 것입니다.

“함께 구매하면 좋은 상품” 추천 모델 고도화 | 우아한형제들 기술블로그 (새 탭에서 열림)

배달의민족은 장보기·쇼핑 서비스에서 고객의 구매 의도를 더욱 정확하게 파악하기 위해 기존의 단순 임베딩 유사도 기반 추천에서 벗어나 구매 맥락을 반영한 2단계 추천 모델로 고도화했습니다. 기존 모델의 한계였던 대체재 편향 문제와 시퀀스 정보의 부재를 해결하기 위해 그래프 기반 임베딩과 트랜스포머(Transformer) 아키텍처를 결합한 것이 핵심입니다. 이를 통해 고객이 장바구니에 담은 상품들의 순서와 관계를 학습하여, 단순 유사 상품이 아닌 실제 함께 구매할 가능성이 높은 보완재 중심의 추천 성과를 거두었습니다. ### 기존 Item2Vec 모델의 한계와 문제점 * **대체재 편향 발생**: 기존 모델은 주문 내 동시 출현 빈도를 기반으로 임베딩을 생성하여, 비슷한 구매 패턴을 가진 상품들이 가깝게 배치되었습니다. 이로 인해 우유를 담았을 때 시리얼 같은 보완재 대신 다른 브랜드의 우유가 추천되는 등 추천의 다양성이 떨어졌습니다. * **시퀀스 맥락 소실**: 상품을 장바구니에 담는 순서에는 고객의 의도가 담겨 있지만, 기존 방식은 단순히 '함께 있었다'는 정보만 활용했습니다. 예를 들어 '라면을 담고 고기를 추가한 경우'와 '고기를 담고 라면을 추가한 경우'의 차이를 구분하지 못해 정교한 추천이 어려웠습니다. * **크로스 셀링의 어려움**: 임베딩 유사도에만 의존하다 보니 동일 카테고리 내의 상품 추천에 치중하게 되었고, 장바구니 추천의 핵심 목표인 '다른 카테고리 상품 제안(Cross-selling)'을 달성하기에 한계가 있었습니다. ### Stage 1: 그래프 기반 상품 및 카테고리 임베딩 * **Node2Vec 도입**: 주문 빈도가 낮은 롱테일 상품의 데이터 희소성 문제를 해결하기 위해 Node2Vec을 활용했습니다. 이는 그래프 구조에서 Random Walk를 통해 상품 간의 구조적 관계를 효과적으로 학습하게 해줍니다. * **그래프 구조 설계**: 상품 노드와 카테고리 노드를 함께 구성했습니다. 특히 상품 간 연결(Edge)에는 단순 빈도가 아닌 '연관 규칙(Association Rule)' 기반의 가중치를 부여하여, 인기 상품에만 편중되지 않고 실제 연관성이 높은 상품들이 강하게 연결되도록 했습니다. * **콜드 스타트 방안**: 신규 상품이나 주문 이력이 적은 상품은 카테고리 노드와의 연결을 통해 초기 임베딩을 확보할 수 있도록 설계하여 시스템의 견고함을 높였습니다. ### Stage 2: Transformer 기반 시퀀스 추천 * **맥락 이해**: Stage 1에서 생성된 고품질의 임베딩을 입력값으로 사용하여, 트랜스포머 모델이 장바구니에 담긴 상품들의 순서(Sequence)를 분석합니다. * **다음 상품 예측(Next Item Prediction)**: 고객이 현재 장바구니에 담은 일련의 상품 리스트를 바탕으로, 다음에 담을 가능성이 가장 높은 상품을 예측하는 방식으로 학습을 진행했습니다. * **동적 추천 성능**: 이 과정을 통해 고객이 요리를 위해 재료를 담는 과정인지, 혹은 간식거리를 쇼핑하는 중인지 등의 실시간 맥락을 반영한 개인화된 추천이 가능해졌습니다. 단순히 "어떤 상품과 어떤 상품이 자주 팔리는가"를 넘어 "어떤 순서로 구매 결정이 이루어지는가"를 모델링하는 것이 추천 시스템 고도화의 핵심입니다. 그래프 임베딩을 통해 상품 간의 관계를 정의하고, 트랜스포머를 통해 고객의 시퀀스 맥락을 읽어내는 2단계 구조는 데이터 희소성 극복과 추천의 정확도라는 두 마리 토끼를 잡을 수 있는 실용적인 접근법이 될 수 있습니다.

[인턴십] 2026 NAVER AI CHALLENGE를 소개합니다. (새 탭에서 열림)

네이버는 현업 엔지니어와 함께 실무 AI 과제를 해결하며 기술적 성장을 도모할 수 있는 '2026 NAVER AI CHALLENGE' 인턴십 지원자를 모집합니다. 이번 프로그램은 아이디어 설계부터 검증까지 전 과정을 경험할 수 있는 기회로, 참가자들에게는 전용 좌석과 최신 장비 등 몰입도 높은 개발 환경이 제공됩니다. 학년이나 전공에 제한 없이 AI 프로젝트에 열정이 있는 학·석사 재학생이라면 누구나 지원할 수 있습니다. **인턴십 선발 및 운영 일정** * **지원 접수**: 2025년 12월 10일(수)부터 12월 16일(화) 오전 11시까지 진행됩니다. * **전형 절차**: 12월 중 서류 전형을 거쳐 2026년 1월 초 직무 인터뷰가 진행되며, 최종 합격자는 1월 3주 차에 발표됩니다. * **활동 기간**: 2026년 1월 19일(월)부터 2월 13일(금)까지 총 4주간 인턴십이 진행됩니다. **지원 자격 및 활동 혜택** * **대상**: 전공과 상관없이 네이버의 AI 프로젝트에 관심 있는 학사 및 석사 재학생은 누구나 지원 가능합니다. * **지원 사항**: 원활한 협업과 멘토링을 위해 인턴 전용 좌석이 제공되며, 프로젝트 활동비와 업무에 필요한 최신 OA 장비를 지원합니다. * **성장 기회**: 네이버 현업 엔지니어가 직접 멘토로 참여하여 기술적 방향성을 제시하고 실무 노하우를 공유합니다. **수행 과제 및 기술 스택** 지원자는 다음의 두 가지 AI 전문 과제 중 하나를 선택하여 프로젝트를 수행하게 됩니다. * **데이터 파이프라인 지능화**: AI 기반의 데이터 파이프라인 로그 분석을 통해 Data Asset을 자동으로 매핑하고, 엔드투엔드(End-to-End) Data Lineage를 구축하는 과제입니다. * **VLM 기반 품질 평가**: 시각-언어 모델(VLM)을 활용하여 사용자 경험 중심의 검색 및 추천 품질을 자동으로 평가하는 시스템을 개발합니다. 네이버의 실무 데이터를 직접 다루며 기술적 난제를 해결해보고 싶은 학생들에게 이번 인턴십은 매우 귀중한 경험이 될 것입니다. 특히 데이터 엔지니어링과 멀티모달 모델 활용에 관심이 있다면, 마감 기한인 12월 16일 오전까지 포트폴리오를 정비하여 지원해 보시길 추천합니다.

레거시 정산 개편기: 신규 시스템 투입 여정부터 대규모 배치 운영 노하우까지 (새 탭에서 열림)

토스페이먼츠는 20년 동안 운영되어 온 레거시 정산 시스템의 한계를 극복하기 위해 대대적인 개편을 진행했습니다. 거대하고 복잡한 단일 쿼리 기반의 로직을 객체지향적인 코드로 분산하고, 데이터 모델링을 집계 중심에서 거래 단위로 전환하여 정산의 정확성과 추적 가능성을 확보했습니다. 이를 통해 폭발적인 거래량 증가에도 대응할 수 있는 고성능·고효율의 현대적인 정산 플랫폼을 구축하는 데 성공했습니다. ### 거대 쿼리 중심 로직의 분할 정복 * **문제점:** 수많은 JOIN과 중첩된 DECODE/CASE WHEN 문으로 이루어진 거대한 공통 쿼리가 모든 비즈니스 로직을 처리하고 있어 유지보수와 테스트가 매우 어려웠습니다. * **도메인 및 기능 분리:** 거대 쿼리를 분석하여 도메인별, 세부 기능별로 카테고리를 나누는 분할 정복 방식을 적용했습니다. * **비즈니스 규칙의 가시화:** 복잡한 SQL 로직을 Kotlin 기반의 명확한 객체와 메서드로 재구성하여, 코드상에서 비즈니스 규칙이 명확히 드러나도록 개선했습니다. * **점진적 전환:** 기능을 단위별로 분할한 덕분에 전체 시스템 개편 전이라도 특정 기능부터 우선적으로 새 시스템으로 전환하며 실질적인 가치를 빠르게 창출했습니다. ### 데이터 모델링 개선을 통한 추적 가능성 확보 * **최소 단위 데이터 관리:** 기존의 집계(Sum) 기반 저장 방식에서 벗어나 모든 거래를 1:1 단위로 관리함으로써, 오류 발생 시 원인 추적을 용이하게 하고 데이터 재활용성을 높였습니다. * **설정 정보 스냅샷 도입:** 계산 결과와 함께 당시의 계약 조건(수수료율 등)을 스냅샷 형태로 저장하여, 시간이 지나도 과거의 정산 맥락을 완벽히 복원할 수 있게 했습니다. * **상태 기반 재처리:** 거래별로 독립적인 상태를 기록하는 설계를 통해, 장애 발생 시 전체 재처리가 아닌 실패한 건만 선별적으로 복구할 수 있도록 효율화했습니다. ### 고해상도 데이터 대응을 위한 DB 최적화 * **파티셔닝 및 인덱스 전략:** 정산일자 기준의 Range 파티셔닝과 복합 인덱스를 활용해 데이터량 증가에 따른 조회 성능 저하를 방지했습니다. * **조회 전용 테이블 및 데이터 플랫폼 활용:** 실시간 조회가 필요한 핵심 기능은 전용 테이블로 대응하고, 복잡한 어드민 통계는 고성능 데이터 플랫폼에 위임하여 시스템 부하를 분산했습니다. ### 배치 시스템 성능 극대화 * **I/O 횟수 최소화:** 배치 실행 시점에 가맹점 설정 정보를 전역 캐시에 로드하여 반복적인 DB 조회를 제거했습니다. * **Bulk 조회 및 처리:** Spring Batch의 `ItemProcessor`에서 개별 건별로 I/O가 발생하지 않도록 Wrapper 구조를 도입하여 묶음 단위(Bulk)로 조회하도록 개선했습니다. * **멀티 스레드 활용:** `AsyncItemProcessor`와 `AsyncItemWriter`를 도입하여 단일 스레드 제약을 극복하고 처리 속도를 비약적으로 향상시켰습니다. 이번 개편은 단순히 기술적인 스택을 바꾸는 것을 넘어, 레거시 시스템에 숨겨진 복잡한 비즈니스 맥락을 명확한 도메인 모델로 추출해냈다는 점에서 큰 의미가 있습니다. 대규모 트래픽과 복잡한 정산 규칙을 다루는 시스템이라면, 데이터를 최소 단위로 관리하고 I/O 최적화와 캐싱을 적극적으로 활용하는 아키텍처를 검토해볼 것을 추천합니다.

우리는 코드처럼 문화도 리팩토링한다 (새 탭에서 열림)

배달의민족 커머스웹프론트개발팀은 조직 규모 확대에 따른 복잡도와 비효율을 해결하기 위해 문화를 코드처럼 리팩토링하며 '경계 없는 파트' 구조를 도입했습니다. 특정 도메인이나 서비스에 갇히지 않고 책임을 확장하는 R&E(Responsibility & Expandability) 원칙을 통해 기술적 통합과 조직의 유연성을 동시에 확보했습니다. 이러한 시도는 서비스 간 장벽을 허물고 구성원들이 커머스 전반을 조망하는 엔지니어로 성장하며, 비즈니스 요구에 기민하게 대응하는 결과로 이어졌습니다. ### 경계 없는 파트와 R&E 중심의 조직 구성 * **전통적 분할 방식의 탈피**: 프로젝트, 페이지, 서비스(B마트/배민스토어) 단위로 조직을 나눌 경우 발생하는 리소스 불균형과 도메인 파편화 문제를 해결하기 위해 고정된 경계를 제거했습니다. * **R&E(Responsibility & Expandability) 도입**: 단순히 주어진 역할만 수행하는 R&R을 넘어, 문제 해결을 위해 업무 영역을 스스로 확장하고 동료를 돕는 'Own It' 정신을 조직 구조에 이식했습니다. * **유연한 리소스 배분**: 약 20명의 프론트엔드 개발자를 3개 파트로 나누되, 특정 도메인에 종속시키지 않고 팀 상황에 따라 업무를 배분하여 병목 현상을 최소화했습니다. ### 기술적 통합을 통한 도메인 확장성 확보 * **통합 아키텍처 구축**: B마트와 배민스토어의 상품 카드 및 상세 화면 등 유사한 UI/UX를 공통 모듈로 추상화하고 API 구조를 맞춤으로써 코드 베이스의 일관성을 확보했습니다. * **엔지니어링 역량 강화**: 개발자들이 고객 서비스의 UX부터 어드민의 데이터 흐름까지 전방위적인 도메인을 학습하게 하여, 특정 기능 담당자가 아닌 커머스 전체를 이해하는 전문가로 성장하도록 유도했습니다. * **리스크 관리(Bus Factor 개선)**: 특정 인원이 부재하더라도 다른 팀원이 맥락을 즉시 이어받을 수 있는 구조를 만들어 프로젝트 중단 위험인 '버스 팩터'를 획기적으로 낮췄습니다. ### 지속적인 개선을 위한 소통과 기록의 리팩토링 * **의사결정 자산화(ADR)**: 단순한 기획 공유인 1Pager 방식에서 나아가, 기술적 결정의 배경과 맥락을 기록하는 ADR(Architecture Decision Record)을 도입해 팀의 지식을 체계적으로 관리합니다. * **루틴의 재설계와 자동화**: 반복적인 업무나 귀찮은 과정을 레거시로 남기지 않고, 자동화와 프로세스 개선을 통해 개발 효율성을 지속적으로 높입니다. * **심리적 안전감 기반의 협업**: '불판'과 같은 자유로운 논의 문화를 통해 실패를 과정으로 수용하고, 질문이 스터디로 이어지는 선순환 구조를 구축했습니다. 성장하는 조직에서 발생하는 비효율을 방치하지 않고, 코드 리팩토링과 같은 관점에서 구조와 문화를 끊임없이 개선하는 태도가 중요합니다. 특히 도메인 간 경계를 허무는 시도는 대규모 서비스 통합이라는 복잡한 비즈니스 과제를 해결하는 데 매우 강력한 전략이 될 수 있습니다.

당근 데이터 지도를 그리다: 컬럼 레벨 리니지 구축기. SQL 파싱으로 구축한 컬럼 레벨 데이터 리니지 | by Jin-won Park | 당근 테크 블로그 | Dec, 2025 | Medium (새 탭에서 열림)

당근마켓(당근) 데이터 가치화팀은 데이터의 흐름을 투명하게 파악하여 신뢰성을 높이기 위해 SQL 파싱 기반의 **컬럼 레벨 데이터 리니지(Column-level Lineage)** 시스템을 구축했습니다. 기존의 테이블 단위 추적으로는 해결하기 어려웠던 연쇄 장애 대응과 민감 정보(PII) 관리 문제를 해결하기 위해, 모든 BigQuery 쿼리 로그를 분석하여 데이터 간의 세부 의존 관계를 시각화했습니다. 이를 통해 당근의 복잡한 데이터 생태계에서 변경 영향도를 정교하게 분석하고 장애 복구 시간을 단축하는 성과를 거두었습니다. ### 데이터 흐름의 불투명성으로 인한 문제점 * **연쇄 실패 대응의 어려움**: 특정 테이블의 파이프라인이 실패했을 때 이를 참조하는 하위 테이블들을 즉각 파악할 수 없어, 수동으로 쿼리를 전수 조사하며 문제를 해결해야 했습니다. * **스키마 변경의 불확실성**: 원천 데이터(MySQL 등)의 컬럼을 삭제하거나 타입을 변경할 때, 해당 컬럼을 사용하는 수많은 파생 테이블 중 어떤 곳에 장애가 발생할지 예측하기 어려웠습니다. * **민감 정보 추적 불가**: PII(개인정보)가 여러 가공 단계를 거치며 어떤 테이블의 어떤 컬럼으로 흘러가는지 파악되지 않아 보안 관리 측면에서 한계가 있었습니다. ### 컬럼 레벨 리니지 도입의 기술적 의사결정 * **테이블 레벨의 한계**: BigQuery의 기본 기능을 통한 테이블 단위 추적은 뷰(View)의 기저 테이블을 정확히 파악하기 어렵고, 세부 컬럼의 변화를 감지하지 못하는 단점이 있었습니다. * **오픈소스(OpenLineage) 대비 효율성**: 다양한 조직이 각기 다른 환경(Airflow, 노트북 등)에서 쿼리를 실행하는 당근의 특성상, 모든 환경에 계측 코드를 심는 방식보다는 중앙화된 BigQuery 로그를 분석하는 방식이 운영 부담이 적다고 판단했습니다. * **SQL 파싱 접근법**: 실행된 모든 SQL의 이력이 남는 `INFORMATION_SCHEMA.JOBS` 뷰를 활용하여, 실행 환경과 관계없이 모든 쿼리로부터 의존성을 추출하는 방식을 채택했습니다. ### 시스템 아키텍처 및 추출 프로세스 * **기술 스택**: 대량의 쿼리 병렬 처리를 위해 **Spark**를 활용하고, SQL 파싱 및 AST(Abstract Syntax Tree) 분석을 위해 **sqlglot** 라이브러리를 사용하며, **Airflow**로 주기적인 추출 프로세스를 자동화했습니다. * **데이터 수집 및 분석**: 모든 GCP 프로젝트에서 쿼리 로그를 수집한 뒤, sqlglot으로 쿼리 구조를 분석하여 `Source Column -> Target Column` 관계를 도출합니다. * **엣지 케이스 처리**: `SELECT *`와 같은 와일드카드 쿼리는 테이블 메타데이터를 결합해 실제 컬럼명으로 확장하고, 복잡한 CTE(Common Table Expressions)나 서브쿼리 내의 의존성도 AST 탐색을 통해 정확하게 추적합니다. ### 데이터 지도를 통한 실질적 변화 * **정교한 영향도 분석**: 특정 컬럼 수정 시 다운스트림에서 이를 참조하는 모든 컬럼을 즉시 확인하여 사전에 장애를 예방할 수 있게 되었습니다. * **거버넌스 강화**: 데이터의 원천부터 최종 활용 단계까지의 흐름을 시각화함으로써 데이터 가계도(Data Genealogy)를 완성하고, 데이터 보안 및 품질 관리 수준을 한 단계 높였습니다. * **운영 효율화**: 장애 발생 시 영향 범위를 데이터 지도를 통해 한눈에 파악함으로써 원인 파악과 복구에 소요되는 리소스를 획기적으로 줄였습니다. 데이터 플랫폼의 규모가 커질수록 수동 관리는 불가능해지므로, 초기부터 SQL 로그를 활용한 자동화된 리니지 체계를 구축하는 것이 중요합니다. 특히 실행 환경이 파편화된 조직일수록 애플리케이션 계측보다는 쿼리 엔진의 로그를 파싱하는 접근법이 빠른 도입과 높은 커버리지를 확보하는 데 유리합니다.

Athenz 엔지니어는 왜 Kubestronaut에 도전했는가? (새 탭에서 열림)

보안 플랫폼 Athenz를 담당하는 엔지니어가 쿠버네티스 전문가의 상징인 'Kubestronaut' 칭호를 얻기까지의 도전과 성장을 다루고 있습니다. 실무에서 마주한 기술적 한계를 극복하기 위해 시작된 이 여정은 단순한 자격증 취득을 넘어 클러스터 운영, 보안, 그리고 오픈소스 거버넌스에 대한 깊은 통찰로 이어졌습니다. 결국 체계적인 학습으로 쌓은 전문 지식은 더 견고한 아키텍처를 설계하고 팀의 기술적 역량을 끌어올리는 핵심 자산이 되었습니다. **Kubestronaut과 5단계 인증 체계** * Kubestronaut은 CNCF(Cloud Native Computing Foundation)에서 수여하는 칭호로, 쿠버네티스 관련 5가지 핵심 자격증을 모두 보유한 전문가를 의미합니다. * 인증 자격은 실무 능력을 평가하는 실습형 시험인 CKA(관리자), CKAD(개발자), CKS(보안)와 지식 수준을 측정하는 KCSA, KCNA로 구성됩니다. * 특히 CKA, CKAD, CKS는 실제 터미널 환경에서 제한 시간 내에 문제를 해결해야 하므로 국제적으로 실무 역량을 입증하는 지표가 됩니다. **역할에 따른 단계별 역량 확장** * **CKAD(Application Developer):** Athenz라는 애플리케이션을 쿠버네티스에 안정적으로 배포하기 위해 가장 먼저 취득했으며, 상황 파악 및 대응 속도를 높이는 데 집중했습니다. * **CKA(Administrator):** 여러 클러스터를 관리하고 매니페스트 파일을 분석하는 능력을 배양했습니다. 쿠버네티스 내부 컴포넌트 간의 유기적인 연동 원리를 파악하여 대규모 시스템 설계의 기초를 다졌습니다. * **CKS(Security Specialist):** 보안 플랫폼 담당자로서 클러스터 자체의 보안을 책임지기 위해 도전했습니다. 취약점 분석, 네트워크 정책 설정 등 실무적인 클러스터 강화 기술을 습득한 가장 난도 높은 과정이었습니다. **전문 지식이 실무에 미친 영향** * 오픈소스 거버넌스 이해: SIG(Special Interest Groups)나 PR 규칙 등 거대 프로젝트의 운영 방식을 체계적으로 이해하게 되었으며, 이는 Athenz 프로젝트의 성장 전략 수립에 영감을 주었습니다. * 아키텍처 설계 역량: 최근 진행 중인 'BMaaS(Bare Metal as a Service) 환경에 Athenz 제공' 프로젝트에서 더 안정적이고 효율적인 구조를 설계하고 동료들을 설득하는 근거가 되었습니다. * 문제 해결 속도 향상: 실습 위주의 준비 과정을 통해 실무 환경에서 발생하는 기술적 난제를 더 빠르고 정확하게 진단할 수 있게 되었습니다. **지속 가능한 성장을 돕는 환경과 철학** * '우보천리(牛步千里)'의 자세로 매일 새벽 공부와 GitHub 커밋을 실천하며 꾸준함을 유지했습니다. * 회사의 Udemy Business 지원, 하이브리드 근무 환경, 그리고 자격 취득 비용 지원 제도 등을 적극적으로 활용하여 학습 효율을 높였습니다. * 단순 작업을 넘어 시스템 전체의 이상적인 아키텍처를 고민하고 토론하는 팀 문화가 성장의 강력한 동기부여가 되었습니다. 쿠버네티스의 방대한 생태계 앞에서 망설이고 있다면, 자격증 취득을 하나의 이정표로 삼아 도전해 보길 권장합니다. 단계별 학습을 통해 얻는 넓은 시야와 깊은 기술적 디테일은 엔지니어로서 한 단계 더 도약할 수 있는 확실한 발판이 되어줄 것입니다.

AI 챗봇 사용에 대한 (새 탭에서 열림)

Google Research가 발표한 'Urania' 프레임워크는 차분 프라이버시(Differential Privacy, DP)를 활용하여 사용자 대화의 비밀을 엄격하게 보호하면서도 AI 챗봇 사용 패턴에 대한 고차원적인 인사이트를 도출합니다. 기존의 휴리스틱한 개인정보 제거 방식과 달리, 이 모델은 수학적으로 증명된 프라이버시 보장을 제공하여 특정 개인의 데이터가 분석 결과에 노출되는 것을 원천적으로 차단합니다. 이를 통해 플랫폼 운영자는 프라이버시 침해 우려 없이 서비스 개선 및 안전 정책 준수를 위한 대규모 언어 모델(LLM) 사용 트렌드를 분석할 수 있습니다. **기존 방식의 한계와 수학적 프라이버시의 도입** * 기존의 CLIO와 같은 프레임워크는 LLM이 대화에서 개인식별정보(PII)를 스스로 제거하도록 유도하는 휴리스틱 방식에 의존하여, 모델 진화에 따른 보안 유지나 엄격한 감사가 어려웠습니다. * Urania는 차분 프라이버시의 '사후 처리(Post-processing)'와 '합성(Composition)' 속성을 활용하여, 파이프라인의 각 단계에서 발생하는 프라이버시 손실을 수학적 예산(ε) 내에서 관리합니다. * 이러한 접근법은 프롬프트 주입 공격(Prompt Injection)과 같은 위협으로부터 자유로우며, LLM이 원본 대화 내용을 직접 보지 못하게 설계되어 보안성을 극대화합니다. **3단계 데이터 보호 파이프라인 구성** * **DP 클러스터링**: 대화 내용을 수치적 임베딩으로 변환한 뒤, 특정 대화가 클러스터 중심에 과도한 영향을 미치지 않도록 제한하는 알고리즘을 사용하여 유사한 대화들을 그룹화합니다. * **DP 키워드 추출**: 클러스터 내에서 빈번하게 등장하는 키워드를 집계할 때 노이즈를 추가하는 히스토그램 메커니즘을 적용하여, 여러 사용자에게 공통된 키워드만 추출하고 고유한 민감 정보는 걸러냅니다. * LLM 가이드 선택: LLM이 대화별로 상위 5개 키워드를 생성하게 함. * DP TF-IDF: 단어 빈도와 문서 역빈도를 계산하여 가중치를 부여하는 전통적 방식의 DP 버전. * 사전 정의 목록 활용: 공개 데이터를 통해 구축된 키워드 후보군 중에서 LLM이 적합한 항목을 선택하게 함. * **LLM 기반 요약**: 요약 단계의 LLM은 원본 대화가 아닌 익명화된 '키워드 리스트'만을 입력받아 최종 인사이트를 생성하며, 이는 프라이버시 보존 결과물에 대한 안전한 사후 처리에 해당합니다. **프라이버시와 분석 유용성의 균형** * 성능 평가 결과, 프라이버시 보호 강도(낮은 ε 값)가 높을수록 요약의 구체성은 다소 하락하는 트레이드오프 관계가 관찰되었습니다. * 그럼에도 불구하고 Urania는 단순한 비공개 방식(Simple-CLIO)과 비교했을 때, 수학적 안전성을 담보하면서도 실무에 적용 가능한 수준의 고차원적 사용 패턴 요약을 제공함을 입증했습니다. * 이 프레임워크는 데이터 분석의 품질을 유지하면서도 사용자의 신뢰를 보장해야 하는 기술 기업들에게 표준화된 개인정보 보호 분석 가이드라인을 제시합니다. 조직에서 대규모 챗봇 데이터를 분석해야 한다면, 단순히 LLM의 필터링 능력에 의존하기보다 Urania와 같이 수학적으로 증명된 차분 프라이버시 파이프라인을 구축하는 것이 장기적인 보안 및 규제 대응 측면에서 권장됩니다.

업무 효율화, 작은 단계부터 다시 보기 (새 탭에서 열림)

토스 리서치 플랫폼 팀은 업무 효율화를 거창한 시스템 구축이 아닌, 개별 액션 단위의 세밀한 분석과 점진적인 개선 과정으로 정의합니다. 프로세스를 잘게 쪼개어 불필요한 단계를 제거하고 반복되는 작은 작업을 자동화함으로써, 팀 전체의 리소스를 절약하고 더 본질적인 리서치 업무에 집중할 수 있는 환경을 구축했습니다. 이를 통해 효율화는 완벽한 결과물을 한 번에 만드는 것이 아니라, 사소한 불편함을 꾸준히 덜어내는 과정임을 증명했습니다. ### 액션 단위의 정밀한 현황 파악 * 프로세스를 단순히 단계별로 나열하는 '겉핥기식 정리'에서 벗어나, '누가, 어디서(툴/채널), 무엇을, 왜' 하는지 구체적인 개별 액션으로 쪼개어 분석합니다. * 시간, 담당자, 도구 등 일관된 기준을 적용하여 과정을 정리해야 예외 상황을 명확히 파악하고 읽는 사람이 오해 없이 이해할 수 있습니다. * 가끔 발생하는 예외 케이스까지 함께 정리함으로써 기존 프로세스의 부족한 점을 보완하는 힌트를 얻습니다. ### 본질적인 질문을 통한 문제 정의 * 각 액션에 대해 "이 작업이 왜 필요한가?"라는 질문을 던져, 목적이 불분명한 단계는 과감히 삭제하고 꼭 필요한 단계는 더 쉬운 방법을 모색합니다. * 예를 들어, 인터뷰 일정 생성은 자동화하되 팀원들이 이미 캘린더를 잘 확인한다면 별도의 메시지 전송 단계는 생략하는 식의 의사결정을 내립니다. * 개별적으로는 몇 초 걸리지 않는 사소한 업무라도 여러 사람이 반복하면 큰 비효율이 되므로, 반복되는 작은 액션을 줄이는 데 집중합니다. ### 이해관계자 중심의 우선순위 선정 * 우선순위를 정할 때는 자신의 리소스나 시급성뿐만 아니라 '많은 사람에게 영향을 미치는지', '다른 업무에 연관되는지', '소요 시간이 얼마나 긴지'를 종합적으로 판단합니다. * 내 업무에는 큰 영향이 없더라도 운영 담당자나 협업자의 더블 체크 시간을 줄여줄 수 있다면 해당 업무를 우선 개선 대상으로 삼습니다. * '내 기준'이 아닌 이 일에 영향을 받는 '모든 이해관계자'의 관점에서 임팩트를 측정하는 것이 핵심입니다. ### 리스크를 최소화하는 점진적 해결책 적용 * 처음부터 모든 과정을 완벽하게 자동화하려 하기보다, 현재 기술로 가능한 작은 부분부터 개선을 시작합니다. * 새로운 방식 도입이 우려될 경우 전체에 바로 적용하기보다 일부 케이스에만 테스트 기간을 두어 점진적으로 적용하며 피드백을 수렴합니다. * 완벽한 준비보다는 '언제든 이전 방식으로 돌아갈 수 있다'는 유연한 사고를 바탕으로 작은 실험을 반복하며 해결책을 정교화합니다. 업무 효율화가 막막하게 느껴진다면 지금 하고 있는 일을 클릭, 입력, 공유와 같은 최소 단위로 쪼개보세요. 거대한 시스템을 새로 만들지 않아도, 매일 반복되는 자잘한 수고를 덜어내는 것만으로도 팀 전체에 체감되는 큰 변화를 만들어낼 수 있습니다.