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?

「関所が、入口から出口に移った」とAIに言われた話

0
Posted at

はじめに

今日の未明に、こういう記事を公開しました。自作の道具をAIエージェントにして、点数が85点まで来て、そのあと本物のブックを一枚開いたら一発で欠陥が二つ出た、という回です。

締めは「次に開くのは、また別の一枚です」でした。順番でいけば、今日は次の一枚を開いた話になるはずです。

ですが、その前に別のことがありました。Excelの使われ方が変わったという話をAIとしていて、一行、返ってきたのが頭から離れなくなったのです。そこから道具の設計の話になって、最後は二十年前に自分が書いたマクロの話になりました。

今日はそちらを書きます。撃った話ではありません。

TL;DR

  • Excelを使う人は、減っていません。むしろ増えています。 簡単に使えるようになったからです
  • 一方で、Excelの使い方を教わりに行く人は減りました。 「どうやるか」は、いま聞けば数秒で返ってきます
  • この二つは別々の出来事に見えて、同じ一つのことです。そう言ったら、AIがこう返してきました。「関所が、入口から出口に移ったんです」
  • 昔は入口に訓練がありました。関数を覚える、参照を理解する。その訓練が関所になっていて、通った人は「なぜそうなるか」も一緒に持っていた
  • いまは結果だけが先に出ます。しかも見た目が整っている。整っているぶん、手作業の間違いより見つけにくい
  • だから増えるのは使う人だけではありません。誰も検算していない成果物も、同じだけ増えます
  • 出口に関所を置くには、AIにループを渡してはいけません。私の道具は関所を五つ持っていますが、そのうち四つはAIを一度も呼びません
  • 最後に、自分が二十年ほど前から使っているマクロを読み直しました。いまの関所と同じことが、全部入っていました

Excelの入口から、関所が消えました

まず、私の実感のほうから書きます。

Excelの解説を、もう見に行かなくなりました。 ここ二年くらい、一本も見ていないと思います。昔は関数の書き方を調べるのに動画や記事を探して、二十分見て、真似して、覚えていました。いまは聞けば数秒です。二十分と数秒では、勝負になりません。

同じことは、たぶん多くの人に起きています。「どうやるか」を配ることの値打ちが、急に薄くなりました。

開いた門

その一方で、Excelを使う人は減っていません。私の周りを見ている限りでは、むしろ増えています。理由もはっきりしていて、簡単に使えるようになったからです。関数を覚えていなくても、集計は出ます。ピボットの作り方を知らなくても、集計表はできます。

この二つを並べて話していたときに、AIがこう返してきました。

解説が要らなくなった理由と、使う人が増えた理由は、同じ一つのことです。関所が、入口から出口に移ったんです。

関所が、入口から出口へ移りました

説明はこうでした。

昔のExcelには、入口に訓練がありました。関数を覚える、参照の仕組みを理解する、絶対参照と相対参照の違いで一度つまずく。それを通らないと、結果が出せなかった。

その訓練が関所になっていました。そして関所の外側に、教える商売が立てられた。解説が仕事になったのは、通らないと先に進めない場所があったからです。

いま、その関所が消えました。だから使う人が増えて、同時に教える側が細くなった。片方が原因で、もう片方が結果、ではありません。同じ一つの変化の、裏と表です。

ただし、関所そのものが無くなったわけではないと思います。入口から出口に移りました。

出口

昔は「Excelができる人」は、必ず訓練を通っています。だから結果と一緒に、「なぜそうなるか」も持っていました。関所が中身を保証していたわけです。手で書いた式なら、間違えたときも自分の手癖の中にある。

いまは、結果だけが先に出ます。しかも見た目が整っている。整っているぶん、手作業の間違いより見つけにくい。 桁がそろっていて、罫線が引いてあって、合計欄まで付いている表が、根拠のところで一行ずれている。この形は、人が手で作った表には出ません。

だから増えるのは使う人だけではありません。誰も検算していない成果物が、同じだけ増えます。

必要とされる人も、入れ替わると思います。前は「作れる人」が要りました。これからは「出てきたものを見られる人」が要る。同じ一人でも、やることが逆です。前は作る側、これからは見る側。

この一行を聞いたときに、自分がここ最近やってきたことの説明が一つ付いた気がしました。マクロを作る道具だったものに、私はずっと検査を足し続けている。作れることより、出てきたものを見られることのほうに時間を使っている。私自身も、入口から出口に移っていたわけです。言われるまで、その言葉を持っていませんでした。

出口に関所を置くには、ループを渡してはいけない

見立てだけで終わらせると気持ちが悪いので、実装の話をします。

出口に関所を置く、というのは、道具の中では具体的な形になります。ただし条件が一つあって、AIにループを渡していると、これができません。

いまの主流は「AIがループを持つ」形だと思います。AIが考えて、道具を呼んで、結果を見て、また考える。作るのが楽なので、自然とそうなります。

私の道具は逆で、Pythonがループを持って、Gemini を一往復ずつ呼びます。AIは判断する部品でしかありません。AIはExcelに一度も触らず、返してよいのは「許された手の名前と引数」を書いたJSONだけです。実際にExcelを動かすのは、全部Python側です。

一往復の中身は、こうです。

  1. 材料を集める(AIを呼ばない)。シートの中身を要約して取ります。四十行を超える表は、全行ではなく列ごとの性質に畳む。ここで、AIに渡す量が決まります
  2. 送る。依頼文と規約と材料を一つにして送る。結合セルの帳票のように、文字にすると形が壊れて見えるものだけ、画像を一枚添える
  3. APIを叩くurllib で生のRESTです。generativelanguage.googleapis.com:generateContent に投げて、返事の形をJSONに固定します(responseMimeType: "application/json"temperature: 0.2)。429と5xxは二回まで待って撃ち直します
  4. 返事を分解する。規約に合っていなければ、実行せずに「規約どおりのJSONで返してください」と差し戻す
  5. 手をPythonが実行する。最初の書き込みの直前に、シートの控えと、ブック全体の控えを取ります
  6. 結果を短く返す。書いたら、書いた直後の見た目を一枚だけ添える

そして本題は、ここからです。

「完了」と言ってきても、通しません

AIが「終わりました」と返しても、そのままでは通しません。関所が順番に並んでいて、引っかかったら「完了」を取り消して、指摘を次の往復に渡します。

関所 何を見るか AIを呼ぶか
① やることの一覧 分解した項目が「未」のまま完了は受け付けない 呼ばない
② 仕上げ検査 実物を見て、見出しの体裁・罫線・桁区切り・寄せ・列幅の ###・空の見出し 呼ばない
③ 頼んでいない変化 撃つ前のブックの控えと、いまのブックを照らす 呼ばない
④ 読み残し 数式のあるセルを数えて、見ていない分が残っていないか 呼ばない
⑤ 自己採点 依頼文と書いたあとの見た目を照らして、満たしていない点を挙げる 呼ぶ(一往復)

差し戻しは、それぞれ一回だけです。往復の上限は四回にしてあります。無限には回りません。

五つのうち四つが、AIを一度も呼ばない。 ここがこの形の要点だと思っています。

検査をAIにやらせると、確かめるたびに往復が増えます。機械が検査するなら、そこはゼロです。しかも機械の検査は、気分で結果が変わりません。列幅が足りなくて ### が出ているかどうかは、見れば分かることであって、判断ではないからです。判断が要らないものを、判断できる相手に頼まない。

そして、これはループを持っていないとできません。関所を置けるのはループの持ち主だけだからです。AIがループを持っていると、検査は「お願い」になります。守るかどうかは向こう次第で、しかも守ったふりができてしまう。Pythonが持っていれば、通らなければ次に行かせない、が本当にできます。

同じ理由で、こんなこともできます。

  • 回帰試験が書けます。 手順が決まっているので、同じ入力で同じ手順が回る。だから自動の試し撃ちや、二回撃って結果が変わらないかの検査が成立します
  • AIを差し替えられます。 Gemini を呼ぶ関数と Claude を呼ぶ関数が同じ形をしていて、切り替えるだけです
  • APIを呼ばずに試験できます。 記録に残った返事を再生する仕掛けがあって、鍵も費用もなしでループの側だけ確かめられます
  • 測れます。 往復ごとに、字数・秒・トークンの請求書が出ます

費用と往復の関係は、二日前に別の記事に書きました。ここでは繰り返しません。

二十年前に、同じものを書いていました

最後に、この日いちばん自分でも意外だったことを書きます。

AIと設計の話をしている流れで、自分が昔から使っているマクロを一つ出しました。連続換装と呼んでいるものです。リストに並んだブックを順に開いて、ひながた一冊ぶんのマクロを全部入れ替えて、保存して閉じる。自分のブックが何十冊もあって、共通のマクロだけ配りたいときに使います。

作り始めたのは、二十年ほど前です。

中身を並べると、こうなっていました。

  • 既存のモジュールを消したあと、本当に消えるまで待つ。消えなければ止める。黙って保存しない
  • 入れ直したモジュールの名前が連番の別名になっていたら、実名に戻す。戻せなければ止める
  • 別のフォルダにある同名のひながたが開いていたら、取り違えないように中断する
  • 前回異常終了したときの一時ファイルが残っていたら、始める前に掃除する
  • マクロを持てない形式のファイルは触らない。開いて保存すると、更新日時を汚すだけだから
  • リストの非表示行は飛ばす。絞り込みが掛かったまま処理して、数がずれないように
  • 進み具合を出すときだけ、画面更新を一瞬だけ戻す。黙って速くするより、見えるほうを採る
  • 途中で落ちたら、画面更新もイベントも警告も全部戻してから止める。汚れた状態でExcelを放置しない

こうして並べてみると、いまの道具の関所と同じことばかりでした。

  • 作ったあとに数える
  • 数が合わなければ完了にしない
  • 対象を取り違えない
  • 前の状態に引きずられない
  • 頼まれていないものを汚さない
  • 途中で死んでも、後始末をしてから止まる

AIのために考えた設計だと思っていたものが、二十年前のマクロに全部入っていました。

同じ形

理由は、たぶん単純です。大量のファイルを機械にまとめて触らせる人は、必ずこの形にたどり着くからです。一冊なら目で見れば済みます。三十冊を機械に触らせると、目で見られない。だから、機械に数えさせて、合わなければ止める、以外にやりようがなくなる。

AIが来て新しく必要になったのではありませんでした。前からあったものが、いま別の名前で呼ばれているだけです。

コードには地層も見えます。消えるまで待つループのところだけ、2026-07-15 という日付のコメントが入っていて、周りはそれよりずっと古い。二十年ぶんの本体に、今年の一段が足された形になっていました。

事実と見立ての仕分け

例によって仕分けます。

事実。 道具の側は、九月六日に実物のコードを読み直した内容です。ループ本体がPython側にあること、Gemini を urllib の生RESTで呼んでいること、返事の形をJSONに固定していること、429と5xxを二回まで撃ち直すこと、関所が五つでうち四つがAIを呼ばないこと、差し戻しが各一回で往復の上限が四回であること、APIを呼ばずに記録を再生できること、往復ごとに請求書が出ること。すべて実装にそう書いてあります。

連続換装のマクロが二十年ほど前からのもので、待ちループのコメントに 2026-07-15 の日付が入っていることも、実物のとおりです。

見立て。 「関所が入口から出口に移った」は、AIが言った一行で、私がそのとおりだと思ったものです。実験で確かめたものではありません。「Excelを使う人が増えている」も、私の周りを見ての実感で、統計を取ったものではありません。「誰も検算していない成果物が増える」も、いま起きていることの予想です。

「大量のファイルを機械に触らせる人は必ずこの形にたどり着く」も、自分の二十年と、いま作っている道具の二つを並べただけの一般化です。標本が二つしかありません。

正直な線引き

  • 道具のエージェント部分は、まだ配っていません。 公開しているリポジトリに入っていません
  • 中で回しているAIは gemini-3.7-flash です。安くて速い側のもので、賢いモデルに替えれば結果は変わります。道具を作っている相棒は Claude Code のほうです
  • 関所は五つありますが、見ているのは体裁と変化です。 見出しの形、罫線、桁、寄せ、###、頼んでいない変化、読み残し。「その集計が仕事として正しいか」は見ていません。 そこは中身の知識で、道具の中に持ちようがない部分です
  • 材料は外のAIに送られます。 シートの値も数式も、送らなければ判断できません。鍵や個人情報が載っているシートは触らせないでください。これは道具の問題ではなく、どのシートを対象にするかの問題です
  • 消す手は渡していません。 行や列を消す、名前を消す ── 戻せない手は、いまも入れていません
  • Windows 版の Excel の話です

おわりに

今日は、次の一枚を開く前に、遠回りをしました。

関所が、入口から出口に移った。 この一行はAIが言ったもので、私が言ったものではありません。ただ、言われてみると、自分がここ二年やってきたことは全部そこにありました。作れることより、出てきたものを見られることのほうに、時間を使っている。

そして、その形を最初に書いたのは、二十年前の自分でした。名前を知らないまま、同じものを書いていたわけです。

次に開くのは、また別の一枚です。

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?