0
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?

【お詫び】VBAマネージャーが遅かった——犯人はAIの勝手な調査でした

0
Posted at

はじめに(お詫び)

公開している 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は
黙々と一人で調査していた——今回の遅さの根はそこにありました。

とりあえず直してみましたが、まだまだ至らないところがあるかもしれません。
今後も修正は続けていきます。遅い・おかしいと感じたところがあれば、
遠慮なく教えてください。

(リポジトリ: https://github.com/shu1551/shu-vba-manager

0
0
0

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
0
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?