AI が返すのは答えで、計算ではない — ターミナルの隣に表計算とグラフを出す

AI が返すのは答えで、計算ではない — ターミナルの隣に表計算とグラフを出す

数字を見たいとき、最初はメモ帳に書き写していました。そのうち表計算を覚えて、合計の式を入れて、グラフを貼って配るようになります。人が増えると、誰かが見るだけの画面を用意してくれて、でも知りたいことがその画面に無いので、結局そこから書き出して表計算に戻ります。

そんな経験はないでしょうか。

最近は、そこに AI が入りました。ファイルを渡せば、分かったことを文章で返してくれます。速いですし、たいていは当たっています。

ただ、返ってくるのは文章です。

答えと、計算は違う

表計算が五十年近く使われているのは、見た目がきれいだからではありません。セルに入っているのが結果ではなく式だからです。単価を一つ直すと、合計も、利益率も、グラフも、全部ついてきます。渡されたのが数字ではなく計算なので、受け取った側が続きを考えられます。

AI に分析を頼むと、返ってくるのは結果のほうです。相関は0.91でした、土日は平日より多いです、と文章で返ってきます。読めますが、直せません。「この日のデータは入力ミスだった」と気づいたとき、できるのは頼み直すことだけです。

もう一つ、確かめにくいという問題があります。文章で返ってきた数字は、どこから出たのかが残っていません。計算の過程が会話の中だけにあって、後から見に行けない。だから、合っていそうだと思いながら使うことになります。

分析そのものを AI に任せられるようになっても、ここが残っていました。

順番が逆になった

これまでは、人が表を作って AI に見せる形でした。集計して、整えて、貼り付けて、これをどう読むかと聞く。手で作るところは、人の側に残ったままです。

変わったのは、AI が端末の中に入ったことです。ファイルを自分で開けて、スクリプトを走らせられて、画面に表を出す道具を持っています。そうすると、順番が逆になります。AI が表を作って、人がその数字を直す。

左のシェルのセルに cafe-sales.csv の中身、右の Canvas に分析結果の表。気温との相関係数、傾き、切片、決定係数が商品ごとに並んでいる

MulmoTerminal がやること

MulmoTerminal は、ターミナルで動く AI を何枚ものマスに並べて見張るための画面です。パソコンに入れて、ブラウザで開いて使います。無料で、オープンソースとして公開されています。

そのマスの右側に Canvas という場所があり、ここに表とグラフが出ます。

先に、これでなくてもできることを書いておきます。Excel のファイルを書き出してもらって、自分で開けば同じものは見られます。Jupyter を立てて、pandas と matplotlib で描いてもらう手もあります。どちらも普通にできます。

違うのは三つです。表に入るのが結果ではなく式であること、画面が会話の隣にあって切り替えなくていいこと、そして人が直した表を AI が読み返せることです。

頼み方

ファイルの場所と、知りたいことを言うだけです。道具の名前を覚える必要はありません。

data/cafe-sales.csv を分析して。気温と売上の関係、曜日による違いを見たい。

ただの質問でも構いません。

ab_test.csv で、B のほうが良いと言っていい?

こつは、何と何を比べたいかを言うことです。そこから統計とグラフが選ばれます。列の名前が amt や v2 のように意味の分からないものだと、推測せずに一度だけ聞かれます。

CSV でも TSV でも、Excel のファイルでも読めます。大きくても構いません。会話に読み込まれるのは先頭の数行だけで、残りはスクリプトが読みます。

出てくるもの

最初に返ってくるのは、分かったことではなく、データの素性です。行がいくつあるか、それぞれの列が数値・日付・分類のどれか、空や読めない値がいくつあるか。重複した行や、日付の抜けや、ほかから大きく外れた値を、面白い発見より先に伝えます。

そのあとに表が出ます。元のデータが Data のシートに入り、問いごとにシートが分かれます。カフェの例なら、気温との関係を見る Temperature、曜日別の Weekday、各列の平均や中央値を並べた Stats です。

表に入っているのは式です。相関なら =CORREL(Data!$C$2:$C$62,Data!$E$2:$E$62)、土曜の平均なら =AVERAGEIF(Data!$B$2:$B$62,"Sat",Data!$D$2:$D$62) が入ります。統計の計算自体は Node のスクリプトでやっていて、その値と表の式の答えが一致するかを確かめてから出てきます。

式で書けないものもあります。t 検定や曲線の当てはめがそうです。これは計算済みの値として入り、「t値(計算済みの値)」のように名前で分かるようになっています。データを直しても変わらないので、どれがそうかは毎回伝えられます。

直すと、ついてくる

ここが、文章で返ってくるのとの違いが出るところです。

セルをクリックして、値を入れて Update を押します。下の画像は、涼しかった6月1日のアイスを15杯から110杯に直したところです。入力ミスがあった、という想定です。

商品ごとの表とグラフ。アイスの相関係数が0.74、決定係数が55.5%に下がり、散布図の点が一つ左上に離れ、回帰直線の傾きも変わっている

相関係数が0.91から0.74に下がり、決定係数は82.7%から55.5%になりました。散布図の点が一つ左上に離れ、回帰直線の傾きも変わっています。頼み直してはいません。式が入っているので、一つ直せば全部が追いかけます。

外れ値が一つあると結論がどう変わるか、というのは、文章で答えをもらっているあいだは確かめられないことでした。

グラフは表を追いかける

グラフは表の範囲から描かれます。カードの上に、どこから描いたかが出ます。

曜日別の平均杯数の棒グラフ。上に「From the spreadsheet: Weekday!A1:C8」と出ていて、月曜から日曜までのホットとアイスが並び、土日がはっきり多い

この一行があるグラフは、表が保存されるたびに描き直されます。無いグラフは、スクリプトで計算した数字をそのまま渡して描いたもので、表を直しても動きません。見れば区別がつくようにしてあります。

描けるのは、折れ線、棒、面、散布図、円、ヒートマップのほか、箱ひげ図、パレート図、ウォーターフォール、散布図に重ねた当てはめ線、カレンダー状のヒートマップなど、分析で使うものが一通り入っています。日本の都道府県や世界の国を塗り分ける地図もあり、地名は日本語で通ります。

表は Excel のファイルとして、グラフは画像として保存できます。

同じ分析を、翌月のファイルに

望みどおりの結果になると、これをスキルとして残すかと聞かれます。残すと、次からは同じ種類のファイルを渡すだけで、同じ表とグラフが出ます。

data/cafe-sales-august.csv を cafe-sales-check で分析して。

残るのはスクリプトと、必要な列を書いた説明だけです。データの中身は入りません。渡す前に、元のファイルで一度走らせて同じ結果になることが確かめられます。必要な列が無いファイルを渡すと、推測せずに、どの列が無いかを言って止まります。

使えるようにする

ターミナル(Windows なら PowerShell、Mac ならターミナル)を開いて、一行貼り付けます。

npx mulmoterminal@latest

ブラウザが開いたら、作業領域のマスで Claude か Codex を選びます。作業領域のマスは最初から画面の道具を持っているので、設定は要りません。自分のプロジェクトのフォルダで使う場合は、セッションを始める前に起動画面で Canvas をオンにしてください。切り替えはフォルダごとに覚えられ、効くのは次に始めるセッションからです。

お金の話も書いておきます。MulmoTerminal 自体は無料ですが、中で動く Claude Code には Claude の有料プランが要ります。無料プランには含まれません。

できないこと

正直に書いておきます。

表のボタンや見出しの一部は英語のままです。使える関数は決まった一覧の中だけで、それ以外は #NAME? になります。保存されるファイルに入るのは式で、計算結果は入りません。

表を自分で直したことは、AI には自動では伝わりません。端末で一言伝えると、読み返して話の続きができます。

行が5,000ほどを超えるファイルは、一行ずつ表に入れるのではなく、先に集計した表が出ます。店ごとの売上や月ごとの注文数のような形です。式とグラフはその集計表に対して同じように働きますが、全部の行が要る統計は別に計算されたものだと明記されます。

まとめ

数字を見たいときに手が止まるのは、道具が足りないからではありませんでした。手元に来るのが答えだけで、計算が付いてこないからです。

表計算が長く残っているのは、結果ではなく式を渡せるからでした。AI は答えを返すのが得意な道具として広まりましたが、答えは直せません。

端末の中にいる AI が、隣に式の入った表を置けるようになると、ここが繋がります。分析を任せたまま、数字を一つ直して、結論がどう動くかを自分の目で見られます。

この記事をシェア

関連記事

記事一覧に戻る