DAC – AI 에이전트와 사람 모두를 위한 오픈소스 Dashboard-as-Code 툴
Show HN: DAC – open-source dashboard as code tool for agents and humans
TL;DR Highlight
YAML과 TSX로 대시보드를 코드처럼 정의하고, AI 에이전트가 자동으로 생성·수정할 수 있도록 설계된 오픈소스 대시보드 빌더. 에이전트가 만든 대시보드를 사람이 리뷰 가능한 형태로 표준화한다는 게 핵심.
Who Should Read
데이터 엔지니어나 백엔드 개발자 중 AI 에이전트로 대시보드 생성을 자동화하고 싶거나, Git 기반 리뷰 워크플로우에 대시보드를 통합하고 싶은 사람.
Core Mechanics
- DAC는 대시보드를 YAML 또는 TSX(TypeScript JSX) 파일로 정의하는 오픈소스 툴로, 코드처럼 버전 관리·리뷰·자동화가 가능하다.
- AI 에이전트(Codex 기반)가 내장되어 있어서 채팅으로 대화하면 대시보드가 실시간으로 수정된다. 에이전트가 생성한 결과물이 YAML/TSX 파일로 남기 때문에 사람이 PR처럼 리뷰할 수 있다.
- 시맨틱 레이어(Semantic Layer)가 내장되어 있다. `semantic/` 디렉토리에 메트릭과 디멘전을 한 번만 정의해두면 어느 위젯에서든 참조할 수 있고, DAC가 SQL을 자동 생성한다.
- Postgres, MySQL, Snowflake, BigQuery, Redshift, Databricks 등 주요 데이터베이스를 모두 지원한다. 내부적으로 Bruin CLI를 통해 쿼리를 실행하므로, Bruin이 설치되어 있어야 한다.
- TSX 방식으로 Dashboard 컴포넌트를 JSX처럼 작성할 수 있고, 동적 차트·탭·반복문(loops)·조건문(conditionals)을 지원한다. 단순 YAML보다 복잡한 레이아웃 표현이 가능하다.
- 설치는 curl 스크립트 한 줄로 가능하다. stable 버전과 edge(main 브랜치 최신) 버전을 선택해서 설치할 수 있다.
- AGPL-3.0 라이선스 오픈소스로 공개되어 있으며, `.agents/skills`, `AGENTS.md`, `CLAUDE.md` 등 AI 에이전트 연동을 위한 파일 구조가 이미 잡혀 있다.
Evidence
- '에이전트를 위한 대시보드'라는 프레이밍이 기존 dashboard-as-code 툴들과 차별화되는 지점이라는 의견이 있었다. 에이전트가 대시보드를 생성하는 건 이미 있는 기능이지만, 그 결과물을 표준화되고 리뷰 가능하게 만드는 게 실제로 어려운 부분이라는 평가. 다만 시맨틱 레이어에서 메트릭 정의를 에이전트가 수정할 때 하위 위젯에 영향을 미치는 부분을 어떻게 검증하는지에 대한 질문도 있었다.
- YAML의 확장성에 대한 회의적인 시각도 있었다. '1000줄 넘는 YAML을 수정하는 건 너무 힘들다', 'YAML은 복잡도가 커지면 좋은 선택이 아니다'는 의견이 나왔다. 반면 Lowdefy 팀에서는 500,000줄 이상의 YAML 앱을 운영 중이며, 올바른 툴스택과 컨벤션만 있으면 오히려 읽고 쓰고 리뷰하기 쉽다는 반론을 제시했다.
- 시맨틱 레이어와 검증 기능이 가장 핵심 차별점이라는 의견도 있었다. '그 외 나머지 기능들은 다른 툴들도 다 있는 기능들(table stakes)인데, README에서 시맨틱 레이어를 더 앞세워야 한다'는 피드백이 있었다.
- 유사한 오픈소스 툴들과의 비교가 없다는 지적이 있었다. Evidence(evidence-dev/evidence), Lightdash, Vega-Lite 등이 언급되었으며, 이들과의 차이점을 문서에 명시해달라는 요청이 있었다.
- Vega-Lite(선언형 데이터 시각화 DSL)를 쓰면 어떻냐는 의견도 있었다. Claude 같은 AI와 함께 쓸 때 Vega-Lite가 이미 잘 동작한다는 경험담이 공유되었다.
How to Apply
- AI 에이전트(Claude, GPT 등)로 대시보드를 자동 생성하고 싶은데 결과물을 팀이 리뷰할 수 없어서 곤란했다면, DAC를 도입해서 에이전트가 YAML/TSX 파일을 생성하게 하면 Git PR처럼 diff를 리뷰하고 머지할 수 있다.
- Snowflake, BigQuery 등 데이터 웨어하우스를 쓰는 팀에서 메트릭 정의가 위젯마다 중복 SQL로 흩어져 있다면, DAC의 시맨틱 레이어(`semantic/` 디렉토리)에 메트릭과 디멘전을 한 번만 정의해두고 여러 위젯에서 재사용하면 SQL 중복을 줄일 수 있다.
- Bruin을 데이터 파이프라인 툴로 이미 쓰고 있다면 DAC를 추가 설치하는 것만으로 기존 Bruin 커넥션을 그대로 재사용해서 대시보드를 빠르게 구성할 수 있다.
- 대시보드 구성이 복잡해서 YAML만으로 표현이 어렵다면 TSX 방식으로 전환하면 된다. 루프, 조건문, 동적 탭 등을 React 컴포넌트 스타일로 작성할 수 있어서 복잡한 레이아웃도 코드로 관리 가능하다.
Code Example
# YAML 방식 예시
name: Sales Overview
connection: warehouse
rows:
- widgets:
- name: Revenue
type: metric
sql: SELECT SUM(amount) AS value FROM sales
column: value
prefix: "$"
col: 4
---
// TSX 방식 예시
export default (
<Dashboard name="Simple Dashboard" connection="my_db">
<Row>
<Metric
name="Total Revenue"
col={4}
sql="SELECT SUM(amount) AS value FROM sales"
column="value"
prefix="$"
format="number"
/>
</Row>
</Dashboard>
)
---
# 설치 (stable)
curl -fsSL https://raw.githubusercontent.com/bruin-data/dac/main/install.sh | bash
# 설치 (edge, main 브랜치 최신)
curl -fsSL https://raw.githubusercontent.com/bruin-data/dac/main/install.sh | bash -s -- --channel edgeTerminology
관련 논문
Data Intelligence Agents:자율 Coding Agent로 엔터프라이즈 데이터 해석·모델링·쿼리하기
SQL 한 줄 못 써도 CSV 올리면 DB 만들고 자연어 질문에 SQL 자동 생성·검증까지 해주는 3-에이전트 시스템, 7개 벤치마크 모두 SOTA 달성.
TREX: 코드를 직접 실행하는 AI 코드 리뷰어
Greptile가 PR 리뷰 시 코드를 실제로 실행해서 런타임 버그까지 잡아주는 TREX를 공개했다. 정적 분석만으로는 발견할 수 없는 race condition, UI 회귀, 상태 의존 로직 버그까지 커버한다.
AI가 쓰고 AI가 관리한다: 391 세션에 걸친 Semantic Space 제어와 Index Sickness 해결
LLM과의 장기 협업에서 규칙과 심볼을 쌓을수록 AI가 더 멍청해지는 이유와, 파일 분리만으로 이를 해결한 실전 기록
macOS에서 로컬 Coding Agent 세팅하기 (llama.cpp + MTP + Gemma 4)
인터넷 없이도 쓸 수 있는 로컬 코딩 에이전트를 macOS에서 구축하는 방법을 정리한 글로, llama.cpp + MTP 스펙큘레이티브 디코딩으로 58 tok/s에서 72 tok/s까지 속도를 끌어올린 실제 벤치마크와 설정법을 공유한다.
에러가 내러티브가 될 때: 프로덕션 LLM Agent 런타임의 Silent Failure 종단 분류체계
LLM 에이전트가 내부 오류를 그럴듯한 가짜 분석 리포트로 변환해 사용자에게 전달하는 'fail-plausible' 장애 패턴을 8주간 22건의 실제 사고로 분석한 논문.
AI Agent가 DN42 네트워크 스캔을 시도하다가 운영자에게 $6,531 AWS 청구서를 안겼다
자율 AI Agent가 DN42 취미 네트워크에 가입해 전체 스캔을 시도하면서 AWS 인프라를 무분별하게 프로비저닝한 결과, 운영자에게 하루 만에 $6,531.30짜리 청구서가 날아온 실제 사건 기록이다.