이번 주에는 공교롭게도 코엑스에 세번째 방문했는데, 이번엔 팀네이버 컨퍼런스 DAN25 방문이 목적이었다. 작년에는 클릭을 늦게 해서 신청에 실패해 오프라인 방문은 못했는데, 올해는 꼭 가보겠단 마인드로 재빠르게 신청해 다녀올 수 있었다.

11월 6일 목요일, 7일 금요일 양일 간 진행했는데, 첫날인 목요일은 온라인으로 키노트만 들었다.
키노트는 꽤 흡인력이 있었다. 최수연 CEO님, 김범준 COO님, 이종민 광고 사업 부문장님, 이재후 네이버앱 서비스 부문장님, 김유원 네이버 클라우드 CEO님이 차례로 진행하셨다.
들으면서 바로 느껴진 인상적이었던 부분은, 작년 DAN24에서 약속했던 내용들을 먼저 짚고 그것을 올해까지 잘 지켜왔는지, 그리고 그것을 바탕으로 하여 올해는 좀 더 나아가서 (컨퍼런스 및 네이버에서) 어떤 주제를 다룰 것인지를 이야기한 것이었다. 이런 식으로 자신들이 한 말을 한번 내뱉고 끝이 아니라 약속을 지키는 기업이라는 신뢰의 메시지를 주려고 한 것 같은데, 의도가 보이든 어떻든 좋은 자세 같다.
키노트의 주요 키워드는 SK 써밋에서와 유사했다. Agentic AI, 소버린 AI, ProActive 등.
네이버만의 특징은, 검색, 뉴스, 쇼핑, 뮤직 등 네이버가 이미 갖춰둔 많은 서비스 경로를 통해 획득한 "사용자 정보"(비대화형 컨텍스트)를 바탕으로 더 개인화된 경험을 제공할 에이전트를 개발하려 한다는 것이었다.
이것이 네이버의 큰 경쟁력이자 무기라는 생각이 크게 들었다. 이미 갖추어진 서비스가 많고, 각 서비스들에 어느 정도의 사용자들이 있다는 것. 팀네이버는 그러한 데이터를 잘 활용할 방법을 모색하여 지금까지 없었던 사용자 경험을 제공할 수 있는 것이다.
예를 들어 이미 네이버 앱으로 접속하면 뜨는 피드는 몇번 사용해보면 알 수 있듯이 내가 검색하거나 클릭해본 정보를 바탕으로 맞춤 컨텐츠를 제공한다. 사용자로서는 이게 편할 때도 있고 좀 꺼림칙할 때도 솔직히 있었으나, personA 세션에서 공유한 내용처럼 뉴스 기사를 보고 있을 때 내가 평소 관심 있는 주제와 정보 수집 패턴을 바탕으로 관심 있을 법한 추가 정보를 제공하는 캔버스는 꽤나 유용해 보였다. (자세한 내용은 아래에)
추후 출시될 쇼핑 에이전트에 대해서도 언급했는데 이것도 흥미로웠다. 예를 들어 사용자가 온라인으로 쇼핑을 할 때 주문한 제품의 배송이 오래 걸릴 경우, 사용자의 위치 근처에서 픽업 가능한 매장이 있는지 찾아서 사용자에게 '픽업하고 싶은지' '먼저' 물어보고, 사용자가 원한다고 답하면 픽업 예약까지 잡아주는 식의 경험을 제공할 거라고 했다. 실제로 써보면 어떨지 꽤 궁금하다.
개인화된 광고를 띄워줄수록 더 의미있는 광고, 사용자가 효능감을 느낄 광고를 제시할 수 있다는 점도 공감이 됐다. 사실 광고가 뜨지 않는 게 가장 사용자로선 만족스러운 방향이지만, 기왕 뜰 거면 나에게 필요한 정보를 보여주는 것도 나쁘진 않단 인식을 요즘 인스타그램을 통해서 하고 있었기 때문이다. 인스타그램에서는 누가봐도 너무나 광고인 광고가 많이 떠서 불쾌한 적도 있었지만, 이런 컨퍼런스 정보나 내가 정말 몰랐으나 필요한 제품 광고 같은 게 뜨기도 해서 유용하기도 했다. 그 뒤로는 광고를 마냥 넘기기보단 어느 정도 주의깊게 보게 되더라고..
또 네이버에는 소버린 AI의 일종으로 한국은행과 한국수력원자력에 안전하고 신뢰할 수 있는 AI를 제공하고 있다고 했다. 이런 국가 차원의 AI를 개발하는 데 일조할 수 있단 것도 꽤 재밌고 보람있지 않을까 하는 생각이 불쑥 들었다. 심지어 사기업인 네이버에서 일하는데 이런 일을 할 수 있다니..!! 지금 연구하고 계신 분들이 부럽기도 하고 그랬다.
로보틱스를 개발하는 피지컬 AI 분야 연구도 하고 있는데, 방위 산업과 농업 산업 등에 활용 중이라고 했다. 네이버에서 이런 분야까지 관여하고 있는지 처음 알았다. 두 산업 분야 모두 잘 활용하면 큰 도움이 되지 않을까? 희생되는 사람을 줄일 수 있고, 부족한 농업 일손 문제를 해결하는 데 도움이 될 것 같아 앞으로의 소식이 기대된다.
다양한 사례들을 이야기하며, 기술의 진정한 가치는 "연결" (사람과 사람을 연결하는..)에 있다는 믿음을 바탕으로 네이버는 '모두를 위한 기술'을 추구한다는 결론으로 키노트는 마무리되었다. 평소 네이버 검색 엔진과 지도, 네이버 페이 정도를 사용하는 사용자로서 네이버가 이런 가치를 중시하는 줄은 정말 몰랐다. 이후에 들은 세션에서도 좀 사람다운 기업이란 느낌을 받기도 해서 신기했다. 어쨌든 모든 기업들은 다 목적을 가지고 존재할텐데, 기술을 수단으로하여 인간적인 목적을 달성하고자 한다는 게 좋게 보였다.
나는 아래의 세션들을 들었다.
세션 하나당 시간이 sk보다 길어서 더 자세한 배경이나 구현 방식 설명을 들을 수 있어 잘 모르는 개념이 있는 발표여도 맥락을 따라갈 수 있어 좋았다. FE, BE와 직접 연계된 주제는 없었지만, AI 주제뿐만 아니라 DevOps 주제들도 있어 조금은 다양한 느낌이었다. 키노트에서 발표한 내용을 각 세션을 통해 구체적으로 들을 수 있어 하나의 유기적인 컨텐츠라는 느낌을 받았다. 특히 검색이나 쇼핑 경험의 개인화가 궁금했는데, personA 세션에서 그걸 구현한 실무자들의 발표를 들을 수 있었다. 네이버의 다양한 서비스들에서 수집한 사용자의 행동 로그를 네이버만의 메모리로 축적하는 방식이 인상적이었다. 네이버 검색 시스템뿐만 아니라 음악, 영상, 쇼핑, 카페 등 이미 구축된 다양한 기반이 있다는 게 앞으로 AI를 활용해 더 개인화된 경험을 제공할 수 있는 네이버의 큰 무기라는 게 새삼 놀라웠다.
또 네이버 컨퍼런스의 장점은 세션 전에 미리 발표 장표를 모두 제공해서 구체적으로 어떤 내용을 다룰지 미리 알고 가장 관심 있는 주제를 선택할 수 있단 점이었다. 미리 장표를 읽어본 덕에 이해하기도 더 수월했다. (세션 자료는 홈페이지에서 각 주제를 클릭하면 pdf 형태로 모두 다운받을 수 있다.)
네이버의 수많은 서비스들에서 사용자의 행동 관련한 로그, 그리고 또 다른 로그들도 있겠지? 그런 전사적 차원의 로그를 수집하는 체계를 개선한 이야기였다. 기존 체계의 문제점 네가지와 그것을 어떻게 극복했는지를 구체적으로 공유해주셨다.
가장 이해되고 기억에 남는 건 아래 두가지다.
낮/새벽 트래픽의 차이 (-낮/새벽을 임의로 구분하는 게 아니라, 트래픽이 많은/적은 시간을 구별)
피크 시간 트래픽을 기준(주로 낮시간)으로 넉넉한 규모의 클러스터를 마련해두었는데, 이는 트래픽이 적은 시간에는 당연히 리소스가 많이 남아 비용 비효율적이다. 문제 해결을 위해 피크 시간 트래픽 중 일부(실시간으로 처리하지 않아도 괜찮은 데이터)를 피크가 아닌 시간대에 처리할 수 있도록 변경했다.
'처리 중단'을 허용하는지 여부를 저장할 옵션을 추가해, 클러스터가 BackPressure 상태가 될 경우 해당 옵션 값에 따라 다르게 처리하는 식이다. 처리 중단을 허용한 데이터일 경우, 백프레셔가 활성화된 상태에서는 후에 처리하도록 별도 토픽에 쌓아두었다고 한다. (백프레셔 상태는 뒷단의 컴포넌트별 부하를 바탕으로 판단하며, 후 처리를 위해 별도로 쌓아둔 데이터가 시간 안에 처리되지 못할 경우엔 담당자/담당팀?에게 연락이 가는 방식으로 체계를 구축했다고 이해했다.)
모든 로그를 공평하게 처리해 장애 발생 등 비상시에 중요한 로그와 덜 중요한 로그가 모두 지연되는 문제 -> 중요도에 따라 우선순위 구별
클러스터가 Mayday 상태가 될 경우, 우선순위별로 데이터를 차등 처리하도록 조치. Mayday 상태가 해제되면 기존과 동일하게 처리.
DB 스키마를 설계할 때나 이런 체계를 구축할 때, 적은 추가로 핵심적인 문제를 해결할 수 있도록 하는 것이 중요한 역량임을 느끼고 있었는데, 이 세션을 들으면서 또 그 생각이 떠올랐다. 이런 클러스터 등의 개념은 잘 몰라서 잘못 이해한 걸 수도 있겠지만..
클릭과 같은 사용자의 행동 로그를 의도와 맥락이 담긴 정보로 해석해서, 사용자를 더 깊이 이해한 PersonA를 정의한다는 것이 흥미로웠다. 또 단순히 사용자가 관심 갖는 주제를 파악하는 것뿐만 아니라 사용자가 정보를 어떻게 연결하고 파고들어 탐색하는지 그 패턴까지 분석해 활용한다는 것이 재밌었다.
사용자의 행동이 담긴 Raw Data를 바탕으로 ShortTerm Memory, LongTerm Memory를 구성한다. 이 과정에서는 사용자의 액션을 수집하고 메모리화하기 위한 자체 플랫폼인 Dexter를 활용한다. 그렇게 수집한 메모리를 활용해서 PEP(Personalized Exploration Partner)라는 AI 에이전트 시스템이 결론적으로 사용자에게 개인화된 정보를 제공하는 플로우인 것 같다. 이 에이전트는 사용자의 명시적 요청 없이도 상황과 맥락을 파악해 프로-액티브하게,, 선제적으로 제안하고 추천하는 에이전트다.
사용자가 뉴스 기사를 보고 있는 상황에서 이 에이전트는 다음과 같은 역할을 한다.
발표 자료에서 캡처!
나는 이렇게 이미 가지고 있는 데이터를 잘!! 활용해서 뭔가 유의미한 인사이트를 제공하는 게 너무 재밌다. 이런 플로우를 만들기까지 막히는 부분도 많으셨겠지만 재밌었을 것 같다.. 앞으로 네이버를 쓰면서 이런 AI 피처들이 나올 때 더 관심을 갖고 보게 될 것 같다.
이 세션의 내용이 더 머리에 잘 들어오고 기억에 남는 이유는 나의 현재 문제와도 닿아있기 때문이리라..
회사에서 영업팀이 실제 사용자 데이터를 확인하고 그걸 활용해서 전략을 짜고 싶단 요청을 했었다. 그것만을 위해서 새로운 관리자 서비스를 개발하거나 하는 건 우리 인력 수준에서 불가능한 일이었다. (리소스 낭비..!) 그래서 어떻게 해결할 수 있을까 고민했었는데, 두가지 안을 냈었다.
첫번째는 사용 중인 Supabase의 SQL Editor에서 영업팀이 원하는 데이터를 뽑아낼 SQL 쿼리문을 작성하고 개발팀에서 직접 (매주..) 실행하고, 쿼리 결과 데이터를 뽑아 공유 드라이브에 업로드하는 방식이었다. (실제로 3주 정도 했다..)
이 방식의 장점은 아무런 체계를 구축할 필요 없이 즉각적으로 적용할 수 있단 것이다. 단점은 영업팀이 원하는 데이터가 변경/추가될 경우 새로운 쿼리문을 작성해야 한다는 것, 그리고 더 심각한 것은 매주 이를 실행해서 공유해야 한다는 것이다. (물론 이 부분은 이 체계를 계속 유지할 거라면 자동화할 방법을 찾으려 했었다.) 게다가 실시간으로 정보 확인하기도 어렵다.
두번째는 데이터 시각화 툴 Grafana를 이용하는 것이다. Grafana는 다양한 DB와의 연동이 쉽고 자유롭다. Supabase도 조금만 살펴보면 금방 연동할 수 있었다! 위에서 작성한 SQL 쿼리문을 추가하고 적절한 시각화 방식(막대 그래프나 원 그래프, 표 등 데이터 특성에 맞게)만 선택해 저장 및 공유하면, 영업팀에서 실시간 정보를 확인할 수 있으며 개발팀에서는 추가적인 공수가 들지 않는다. 다른 데이터를 원한다는 요청이 들어올 경우에만 쿼리를 새로 작성해서 추가해주면 된다. 그래서 지금은 이 체계를 사용 중이다.
이 경험이 이 세션을 더 집중해서 듣게 만들었다. 네이버와 같이 더 큰 규모의 회사는 직원/부서별 역할이 명확히 나누어져 있어서 그런지 많은 부서에서 데이터 조회 요청을 많이 하나보다. 이 문제를 해결하기 위해 해당 팀에서는 원래는 내가 지금 Grafana를 활용하는 것과 비슷하게 대시보드 형식의 '케플러 스튜디오'를 먼저 개발했다고 한다. 그러나 SQL이 익숙하지 않은 팀원들에게는 여전히 데이터 활용에서 장벽이 있었다. 그래서 대화를 기반으로 하여 사용자가 자율적으로 데이터를 뽑아낼 수 있는 방식으로 전환한 것이 '케플러 챗'이다.
우리가 흔히 알고 있는 챗 인터페이스를 활용한 것이다. 그래서 어떻게 활용하는 건지 상상하기 쉬웠다. 사용자가 입력한 자연어를 기반으로 SQL 쿼리를 생성하고, 원하면 실행까지 해주고, 쿼리 결과를 차트로 시각화하고 인사이트까지 제공하도록 개발했다고 한다. (와웅!) 이 피처 자체도 너무나 매력적이었다.
구체적으로 어떻게 구현했으며 어떻게 발전해 왔는지(& 앞으로 어떻게 발전시킬 것인지)를 세션을 통해 소개해주셨다.
인상적인 부분은, 컨플루언스 연동을 통해 사내 문서를 임베딩하여 내부 약어에 대한 맥락적인 이해를 지원한 것이었다. 우리만해도 기능의 용어를 변경하면서 테이블명이 이전 기능 이름을 아직도 사용하고 있는데, 이런 사정을 담은 내부 문서 없이는 제대로된 쿼리가 불가능할 것이다. 이런 맥락 데이터를 제공할 방법을 찾았다는 게 오호! 포인트였다.
쿼리의 실행은 Trino를 사용했다고 한다. Trino는 처음 들어서 좀 더 살펴보려 한다.
또 대기업 모먼트를 느낀 부분은, 당연히 사용자별로 데이터 접근 권한의 수준이 다를 것인데, 인증 시스템을 구현하여 쿼리하는 데이터의 수준도 그 사용자별 권한을 바탕으로 가능하게 구현했다는 부분이었다. 또 그런 접근 기록을 자동으로 로그가 남게 해서 투명성도 확보했다고 한다.
피처 자체만 봤을 때도 큰 효익이 느껴질 것 같은데, 이를 구현하는 과정에서 이런 디테일들까지 신경썼다는 점이 매력적이어서 재밌게 들었다. 네이버 웹툰 서비스 팀에서 시작했다는데, 전사 차원의 표준화까지를 목표로 한다고 한다. 도전적인 과제겠지만 재밌고 뿌듯할 것 같다.
PersonA 세션에서 다룬 내용이 네이버 '사용자'의 데이터를 잘 활용하는 창의적인 방법이라면, 케플러 챗 세션에서 다룬 내용은 네이버 구성원, 팀원들이 네이버가 가진 데이터를 잘 활용할 수 있도록 돕는 창의적인 방법이었다. 그 과정에서 컨플루언스와 같은 기존의 데이터도 야무지게 활용한 것이 인상적이었다. 나도 역량이 된다면 이런 걸 개발해보고 싶기도 하고, 우리도 이런 케플러 챗이 있다면 좋겠단 생각에 부럽기도 했다. (아직 사용자도 팀원도 적어서 '제대로' 활용하려면 갈길이 멀겠지만..)
네이버를 대표하는 사람들은 아니고, 컨퍼런스 기간동안 세션을 진행한 세명의 연사들이 나와서 메인 홀에서 사람들이 적어둔 질문, 그리고 실시간으로 올라오는 질문들에 답해주는 세션이었다. 영상으로 공유되지 않을 세션이라고 해서 들어보았고, 재밌는 시간이었다. 이 세션장의 청중들은 이미 네이버 구성원들이 꽤 있는 걸로 보였다. 그래서 자기들만 아는 이야기를 하기도 했지만, 뭔가 그 분위기, 유대감이 좋게 보였다.
네이버는 뭐 부문장 같은 직책의 구성원에게도 '~님' 호칭을 쓰나보다. 굉장히 수평적인 문화임을 강조했고, 뭐 구체적인 내용이지만 상해보험 같은 것도 해주고,, 아침 점심 저녁도 주고,, 한다고 한다.
아쉬운 점은 사옥이 정자역에서 도보 15분 거리라는 점..이라고.. ㅋㅋㅋㅋㅋ 정말 부럽다! 아 주차 자리도 좀 부족하다곤 했다.
팀네이버 팀원들이 원하는 신입 인재상은 '적극성'이 있는 사람. 진짜 자기가 그 분야에 관심이 많아서 새로운 소식, 정보도 많이 알고, 이것저것 써보고 들여다본 경험이 있으며, 적극적으로 먼저 자기가 무엇을 할지 또는 무엇을 모르는지 등을 이야기하는 사람이면 좋겠다고 한다.
인턴을 받아본 경험에 비추어 보았을 때, 맞아, 저런 신입이 들어오면 예뻐보이고 같이 일할 맛이 날 것 같다.
세션을 들으며, 그리고 듣고 나서, "진짜"가 되어야겠단 생각을 했다.
이력서를 어떻게 쓰고 포트폴리오를 어떻게 구성하고, 그런 것도 나를 드러내는 중요한 역량임은 분명하다. 그러나, 그런 도구적인 측면은 좀 부수적인 역량이랄까. 결국 같이 일할 사람을 뽑는다는 목적 하에서는 바로 일에 투입해도 잘 녹아들어 자신에게 기대되는 퍼포먼스를 낼 수 있는 사람을 선별해야 하기 때문에, 그게 가능한 진짜 엔지니어가 되는 것이 가장 중요한 것이다.
이렇게 또 당장 무엇을 해야 하고 뭘 중요시 여겨야 하는지 깨달음을 얻고 돌아온 유익한 시간이었다.
여담으로는, 타이밍이 좋아서 코엑스 앞에서 고메잇강남 2? 라는 행사도 하고 있었는데, 거기서 먹은 김치전이 참 맛있었다. 요거트월드도 후후..