Web開発
チャットのために構築されたチャート
Charts built for Chat (dbtcharts.com)
要約
dbt Labsは、ダッシュボード構築のための宣言型言語であるdbt Chartsをオープンソース化しました。これにより、AIエージェントとの対話を通じて生成されたダッシュボードも管理可能になります。この新しい言語は、SQLでデータの「何を」を定義し、YAMLでダッシュボードの「どのように」を宣言することで、コードの自由度と可読性を両立させ、AIと人間が共同でデータビジュアライゼーションを作成する未来を目指しています。
全文翻訳
Blog · 2026年9月14日 · Dave Fowler
Charts built for Chat
私たちはdbt Chartsをオープンソース化します。これはダッシュボードのための宣言型言語であり、エージェントとチャットして構築するダッシュボードでさえも管理できるようにするためです。
データに関するAIはここにあり、長年約束されてきたセルフサービス分析がついに実現しています。データ接続を持つ人なら誰でも、午後にレポートをチャットで作成でき、最初の結果は印象的です。
しかし、摩擦はすぐに現れます。デフォルトでは、エージェントは1つの単純なレポートをHTML、CSS、JavaScriptのファイル群、いくつかのチャートライブラリ、そしてライブにする必要がある場合はReactまたはStreamlitアプリに変えます。結果をそのソースにたどることは、複数の言語やファイルを追跡することを意味し、人が監査するには時間がかかり、エージェントは変更ごとに時間とトークンを消費します。
BIツールは逆の道を進み、UI中心のアプリにコパイロットを搭載しました。これによりAIは管理されたレールに乗りますが、それは狭いレールです。エージェントはUIが公開するものしかできません。
そのため、今日はコードの乱雑な自由とBIツールの狭い制御のどちらかを選択することになります。私たちは3番目の選択肢を構築しました。先に進むか、BIがどのようにしてここにたどり着いたのかを読むかです。
BIのアンバンドリング
dbt Labsの創設者であるTristan Handyは最近、BIのセカンド・アンバンドリングで次のように書いています。
私がデータの世界に入ったとき、BIツールはフルスタックでした。データ取り込み、変換、コンピューティング、キャッシング、セマンティクス、可視化、IDなど、すべてが1つの製品内で起こっていました。BIツールがデータスタックでした。MicroStrategy、Cognosなど:それらは単なる可視化ツールではなく、統合データプラットフォームでした。
次にモダンデータスタックが登場しました。約2015年から2022年にかけて、そのBIバンドルのインフラレイヤーが引き出され、目的特化型のインフラストラクチャになりました。コンピューティングはBig 5(大手クラウドプロバイダー)に行き、取り込みはFivetranに行き、変換はdbtに行きました。BIツールに残されたのは、可視化、インタラクティブな分析インターフェース、セマンティック定義(場合による!)、IDおよびアクセス管理、そしてWebホスティングでした。
<201201234567890123456 データウェアハウジング Big 5 E L T 抽出・ロード・変換 BI その他
そのアンバンドリングが残したのが今日のBIツールであり、チャートはその最大の構成要素です。ほとんどの人にとって、クリックする方がYAMLを書くよりも速いため、チャートはUIに残っていました。しかし、ますます多くのチャートが人によって作成されなくなります。すべてのフロントエンドとユーザーがますますチャットエージェントになるにつれて、この好みは逆転します。エージェントはコード、SQL、Gitに堪能ですが、他人のUIでは不器用です。したがって、チャートはエージェントが作業する場所、つまりコードに移動する必要があります。
チャートはBIツールから離れる
本日、私たちはBIのアンバンドリングの次のステップを踏み出します。dbt Chartsをオープンソース化します。これはチャートをBIツールから取り出し、コード、特に1つの監査可能なYAMLファイルで完全なインタラクティブダッシュボードを宣言できる新しい構造化YAML言語に入れます。エージェントと自由にチャットし、それが作成するものはコードの自由度を持ちながら、読みやすいままです。
2026.8 データウェアハウジング Big 5 E L T 抽出・ロード・変換 New C チャート BI 少数のビット
dbt Chartsでは、SQLは表示したいデータを宣言する言語のままであり、私たちはそれをYAMLでラップして「どのように」表示するかを宣言します。
私たちは、コアで拡張可能な要素の少数を抽出する言語に長い時間を費やしました。表現できる内容は深く、整理や読み取りが容易です。YAMLはSQL以上のものをラップします。Markdownはプロセを運び、dbtのJinjaは変数とマクロを運びます。
小さな例を挙げましょう。1つの変数(UIフィルター)、1つのクエリ、そして1つのチャートです。
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で動作し、それらのフォルダをサイトとして提供します。
```bash
dct render charts/documents.yml --format svg # または html, png, pdf, terminal
dct serve
```
これらの要素は深く掘り下げられています。16種類のチャートタイプとそれらから構築された複合チャート全体で、現在1,100を超える設定オプションがあります。そして、あらゆる優れた言語のように、複雑なレイアウトやビジュアルを表現できます。
これらのオプションを手動で設定することはめったにありません。スタイルはカスケードします。チャートはボードから継承し、ボードはテーマから継承し、テーマは切り替えるための1行です。ボードは別のボードを拡張することもできます。そのため、ハウススタイルや標準レポートは一度書かれ、どこでも継承されます。ボードは短く保たれ、テーマ設定は安価に保たれます。
1つの読みやすいYAMLファイルからレンダリングされた完全なdbt Chartsボード。
dbtとの深い統合
dbt Chartsをdbtプロジェクトで使用する必要はありませんが、使用すると多くのことが可能になります。チャートレイヤーは変換レイヤーの直上にあり、統合が深まるほど、両方を変更するのが容易になります。
dbt Chartsを使用すると、charts/ディレクトリがmodels/と同じGitリポジトリ内に配置されるため、モデルとそれに対応するチャートの変更は1つのブランチで、1回のCI実行で出荷され、本番環境に到達する前に失敗します。
```
your_dbt_project/
.git/
dbt_project.yml
models/
charts/ # dbtリポジトリ内のダッシュボード用の新しいフォルダ
```
クエリはref()を通じてモデルに到達し、マニフェストから解決されます。そのため、名前が変更されたモデルや欠落した列は、dbt runがデータウェアハウスを再構築する前に、それを壊したプルリクエストを失敗させます。
```bash
dbt parse && dct validate charts/
```
dbtセマンティックレイヤーのサポートが計画されており、ボードはプロジェクトが定義したメトリックを使用できるようになります。SQLを繰り返す必要はありません。dbt-labs/dbt-charts#1をフォローしてください。
チャット向けに構築
エージェントはかなり盲目になることがあり、タイトなフィードバックループで最良の結果を出します。dbt Chartsはそれらにフィードバックループを提供します。YAMLとSQLの両方の厳密な検証、およびボードが誰かの目に触れる前に問題をフラグ付けする広範な可視化チェックセットです。
```bash
$ 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が、dbtがかつてそうであったように、データスタックのレイヤーにおけるオープンスタンダード言語になることを願っています。私たちは、人間とAIが共に構築する未来のためにそれを設計し、その未来のように見えるようにしたかったのです。ダッシュボードグリッドのようではなく。私たちは、データグラフィックデザイナー、作家、歴史家であるRJ Andrewsを招き、チャートをデザインしました。彼の工芸の歴史への理解が、結果を新しく感じさせる理由です。それはダッシュボード時代を越えて、人々が注意深く描いていたチャートの姿にまで及びます。
多くのツールは、視覚的なノイズとスペースの損失を犠牲にして配置を偽装するカードやボックスでごまかします。私たちは、各チャートのスペーシング、サイジング、レイアウトを、単独で、そして隣接するものと並べて計算しました。
その結果、現在のBIよりも一段上のレベルに感じられる、まとまりのあるチャートシステムが生まれました。
dbtCharts.com:dbt Charts上に構築されたBIプラットフォーム
オープンソース言語と並行して、本日、BIの残りの部分のためのホストプラットフォームであるdbtCharts.comをパブリックベータ版でローンチします。チャートが取り出された後、残るのは主にホスティング、アクセス制御、そしてUIです。これらの性質上、これらはアンバンドリングできないか、少なくともアンバンドリングすべきではないかもしれません。そのため、プラットフォームはオープンソース言語の上にそれらを処理します。
variables:
queries:
charts:
rows:
ChatUI
ホスティングとアクセス
dbtCharts.com
BIプラットフォーム
dbt Charts
オープンチャート言語:YAMLとSQL
セマンティックレイヤー
オプションのdbtモデル
変換
あなたのデータウェアハウス
データ
同じdbt
Gitリポジトリ
プラットフォームはあなたのデータウェアハウスに接続し、会話型分析、仕上げのためのビジュアルエディター、バージョン履歴、ユーザーとグループの権限を持つ共有を追加します。これにより、ボードを読む人々はデータウェアハウスのログインを必要としなくなります。
そしてもちろん、これらのチャートはチャットのために構築されました。プラットフォームはファーストクラスの会話型分析を備えています。ClaudeやChatGPTのようなものですが、許可された読み取り専用のデータウェアハウスアクセスと、専門アナリストのスキルとツールが組み込まれています。チャートとのチャットで探索し、いつでもクリックして