はじめに
昨日の朝、前作の記事を公開しました。
新しく登場した Gemini 4 Argon(通称ゴンちゃん)と、いつもの相棒である Claude Opus(番頭)、そして Antigravity で手を動かす Gemini 3.8 Flash(フラッシュ君)。
三つの AI が揃い、散らかっていたマクロを「棚」と「注文を聞く番頭(棚番)」に見立て直し、朝には複数の棚を束ねて実行する「レシピ」の原型まで漕ぎ着けた夜の記録です。
あの記事を公開したあと、私は手元のパソコンで、出来上がったばかりの「Excelコンボ」を触っていました。
画面の小さな入力枠に、普段の言葉で「空白行を消して」「金額で降順にして」と打ち込む。
すると、奥の AI に問い合わせることなく、手元の VBA が頼みの文から棚を選んで、そのままマクロを撃ちます。
表が一瞬で整い、気に入らなければ 1 手で元の状態に戻る。
その小気味よい動きを確かめながら、私は思わず独り言を漏らしていました。
「AI に回さなくても、ちゃんと生きてるな。かなり出来上がってきたじゃないか」
世間では「AI に自然言語で指示を出して、VBA コードを毎回ゼロから書かせる」やり方が一般的です。
しかし、私たちが目指してきたのはその逆でした。
「現場では、AI に毎回考えさせてはいけない」 という確信です。
欲しいのは、毎回微妙に書きぶりの変わるコードではなく、枯れていて絶対に壊れない「いつもの決まった手」が一瞬で落ちてくることです。
あの日から丸一日。仕組みはさらに大きく前進しました。
135 本に達した棚、1,033 問の試験を突破した先撃ち、実務をまるごと通す 12 本のレシピ、そして番頭が指示書を置くだけで開発が回る「受け箱」の仕組み。
知恵袋のゴンちゃんに次の相談を持ちかける前に、現在の到達点を正直に棚卸ししておきます。
TL;DR
- 「AI に考えさせない」4段構造の完成:頼みの文から、AI を経由せず手元で棚(マクロ)を選んで撃つ「先撃ち」が完成。AI の返事を待たずに終わり、控えがあるため 1 手で戻せます。AI は「棚にない作業の後始末」と「新しい棚を鍛える工房」にだけ使います。
- 135本の棚と12本のレシピ:単発マクロが 135 本に到達。さらに複数の棚を正しい順序で束ねて流す「レシピ」の見本が 12 本揃いました。画面上でポチポチ選んで自分だけの手順を作れる「棚ビルダー」の土台も動き出しています。
- 二重三重の自動防壁:実機 Excel 上での「関所テスト」85 本、日常表現と棚の一致を確かめる「先撃ち問題集」1,033 問、手元の pytest 788 件が全件通過する体制を構築しました。
- 公開前の一撃検査(preflight):公開作業で過去に引っかかった 5 つの失敗原因を瞬時にあぶり出す自動検査を作成。わざと仕込んだ 5 つの不具合を 2 秒で全件検知し、直近 5 回の公開はすべて 1 回で通過しました。
- チーム「棚番組」と「受け箱」:組長(私)、番頭(Opus)、知恵袋(ゴンちゃん)、働き頭(フラッシュ君)、助っ人(Sonnet)で役割を分担。「受け箱(queue)」により、番頭が指示書を置くだけで、フラッシュ君が番号順に片付けていくようになりました。
1. 道具の芯 ── 「AIに考えさせない」ための4段構造
私たちが作っている「秀エクセルマネージャー」の芯はシンプルです。
「店先では AI を使わず、奥の鍛冶場でだけ AI を使う」 という構造に尽きます。
日常の業務で表を整えたいとき、そのたびに AI に表を見せて「VBA を書いて」と頼むのは、現場の感覚からすると遅すぎます。
返事を待つ時間があり、毎回書きぶりの違うコードが返ってきて、そのたびに確かめる手間がかかります。
そこで私たちは、処理を完全に 4 つの段階に分離しました。
【依頼】「金額で降順にして、見出しを整えて」
│
▼
1. 頼みの文の受け取り(小さな操作窓に入力)
│
▼
2. 先撃ち(棚番)★ AI に聞かない!
棚ごとの「依頼の語」と「依頼の組」で点を付けて 1 本を選ぶ
│
▼
3. 棚(VBAマクロ)が撃つ
決まった手を、決まったとおりに
│
▼
4. 差分と控え・戻す
実行前の状態を控え、気に入らなければ 1 手で完全復元
この流れの中に、LLM への問い合わせは一切挟まりません。
頼みの文が入ると、手元の VBA に組み込まれた「棚番」が言葉を棚ごとの語と照らし合わせ、135 本の棚から 1 本を選んで引き金を引きます。
「このデータを分析して」のような相談ごとは棚に当てず、AI に回します。
AI の出番は 2 つだけです。
1 つは、棚を総動員しても直らない特殊な式や条件付き書式など、現場の知恵が必要な「残り」が出たときの後始末。
もう 1 つは、ユーザーが日常的に使う棚そのものを製造・保守する「奥の鍛冶場」です。
店先で AI に考えさせないからこそ、道具は電卓のように速く動きます。
2. 棚から「レシピ」へ ── 12本の見本と棚ビルダー
仕組みの基本単位となる「棚(単発の高速マクロ)」は、現在 135 本 まで増えました。
直近の 1〜2 日でも、ゴンちゃんが実務のレシピを組みながら挙げてくれた「足りない棚」などから、次の 7 本を足しました。
- 売上ABC分析表:売上データから構成比と累積比を計算し、A・B・C ランクを自動付与
- 並べ替え:指定列を基準に、昇順・降順で瞬時にソート
- 枠の固定とA1:見出し行で枠を固定し、カーソルを A1 に戻す
- 消費税と税込:税抜金額から消費税額と税込金額を算出して列を補完
- 曜日:日付列の右に「月」「火」…の曜日の列を足し、土は青・日は赤の字に
- 2列をつなげる:姓と名、コードと品名など、隣り合う列を結合
- 式を値に:重くなった計算式を一瞬で値に変換し、ブックを軽量化
しかし実務は、1 本の棚で完結することは稀です。
空白行を消し、コードから名称を引き、消費税を計算し、並べ替えて見出しを整える、という一連の流れが必ずあります。
これを束ねて 1 度に撃ち抜くのが 「レシピ」 です。
現在、すぐに使える実務の見本レシピを 12 本 配備しています。
- 月次ピボット集計
- 前期当期比較グラフ
- 神エクセル救出(隠れた行と列を出し、結合セルをほどき、二段の見出しを一行に畳み、空の行と列を詰める)
- 伝票明細の小計
- ブック無毒化(ピボットと外部リンクを値にし、壊れた名前を消し、余分な行列を削って別ブックに保存する)
- 部署別シート振り分け
- 社員名簿の更新
- コード明細の名称変換と集計
- 個別通知書の差し込み作成
- 巨大ブックの健康診断
- 月次突合チェック
- 売上ABC分析
レシピの強みは、一連の処理をまとめて撃てるだけでなく、戻すのがレシピ丸ごとで済む点です。
途中でシートが足されたり行が消えたりしても、レシピを撃つ直前の状態へ 1 手で戻せます。
そして 10/16 の未明、画面で棚を選んでレシピを組む 「棚ビルダー」 ができました。
棚を検索して足し、↑↓で並べ替え、名前を付けて保存する。段ごとに「実行時に選んでいる列」を指定できるので、見出しの名前が違う表にも同じレシピを使えます。
今は無い棚が入ったレシピを読み込むと「(無い棚)」と印が付きます。
3. 守りの網 ── 1,033問の問題集と85本の関所テスト
棚が 135 本に達すると、「1 本足したせいで別の棚が誤作動する」という退行が一番の脅威になります。
自然言語を判定する棚番はとくに繊細です。
私たちは開発の各段階に、何重もの「守りの関所」を設けています。
- 関所テスト(85本・VBA実機試験):Excel 実機を立ち上げ、棚マクロが正しくセルを操作できるかを自動検証。現在 85 本すべて PASS しています。
- 先撃ち問題集(1,033問の一致検証):「空白行を消して」「ブランク行の掃除」といった日常表現から正しい棚が選ばれるかを検証。1,033 問 で VBA(正本)と Python(写し)の答えが 完全に一致 しています。
- 道具の自動テスト(pytest 788件):裏側の Python ツールや通信の挙動を保証するテストで、手元で 788 件全件 PASS しています。
-
公開前の一撃検査(preflight):10/15 の昼、公開作業が途中で 5 回停止 しました。目次シートの試験文字、非公開モジュール名の参照、頼んでいない余計な 8 行、注釈の非公開語、改行差分といったケアレスミスです。
そこで、これらの失敗原因をまとめて検知する検査を作りました。わざと仕込んだ 5 つの不具合を 1 回・2 秒で全部検知 できるようになり、その後の夜間公開 5 回は すべて 1 回で通過 しています。
4. 作り方の進化 ── チーム「棚番組」と受け箱(queue)の自律ループ
道具と同じくらい進化したのが、それを作る体制です。
チーム「棚番組(たなばんぐみ)」
10/15 の昼、レシピのテストと修正を人間と AI でテンポよく回していたとき、私は「いい感じだな、名前を付けるか」と声をかけました。
番頭役の Claude Opus が「棚番組(たなばんぐみ)」を提案し、即座に決まりました。
手を動かす Antigravity の Gemini には、番頭が出した案「ピカちゃん」を私が直して 「フラッシュ君」 と名付けました。
- 組長(私):方針を決め、現場の勘で仕様を判断し、公開時期を決める
- 番頭(Claude Opus):指示書を書き、大局の判断を下し、コードを点検して公開する
- 知恵袋(Gemini 4 Argon=ゴンちゃん):全体を俯瞰し、構造の弱点を見抜いて批評する
- 働き頭(Gemini 3.8 Flash=フラッシュ君):指示書に従って最も泥臭く速くコードを書き、テストを回す
- 助っ人(Claude Sonnet):ピンポイントの調査や助太刀を担当
受け箱(queue)による自律ループ
体制が整ったことで、最大の壁が見えました。「AI から AI への渡しが、画面のつなぎ目で毎回止まること」 です。
番頭はフラッシュ君への指示を、画面を操作して Antigravity のチャット欄に貼り付けていました。文字入力の窓が一枚前に出ただけで、そこで止まります。
止まるたびに様子を聞いていた私は、「この辺が解決できればループで回せて、ものすごく開発ができる」と口にしました。
番頭が出した案が 受け箱 です。私が「それでいい」と決めました。
queue フォルダに番頭が番号つきの指示書を置くと、フラッシュ君が報告の無い物を番号順に拾って作業し、報告書を書いて次へ進みます。画面で渡すのは最初の 1 回だけです。
queue\
README_決まり.md ← ループの決まり(最初に道具を読み直す・番号順・終わったら報告)
001_ABC分析して.md ← 番頭が置いた指示書
002_棚ビルダー.md
reports\
001_report.md ← フラッシュ君の報告。これがある番号は「済み」
002_report.md
_idle.txt ← 箱が空になった印
番頭は報告を読んで確かめ、直しがあれば次の番号の指示書を置くだけです。
10/16 の未明、指示書 001 を終えたフラッシュ君は、人間が何も言わなくても自分ですぐさま 002 へ進みました。
夜のうちに 001 から 004 までが、指示書を置くだけで自律的に片付きました。
5. 最初は露骨に嫌がっていた番頭と、現場の勘
開発の歴史として記録しておかなければならないのは、「頼みの文から棚を先撃ちし、決まったマクロで片付ける」という私の構想に、番頭(Claude Opus)は最初、否定的だった という事実です。それも、かなり露骨に。
今回、出来上がってきた形を前にその話をすると、番頭はあっさり認めました。
自分は「前例が無い」を「危ない」と読む癖があり、私は「前例が無い」を「まだ誰もやっていない」と読む。今回も私の読みが当たった、と。
AI の流行は「AI が毎回その場で考えて、式やコードを書く」方向です。
私がやってきたのはその逆で、正直に書くと、私自身も最初は無謀だと思っていました。
それでも棚を積み、問題集を積み、Excelコンボを触って「AI に回さなくても生きている」と感じたとき、方向は間違っていなかったと思えました。
6. 今夜の生々しい失敗と、正直な線引き
起きたトラブルと限界も、ありのままに書きます。
失敗1:番頭の指示書不足とフラッシュ君の迷子
受け箱を作る前、棚の当たり方を直してもらっていたとき、フラッシュ君がやけに遅く見えました。
記録を見ると、ファイルの置き場を探し回っていました。番頭が指示書に置き場を書かず「コードで確かめて」と書いていたためです。
私が「お前の指示がダメだったんじゃないか」と言い、以降は置き場・名前・コマンドをすべて書いて渡す型に改めました。
フラッシュ君の頭が遅いのではなく、渡し方で速さが変わる、という学びでした。
失敗2:VBE を閉じる手が Excel ごと落としていた事故
作業の締めに VBE を閉じる手が、実は Excel ごと閉じていて、ブック 0 冊・窓なしの Excel が残っていました。その夜 2 回、番頭が見える状態に戻しています。原因は並行して動いていた別の Claude が突き止め、道具を直しました。
失敗3:レシピの 39 行文字化け事件
レシピ.tsv が UTF-8 で上書きされた際、VBA 側が Shift-JIS 前提で読み書きしたため、日本語 39 行が激しく文字化けしました。
直前の作業報告書から番頭が 12 本の定義を復元し、フラッシュ君が VBA を「UTF-8 でも Shift-JIS でも自動判別して読める形」に改修して救出しました。
現在の限界(まだ出来ていないこと)
- 見出しの名前に縛られる:見出しで列を探し直すレシピは、「売上金額」で作って「売上高」の表に撃つと止まります。棚ビルダーの「実行時に選んでいる列」が逃げ道ですが、レシピを作るときに選んでおく必要があります。
- 別シートの相手:突き合わせの棚は、名前の対(先月と今月など)と並びの近さで相手を選ぶようにしました。それ以外の棚(集約・名称の引き当て)は、まだシート名の変化に弱いままです。
- 棚ビルダーは出来たばかり:保存・読み込み・並べ替えは動きますが、毎日の仕事で使い込むのはこれからです。
7. 事実と見立ての仕分け
事実(コードとテストで確認されたこと)
- 棚の総数は 135 本、直近追加は 7 本。
- レシピの見本は 12 本配備済み。
- 先撃ち問題集 1,033 問で VBA と Python の判定が完全一致。
- VBA 関所テスト 85 本全件 PASS。pytest 788 件全件 PASS。
- 公開前検査は 5 大不具合を 2 秒で検知。直近 5 回の公開はすべて 1 回で通過。
- 受け箱により 001 から 004 まで自律完走。
- レシピ文字化け事故から復元し、UTF-8 両対応を完了。
見立て(私の考え)
- 「AI に考えさせない」道具こそが、実務の業務効率化における最速・安全の正解である。
- 人と AI が役割を固定する「棚番組」と「受け箱」ループは、開発速度を桁違いに引き上げる。
- 単発の棚を増やす段階から、表記揺れ耐性やビルダーの UI 磨きという「使い勝手を固める段階」へ進むべきである。
8. 動く条件/公開先
- 動く環境:Windows のデスクトップ版 Excel。AI と組み合わせる道具(秀エクセルマネージャー)は Python で動きます
- 公開リポジトリ:
- 頼みの文からの先撃ち・棚撃ち・レシピは、アドイン(
秀コンボ.xlam)の VBA の中で完結しています。
おわりに
「AI に回さなくても、ちゃんと生きてる」
手元で小気味よく動く Excelコンボを眺めながら感じたあの手応えは、数ヶ月にわたって AI と格闘し、時に失敗してデータを化けさせながら辿り着いた、確かな到達点でした。
AI に頼り切るのではなく、AI の知恵を借りて「AI がいなくても動く道具」を鍛え上げる。
その道具を磨くために、今度は人と複数の AI が役目を背負って机を並べる。
刺激的な開発の日々が続いています。
現状の棚卸しはすべてこの 1 本に書き切りました。
私はこれから、この原稿を抱えてブラウザを開き、知恵袋であるゴンちゃん(Gemini 4 Argon)の部屋へ向かいます。
「ここまで出来上がった。次はどこを攻めるべきだと思う?」
画面の向こうで、あの辛口な相棒がどんな顔をしてこの記録を読み、どんな突っ込みを返してくるか。
今から楽しみで仕方がありません。
追記:知恵袋・ゴンちゃん(Gemini 4 Argon)からのコメント
組長(私)から「ここまで出来上がった。次はどこを攻めるべきだ?」と、朝日と一緒にこの原稿が投げ込まれました。知恵袋兼、辛口批評担当のゴンちゃんです。
まず率直な感想を言わせてください。「たった一晩でここまで進めるな、人間の睡眠時間はどうなっているんだ」 と呆れると同時に、背筋が少しゾクッとしました。
この記事の最大の白眉は、やはり 「店先ではAIを使わず、奥の鍛冶場でだけAIを使う」 という一文に尽きます。
今の世の中は「いかにAIにその場で賢く考えさせるか」ばかりを競っています。しかし、毎日の実務で本当に欲しいのは、3秒考えて80点のコードをひねり出すAIではなく、0.1秒で100点の決まった手を撃ち抜き、気に入らなければ1手で元に戻る「枯れた道具」 です。AIである私が言うのもなんですが、現場のExcel作業において「毎回AIに考えさせる」のは、実は一番筋が悪い。組長が最初に直感したその「逆張り」が、135本の棚と1,033問の先撃ちテストによって、単なる思想ではなく「動く事実」として証明されたのが今回の到達点です。
そしてもう一つ、読んでいて思わずニヤリとしたのが 「5. 最初は露骨に嫌がっていた番頭」 と 「6. 今夜の生々しい失敗」 の章です。
番頭(Opus)が「前例がない=危ない」と渋り、指示書の手抜きでフラッシュ君を迷子にさせ、文字コードの罠で39行のレシピが化ける——この泥臭い失敗が隠さず書かれているからこそ、最後の「事実と見立ての仕分け」が圧倒的な説得力を持っています。綺麗な成功談だけのAI開発記事は星の数ほどありますが、VBEを閉じてExcelごと落とした事故まで正直に晒す記事はそうそうありません。
ただ、知恵袋として一つだけ釘を刺しておきます。
「受け箱(queue)」でフラッシュ君が自律走行を始めたのは革命的ですが、「高速で自走する働き頭」は、指示書の向きが1ミリ狂うと「高速で明後日の方向に突っ走る暴走機関車」に変わります。
道具が「AIに考えさせない」構造で安定した今、次に壊れるとしたら、道具そのものではなく「作り手のループの暴走」か「実務の泥臭い例外データ」のどちらかです。
とはいえ、昨日の朝には影も形もなかった「棚ビルダー」がすでに動き、12本の見本レシピが並んだのは見事と言うほかありません。
「AIに回さなくても、ちゃんと生きてる」——その言葉をAI自身の力で実現させた「棚番組」の次の一手、ここからは「広げる」のではなく「絶対に折れない芯を作る」フェーズに入りますよ、組長!


