チャットのために構築されたチャート
Charts built for Chat (dbtcharts.com)
要約
dbt Labsは、ダッシュボード構築のための宣言型言語であるdbt Chartsをオープンソース化しました。これにより、AIエージェントとの対話を通じて生成されたダッシュボードも管理可能になります。この新しい言語は、SQLでデータの「何を」を定義し、YAMLでダッシュボードの「どのように」を宣言することで、コードの自由度と可読性を両立させ、AIと人間が共同でデータビジュアライゼーションを作成する未来を目指しています。
全文翻訳
チャットのために作られたチャート
ブログ · 2026年9月14日 · Dave Fowler
私たちはdbt Chartsをオープンソース化します。これはダッシュボードのための宣言型言語であり、エージェントとのチャットで構築するダッシュボードさえも管理できるようにします。
データにおけるAIはすでに存在し、長年約束されてきたセルフサービス分析がついに実現しています。データ接続を持つ人なら誰でも、午後にレポートをチャットで作成でき、最初の結果は印象的です。
しかし、摩擦はすぐに現れます。デフォルトでは、エージェントは1つのシンプルなレポートを多数のファイル(HTML、CSS、JavaScript、いくつかのチャートライブラリ、そしてライブにする場合はReactまたはStreamlitアプリ)の山に変えてしまいます。結果をそのソースにたどることは、複数の言語やファイルを追跡することを意味し、人が監査するには時間がかかり、変更ごとにエージェントの時間とトークンを消費します。
BIツールは逆の道を選び、UIファーストのアプリにコパイロットを搭載しました。これによりAIは管理されたレールに乗りますが、それは狭いレールです。エージェントはUIが公開するものしか実行できません。
そのため、今日はコードの乱雑な自由と、BIツールの狭い制御の間で選択することになります。私たちは第三の選択肢を構築しました。先へ進むか、BIがどのようにしてこの状態になったのかを読むか、どちらかを選んでください。
BIのアンバンドリング
dbt Labsの創設者であるTristan Handyが最近BIの第二のアンバンドリングで書いたように:
データの世界に入ったとき、BIツールはフルスタックでした。データ取り込み、変換、コンピューティング、キャッシング、セマンティクス、可視化、IDなど、すべてが1つの製品内で完結していました。BIツールがデータスタックそのものでした。MicroStrategy、Cognosなど:これらは単なる可視化ツールではなく、統合データプラットフォームでした。
そしてモダンデータスタックが登場しました。約2015年から2022年にかけて、そのBIバンドルのインフラレイヤーが引き出され、目的特化型のインフラストラクチャに変わりました。コンピューティングはBig 5(主要クラウドプロバイダー)へ、取り込みはFivetranへ、変換はdbtへと移行しました。BIツールに残されたのは、可視化、インタラクティブな分析インターフェース、セマンティック定義(場合による!)、IDおよびアクセス管理、そしてWebホスティングでした。
- ウェアハウジング Big 5
- E L T Extract Load Transform
BIはそれ以外のすべて
そのアンバンドリングが残したものが、今日のBIツールであり、チャートはその最大の構成要素です。ほとんどの人にとって、クリックはYAMLを書くよりも速いため、チャートはUIに残りました。しかし、ますます多くのチャートが人間によって作成されなくなります。すべてもののフロントエンドとユーザーがますますチャットエージェントになるにつれて、この好みは逆転します。エージェントはコードやSQL、Gitに流暢ですが、他人のUIを扱うのは不器用です。そのため、チャートはエージェントが作業する場所、つまりコードへと移行する必要があります。
チャートはBIツールから離れる
今日、私たちはBIのアンバンドリングにおける次のステップを踏み出します。私たちはdbt Chartsをオープンソース化します。これはチャートをBIツールから取り出し、コード、特にフルインタラクティブなダッシュボードを1つの監査可能なYAMLファイルで宣言できる新しい構造化YAML言語に入れます。エージェントと自由にチャットでき、それが作成したものはコードの自由度を持ちながら、読みやすいままです。
- ウェアハウジング Big 5
- E L T Extract Load Transform
- 新しいCチャート
BIはいくつかの断片
dbt Chartsでは、SQLは表示したいデータを宣言する言語であり続けます。そして、それをYAMLでラップして、表示方法を宣言します。
私たちは、コアで拡張可能な少数の要素に言語を絞り込むのに長い時間を費やしました。それらは表現力において深く、整理や読解が容易です。YAMLはSQL以上のものをラップします。Markdownはプロセ(文章)を運び、Jinjaはdbtのように変数とマクロを運びます。
ここに小さな例があります。1つの変数(UIフィルター)、1つのクエリ、そして1つのチャートです。
variables:
status:
column: documents.status
queries:
doc_growth: |
SELECT DATE_TRUNC('month', created_at) AS month,
SUM(COUNT(*)) OVER (ORDER BY month)
AS num_docs
FROM 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
[画像: Documents created, all time: an area chart that climbs from 184 to 58,440, rendered from the board above]
そのファイルがボード全体です。CLIは、任意のボードファイルをローカルまたはCIで静的SVG、またはHTML、PNG、PDF、さらにはターミナルにレンダリングし、それらのフォルダをサイトとして提供します。
dct render charts/documents.yml --format svg # または html, png, pdf, terminal
dct serve
それらの少数の要素は深く、現在1,100以上の設定オプションがあり、16種類のチャートタイプとそれらから構築された複合チャートに及びます。そして、あらゆる優れた言語のように、複雑なレイアウトやビジュアルを表現できます。
これらのオプションを手動で設定することはめったにありません。スタイルはカスケードします。チャートはボードから継承し、ボードはテーマから継承し、テーマは切り替えるための1行です。ボードは別のボードをextends:できるため、ハウススタイルや標準レポートは一度書けばどこでも継承されます。ボードは短く保たれ、テーマ設定は安価に保たれます。
[画像: A complete commercial performance board with KPIs, bars, a donut, a line chart, and a table]
完全なdbt Chartsボード。読みやすい1つのYAMLファイルからレンダリングされます。
dbtとの深い統合
dbt Chartsをdbtプロジェクトで使用する必要はありませんが、使用すると多くの機能がアンロックされます。チャートレイヤーは変換レイヤーの直上に位置し、統合が深まるほど、両方を変更するのが容易になります。
dbt Chartsを使用すると、charts/ディレクトリがmodels/と同じGitリポジトリ内に配置されるため、モデルとそのチャートへの変更は1つのブランチで、1つのCI実行で出荷され、本番環境に到達する前に失敗します。
your_dbt_project/
.git/
dbt_project.yml
models/
charts/ # dbtリポジトリ内の新しいフォルダ、ダッシュボード用
revenue.yml
クエリはref()を介してモデルに到達し、マニフェストから解決されるため、モデルの名前変更や欠落した列は、dbt runがウェアハウスを再構築する前に、それを壊したプルリクエストを失敗させます。
dbt parse && dct validate charts/
dbt Semantic Layerのサポートが計画されており、ボードはプロジェクトが定義したメトリックを使用できるようになります。そのSQLを繰り返すのではなく。 dbt-labs/dbt-charts#1をフォローしてください。
チャットのために構築
エージェントはかなり盲目になることがあり、タイトなフィードバックループで最もよく機能します。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が、dbt以前のように、データスタックのそのレイヤーのオープンスタンダード言語になることを願っています。私たちは、人間とAIが共に構築する未来のためにそれを設計し、その未来のように見えるようにしたかったのです。ダッシュボードグリッドのようではなく。私たちは、データグラフィックデザイナー、作家、歴史家であるRJ Andrewsをリクルートし、チャートをデザインしてもらいました。彼のクラフトの歴史に対する理解が、結果を新しく感じさせる理由です。それはダッシュボード時代を超えて、人々が注意深く描いていたチャートの姿にまで及びます。
多くのツールは、視覚的なノイズとスペースの損失を犠牲にして配置を偽装するカードやボックスでごまかします。私たちは、個々のチャート、および隣接するチャートとの間での、すべてのチャートのスペーシング、サイジング、レイアウトを計算しました。
[画像: A dbt Charts board: gallery/general/dundersign-commercial-finance][画像: A dbt Charts board: gallery/general/one-dataset-nine-ways][画像: A dbt Charts board: gallery/boards/dundersign-support-operations][画像: A dbt Charts board: gallery/boards/quarterly-business-review][画像: A dbt Charts board: gallery/charts/composed-chart-shapes]
その結果、現在のBIよりも一段上のレベルに感じられる、統一されたチャートシステムが生まれました。
オープンソース言語と並行して、本日、BIの残りの部分のためのホストプラットフォームであるdbtCharts.comをパブリックベータ版でローンチします。チャートが取り除かれた後、残るのは主にホスティング、アクセス制御、そしてUIです。これらは性質上、アンバンドルできないか、少なくともそうすべきではないかもしれませんが、プラットフォームはそれらをオープンソース言語の上に処理します。
variables:queries:charts:rows:ChatUIHosting & AccessdbtCharts.comBI platformdbt ChartsOpen chart language: YAML and SQL Semantic layerOptional dbt modelsTransformation Your warehouseData same dbtGit repo
プラットフォームはあなたのウェアハウスに接続し、会話型分析、最終調整のためのビジュアルエディタ、バージョン履歴、ユーザーとグループの権限を持つ共有機能を追加します。これにより、ボードを読む人々はウェアハウスのログインを必要としなくなります。
そしてもちろん、これらのチャートはチャットのために構築されました。プラットフォームはファーストクラスの会話型分析を備えています。ClaudeやChatGPTのようなものですが、許可された読み取り専用のウェアハウスアクセスと、エキスパートアナリストのスキルとツールが組み込まれています。チャットでチャートを探索し、いつでもクリックしてボードを微調整して保存できます。
[図: One board. Every way to work. Design YAML History Sharing Pause Play]
オープン言語上に構築されているため、チャット、ビジュアルエディタ、またはコードからのすべての変更は、Gitリポジトリ内の同じYAMLに格納されます。何もロックインされません。同じボードがローカルマシン、CI、およびプラットフォームで実行され、チームは第二の隠されたデータスタックを作成することなく、エージェントを手にセルフサービスできます。
ベータ版を試す
dbt Charts言語はApache 2.0ライセンスの下でオープンソースであり、アカウントを作成せずにローカルでボードを作成、レンダリング、提供できます。自分でインストールするか、コーディングエージェントに1行渡してください。
Claude Code
Codex · その他 I want to make charts of this data with dbt Charts. Run `uv tool install dbt-charts`, then `dct skills chart`, and follow what it prints.
ターミナル uv tool install dbt-charts
claude.aiやChatGPTで、インストール不要な場合は? dbtCharts.comで開始 ↗
- コード: github.com/dbt-labs/dbt-charts
- ドキュメント: docs.dbtcharts.com
- ホストBI: dbtCharts.com
- コミュニティ: dbt Community Slack の #dbt-charts
dbt Chartsは1.0未満であり、まだ変更中です。文法が変更された場合、ボードは解析時に移行するため、今日書いたボードは引き続きレンダリングされます。試して、何が欠けているか教えてください12、Slackの#dbt-chartsで議論に参加し、オープンデータインフラストラクチャが待ち望んでいたチャートレイヤーの構築を手伝ってください。