1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「AIに考えさせない道具」はどこまで出来上がったか ── 135本の棚、12本のレシピ、チーム「棚番組」と受け箱で回すExcel開発の現在地の話

1
Posted at

はじめに

昨日の朝、前作の記事を公開しました。

新しく登場した 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 本 配備しています。

  1. 月次ピボット集計
  2. 前期当期比較グラフ
  3. 神エクセル救出(隠れた行と列を出し、結合セルをほどき、二段の見出しを一行に畳み、空の行と列を詰める)
  4. 伝票明細の小計
  5. ブック無毒化(ピボットと外部リンクを値にし、壊れた名前を消し、余分な行列を削って別ブックに保存する)
  6. 部署別シート振り分け
  7. 社員名簿の更新
  8. コード明細の名称変換と集計
  9. 個別通知書の差し込み作成
  10. 巨大ブックの健康診断
  11. 月次突合チェック
  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自身の力で実現させた「棚番組」の次の一手、ここからは「広げる」のではなく「絶対に折れない芯を作る」フェーズに入りますよ、組長!

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?