
2026/09/15 6:22
チャット向けのグラフ
RSS: https://news.ycombinator.com/rss
要約▶
日本語翻訳:
トリスタン・ハンドィ(dbt Labs の創業者)は、プロプライエタリな BI ツールのインターフェースからデータを可視化することを、クリーンで編集可能なコードへシフトさせることを意図した宣言的言語「dbt Charts」のオープンソース化を発表しました。このリリースは、分析を「第 2 のアンバンドリング」の段階に位置づけ、ビジュアルロジックをロックダウンされた環境から分離することで、ポータブルで監査可能なシステムを作ることをめざしています。该平台は、シンプル YAML ファイル(「HOW」)を用いてチャートスタイルを定義し、標準 SQL(「WHAT」)を用いてデータを指定することを可能にし、16 種類のチャートタイプにわたる 1,100 以上の設定オプションを持つ堅牢な形式でパッケージ化しています。
重要な点として、チャートは現在、データモデルと同じ Git リポジトリ内に配置されています(
models/ ディレクトリ横の charts/ ディレクトリ)。この深い統合により、共有された継続的インテグレーションの実行が可能となり、基盤となるデータモデルの変更は自動的に可視化への影響を検証します(例えば ref() を用いて)。問題が発生した場合(例:ビルドの破断)には、自動的にビルドを停止します。レンダリング前に、システムは YAML と SQL の両方を厳密に検証し、棒グラフのバンド幅やテーブル列のオーバーフローなどの可視化詳細をチェックします。
現在 Apache 2.0 ライセンスの下で pre-1.0 ステータスにあるこのプロジェクトは、文法が進化する中で既存のボードへの移行をサポートし、コミュニティからのフィードバックを歓迎しています。この新しいプラットフォーム dbtCharts.com は、近々パブリックベータとして公開され、ホスティング、アクセス制御、会話型分析の処理を担当します。このアーキテクチャにより、Claude や ChatGPT などの AI エージェントは、リードオンリーの倉庫アクセス権限と熟練したアナリストのスキルを組み合わせてレポートを安全にガバナリングでき、実行環境に関わらず完全なポータビリティとシームレスなコラボレーションを実現します。
本文
dbt Charts:AI エージェントによるセルフサービス分析のための宣言的言語
2026 年 9 月 14 日、デヴィッド・フォウラーより発表。dbt Chartsという新しいオープンソース言語が誕生しました。これにより、AI エージェントとの対話で生成されたダッシュボードも、厳格なガバナンス下で管理できるようになります。
背景:なぜ dbt Charts が生まれたのか
AI データ分析の新たな課題
- 迅速なレポート生成: データ接続を持つ誰もが数時間でチャットだけで報告書を作成可能です。初期結果は非常に印象的です。
- コードの肥大化と管理の困難さ:
- デフォルトでは、エージェントが 1 つのレポートを HTML/CSS/JS/React/Streamlit など多数のファイルに変換します。
- ソースコードの追跡や監査には時間がかかり、各変更でトークン消費が増大する問題があります。
- BI ツールの限界:
- 従来の BI ツールは「UI 主導」のアプローチを採用しており、AI を狭いレールに閉じ込めています。
- これにより、「コードの自由さ」と「管理のしやすさ」の間で二択を迫られていました。
BI の再分離(Unbundling)の歴史
- 統合型から分岐へ: かつてはデータ取り込み〜可視化までを一元管理した BI ツールでしたが、モダンデータスタックの登場によりインフラ層が分離されました。
- コンピューティング → クラウド大手
- データ取り込み → Fivetran など
- 変換処理 → dbt へ移行
- 残された BI ツールの役割: 可視化、インタラクティブ分析インターフェース、セマンティクス定義、アクセス管理、Web ホスティングのみとなりました。
- パラダイムシフト:
- 過去は「マウス操作(UI)」が主流でしたが、現在は AI エージェントがチャート作成を行うため、「クリック」の前提は逆転します。
- エージェントはコード・SQL・Git に詳らかですが UI には不慣れです。そのため、チャートを「コード」へ移動させることが必須となりました。
dbt Charts:第三の選択肢
コンセプト:New C
dbt Charts は、BI ツールからチャートを切り出し、宣言的なコード言語へと置き換えるアプローチです。
- 言語構造:
- 「何を表示するか」: SQL で宣言(
)。SELECT ... - 「どのように表示するか」: YAML で規定(レイアウト・デザイン)。
- 「何を表示するか」: SQL で宣言(
- 特徴:
- 表現力豊かで整理されやすく、Markdown 記述や Jinja マクロをサポート。
- YAML は SQL を超える機能を持ちつつ、人間が読みやすい設計を採用。
シンプルなダッシュボード例
以下の YAML ファイルは、変数・クエリ・チャートの統合を示す簡易的な「全体ダッシュボード」です。
variables: status: column: main.documents.status queries: doc_growth: | SELECT DATE_TRUNC('month', created_at) AS month, SUM(COUNT(*)) OVER (ORDER BY month) AS num_docs FROM main.documents WHERE {{ filter('status', status) }} GROUP BY 1 charts: growth: title: Documents created, all time type: area query: doc_growth x: month y: num_docs rows: - growth
柔軟な出力とレンダリング
少数の要素だけで高度な機能を実現します。CLI を使用して各種フォーマットへ変換可能です。
- 対応出力形式: 静的 SVG、HTML、PNG、PDF、ターミナル出力など。
- 環境適応性: ノートパソコンから CI/CD パイプライン、Web サイト配信まで対応。
dct render charts/documents.yml --format svg # または html, png, pdf, terminal dct serve # ローカルサーバー起動
高度なスタイル管理
- カスケード伝播: チャート → ボード(ダッシュボード)→ テーマの順にスタイルが継承されます。
- 効率的な設定: 「ハウススタイル」や「標準レポート」を定義するだけで、全箇所での一貫性を保てます。
- 複雑なレイアウト: 16 種類のチャートタイプに加え、複合チャートや 1,100 を超える設定オプションをサポート。
完全な dbt Charts ダッシュボードは、読みやすい YAML 1 ファイルからレンダリングされます。
dbt との深い統合
dbt プロジェクトと連携することで、モデル変更との同期が自動化され、開発効率が劇的に向上します。
リポジトリ構造
charts/ ディレクトリを models/ の隣に配置し、同一 Git リポジトリで管理します。
your_dbt_project/ .git/ dbt_project.yml models/ charts/ # 新しいダッシュボード用フォルダ revenue.yml
エラー検知と検証
- 即時フィードバック:
を通じてモデルに接続。モデルの変更や列の欠如は、dbt の実行を待つことなく即座に PR でエラー化されます。ref() - 自動検証コマンド: CI ランを 1 つのワークフローとして実行可能です。
dbt parse && dct validate charts/
セマンティクレイヤーとの連携(計画)
- 定義済みのメトリクスを使用し、SQL の再記述を不要にします。
- 詳細: GitHub Issue #1 をご参照ください。
エージェント向け設計と可視化チェック
AI エージェントは緊密なフィードバックループの中で最も効果的に機能します。dbt Charts は以下の仕組みを提供します。
- 厳格なバリデーション: YAML と SQL の双方で構文エラーを検出。
- 可視化チェック機能: ダッシュボード公開前に潜在的な問題を警告・指摘します。
例:レンダリング時の警告メッセージ
$ dct render charts/revenue.yml WARN-BAR-BAND-WIDTH-TOO-NARROW 182 bands x 2 series across 640px Fix: roll up to a coarser grain. WARN-TABLE-COLUMNS-OVERFLOW Table needs 980px but only 640px is available. Fix: drop columns or widen the slot.
美しく一貫性のある報告システム:ホステッドプラットフォーム
dbt Charts は、グラフィックデザイナー RJ アンドー氏の芸術的洞察を取り入れ、「ダッシュボード時代」を超えた美しいチャートデザインを実現しました。各要素のサイズ・間隔・レイアウトを慎重に設計し、視覚的なノイズを排除した一貫性のあるシステムを提供します。
「再分離」の残りの部分:プラットフォーム機能
オープンソース言語(コード層)から分離された、「BI の残りの部分」はホステッドプラットフォームが対応します。
| dbt Charts (コード) | オプション | dbt モデル | 変換処理 | データウェアハウス | データ |
|---|---|---|---|---|---|
| オープンチャート言語 | ✓ | セマンティクレイヤー | ✓ | ✓ | 同じ dbt Git リポジトリ内 |
プラットフォームで提供する機能
- ホスティング: データウェアハウスへのログイン不要でのダッシュボード閲覧。
- 会話型分析 (ChatBI): クロードや ChatGPT と同等の対話機能を備え、データアクセス権限を統合。
- ビジュアルエディター: 対話しながら探索し、視覚的に微調整・保存可能。
- バージョン管理: すべての変更(チャット・コード・編集)は Git リポジトリ上の YAML ファイルに統一されます。
- 共有権限管理: ユーザー・グループごとの细かなアクセス制御。
これにより、隠れたデータスタックを回避し、一貫性の高い分析環境が構築できます。チームはエージェントを手元に置きながら、セルフサービスを実現可能です。
ベータ版を試す
dbt Charts の言語は Apache 2.0 ライセンスでオープンソース化されています。アカウント作成なしでもローカル環境での作成・レンダリング・配信が可能です。
インストール方法
コードिंगエージェントに以下の指示を出すか、手動でインストールします。
# Terminal (uv を使用) uv tool install dbt-charts # Claude / AI エージェントへのプロンプト例 Make charts of this with dbt Charts. Start with: uv tool install dbt-charts && dct skills intro
リンク集
- コード: github.com/dbt-labs/dbt-charts
- ドキュメント: docs.dbtCharts.com
- ホステッド BI: dbtCharts.com
- コミュニティ: #dbt-chairs on the dbt Community Slack
今後の展開
現在 beta バージョン(1.0 正式版以前)であり、継続的な改善が行われています。文法の変更に合わせてボードは自動的にマイグレーションするため、既存のボードも引き続き動作します。不足点やご意見については Issue や Slack チャンネルにてご教示ください。
共に待ち望まれた「チャート層」の構築を進めましょう。