Show HN: Graphene – 코딩 에이전트를 위한 데이터 분석 툴킷
요약
Graphene은 코딩 에이전트를 위해 설계된 데이터 분석 프레임워크입니다. SQL 기반의 everything-as-code 방식으로, 에이전트가 질문하고 시각화하는 속도를 10배 빠르게 만듭니다. 시맨틱 레이어와 대시보드 파일 유형을 제공하여 정확성과 일관성을 높였습니다.
핵심 포인트
- 코딩 에이전트를 위한 데이터 분석 프레임워크입니다.
- SQL 기반의 everything-as-code 방식으로 작동합니다.
- 시맨틱 레이어를 통해 쿼리 정확도를 높이고 거버넌스를 적용합니다.
- CLI 제어 및 버전 관리를 지원하여 신뢰성을 확보했습니다.
Graphene을 사용해야 하는 이유?
Graphene은 SQL 기반의 데이터 탐색, 시각화 및 보고를 위한 everything-as-code 분석 프레임워크입니다. 이는 코딩 에이전트를 주요 사용자 페르소나로 염두에 두고 설계되었습니다.
Graphene은 코딩 에이전트가 더 나은 데이터 작업을 수행할 수 있도록 두 가지 핵심 요소를 제공합니다:
- 시맨틱 레이어(semantic layer): 보다 정확한 쿼리를 생성합니다. Graphene SQL은 SQL의 강력함과 메트릭 및 모델링된 조인(modeled joins)의 거버넌스(governance)를 결합합니다.
- 대시보드 파일 유형: 원본 Python이나 Javascript에 비해 더 일관되고 세련된 시각화를 제공합니다.
설계 목표
- 토큰 효율성: 언어는 최소한의 보일러플레이트(boilerplate)로 간결하게 설계되었습니다.
- 에이전트 인체공학(Agent ergonomics): Graphene은 전적으로 CLI를 통해 제어됩니다. 모든 문서는 저희 에이전트 스킬 안에 있습니다.
- 높은 확장성: Graphene SQL은 ANSI를 따르며 170개 이상의 함수를 지원합니다. Graphene pages는 HTML, CSS, Javascript 및 ECharts로 표현 가능한 모든 것을 지원합니다.
기존 BI(Business Intelligence)와의 비교
저희는 코딩 에이전트와 everything-as-code 분석 스택을 결합하는 것이 여러 면에서 전통적인 BI보다 우수하다고 믿습니다:
- 최신(SOTA) LLM, 하네스, 스킬 및 도구의 광범위한 생태계를 활용합니다.
- 다른 도구나 리포지토리에서 비즈니스 전반의 컨텍스트를 활용할 수 있습니다.
- 분석이 단지 하나의 단계일 뿐인, 도구를 가로지르는 엔드투엔드 작업을 수행합니다.
- 더 유연한 변경 관리와 대규모 리팩토링을 지원합니다.
- 로직을 시맨틱 레이어 안팎으로 쉽게 승격/강등할 수 있습니다.
- 버전 제어 및 CI를 지원하여 에이전트의 실수를 되돌리고, 미션 크리티컬한 대시보드에 대해 테스트를 실행할 수 있습니다.
- 빠르고 완전한 반복 루프를 제공합니다. 에이전트는 실행 전에 검증하고, 대시보드를 보고, 로컬에서 반복 작업을 수행할 수 있습니다.
- 지속적인(continuous) 에이전트를 활용하여 셀프 힐링 코드를 구현할 수 있습니다.
오픈 소스, 영원히 (Open, forever)
Graphene은 사용료가 없고 영구적으로 무료입니다. 귀하의 비즈니스 로직은 귀하의 리포지토리에 존재하며 우리와의 계약에 묶이지 않습니다.
풍부한 시각화 (Rich visualizations)
Graphene 페이지는 시각화, 필터링 및 동적 동작을 위한 입력 컴포넌트, 그리고 모니터링 중심 대시보드와 내러티브 중심 노트북을 위한 레이아웃 모드를 지원합니다.
<img alt="Graphene Screenshots" src="./assets/page_examples.png"/>강력한 차세대 시맨틱 레이어 (Powerful, next-generation semantic layer)
전통적인 시맨틱 레이어는 기능성을 희생하면서 거버넌스를 제공합니다. 이들은 에이전트가 익숙하지 않은 틈새 쿼리 API를 노출하는 경향이 있습니다.
Graphene SQL의 목표는 기능성을 희생하지 않으면서 거버넌스를 가져오는 것입니다. 이는 CTE(Common Table Expressions), 서브쿼리, 윈도우 함수, 집합 연산자 등 일반적인 SQL처럼 작동하면서도 시맨틱 레이어에서 온 측정값(measures) 및 모델링된 조인(modeled joins) 개념을 추가합니다.
Graphene SQL은 LookML의 제작자인 Lloyd Tabb와 Michael Toy가 만든 Malloy에서 영감을 받았지만, 에이전트 친숙도를 위해 잘 알려진 SQL로 구현했습니다.
시작하기 (Get started)
Graphene은 현재 Snowflake, BigQuery, ClickHouse, Postgres, MotherDuck 및 로컬 데이터(DuckDB를 통한)를 데이터 소스로 지원합니다. 더 많은 것을 추가하는 것은 쉽습니다. 요청만 해주세요.
프로젝트를 설정한 후에는 npm exec graphene serve (또는 패키지 관리자에 따라 pnpm graphene serve 등) 명령어로 개발 서버를 시작하고, 코딩 에이전트에게 분석 작업을 요청하면 됩니다. 데이터 질문에 답하거나, 대시보드를 구축하거나, 모델을 수정하는 등의 작업이 가능합니다.
작동 방식 (How it works)
Graphene 자체는 npm(또는 pnpm, yarn 등)을 통해 설치할 수 있는 CLI입니다. 이 CLI는 Graphene SQL 쿼리를 실행하고 컴파일하며, 브라우저에서 페이지를 렌더링하고, 구문을 확인하며, 스크린샷을 인쇄하는 등의 작업을 수행할 수 있습니다.
Graphene 프로젝트는 독립적인 레포지토리일 수도 있고, 더 큰 코드베이스(예: dbt) 내의 디렉터리일 수도 있습니다. 이는 .gsql 파일을 통한 _시맨틱 모델(semantic models)_과 .md 파일을 통한 _페이지(pages)_로 구성됩니다.
<img alt="Architecture Diagram" src="./assets/marketecture.png"/>Graphene SQL 및 Graphene markdown
시맨틱 모델은 다음과 같이 정의됩니다:
table orders (
id BIGINT
user_id BIGINT
...
모델은 select를 통해 쿼리되며, CLI를 직접 사용하거나 Graphene markdown 페이지 내부에서 다음과 같이 사용할 수 있습니다.
```sql top_customers
select
users.name as name, -- 모델링된 조인 관계를 탐색하기 위해 점 연산자(dot operator)를 사용합니다
revenue -- 측정값(measure)을 호출합니다
from orders -- 여기에 조인 구문은 필요하지 않습니다
group by 1
order by 2 desc
limit 10
```
<BigValue data="orders" value="revenue" />
<BarChart data="top_customers" x="name" y="revenue" />
문서 (Documentation)
Graphene의 전체 문서는 Graphene npm 패키지 내 에이전트 스킬(agent skill) 형태로 제공됩니다. 소스 파일은 여기에서 확인할 수 있습니다.
FAQ
<details><summary><b>코딩 에이전트가 필요한 이유?</b></summary> <br/> 주로 컨텍스트(Context) 때문입니다. 만약 귀사의 BI 스택(BI stack)이 회사 데이터와 코드의 나머지 부분과 바로 옆 폴더에 존재한다면, 에이전트는 무엇을 분석해야 하고 그것이 왜 중요한지에 대해 더 스마트하게 결정할 수 있습니다. <br/><br/> 반대의 경우도 마찬가지입니다. 만약 새로운 기능을 구축하거나 신규 고객을 위한 추천 작업을 진행하고 있다면, 해당 작업을 수행하는 에이전트가 실제 데이터와 과거의 분석 통찰력(analytical insights)에 근거하여 접근 방식을 확립할 수 있습니다. <br/><br/> '잠금 효과(Lock-in)' 역시 우리가 듣는 또 다른 큰 이유입니다. 사후 SaaS(post-SaaS) 사용자들은 자신의 데이터와 대시보드가 특정 독점 도구에 갇히거나, 단일 LLM 제공업체 사용을 강요받는 것을 경계합니다. Graphene을 사용하면 리포지토리(repo)의 모든 파일을 소유하게 됩니다. 원하는 어떤 에이전트나 LLM을 사용해도 됩니다. </details> <details><summary><b>돈은 어떻게 벌 수 있나요?</b></summary> <br/> 저희는 에이전트가 구축한 대시보드와 보고서를 호스팅하는 턴키(turnkey) 솔루션인 Graphene Cloud를 구축하고 있습니다. 또한 빠른 질문을 위해 사용할 수 있는 MCP 서버와 Slack 봇도 호스팅합니다. 파일럿 테스트를 원하시면 <a href="https://graphenedata.com/contact-us">여기</a>로 문의해 주세요. </details> <details><summary><b>BI 목적으로 Graphene을 사용하려면 모두 git과 코딩 에이전트를 사용해야 하나요?</b></summary> <br/> 만약 이 프로젝트만을 사용하고 더 이상 아무것도 원하지 않는다면, 네. 저희의 관리형 서비스인 Graphene Cloud는 Slack 에이전트, MCP 서버, 브라우저 기반 SaaS 경험을 제공합니다. </details> <details><summary><b>제 데이터 팀은 일자리를 잃게 되나요?</b></summary> <br/> 아닙니다. 하지만 저희는 작업의 성격이 변할 것이라고 생각합니다. 데이터 전문가들은 수동으로 보고서를 구축하는 대신, 나머지 팀이 데이터 질문에 답하는 데 사용하는 스킬(skills), 모델, 도구를 형성하게 될 것입니다. <br/><br/> 데이터 팀은 회사에서 가장 까다롭고 모호한 데이터 질문에 접근하는 방법을 에이전트에게 안내하는 데 집중할 것입니다. 여전히 좋은 솔루션을 얻기 위해 데이터 전문가의 안목(taste)이 필요한 질문들 말입니다. </details> <details><summary><b>React나 Python 노트북을 사용하면 안 되나요?</b></summary> <br/> 사용할 수는 있습니다! 실제로 저희가 이야기 나눈 많은 분들이 이 경로를 시작했습니다. 하지만 마주치게 될 주된 문제는 일관성입니다. 대시보드와 보고서의 모양과 느낌이 제각각이고, 최악의 경우 같은 핵심 지표를 계산하는 데 서로 다른 공식을 사용하게 됩니다. <br/><br/> Graphene SQL은 지표들을 쿼리에서 직접 호출할 수 있는 결정론적(deterministic) 객체로 코디파이(codifies)합니다. 이는AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기