Microsoft Research、対話型グラフの操作を意味で記述する「Flint-interactive」を発表

(Microsoft)[写真拡大]
Microsoft Researchは2026年10月22日、オープンソースの可視化言語Flintを拡張する「Flint-interactive」を発表した。クリックによる強調表示や範囲選択、ズーム、複数グラフの連動などを、データ上の意味に基づいて記述する仕組みだ。
開発者やAIエージェントが操作の意図を指定し、コンパイラと実行環境が表示更新を担う。Microsoft Researchは、対話型グラフの生成や修正に伴う負担を減らし、作成の信頼性を高める狙いを示している。
■操作と表示処理を分けて記述
Flint-interactiveの中心にあるのは、ユーザー操作を「意味イベント」に変換する設計だ。クリックやドラッグを、どのグラフ要素やデータが選ばれたかという情報に変え、それに応じた表示更新を指定する。
例えば、棒グラフの項目をクリックしたとき、その項目に対応するデータを使って棒を強調したり、別の表を絞り込んだりする。開発者は、描画ライブラリ固有の要素を調べて操作する作業を減らし、選択したデータとアプリケーションの応答に集中できる。
Microsoft Researchによると、AIによる対話型グラフ作成では、推論、コード生成、デバッグを繰り返すことで時間とトークンを消費する。また、レイアウトや操作に不具合が入り込みやすく、修正によって別の問題が生じることもあるという。
既存ツールにも対話機能はある。Vega-Liteは選択パラメーターを使ってクリックや範囲選択を宣言的に表現でき、D3はイベント処理や表示要素を細かく制御できる。Flint-interactiveは、データの選択と表示更新の対応を、さらに高い抽象度で扱うための層となる。
■Flint Canvasが意味イベントと表示を仲介
操作と描画の状態を管理するのが、状態機械として構成された「Flint Canvas」だ。クリックやドラッグなどの入力について、ヒットテストで対象を判定し、グラフ要素とデータを識別する意味イベントを生成する。
アプリケーションのハンドラーは、このイベントに含まれる意味情報を使って応答を決める。例えば、国別グラフから選択された国名を取り出し、対応する要素を強調して国名のラベルを表示できる。処理の中心を、画面上の位置からデータの値へ移せるわけだ。
更新の基本となる演算子には、見た目を変える「set-style」、注釈を付ける「set-annotation」、表示範囲を変える「set-viewport」がある。選択項目を強調し、それ以外を薄くする、点に説明を付ける、注目する期間へ拡大する、といった応答を表現する。
プログラミングAPIでは、1つのハンドラーから複数の演算子を返せる。カテゴリーの並べ替えや重ね合わせ表示、データの置き換えを扱う演算子も用意されており、基本的な表示変更を組み合わせて独自の操作を構成できる。
■プリセットとAPIでグラフや表をつなぐ
定型的な操作は、グラフ仕様の「interaction_spec」にプリセットを追加して指定する。公式リポジトリでは、2026年10月24日時点で23種類の操作プリセットを案内している。
プリセットには、クリックによる強調、値の確認、矩形選択、投げ縄選択、X軸・Y軸方向のブラッシング、範囲を選んで拡大する操作などがある。ブラッシングは、ドラッグでデータの範囲を選ぶ操作だ。「linked-brush」では、選んだグループに対応するデータを別の表示でも強調できる。
個別の要件には、意味イベントを受け取るカスタムハンドラーを使う。グラフの選択に応じて外部の表を絞り込み、別のグラフや文章、ウィジェット、アプリケーションの状態を更新できる。複数の表示範囲を連動させる場合も、イベントと更新処理をアプリケーション側で接続する構成を取れる。
逆方向の連携も可能だ。表で選択した行や外部コントロールの値をFlintへ渡し、対応するグラフ要素を強調したり注釈を付けたりできる。グラフを単独の出力物として扱うだけでなく、データを探索する画面の一部として組み込むための仕組みである。
■意味型で表示設計の指定を減らす
基盤となるFlintは、Microsoft Researchが2026年7月8日に発表した可視化用の中間言語だ。データ、各フィールドの意味型、グラフの種類、軸や色への割り当てを記述すると、コンパイラが描画ライブラリ向けの仕様へ変換する。
意味型は、値の保存形式に加えて、その値が何を表すかを指定するものだ。Quarterは四半期、Priceは価格、Rankは順位、PercentageChangeは変化率、Countryは国、Temperatureは温度を表す。公式の設計資料では、6つの大分類と17の中間カテゴリー、その下の具体的な型という階層で整理されている。
AIエージェントは、フィールド名や値のパターンを手掛かりに意味型を選んで仕様へ記述する。コンパイラは明示された意味型や付加情報から、日付の解釈、目盛り、軸ラベル、集計、数値の書式、配色などを決める。データの意味を判断する作業と、表示設定を導く作業を分担する設計だ。
Flint-interactiveは、この高水準の記述をユーザー操作にも広げる。AIが低水準の処理を一から生成する代わりに、選択対象と必要な更新を記述することで、生成時に扱う実装上の判断を減らす発想である。
■既存Flintの評価と研究の広がり
Microsoft Researchは、既存Flintについて、LLMにVega-Lite仕様を直接生成させる「DirectVL」と比較した結果を公表している。TidyTuesdayのデータを使い、生成されたグラフをLLM評価者が採点した実験だ。
同研究チームによると、20点満点の総合評価はGPT-5.1でFlintが16.27点、DirectVLが15.91点だった。GPT-5-miniでは16.16点対15.60点、GPT-4.1では15.91点対15.34点となった。研究チームは、データの意味に関わる表示設計をコンパイラへ移す利点を示す結果としている。
今回の対話機能では、同じ設計方針をイベントと表示更新の関係に適用した。Microsoft Researchは、コンパイラに表示上の依存関係を処理させることで、操作の作成と保守を容易にすると説明している。例えば「棒を選んだら対応する行を表に表示する」という要求を、意味イベントと外部の表の更新に分けて表現できる。
関連する研究も進む。ハーバード大学のVisual Computing Groupが公開する2026年の研究「Raiven」は、ドメイン固有言語を仲介してLLMによる可視化作成を支援する。ICLR 2026の「VisCoder2」は、複数の言語で可視化コードを生成、実行、修正するエージェントを扱う。可視化に適した表現や実行結果を活用し、生成品質を高める研究が並行して進んでいる。
■MCP対応エージェントやアプリから利用
AIエージェントからは、MCPサーバー「Flint-MCP」を通じて利用できる。npmパッケージ名は「flint-chart-mcp」で、グラフの作成、検証、描画をチャットや開発環境へ組み込む。Flint-MCP自体は7月のFlint発表時から提供されている。
公式ガイドは、VS Code上のGitHub CopilotなどのMCP対応クライアントを案内している。ローカルでサーバーを動かす方法に加え、ローカルインストールを省けるホスト型接続先も用意する。対応するチャット環境では、グラフ上の選択内容を次の質問の文脈として渡せる。
アプリケーションへ直接組み込む場合は、JavaScript/TypeScript向けライブラリ「flint-chart」を使う。Reactと通常のJavaScript向けAPIを備え、グラフ作成、テーマ選択、操作作成についてAIエージェントへ伝えるガイダンスファイルも提供している。
MCPは、AIアプリケーションと外部のツールやデータを接続するオープン標準だ。Anthropicが2024年11月に発表し、2025年12月には、Anthropic、Block、OpenAIが共同設立したLinux Foundation傘下のAgentic AI Foundationへ寄贈した。
外部ツールの導入では、接続先や与える権限の確認も必要になる。Invariant Labsは、MCPツールの説明に悪意ある指示を埋め込むツールポイズニングなどを報告している。運用では、利用するサーバーの信頼性と、アクセス可能なデータや操作の範囲を確認することが重要だ。
■公開コードの対応範囲と開発体制
公式リポジトリによると、Flint全体では2026年10月24日時点で52種類のグラフを扱い、Vega-Lite、Apache ECharts、Chart.js、Plotly、ネイティブExcelグラフの5つを出力先としている。7月24日のバージョン0.4.0では、Plotly向け38種類と、編集可能なExcelグラフの18テンプレートを追加した。
Flint-interactiveを導入したバージョン1.0.0は10月19日に公開され、変更履歴に記載された最新の正式版は10月21日公開の1.0.1だ。このリリースでは、Flintの対話機能はVega-Liteバックエンドを対象とする。グラフの出力先が5種類あることと、対話機能の対応範囲は区別して利用する必要がある。
地図については、Vega-Lite向けのMapとChoropleth、Plotly向けの地図表示が用意されている。利用できる操作はグラフごとの対応条件によって決まり、仕様検証で未対応の操作や競合を確認する仕組みもある。Python移植版はソースコードのプレビュー段階で、パッケージは未公開だ。
Flintの基礎研究はMicrosoftと中国人民大学の研究者が共同で進めた。論文「Flint: A Semantics-Driven Data Visualization Intermediate Language」は7月22日にarXivで公開され、IEEE VIS 2026のフルペーパーとして掲載されている。Microsoft ResearchのAI支援分析ツールData Formulatorでも、Flintが利用されている。
10月22日の発表には、Chenglong Wang、博士課程学生のYuwei Xiao、Alper Sarikaya、Michel Galley、Chris Quirk、Jianfeng Gaoの6人が名を連ねる。WangはData Formulatorや可視化言語PiCCLにも取り組み、Gaoは自然言語処理や対話型AIなどの研究を重ねてきた。公式GitHubリポジトリは10月24日の確認時点で約4400のスターと256のフォークを集めている。
元記事: Microsoft Research Publishes Flint-Interactive: AI Agents Can Now Reliably Author Interactive Charts
※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。
スポンサードリンク
