How we built an internal data analytics agent
개요
GitHub은 Copilot을 기반으로 개발된 내부 데이터 분석 에이전트인 Qubot을 통해 모든 직원이 자연어로 데이터에 대한 질문을 하고 수초 내에 답변을 얻을 수 있도록 지원한다.
주요 내용
* Qubot의 기능 및 목적: Qubot은 보고 도구나 대시보드 대체재가 아니라, "이 기능에서 가장 높은 리텐션을 가진 사용자 그룹은 누구인가?" 또는 "지난주 이 지표를 가장 많이 이동시킨 제품은 무엇인가?"와 같은 탐색적 질문에 답하는 것을 목표로 한다. 유지보수 비용이 제로이며, 데이터 웨어하우스에 익숙하지 않은 팀의 빠른 학습을 돕는다.
* 아키텍처: Qubot은 사용자 인터페이스, 컨텍스트 레이어, 쿼리 엔진의 세 가지 주요 구성 요소로 이루어져 있다.
* 사용자 인터페이스: Slack, VS Code, Copilot CLI를 통해 접근 가능하며, Slack 인터페이스는 별도 설정 없이 질문 즉시 답변을 제공하고 결과는 PR로 저장된다. VS Code와 Copilot CLI에서는 사용자 워크플로우와 통합된 경험을 제공한다.
* 컨텍스트 레이어: 원시 이벤트(bronze), 통합된 사실 및 차원(silver), 특정 비즈니스 사용 사례용으로 설계된 큐레이션된 데이터셋(gold) 등 다양한 단계의 데이터에 대한 지식이 계층별로 구성된다. 이는 마크다운 기반의 컨텍스트 에이전트를 통해 체계적으로 수집, 정리, 정상화되어 런타임에 GitHub MCP Server를 통해 로드된다.
* 쿼리 엔진: Kusto와 Trino 두 쿼리 엔진에 연결하며, Qubot은 기본적으로 Kusto를 사용하고 질문의 복잡성에 따라 Trino로 자동 전환된다.
* 평가 프레임워크: 컨텍스트 레이어 또는 에이전트 구성의 모든 변경 사항은 배포 전에 오프라인 평가 프레임워크를 통해 정확성, 응답 지연 시간, 회귀 여부를 측정한다. 벤치마킹 프레임워크는 테스트 케이스, 자동화된 실행 오케스트레이션, 통계 집계를 통해 Qubot의 성능을 평가한다.
* 변화 및 학습 내용: Qubot은 수백 명의 사용자가 수천 개의 쿼리를 실행하며 광범위하게 채택되었다. 데이터 및 분석 관련 Slack 채널의 질문 수가 현저히 감소했으며, 데이터 웨어하우스에 접근하기 어려워했던 사용자들도 필요한 데이터에 접근할 수 있게 되었다. 잘 구조화되고 큐레이션된 컨텍스트는 Qubot의 정확성과 속도를 향상시키는 데 핵심적인 역할을 한다. Qubot은 분산된 지식을 단일 도구로 중앙 집중화하는 허브 앤 스포크 실행의 성공적인 예시로, 데이터 및 분석 팀의 부담을 줄이고 여러 팀 간의 협업을 장려한다.
시사점
Qubot의 구축 사례는 AI 기반 분석 에이전트가 데이터 접근성을 혁신하고, 기술적 장벽을 낮추며, 조직 내 데이터 활용 문화를 개선할 수 있음을 보여준다. 특히, 잘 구축된 컨텍스트 레이어가 AI 모델의 성능을 극대화하고 데이터 엔지니어링 분야에서 해당 아티팩트의 중요성을 부각시킨다.
댓글
GitHub Discussions