はじめに――50分の朝が、5分になった
自分は中小企業で経営幹部をやっている。経営企画、マーケ、組織、財務、クライアント対応。職務を棚卸ししたら85業務を超えた。
その中で、毎朝やっていたルーティンがある。
- ビジネスチャットの未読を確認して優先度を判断(15分)
- Google Calendarで今日の予定を確認・共有(5分)
- AIニュースをチェックして社内に共有(15分)
- ECニュースをチェックして社内に共有(15分)
合計 約50分。判断が必要な仕事に取りかかる前に、毎朝50分が消えていた。
今は、コマンドを1つ打つだけだ。5分で全部終わる。
50分 → 5分。月換算で約17時間。
ただし、ここに至るまでに3回失敗している。この記事は、その試行錯誤の記録だ。
やったこと――AIエージェントで「朝の業務OS」を作った
使ったのはClaude Codeというローカルで動くAIエージェント。これを軸に、朝のルーティンを丸ごと自動化する仕組みを作った。
/morning(コマンド1つで以下が全部動く)
① ビジネスチャットの未読 → AI要約 → 優先度付きダイジェスト投稿
② Google Calendarの予定 → 自動取得 → チャットに投稿
③ AIニュース → 自動検索 → 記事生成 → チャットに投稿
④ ECニュース → 自動検索 → 記事生成 → チャットに投稿
③と④は並列実行される。人間がやっていた「検索して、読んで、要約して、投稿する」をAIが全部やる。
コストは 1日あたり約30円。月1,000円以下。
シンプルに見えるかもしれない。でも最初からこの形だったわけではない。
失敗1: サーバーに接続すらできない
最初に考えたのは「クラウドサーバーにAIエージェントを置いて、全自動で毎朝動かす」という設計だった。月額数百円のVPS(仮想サーバー)を契約して、セットアップを始めた。
まずSSHでサーバーに接続する。
タイムアウト。pingも通らない。
30分格闘して気づいた。接続先のIPアドレスが間違っていた。 前回のセッションでメモした値が、実際のIPと違っていた。正しいIPに変えたら一発で繋がった。
技術的な問題ですらない。ただの確認不足。でも現場で一番多いのは、こういう「しょうもないミス」だ。設定ファイルのスペルミス、パスの間違い、環境変数の入れ忘れ。
教訓: メモを信用しすぎない。都度、一次情報を確認する。
失敗2: メモリが足りなくてAIが起動しない
接続できたので、AIエージェントをインストールして起動する。
クラッシュ。
FATAL ERROR: Reached heap limit Allocation failed
- JavaScript heap out of memory
VPSのメモリは960MB。AIエージェントは470MB以上必要。OSで200MB使うと、残りがギリギリ。
ヒープサイズを384MB → 512MB → 700MBと上げて、swapメモリ(ディスクを仮想メモリとして使う仕組み)を併用して、ようやく起動。起動に40秒かかる。
動いてはいる。でも「ギリギリ動いている」と「安定して動いている」は全く違う。
教訓: 「安いプランで動くか」を検証してから設計すべきだった。月数百円を節約するために何時間もデバッグしている。時間のコストの方がはるかに高い。
失敗3: 定時実行ができない
ようやく起動したAIエージェントに、毎朝7時の定時実行を設定する。手動テスト。
「このセッションではbashツールが利用できないため、スクリプトを直接実行することができません。」
実行権限がない。
- 許可設定を手動作成 → 反映されない
- CLIコマンドで許可 → 反映されない
- サービス再起動 → まだ反映されない
3回試して全部ダメ。さらにDiscord通知もエラー、モデル指定も無視される。
ここで、このアプローチを諦めた。
方針転換: エレガントな設計を捨てて、動く設計を選んだ
冷静に考えた。やりたいことを分解すると、こうだ。
- 毎朝決まった時間にスクリプトを動かす
- ビジネスチャットAPIで未読を取得する
- AIのAPIに送って要約してもらう
- ビジネスチャットAPIでダイジェストを投稿する
1はLinux標準の定時実行機能(crontab)でできる。2〜4はPythonスクリプト1本でできる。AIエージェントを仲介する必要がそもそもなかった。
crontab(毎朝7時)
→ Pythonスクリプト1本
→ ビジネスチャットAPIで未読取得
→ AI APIに直接送信
→ ビジネスチャットAPIでダイジェスト投稿
凝ったアーキテクチャも、実行権限の設定も、一切不要。APIを直接叩くだけ。1回あたり約3円。月90円。
ただし最初のバージョンは品質が低かった。「要約して」だけでは実用にならない。
改善として加えたのは:
- 出力フォーマットの厳密な指定
- 「人名を省略するな」「対応済みはそう明記しろ」「期限は必ず日付を書け」という具体的なルール
- 緊急アラートのキーワード検知
同じAIモデルでも、指示の具体性で出力品質が全く変わった。
さらに5分の作業で19ツールが手に入った
ビジネスチャットのダイジェストが安定した後、もう1つ転機があった。
ビジネスチャットが公式のMCPサーバー(外部ツール連携の規格)を提供していることに気づいた。設定は1行のコマンドだけ。
5分後、31個のツールが使えるようになった。
- 「未読見せて」→ AIが直接取得して表示
- 「この内容を投稿して」→ スクリプト不要で直接投稿
- 「タスクを作って」→ ビジネスチャットのタスクを直接作成
それまでスクリプト経由でしかできなかったことが、AIとの対話だけで完結するようになった。
費用対効果でいえば、これが最も高い改善だった。 自作するのではなく、公式パッケージを探す。5分の作業で31個のツール。
数字で見る全体像
朝のルーティンだけでなく、同じ仕組みで他の業務も自動化した。
| 業務 | Before | After | 削減 |
|---|---|---|---|
| ニュース収集(AI + EC) | 30分/日 | 0分(完全自動) | 30分/日 |
| ビジネスチャット未読確認・整理 | 15分/日 | 0分(自動要約) | 15分/日 |
| カレンダー確認・共有 | 5分/日 | 0分(自動投稿) | 5分/日 |
| 競合調査 | 2時間/回 | 数分/回 | 約110分/回 |
| 月次レポート作成 | 4時間/回 | 30分/回 | 3.5時間/回 |
日次業務だけで毎日50分、月換算で約17時間が浮いた。
浮いた時間は、クライアントとの対話や戦略設計に充てている。作業に追われて後回しにしていた「考える仕事」に、ようやく時間が使えるようになった。
この経験から学んだ3つのこと
1. エレガントな設計より、動く設計
VPS上のAIエージェントが自律的にタスクを実行する――美しい設計だったが、動かなかった。最終的に動いたのは、crontab + Pythonスクリプト1本という何の変哲もない構成だった。
動かないシステムの設計がどれだけ美しくても、1円の価値も生まない。
2. AIの品質は「指示の具体性」で決まる
同じAIモデルでも、「要約して」と「誰が・何を・いつまでに、の形式で書け」では出力が別物になる。AIの性能差より、プロンプト(指示文)の差の方がはるかに大きい。
高いモデルに課金する前に、まず指示を具体的にする。これだけで劇的に変わる。
3. 失敗しても資産は残る
AIエージェント経由での自動化は失敗したが、その過程で作ったAPI連携のコード、プロンプト、運用フローの設計は全て再利用できた。
「失敗した」のではなく「動かないアプローチを1つ潰した」。次の成功確率が上がっている。
おわりに
自分は今、この仕組みをさらに拡張して、EC分析・Instagram運用・競合調査・KPIモニタリングまで含めた「業務AI OS」を作っている。全部で65個のAIスキルがある。
この記事はその第1回。次回は「1GB VPSでAIエージェントを動かそうとして3回失敗した話」――月額数百円のサーバーでどこまでできるか、限界と工夫を赤裸々に書く。
AIの業務導入は「一発で正解にたどり着く」ものではない。試す、失敗する、原因を調べる、別のアプローチを試す。この繰り返しだ。でも、その過程で作ったコードや設計は資産として残る。
実験の記録はXでも発信中。
技術スタック: Claude Code (Opus 4.6/Haiku 4.5), MCP, Python, Node.js, ConoHa VPS, crontab
筆者について: コンサル・事業会社を経て中小企業の経営に参画。Claude Codeを軸にした業務AI自動化の仕組み(65スキル)を構築中。