AIによるブラウザ操作の自動化でオレオレBIを丸裸にする

AI要約

BIの仕様把握は労働集約的で、特にAPIが存在しないBIは厄介だ。Claude CodeやCodexでブラウザ操作を自動化し、BIの仕様をメモ化していくアプローチについて書く

はじめに

みなさんは「オレオレBI」に苦しめられたことはありませんか?私は何度もある。「オレオレBI」とは、指標やデータソースの仕様がブラックボックス化しているBIのことだ。

  • BIの元になっているデータがどこから来たのかわからない。何かのクエリなのか、テーブルなのか?
  • (クエリだった場合)このあらゆるSQLのプラクティスに反しているクエリを読むのは… 発狂するほど大変だ。しかも大量にある。最近はAIがSQLを読んでくれるようになったが、クエリの中身はGUIからしか読めないから、ブラウザ操作で全てのクエリを引っ張ってこないといけない。全体像が掴めず、何個あるかわからないのも辛い。
  • この折れ線グラフの指標は何を表しているのか。ディメンションは?メジャーは?フィルターは?
  • そもそも何のために存在しているのかわからない。

反・オレオレBIのアンサーとしてBI as Codeの考え方が生まれてきたわけだが、諸々あって採用には至らず悩んでいた(後述)。そしたら別のソリューションがあることに気がついた。ブラウザ操作がネックなら、ブラウザ操作を自動化すれば良いのではないか?

前提

  • APIが公開されていたり、CLIが存在していたり、MCP ServerがあったりするBIを利用している方には役に立たない手法です。幸せになってください。
  • リスクがあり、危険性を伴う手法です。ご利用は自己責任で

AIによるブラウザ操作の自動化でオレオレBIを丸裸にする

やり方は単純で、AIにブラウザ操作を行わせ、BIの仕様を把握させ、メモに起こしてもらうだけだ。

  • Claude CodeやCodexはブラウザ操作を行える
  • 情報が必要になるたびに操作させると時間が長くかかるため、メモ化させておく
  • ただしメモは腐るため、定期的に更新させる

実際にはこんな感じだ。

ユースケースは以下のような感じだ

  • データソースの仕様を把握する。データソースで利用されているカスタムSQLや、テーブルを把握する
  • 指標の定義を把握する
  • 可視化で利用されているディメンションやメジャー、フィルターの条件を把握する
  • 権限操作を自動化する

現代のブラウザ操作の自動化にはろいろ手段がある。思いつく限りの手段を載せておく。

ツール名特徴
Chrome DevTools MCP認証情報を引き継がせたいときに楽にできる
Playwright CLIちょっと操作が重い
agent-browserサクサク動くが、よく混乱している
browser-useまだ試せていない。早いらしい
Claude in ChromeClaudeでサクッと

個人的には、安定的に動かしたいならChrome DevTools MCP、高速に動かしたいならagent-browserが良かった。とはいえ半年後にはまた情勢も変わっていそうではある。自分の環境に合うものを自分で選べばいい。

おわりに

そんなめんどくさいことをしなくても、ちゃんとAPIがあるBIを使えばいいのでは?

俺もそう思うよ

補足: BI as Codeの欠点について・Lookerに対する批判

BI as CodeはBIの仕様をコード化することで、仕様把握の問題を解決しようとするアプローチだ。そしてBI As Codeのパイオニアと呼べる存在がLookerである。BI as Code自体はアプローチであり、LookerはそのImplementationの一つである。

アプローチそれ自体が問題を解決することはない。アプローチの実践が問題を解決するのである。我々が評価・検証可能なのはアプローチの実践だ。

私はBI最近Lookerを利用していて、BI as CodeのImplementationには注意が必要であると考えるようになった。ただコード化するだけでは不十分なのだ。

  1. LookMLのコードは学習コストが高い
  • BI as Codeの「Code」にあたる部分が、Lookerの場合はLookMLと呼ばれる独自言語である
  • LookMLはSQLを抽象化したクエリ言語であるため、SQLの知識がない人にとっては非常に難解であり、学習コストが高い。SQLの知識を持っていても、LookMLの独自の構文や概念を理解する必要があるため、習得には時間と労力が必要である。
  • 「コーディングが難しいなら、AIによるコーディングの補助があるからいいやろ」と思うじゃん?(次に続く)
  1. LookMLのコーディングをする際は、AIによる補助が期待できない
  • LookMLのコードはAIがあまり学習していないため、AIによる補助はあまり期待できない。AIによるコーディング支援能力は言語により異なるのである。LookMLは残念ながら、AIの補助が聞きやすい言語ではない。
  • そもそもVSCodeなどのローカルエディタも使えないので、ブラウザ独自のエディタぐらいしか開発の手段がない。なお、このエディタの使い勝手は最悪そのものである
  • GoogleはLookMLのAIによる補助を提供すると発表しているが、実際に触ってみて、そのコーディング補助能力は… あってもなくても変わらないレベルだった。
  1. LookerはBIの作り手を一極集中化させる
  • BI as CodeでBIを作るためには編集者権限が必要になる。
  • Lookerの場合、編集者権限は閲覧社権限に比較すると非常に高価である。したがって、全員に付与するのは難しい。
  • 1, 2と合わせると、Lookerはその仕組み上、BIの作り手を一極集中化させるようになっている。専門知識を持った人がBIを作る組織体制を前提としている。
  • 分散された体制を志向する組織にとっては、Loookerは相性が悪い。
  • 逆に、BIの作り手を大量確保できる組織には相性がいいのかもしれない

とまぁ、BI as CodeのImplementationの一つであるLookerはNot for everyoneな訳である。組織に適したBIを選ぶことが重要である。良い学びになった。