누구나리포터LAB 5개월의 기록 - 기획과 운영 중심으로
지난 3월 21일, 판교 카카오아지트에서 열린 테크포임팩트 커넥트데이를 끝으로 누구나리포터LAB의 공식 활동이 마무리됐다. IT 프로젝트 경험이 전무한 비영리 활동가이자 비전공자로서 생성형 AI를 활용한 프로젝트에 참여한다는 것은 말그대로 쉽지 않은 도전이었다.
2024년 10월 7일부터 2025년 3월 16일까지 지난 5개월 간, 누구나리포터LAB은 250개의 커밋, 50개 이상의 브랜치, 22회의 프롬프트 버전 업데이트, 300개 이상의 발화문 테스트라는 소중한 성과를 남겼다. 이 글은 초보PM의 시선에서 돌아보는 기록으로, 완벽하진 않지만 나름의 정리를 남겨보고자 한다.
누구나리포터LAB과의 인연은 2021년 12월 누구나데이터와의 만남으로 거슬러 올라간다. 당시 나는 참여연대에서 ⟨월간참여사회⟩라는 매체 사업을 전담하고 있었는데, 김자유 누구나데이터 대표를 인터뷰할 기회가 생겼다. 인터뷰를 마치고 그는 내게 웃으면서 이렇게 말했다. "종이 매체에 쓸 돈 아껴서 온라인 홍보에 쓰면 어떻겠느냐"고. 매체 인터뷰를 하면서 그 매체를 없애자는 말을 한 것이나 다름없었다. 그것은 곧 디지털 전환(Digital Transformation)에 관한 얘기였고, 안 그래도 연간 1억짜리 사업의 홍보효과를 의심하며 비용 절감을 시도하고 있던 내겐 적잖은 충격이었다. 마침 참여연대도 누구나데이터의 도움을 받아 GA를 들여다보기 시작한 지 얼마 안 된 시점이기도 했다.
이후 나는 누구나데이터 등의 도움으로 자동화 도구를 업무에 적용하며 비영리 섹터의 디지털 전환 필요성을 절감했고 이는 누구나리포터LAB에 지원한 계기가 되었다. 지원서에 적었던 "도구를 바꿔 업무 프로세스가 바뀌면 일하는 조직문화가 바뀐다는 믿음을 실현하고 싶다"는 말은 2021년 김자유 대표가 인터뷰에서 한 말을 그대로 인용한 것이기도 했다.
그렇게 2024년 10월 7일, "비영리단체의 디지털 모금 전략을 지원하는 LLM 기반 챗봇 리포트 서비스" 개발연구모임, 누구나리포터LAB이 강남 모두의연구소에서 kick-off 모임을 가졌다. 내 활동 목표는 단순소박했다.
(1) 끝까지 버티자
(2) 방해 되지 말자
LAB실 청소만 시켜줘도 좋겠다는 마음이었기에 식사 당번을 자처했고 함께 담당해준 PM 리더 민경님이 내심 고마웠다. 우리는 매주 월요일 저녁 7시 30분에 모여 치열한 논의를 벌였다. 밤 10시가 넘어 모두연 직원들이 퇴근을 제때 못할 만큼 랩원들의 열정은 대단했다.
누구나리포터LAB에는 간과할 수 없는 핵심 전제 조건이 있었는데, 바로 누구나데이터의 '오늘의리포트' 라는 서비스였다. 이 솔루션은 고객사의 웹사이트 및 CRM과 연동된 GA(Google Analytics) 데이터를 BigQuery에 적재한 후, Looker Studio로 가공하여 각각 대시보드와 카톡 리포트 형태로 제공하는 구조였다.
지금 돌이켜보면 명확한 프레임이었지만, 랩 초반에는 비영리 단체라는 고객사의 니즈와 누구나데이터라는 펠로우사 중 어디에 초점을 맞춰 서비스를 기획해야 할지 고민이 컸다. 그러다보니 초반의 논의 과정에서 어떤 자료를 우선적으로 학습하고 분석해야 하는지 방향성을 설정하는 데에 상당 시간을 할애했던 것으로 기억한다.
결과적으로, MVP 도출까지 5개월 동안 우리가 사용한 고객사 샘플은 단 1곳에 불과했다. 그리고 모든 고객사는 결국 누구나데이터의 관점이 반영된 GA 분석을 기반으로 서비스를 이용하고 있었다. 이 점을 고려하면, 비영리 단체 고객사의 개별 니즈를 분석하기보단 GA 및 ‘오늘의리포트’ 서비스의 구조를 깊이 이해하는 것이 우선 과제였다고 볼 수 있다. 특히, GA 데이터를 처리하는 BigQuery 테이블 및 데이터베이스 구조가 어떻게 설계되어 있는지 분석하는 것이 더 중요한 접근법이었을 것이다. 결국 ‘오늘의리포트’라는 전제 조건이 프로젝트의 핵심 실마리를 푸는 첫 단추였던 셈이다.
초반의 이런 혼란(?) 속에서도, 개발팀 용선님 주도로 진행한 이벤트 스토밍 작업은 프로젝트의 전체 구조를 파악하고 이해도를 높이는 데 큰 도움이 되었던 것으로 기억한다. 이 과정을 통해 각자의 과업을 정리하고, 시스템 흐름을 시각적으로 조망할 수 있었으며, 결과적으로 프로젝트 전반에 대한 공통된 인식을 형성할 수 있었다.
또한 사용자의 자연어 발화를 SQL로 변환하여 필요한 데이터를 BigQuery에서 불러오는 Text-to-SQL이 우리 프로젝트의 핵심 기술인 만큼 DA를 포함한 랩원들이 빅쿼리스터디를 조직하기도 했다. 프로젝트 초반에 소극적인 스탠스를 취할 수밖에 없었던 나는 방해가 될까봐 미처 스터디에 참여하지 못하고 대신 인프런의 ⟨초보자를 위한 BigQuery(SQL) 입문⟩ 무료 강의를 들었다. 그때 조금 더 붙들고 있었더라면 이후 진행된 SQL 성능 테스트에서 쿼리 검증이나 답변 수치 확인에 도움이 되었을 텐데 하는 아쉬움이 남는다. (그땐 내가 직접 SQL 쿼리를 작성할 일이 있을 거라곤 꿈에도 상상하지 못했다.)
우여곡절 끝에 SQL이 기본적인 데이터를 얼마나 정확하게 조회하는지 검증하기 위해 성과조회 정의서>를 기반으로 Phase1의 목표가 설정되었다. 발화문 구성 요소에 따라 5개 케이스를 정하고, 조회 범위와 사용 컬럼을 최소화하여 테스트를 진행하는 과정에 PM, DA, AI 팀이 협력했다. 테스트를 거듭하며 기능과 데이터를 확장하면서는 예상치 못한 다양한 이슈들도 확인되었다.
(1) 테이블 매핑 이슈
(2) 중복 컬럼 처리 이슈
(3) 저용량 샘플 데이터 > 대용량 전체 데이터로 확장에 따른 조회 속도 저하 이슈
특히 테이블 매핑 이슈의 경우, 특정 테이블 하나로만 테스트를 하다가 데이터를 확장하면서 여러 테이블 중 하나를 선택해야 하는 조건이 뒤늦게 발견된 것이었다. 빠른 문제 해결을 위해 적극적으로 랩 안에서 룰베이스+프롬프트 방식 vs 벡터DB 방식을 비교 검토하는 과정이 있었고, 펠로우 의견을 적극 반영하여 GA 데이터의 기본 구성요소인 디멘션과 매트릭 간 관계성을 고려하는 형태의 룰베이스 방식을 채택했다. 또한, 불필요한 테이블을 정리하여 4개에서 3개로 축소했고, 테이블 매핑의 정확도를 개선하는 방향으로 조정되었다.
한편 Text-to-SQL 고도화 과정에서 발화 정책에 대한 의견 차이도 있었는데, '성과'라는 단어가 대표적 예이다. 보통의 한국어 발화에서 ‘성과’는 ‘이루어 낸 결실’이라는 뜻으로 문맥에 따라 다양한 용례로 사용되지만 누구나리포터LAB의 AI 챗봇은 비영리 도메인에 맞춰 어떤 방식으로 답변하도록 설계할 것인지 고민하는 중이었다. 사용자 관점에서는 특정 지표만 제공하는 방식이 유용하지만, 이를 지나치게 제한하면 AI가 혼란을 겪어 정확도가 떨어질 수 있다는 기술적 우려가 제기되었다.
우리는 몇 차례 논의와 테스트를 거친 끝에, 최종적으로 ‘성과’라는 표현을 ‘후원 성과’와 ‘유입 성과’로 구체화하는 발화 정책을 수립했다. 이는 좋은 서비스란 사용자 관점과 기술적 여건 사이에서 균형을 찾아가며 만들어진다는 것을 잘 보여주는 사례였다고 생각한다. 초보 PM의 관점에서는 서비스 설계 시 단순히 기능 구현에만 매몰되기 보다, 사용자에게 실질적 가치를 제공할 수 있는 방향으로 깊이 고민하는 것이 중요하다는 것을 알게 된 지점이었다.
데이터 조회 기능이 어느 정도 안정화되면서, Text-to-SQL 정교화 작업과 함께 의도분류 및 답변생성 프롬프트가 Text-to-SQL 앞뒤에서 적절히 역할하도록 설계하는 작업이 본격화되었다. 이 시점부터는 단순 데이터 조회나 계산을 넘어, 초기 기획 목표였던 추세 분석, 퍼널 분석 등 고도화된 마케팅 분석과 인사이트 제공을 구현하는 것이 주요 과제가 되었다. 쿼리 성능뿐 아니라 답변의 정확도, 챗봇 UI, Fallback메시지 등 사용자 경험을 고려한 통합적인 설계가 동시에 이루어져야 했다.
특히 ‘추세 분석’ 기능이 제공하는 마케팅 시사점(Insight)은 비영리 도메인의 특수성을 고려할 때, 이커머스 등 영리 시장의 소비 패턴이나 데이터 분석 툴을 그대로 적용할 수 없다는 점이 도전 과제였다. 각 비영리 기관마다 마케팅 환경이나 외부 조건이 상이했기 때문에 비영리 도메인에 특화된 insight를 제공하기 보단 객관적 수치를 토대로 추세 그래프를 카카오 챗봇 메시지 형식에 맞게 구현하는 방식으로 접근했다.
하지만 문제는 시간이었다. 초반의 예상치 못한 변수들로 계획이 일부 지연되면서, 후반부로 갈수록 일정이 더욱 빠듯해졌다. 일정 관리를 담당하는 기획팀 발등에도 불이 떨어졌다. 계획을 여러 차례 수정하고 R&R을 재정비하는 등 유연하게 대응하려 했지만 제한된 리소스 안에서 랩원들 부담도 적지 않았을 것이다. 남은 기간 MVP 구현 목표를 어떻게 설정해야 할지에 대한 의견도 분분했다.
여기서 잠시 R&R에 대해 이야기하자면, 원래 조직도는 PM+AI, PM+Dev, PM+DA 세 개의 파트로 나뉘고, PL(랩장, 부랩장)이 이를 전체적으로 컨트롤하는 구조였다. 그런데 프로젝트 초반 Phase1의 목표와 정의서가 기획팀 주도로 도출되면서, 랩 내에서 기획팀의 주도성이 강화되는 계기가 되었던 것 같다. 또한 그 시기 자주 들었던 말이 "SQL이 먼저 되어야 답변 생성으로 나아갈 수 있다"였는데, 로직상 타당한 판단이었지만 초반 작업이 Text-to-SQL 중심으로 진행되면서 상대적으로 의도분류 및 답변생성 프롬프트에 대한 리소스 배분과 역할 조정이 충분히 이뤄지지 못한 것은 아닌가 한다.
이런 흐름 속에 '추세 분석' 프롬프트 연구를 기획팀이 전담하게 되면서, 최종 MVP에는 '일반조회'와 '추세 분석' 프롬프트가 분리되어 반영되는 결과로 이어졌다. R&R은 공동 작업에서 책임을 나누는 것 이상으로, 문제 발생 시 누구와 논의해야 하는지 결정하는 중요한 요소이기 때문에, 불확실성이 많은 프로젝트일수록 섬세한 R&R 관리가 프로젝트 성패를 가르는 핵심이 아닐까 생각한다.
그럼에도 불구하고, 프로젝트 후반 우리는 보다 통합적인 관점으로 프로덕트에 접근할 수 있었고 이는 누구나리포터LAB이 점차 성장하며 성과를 내고 있다는 증거였다. 팀워크가 자리 잡히면서, [테스트 → 개선 사항 도출 → 프롬프트 개선 → 배포 → 테스트] 과정을 주 단위로 반복하며 프롬프트 버전 관리도 체계적으로 운영되었다.
그렇게 2025년 3월 16일 마지막 해커톤까지 숨가쁘게 v7을 배포하며 우리는 1기 활동을 공식적으로 마무리했다. 물론 이제 막 MVP를 구현한 단계일 뿐, 프로덕트 완성까지는 아직 갈 길이 남아 있다. 그러나 지난 5개월, 본업과 병행해야 하는 어려운 조건 속에서도 우리는 함께 실패하고 시행착오를 겪으며 성장해왔다. 그렇기에 추가된 2개월 동안 우리는 더 속도감 있게, 더 완성도 높은 결과물을 만들어낼 것이라 확신한다.
LAB 활동이 2개월 연장된 만큼, 지난 활동에서 미처 해보지 못한 것과 다음 분기에서는 꼭 해보고 싶은 것을 정리하며 각오를 다져보려 한다.
1. 사용자 경험 최적화
이번엔 반드시 CBT를 거쳐 고객사와의 대면 인터뷰 등을 통해 나만의 상상이 아닌 실제 고객사의 니즈를 취합하고, 이를 프로덕트에 반영하여 사용자 경험을 더욱 구체화하고 싶다. 또한 고객사 샘플 4곳 이상 확장하여 테스트를 진행하여 비영리 도메인만의 보편성과 특수성을 파악하고 이를 효과적으로 반영할 수 있기를 기대한다.
2. 챗봇 이용 매뉴얼, 용어 사전, GA 가이드 등 튜토리얼 보완
이번 프로젝트에서 나의 가장 큰 화두는 LLM 챗봇이란 필연적으로 ‘질문하는 사람’을 필요로 한다는 점이었다. 나는 비영리 활동가 당사자로서, 때론 타 단체 입장에서 어떤 발화문이 사용 빈도가 높을지, 어떤 멀티턴 시나리오가 유용할지 고민하는 데 가장 많은 시간을 썼던 것 같다. 따라서 데이터 분석에 어려움을 겪는 비영리 활동가들의 사용성을 고려할 때, 보다 편리한 챗봇 서비스가 되려면 사용자가 질문을 잘할 수 있도록 돕는 장치들이 매우 중요할 것으로 생각된다. 이는 챗봇을 운영하는 펠로우에게도 꼭 필요한 요소일 것이다.
3. 데이터 시각화
카톡은 모두가 일상적으로 사용하는 플랫폼이기에 접근성이 용이하지만 카톡 메시지로 복잡한 지표와 데이터 속 유의미한 분석을 읽어내는 것은 여전히 어려운 일일 것이다. 그렇기에 랩에서도 추세분석 기능에 대해 데이터 시각화 방안이 검토되었지만 시간 관계상 시도해보지 못한 점이 못내 아쉽다. 가능하다면 연장 기간 동안 그래프, 차트 등의 시각적 요소를 챗봇 메시지에 반영하는 시도가 꼭 있었으면 한다.
그밖에 개인적으로는 기획 영역을 따라가느라 정신 없다보니 개발, 프롬프트 등 다른 팀 영역에 대한 깊은 이해를 쌓지 못한 것 같다. GA와 빅쿼리를 비롯해 아직 블랭크로 남아 있는 영역들을 좀 더 채워가고 싶다. 다행히 이제 로컬 테스트 환경을 갖추었으므로 프롬프트 작동 원리를 이해하며, 새로운 프롬프트를 직접 설계하고 테스트할 수 있는 수준으로까지 나아갈 수 있다면 프로젝트에 대한 기여도를 높일 수 있지 않을까 싶다. (벌써부터 너무 큰 욕심을 부리는 것 같긴 하지만...)
누구나리포터LAB은 무모한 도전이었지만 그만큼 나에게 전에 없던 새로운 경험과 배움을 남겼다. 일을 통해 얻을 수 있는 최고의 경험은 역시 멋진 동료들과 함께하는 일이라고 생각한다. 부족한 랩원임에도 5개월 간 끝까지 버틸 수 있도록 도와준 동료들에게 진심으로 감사드린다.
특히 PM 리더 민경님은 직장생활 통틀어 내가 만난 사람들 중 가장 일잘이며, 가장 노션 천재였는데(웃음) 그를 보며 PM이 어떤 일을 하는 사람인지에 대해서도 많이 배울 수 있었다. 부족한 팀원의 빈 곳을 메우느라 고생했을 민경님에게 고맙고 미안한 마음이다. 나를 랩에 뽑아준 현석님과 프로젝트를 열어준 누구나데이터에도 깊이 감사드린다. 무엇보다 첫 IT 프로젝트 도전을 완주한 내 자신에게 대견하다고 말하고 싶다.
나에게 누구나리포터LAB은 단순한 사이드 프로젝트 그 이상이었다. 이 프로젝트를 통해 다음 세대 활동가들이 비영리 홍보-마케팅 영역에서 성장할 수 있는 토대와 생태계가 마련되기를 진심으로 바랐기 때문이다. AI 챗봇 하나로 단숨에 비영리 섹터의 디지털 전환이 이루어지긴 어렵겠지만 내가 그랬듯 비영리 섹터의 변화를 기대하는 누군가에게 이 챗봇이 변화의 씨앗이 되어줄 것이라 믿는다. 마지막까지 그 여정에 최선을 다해 함께하고 싶다.