# 自動化とは何か、そしてなぜブラウザで動くのか

> 実行するたびに表に対して再実行される、AI が書いたレポート。その設計、トレードオフ、まだできないこと。

Canonical: https://memtomo.com/ja/blog/what-an-automation-is/

「カテゴリ別の週次支出レポートを作って」はプログラムの依頼です。大きなものではなく、クエリ一つ、グループ化一つ、グラフ一つ。しかし来週、誰も書き直さずにもう一度動くべきプログラムです。それが自動化です。

## 形

自動化はステップでできた短いプログラムです。各ステップは表に問い合わせ、計算し、見出しの数字、段落、表、グラフを表示できます。アシスタントは実際の表名と列名を確認してから説明をもとに書き、保存を許す前に検証します。パースできること、整っていること、使う名前がすべて定義されていること。壊れた自動化が着地することはありません。

## なぜブラウザか

自明な設計は、自動化を動かすサーバーです。私たちはそれを作りませんでした。理由は三つ。

**分離。** データ上で動くコードは、あなたのいる場所で動くべきです。自動化はタブ内のサンドボックスで実行されます。あなたのログイン済みセッションを通じ、あなたの権限で表を読み、それ以外は何もしません。脱出すべき共有実行環境がありません。

**コスト。** すべてのユーザーのすべてのレポートを私たちのサーバーで動かせば、請求書で最大の項目になり、それを払うのはあなたです。あなたのパソコンはすでに動いています。

**レイテンシ。** 数千行のレポートは、ローカルなら一秒を大きく下回ります。待ち行列はありません。

## あなたが払うもの

初回実行はサンドボックスの起動があります。数秒と数メガバイト、以降はキャッシュされます。非常に大きな表はブラウザに届く前にクエリエンジンが集約し、自動化は生の行ではなく結果を見ます。そして自動化はブラウザが閉じていると動けません。だからこそ予約レポート（「毎週月曜にこれを送って」）が次に作るものです。同じ自動化を、サーバー上の同じ種類のサンドボックスで、一つのプロジェクトしか読めない実行ごとのトークンで動かします。

## 埋め込み

自動化は wiki リンク `[[automation:…]]` で参照されるので、メモの中に置けます。メモを開けば前回の実行結果が見え、自動化を開けば再実行されます。開いたときの再実行は次の課題です。それがダッシュボード機能のすべてです。生きた部品を持つメモです。
