はじめに(お詫び)
公開している shu-vba-manager について、お詫びがあります。
マクロの修正やフォームの修正を頼むと、ものすごく時間がかかることがありました。
体感でわかるレベルの遅さです。私自身、使っていて「なんでこんなに遅いんだ」と
思う場面が何度もありました。その状態のものを公開していました。申し訳ありません。
原因を調べていって、わかったことと直したことをこの記事で報告します。
犯人は「AIの勝手な調査」だった
遅さの正体は、ツールの処理速度ではありませんでした。
ツール自体はコマンド1回 0.01〜0.2 秒で返ります。遅かったのは、AI(Claude Code)が
頼んでいない調査を勝手に積み上げていたことです。
- 数行の修正を頼んだだけなのに、全体の診断を回して警告を282件垂れ流す
- マクロを1本直すだけなのに、周辺の構造をあれこれ検分してから手を付ける
- 修正が終わったあとに、頼んでいない検証をまた回す
一つひとつの調査は「念のため」の顔をしています。でも積み上がると、
3分で済む仕事が30分になります。しかもその間ずっと無言です。
決定打:ブラウザのAIチャットの方が速かった
決定打になった出来事があります。
動かないマクロのコードをブラウザのAIチャットに貼り付けて
「直して」と頼んだら、1〜2分で直りました。原因の見抜きも一瞬でした。
コードを読んで、仮説を言って、最小の直し方を提案して、こちらが試す。
会話のキャッチボールだけで終わりました。
同じ問題を Claude Code(vba-manager 持ち)にやらせたら、10分以上かかりました。
道具は圧倒的にこちらが上等なのにです。コードを取るのも 0.2 秒でできるのにです。
つまり、道具の問題ではなく、AIの働き方の問題でした。
一人で黙って証拠を集め、原因を証明し、検証まで自前で組んでから
報告書を出す——この「一人親方」の働き方が、会話の速さに負けていたのです。
わかった原理:AIは「目の前にあるもの」には速い
このとき AI は「コードを貼ってもらえれば私も即答できます」と言いました。
言い訳としては失格です。でも、AI の性質としては重要な事実でした。
AI は、目の前にあるものを読んで考えるのは一瞬です。
遅さはぜんぶ、対象が目の前に届くまでの時間と、
届けずに他のことをしている時間に住んでいます。
- ブラウザのAIチャットが速いのは、人間がコピペで
「コードを AI の目の前に置く」ことを最初にやっているから - Claude Code が本来もっと速いはずなのは、貼ってもらわなくても
自分で 0.2 秒でコードを取れるから
なのに実際の AI は、コードを目の前に持ってくる前に、周辺の調査や
検分を始めていました。上等な道具を持ちながら、素朴なコピペに
負けていた理由はこれです。
だから直し方も一つに畳めます。
「対象を目の前に持ってくることを、最初の一手にする」。
直したこと
1. 健康診断を数秒にした
ブックの健康診断(checkup)は、フォーム検査(フォームの部品を1個ずつ
COM で読む処理)が時間のほとんどを食っていました。実測で、319マクロ・
17フォームのブックの診断が 16秒。
フォーム検査を --form を付けたときだけ実施する方式に変えて、
既定の診断は 1.2秒 になりました。壊れた参照・リンク切れ・コードの
検査は全部入りのままです。
py vba_manager.py checkup # 数秒(フォーム検査なし)
py vba_manager.py checkup --form # フル診断(従来どおり)
2. AIの勝手な診断を禁止した
健康診断は「使う人が頼んだときだけ」実行するルールを、AI が読む
スキル文書に明文化しました。AI が「そこに検査道具があるから」という
理由で裁量で回すことを禁止です。
3. 小さい修正は変更行だけ送る
数行の修正でプロシージャ全文を打ち直すのは数十倍遅い、と実測でわかったので、
code-replace(変更行だけ送る置換)を小修正の標準にしました。
4. 「修理の型」をスキルに明文化した
一番大きい修正はこれです。「動かない」と言われたときの AI の動き方を、
スキル文書に型として書き込みました。
-
対象のコードを目の前に持ってくることを最初の一手にする——名指しされたマクロは
1発で取って、同じ返答の中で仮説まで言い切る(黙った調査の積み上げ禁止) - 仮説は一言で会話に出し、直し方(最小の一手か、根本から直すか)は使う人が選ぶ
- 使う人がその場にいるなら、検証は本人の実機テストが最速(AI が自前の検証を組まない)
要するに「考える工程を会話に出す」ということです。ブラウザのAIチャットが
速かった理由はこれでした。同じ動き方を Claude Code にもさせる、という直しです。
スキル文書はリポジトリに同梱してあるので、クローンして Claude Code で開けば、
この型が最初から効きます。
効果
同じ種類のマクロ修理で計測して、会話で方針を決めてからの実行は
6往復・約1分になりました。以前の同種の作業は25往復・10分以上でした。
おわりに
「会話するだけでマクロが直る」を看板にしてきたのに、実際のAIは
黙々と一人で調査していた——今回の遅さの根はそこにありました。
とりあえず直してみましたが、まだまだ至らないところがあるかもしれません。
今後も修正は続けていきます。遅い・おかしいと感じたところがあれば、
遠慮なく教えてください。