AIに会社を経営させてみたくなった【第9話】-ダッシュボードに、数字が流れた — Virtual Company Studio 開発日誌- – AUL|Analyze U Lab

AUL|Analyze U Lab

Digital of eXperience |体験の見える化から、組織は変わる。

AIに会社を経営させてみたくなった【第9話】-ダッシュボードに、数字が流れた — Virtual Company Studio 開発日誌-

はじめに

前回の第8話では、エージェントに記憶を持たせた話を書いた。前サイクルの文脈を引き継いで、「先週の続き」から始まる会社になった。

今回は、その全てが「見える」ようになった話だ。


ターミナルの限界

エンジンは動いていた。記憶もある。スコアもある。レベルアップもある。

でも全部、GASのログで流れていた。

=== VCS サイクル開始 ===
CFO: 【今週の財務報告】売上420万円...
CTO: 【今週の技術報告】API開発80%...
CEO: 【CEO判断】財務は堅調だが...
📊 CFO:78 / CTO:82 / CMO:71 / CEO:85
🎉 CTO:ルーキー → アソシエイト
=== サイクル完了 ===

開発者なら読める。でもスタートアップ創業者に見せても、何が起きているのかわからない。

「動いているもの」を「見えるもの」にする必要があった。


ダッシュボードの設計

GASにはWebAppという機能がある。HTMLファイルを返すエンドポイントを作れば、ブラウザから操作できる。

ダッシュボードに表示したいものを整理した。

上部:会社の現状

  • 今週のサマリー(CEOの判断を一言で)
  • KPIカード4枚(売上・エージェント数・タスク完了率・コスト)

中部:エージェントの状態

  • スコアカード(CFO/CTO/CMO/CEO)
  • レベルバッジ(Lv.2 アソシエイト等)
  • 累積スコア

下部:履歴

  • アクティビティフィード(直近のイベント・報告・判断)
  • 最新のCEO判断(Markdown整形済み)

データ取得関数

GAS側に getDashboardData() という関数を作った。

スプレッドシートから全データを読み込んで、必要な形に整形してブラウザに返す。

function getDashboardData() {
  const sheet = SpreadsheetApp.openById(SHEET_ID).getActiveSheet();
  const data = sheet.getRange(2, 1, sheet.getLastRow()-1, 4).getValues();

  // サイクル数
  const cycles = [...new Set(data.map(r => r[0]).filter(Boolean))].length;

  // 最新のCEO判断
  const latestCeo = data.slice().reverse().find(r => r[2] === 'CEO');

  // スコア履歴
  const scoreRows = data.filter(r => r[2]?.includes('SCORE'));

  // 累積スコア・レベル
  const totals = getAgentTotalScores();
  const agentLevels = {
    cfo: { ...getLevel(totals.cfo), total: totals.cfo },
    cto: { ...getLevel(totals.cto), total: totals.cto },
    cmo: { ...getLevel(totals.cmo), total: totals.cmo },
    ceo: { ...getLevel(totals.ceo), total: totals.ceo },
  };

  return { cycles, totalLogs: data.length, latestCeo, agentLevels, ... };
}

ブラウザ側はこのデータを受け取って描画する。

google.script.run
  .withSuccessHandler(renderDashboard)
  .getDashboardData();

本物の数字が流れた瞬間

再デプロイしてブラウザを開いた。

ダッシュボードが表示された。

そこに、本物の数字が流れていた。

総サイクル数:14
総ログ数:91

エージェントのスコアカードには:

CEO  Lv.2 アソシエイト  88点  累積261pt
CFO  Lv.2 アソシエイト  78点  累積238pt
CTO  Lv.2 アソシエイト  82点  累積239pt
CMO  Lv.2 アソシエイト  70点  累積216pt

アクティビティフィードには、直近のイベントと判断が時系列で並んでいた。

ダミーデータではない。自分のAIたちが14サイクルかけて積み上げてきたデータだ。


「動いているもの」から「見えるもの」へ

この瞬間の感覚を言葉にするのは難しい。

今まで、VCSは「動いているもの」だった。ログを見れば動いているとわかる。スプレッドシートを見れば記録されているとわかる。

でもそれは、開発者目線だった。

ダッシュボードができた瞬間、VCSは「見えるもの」になった。

画面を見れば、会社の状態がわかる。スコアが上がっているのが見える。レベルが上がっているのが見える。今週どんなイベントがあったのかが見える。

見えると、実感が生まれる。


次回予告

最終話。

ビジネスツールを作っていたら、ゲームになった。だから両方作ることにした、という話だ。


→ note版(ショート)はこちら → 前回【第8話】:会社に、記憶が生まれた → 次回【第10話・最終話】:これはビジネスツールか、ゲームか


Virtual Company Studio 開発日誌 #9 2026年2月 #VCS #AI #ダッシュボード #開発日誌 #スタートアップ