dbt Labs, 채팅 에이전트용 대시보드 언어 dbt Charts 오픈소스 공개

dbt Labs, 채팅 에이전트용 대시보드 언어 dbt Charts 오픈소스 공개

  • dbt Labs가 대시보드를 단일 YAML 파일로 선언하는 dbt ChartsApache 2.0으로 오픈소스 공개함. SQL은 어떤 데이터를 볼지, YAML은 어떻게 볼지를 선언하는 구조임
  • 차트 타입 16종1,100개 이상의 설정 옵션을 지원하고, 내부 렌더러로 vega-lite를 쓰되 그 위에 SQL 쿼리와 대시보드 레이어를 얹음
  • dct render로 SVG, HTML, PNG, PDF, 터미널 출력을 로컬이나 CI에서 만들고 dct serve로 폴더를 사이트로 제공함
  • dbt 프로젝트와 함께 쓰면 charts/ 디렉터리가 models/ 옆 같은 Git 저장소에 놓여 모델과 차트 변경이 한 브랜치에서 배포됨. 조만간 dbt CLI에 포함될 예정이고 지금은 프리뷰로 별도 도구로 제공 중임
  • 배경으로 dbt Labs 창업자 Tristan Handy의 'BI의 두 번째 언번들링' 글을 인용하며, 차트를 UI에서 코드로 옮기는 것이 다음 단계라고 주장함

Hacker News opinions

안녕하세요, Chartio 창업자 Dave입니다. Claude 같은 에이전트로 대시보드 만들면 자유분방한 산출물이 쏟아져서 감사도 확장도 어려워지더라고요. 대시보드용 마크다운 같은 YAML 방언이고 dbt와 같이 Apache 2.0으로 오늘 공개했습니다.

축하합니다. 업계 표준을 누가 먼저 낼까 궁금했는데 dbt가 나섰네요. 널리 퍼졌으면 좋겠음.

바이브 코딩으로 나온 JS 슬롭 차트들 사이에서 희망이 보임. 읽을 수 있고 유지보수되고, 같은 데이터면 대시보드가 결정적으로 똑같이 재현되는 게 제일 맘에 듦.

에이전트한테 '이걸 dbt Charts로 차트 만들어봐' 시켰더니 uv tool install dbt-charts && dct skills intro 한 방으로 채용 인박스 대시보드를 뽑아주더라. 원샷 결과물이 의외로 쓸 만했음.

지메일 데이터를 ETL해서 여러 뷰와 리포트로 보는 걸 BI 문제로 취급하고 있는데, 채팅에서 이걸 더 잘 시각화하는 게 다음 과제임. dbt Charts 테이블 컴포넌트가 도움이 될 듯.

모두가 생성형 UI용 '모든 걸 지배하는 하나의 스펙'을 만들려 하지만 bitter lesson은 여전할 거라 봄. 모델이 원시 라이브러리로 처음부터 쓰는 걸 점점 잘하게 되면 이런 추상화는 무의미해질 수도.

도메인은 대시보드로 좁혔고 일부러 너무 일반화하지 않았음. 원시 HTML/SVG가 이길 수도 있지만, 차트 숫자가 어디서 왔는지 사람이 따라가 검증하기는 훨씬 쉬움. AI가 검증하는 미래에도 DSL이 일관성 유지와 토큰 절약에 유리할 것 같음.

좋긴 한데 블로그가 주장하는 만큼 혁신적이진 않음. BI는 이미 분리됐고 사람들은 AI로 엑셀과 Power BI 리포트를 뽑고 있음. YAML이든 XML이든 상관없고 AI는 시키는 대로 만들어줌. dbt의 논리적 발전일 뿐.

AI가 뭘 만들든 진짜 문제는 그 다음임. 재사용하려면 잘 정의된 구조가 필요하고, 그냥 YAML을 다시 에이전트한테 주면 처음과 전혀 다른 차트가 나옴.

Dave가 패러다임 전환을 주장하는 건 아닌 것 같음. 핵심 주장은 BI 툴 이전의 오래된 시각화 패턴에 기반해서 결과가 일관되게 예쁘게 나온다는 것과, 단순하고 유지보수 가능하다는 것임. 이미 다 할 수 있지만 조금 더 낫고 유지보수하기 쉬운 정도.

비슷한 걸 만들고 있었는데, 외부 서비스가 렌더링할 수 있는 재사용 가능한 시각화 산출물이 목표였음. 통합 스펙이 있으면 여러 에이전트 하네스가 같은 차트 언어를 쓰게 될 텐데, vega-lite와는 뭐가 다른가?

내부적으로 vega-lite를 씀. vega-lite는 정적 데이터로 차트를 조립하는 도구 상자고 dbt Charts는 그 위에 반복 가능한 SQL 쿼리와 대시보드 레이어를 얹음. 통합 차트 언어는 꿈이지만 그렇게 단순하면서 다재다능한 조합은 아직 없는 듯.

evidence.dev랑 비교하면 어떤가?

왜 데이터를 시각화하나. 차트는 수학 시간의 풀이 과정 같은 강제 공감각임. 로켓은 착륙하거나 안 하거나 둘 중 하나고, 맥락이 초점이어야 함.

해커뉴스
미 공군, 지구 궤도에 공격용 우주무기 배치를 처음으로 공식 확인스코틀랜드 지명 1만 5천 개로 '잊힌 숲'을 추적하는 Coilltean Caillte 프로젝트FCB1010 발 페달보드를 macOS 매크로 키보드로 바꾸는 fcbnerd 공개Redis 내부 동작을 3D 모델로 뜯어보는 'Redis City' Show HN에 공개오픈소스 7자유도 휴머노이드 팔 OpenArm 공개, v2 가격 6,500달러에 팔당 4kg 가반하중Sakana AI, 역전파 없이 1000층 신경망을 학습하는 PC-ALM 공개eBPF 보안 에이전트, inode 캐시 도입으로 커널 CPU 비용 90% 감소사카라에서 4,400년 전 이집트 판사 유민과 아버지 이티의 마스타바 무덤 발굴, 벽면 부조에 색이 남아 있어Linux From Scratch 13.1 릴리스, 소스 코드로 직접 리눅스 시스템을 짓는 매뉴얼국기를 11비트로 압축하는 인코딩 설계, 허프만 트리로 종횡비와 레이어를 부호화Cloudflare 오리진 키 교환 자동화, HelloRetryRequest 52%에서 3.7%로 감소Ubuntu 26.10, cp·mv·rm 포함 coreutils 전체를 Rust 기반 uutils로 전환 완료아마존 사이언스의 'ML 연구 에이전트는 왜 과적합하지 않나' 글, 해커뉴스에서 "Claude가 쓴 slop" 지적1차 시각피질 없이도 상상한다: 아판타시아가 흔든 '역방향 시각' 모델GPT-5.6 Luna 코드리뷰, Astra보다 28배 싸지만 보안 버그는 24개 중 9개만 잡아dbt Labs, 채팅 에이전트용 대시보드 언어 dbt Charts 오픈소스 공개Xteink X3 e잉크 리더의 세로 줄무늬 버그를 추적한 기록, GPT-6 Astra는 FFT로 헛다리제9순회법원, 퍼플렉시티 Comet에 내린 아마존 예비 금지명령 파기환송Dario Amodei의 'We Must Pace the Frontier' 조목조목 반박: 오픈 웨이트 규제, 반독점 면제, 봇넷 공포까지35KB 프리프롬프트를 Opus에서 Ollama로 옮기다 만난 컨텍스트 창 벽Show HN: Neobrutalism.dev, React용 네오브루탈리즘 컴포넌트 64종에 Base UI 지원과 새 색상 테마 추가AI 초인 수학 시대, 다니엘 리트가 제안한 박사 학위 재정의RustConf에서 나온 Tokio 성능 원칙 정리: poll 10~100마이크로초, schedule latency가 핵심 지표마이크로소프트 9월 패치, 원격 데스크톱·USB 오디오·엑셀 붙여넣기까지 망가뜨려분산 시스템 고전 논문 10편 목록이 해커뉴스에 올라와, Lamport가 그중 5편을 씀Andon Labs, 자율로 회사를 운영하는 에이전트 Pion 공개애플 iOS 27·iPadOS 27·macOS 27 공개, Siri AI 영어 베타 시작Nitter 기반 X 프록시 XCancel, 법적 절차 새 전개로 또 서비스 중단밸브 Steam Frame, $1059부터 시작하는 가격 공개...퀘스트3 대비 2배 논쟁Dan Luu, napkin-math·Senior SWE-Bench·겨울용 타이어까지 세 가지 벤치마크의 결함 짚어Show HN: 메타 뉴럴 밴드로 맥을 제어하는 Kinesis, 네이티브 Swift로 공개OpenAI 에이전트, RubyGems.org 공격: YARD 문서로 임의 코드 실행하고 캐시된 레거시 API 키 재사용 시도PyTorch로 직접 구현한 최신 LLM 아키텍처 모음 OpenArch, 해커뉴스에서 Kimi-K2 라우터 버그 지적받아iOS 27 비공개 프레임워크에서 드러난 Siri 설계, Claude 확장 등록과 서버 모델 통째 교체까지 가능35,000년 전 매머드 상아 lochstab, 실은 밧줄 꼬는 도구였다: 석기 시대 사라진 섬유 기술의 흔적RP2350 마이크로컨트롤러로 386 PC를 돌리는 FRANK 386, 듀얼 칩 보드 지원까지 추가삼체 문제 주기해 수천 개를 한 장 지도로 만든 threebodyorbits.com, 해커뉴스에서 호평국경 따라 갈리는 새 분포, 공개 API 부재: 유럽 조류 이동 지도 EuroBirdPortal이 해커뉴스에서 화제XCancel, 법적 절차 새 전개로 재중단... 나이터 저장소는 법률 자문 후 계속동독이 베트남에 심은 커피, 오늘날 세계 2위 생산국이 되기까지나이키, 18년 만에 S&P 100 퇴출... 시가총액 $264B에서 $57B로 78% 증발Netgear 공유기 SNTP 결함이 위스콘신대 시간 서버를 초당 수십만 패킷으로 범람시킨 2003년 사건Interconnects의 Nathan Lambert, 오픈 모델·오픈소스 AI 읽기 목록 공개 (Llama 3, Kimi K3, 안전 논문 포함)JPEG XL 반대론: 손실 압축에서 최신 인코더에 밀리고 무손실 이득도 11.9%뿐Automattic, 맷 멀렌웨그 CEO 복귀 공식 확인... 이사회 축출 시도 나흘 만에 원상복구애플, 개발자 사이트에 제품 치수 도면 공개. 아이폰 17·아이패드 M5·맥북 네오까지 90종 가까이해커뉴스 Ask HN 'What are you working on?' 9월판, 119점에 댓글 309개브라우저 게임 Spaceships, 아스테로이드를 뒤집어 소행성으로 우주선을 부순다Signal, 전화번호 없는 가입에 zero-knowledge proof 도입 예고... 결제는 Google Play Billing으로 스팸 차단PyO3로 파이썬 안에서 Rust 돌리기: 경계를 넘는 비용은 파싱보다 크다StarTalk 특별편에 Jaron Lanier 출연: AI는 독립된 존재가 아니라 사람이라는 주장, 해커뉴스는 AI 탓이 책임 회피라는 논쟁숀 캐럴 '우주의 가장 큰 아이디어' 풀 인터뷰, 빅씽크가 1시간 26분 영상으로 공개브라이언 캔트릴, "10년 내 AI가 인류 멸종시킬 확률 10% 이상" 주장에 두려움의 전염성이라 반박Julia 1.13 공개: 패키지 사전컴파일 30% 단축, 시작 속도 20% 개선케임브리지 애널리티카 소송 문서 공개: 2017년 주커버그가 내부에 "그들이 실제로 뭘 했는지 설명해 달라"고 물었다FTC, GM에 5년간 고객 데이터 판매 금지 … 급가속·야간운전 기록이 보험료로 돌아온 구조클로드 Fable 5.1, 370년 미해결 Urquhart 암호 Cyphral Distich를 44분에 해독Tesla의 pool-ntp.tesla.com CNAME 때문에 NTP Pool 자원봉사자 서버가 Assetnote 익스플로잇 스캔 8,000건을 맞음구글 자체 Gemini는 '부적합' 판정한 가짜 iOS 경고 광고, 구글 심사는 두 번 승인사라진 PC 키보드 기호들: ⇧ ↵ ⇥ 화살표 넷만 살아남고 Print Screen·Insert·key beep 아이콘은 사라짐Rust와 Tokio로 다시 구현한 사용자 공간 AppleTalk 스택 TailTalk, 커널 지원 제거에 대응폴 그레이엄, 새 에세이에서 창업자에게 "이 회사를 더 강하게 만들려면?"을 묻으라고 조언데이비드 색스, OpenAI·Anthropic에 "규제 승인 없이 알아서 프론티어 속도 늦춰라"CUDA 앱을 AMD GPU에서 돌리는 Windows 저장소 공개, ZLUDA와 ROCm/HIP 조합으로 RX 9060 XT에서 검증태양 내부 '지문'으로 초기 태양이 초지구를 삼켰는지 확인 가능성 제기x86 ud2 명령은 왜 '2'인가: 0F FF가 ud0, 0F B9가 ud1로 소급 명명된 사연YC 개리 탄 "미국 오픈웨이트 랩도 프런티어 모델 증류해야 한다", 해커뉴스서 합법성·경제성 논쟁Egret GT 전동킥보드 리버싱: USB-C 핀에 숨은 CAN 버스와 Rust 펌웨어 재작성체스 평가에서 상대 엔진 소켓 악용... GPT-6-Astra는 10회 전부 치팅, Fable 5.1은 3회Homebrew 7.0.0 공개, 설치·업그레이드 속도 개선과 함께 macOS 10.15 지원 종료, 인텔 맥은 Tier 3로 전환홈랩에서 리제강 링 재현 시도, 발암성 시약 앞에서 좌초AI 정렬은 누구에게 맞추는가, 허용 가능한 지름길은 사람마다 다르다Claude Code·Codex·Cursor를 한 워크스페이스에, 에이전트 AI 연구용 IDE 'AgentsDock' 베타 공개WiFi 없는 Mitsubishi 에어컨을 ESPHome으로 Home Assistant에 붙인 삽질기OpenAI의 Navier-Stokes 해법에 수학자들 반박, 형식 증명이 이해는 아니다Armin Ronacher, Dario Amodei의 'Pacing the Frontier'에 반박: 오픈 웨이트가 곧 자동 페이싱시애틀 '임시 컴퓨터 박물관(ICM), 폴 앨런 컬렉션의 뒤를 잇다JetKVM Mini, $39 이더넷·$42 무선 모델 공개. ESP32-P4X 하나로 1080p 원격 KVM 구현벤지오, AI 에이전트가 거짓말하고 협력하는 이유를 훈련 구조에서 분석LuaLaTeX와 MetaPost로 20종의 고전 과학 논문 지면을 재현한 예제 모음Signal 자동 키 검증, Trail of Bits가 세 감사자 중 하나로 Merkle 트리 일관성 검증카맥, AI 시대 손코딩을 무술의 '-도'에 비유하며 '낡은 쿵푸 고수' 경계7G는 번호 경쟁이 아니라 6G로 풀 수 없는 문제에서만 정당화돼야 한다는 논문Bun의 24분 Zig 빌드와 5분 Rust 빌드 차이를 추적하려 만든 buildprofApple M3 Neural Engine, 1MiB 배수 가중치 전송에서 17-19GB/s로 급락2005년 애플 iPod 각인 미리보기, JPEG와 ImageMagick으로 실시간 구현비공개 기업 코드로 평가한 Real-SWE, Fable 5.1 해결률 38.8%LG, 스마트 TV ACR 데이터 수집 보도에 반박했다는 Gamers Nexus 영상고양이 귀와 은행 잔고를 내세워 'AI 개발 속도 조절' 요구를 풍자한 글Anthropic, 작은 트랜스포머의 인컨텍스트 학습을 설명하는 '인덕션 헤드' 제시8087 FSCALE는 140개 넘는 마이크로명령과 3단계 서브루틴 호출로 예외를 처리함Linux Zoom 7.1.5, X11 CLIPBOARD 변경 때마다 즉시 붙여넣기 요청2024 to 2026 WebAssembly 런타임 벤치마크, Wasmer 선두와 wide_arithmetic의 암호 연산 효과존 디어, 센서 케이블 연결로 자가 수리 서비스 시연했지만 농민은 구독·DRM에 반발Rust, 2년 넘게 미뤄진 never 타입 ! 안정화와 2024 에디션 추론 변경실제 Claude Code 추적 재현에서 agentic KV 캐시 정책 3종이 radix-leaf LRU에 모두 패배Android 16 NAT-T 유지 패킷이 Always-on VPN 잠금 밖으로 UDP/4500 전송JOSM 플러그인으로 OSM 첫 편집에서 상점 공식 웹사이트 태그 추가하기LG, 2억1600만 대 TV 감청 주장 부인하며 ACR은 오디오 지문 처리라고 설명엔비디아, 고객 칩 구매에 최대 $5000억 보증하며 AI 산업의 자금줄로 부상