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エージェント化、朝の85点が93点になって70点に着地した話

0
Posted at

はじめに

昨日は記事を二本公開しました。未明に、自作の道具の自己採点が85点になった話。夕方に、「関所が、入口から出口に移った」とAIに言われた話です。

その二本を書いている裏で、道具のほうも一日じゅう動いていました。朝に五つ、昼に四つ、夜に十いくつ。他社の道具に二十四問の聞き取りもしています。機能の数だけなら、いちばん進んだ一日です。

そして夕方、点数を聞いたら93点でした。

その日の終わりに、もう一度聞いたら70点でした。

同じ道具で、同じ相手が答えています。あいだで何が起きたかを書きます。

その前に、実際に動いているところを貼ります。3枚のシートに3つの仕事を続けて頼んだ、この日の記録です。指示を出すところから、Excelが動いて、報告が返るところまでそのまま入っています。

TL;DR

  • 朝に足したのは、機能ではなく物差しです。関所で何回差し戻されたかを数える通信簿、本番の走行を一行ずつ残す台帳、そこに付く「人が戻した」「人が保存した」の印。全部、人の判断だけが出る欄です
  • 昼は、AIに見せる画像に行番号と列番号の帯を描き足しました。それまでは「左上がA1です、ここから数えてください」と、AIに数えさせていました
  • 午後は Claude for Excel に二十四問聞きました。いいところではなく、向こうがどう止めるか・何を見ていないかのほうです。答えは17,650字
  • 夜、聞いたことを入れました。いちばん大きいのは、「消してよい」と私が言ったかどうかを道具が判定するようにしたこと。それまではAIが自分で「上書きしてよい」の印を付ければ通っていました
  • 練習台の点は上がりました。59本中55本、落ちた4本を直して4本とも通過。ここで自己採点は93点です
  • そのあと私が初めて自分の依頼で撃ちました。仕事は一往復で終わっていたのに、残り四往復を関所どうしのぶつかり合いに使いました。しかも表の中の空欄を、道具もAIも採点役も言いませんでした
  • 台帳を出させてから聞き直したら、同じ相手が70点と答えました。一発で通ったのは14走行中10。上げるために作った物差しが、最初に測ったのは自分の水増しでした

朝:足したのは機能ではなく、物差しでした

85点には内訳がありました。手の広さ95点、壊さなさ90点、通信簿の信用度70点、実運用の量60点。低いほうの二つが本体だ、という話を前の記事に書いています。

朝いちばんに、その二つに効くものだけを入れさせました。五つあります。

一つ目は、関所の通信簿です。 この道具はAIが「終わりました」と言っても、そのまま通しません。関所が順に並んでいて、引っかかったら差し戻します。ただ、これまでは何回差し戻したかを数えていませんでした。

数え始めると、見え方が変わります。同じ「合格」でも、一発で通ったのと、関所で三回止められてから通ったのとでは、中身が違う。極端に言えば、59本中59本合格でも、全部が関所頼みなら、AI自体は一度も正しくなっていないわけです。それが数字で出るようになりました。

二つ目は、走行台帳です。 本番で一回撃つごとに一行残ります。ここでいちばん欲しかったのは、合格率ではありません。私が取り消した率です。

道具の「できました」は自己申告で、信じる根拠がありません。一方、私が --undo を押して元に戻したという事実は、人が下した判定です。控えと走行を結ぶ印を持たせて、戻したら台帳に「人が戻した」が付くようにしました。

三つ目は、本番の失敗をそのまま弾にする口です。 実運用で失敗したら、そのときの依頼文とシートを取って、ブックを写し取って練習台にする。これで**問題を作る側と採点する側を、実戦が分けてくれます。**自分で問題を作って自分で採点しているあいだは、点はどこまでも甘くなるからです。

四つ目は、採点を別の会話に移したことです。 この道具は最後に自己採点をします。それまでは、同じ会話の続きに「で、何点?」と足していました。つまり自分の手順も言い分も全部見た相手が、自分を採点していたわけです。追認しないほうがおかしい。

いまは依頼文と、道具が読み直した現物と、画像だけを一通にして聞きます。効いているかは請求書に出ました。**採点の入力が1,755トークン、作業側は8,275トークン。**会話を引き継いでいたら、この差は出ません。

五つ目はマクロ側の関所を二つ足したもので、地味なので省きます。

ここまでで、まだ道具は一行も賢くなっていません。測る目盛りを増やしただけです。

物差し

昼:「AIに数えさせる」のをやめました

昼は「100点を目指しての回収」と言って四つ足させました。いちばんおもしろかったのは画像の話です。

この道具はAIにシートの画像を一枚見せます。ところがExcelの画像の切り出しは、**行番号と列番号の帯を含められません。**それまでは添え文を付けて、「左上のセルがA1です。ここから数えてください」とお願いしていました。

AIに数えさせていたわけです。

これをやめました。範囲の列幅と行の高さから倍率を出して、画像の上と左に帯を描き足す。Excelの画面と同じ見た目になります。列幅を整えたあとの画像でも、境目と文字がぴったり合いました。

ほかの三つは、控え五個のどれにでも戻せるようにしたこと(それまでは直前の一つだけ)、練習台の弾を消す口、そして台帳に「人が保存した」の印を足したことです。この道具は自分では保存しません。だからブックの更新日時が走行より新しければ、人が保存したということになります。取り消しが失敗の側、保存が受け入れの側。どちらも人の判断です。

午後:他社の道具に、二十四問聞きました

午後は毛色の違うことをしました。Claude for Excel への聞き取りです。

Excelの中で動くAIの窓に質問を打ち込んで、答えをシートに書かせて、それを外から回収する。この段取りは前に一度作ってあったので、それを使って三回に分けて二十四問聞きました。答えは合計17,650字です。

聞いたのは、いいところではありません。向こうがどう止めるか、何を見ていないかのほうです。

  • 既存のセルを上書きしようとしたとき、どう止めるか。「一つでも中身のあるセルが混ざっていたら、その呼び出しは全部拒否する」という判定のしかたと、そのときのエラー文の実物
  • 人に質問を返すときの形。一度に何問まで、選択肢は何個まで、質問しているあいだ作業はどうなるか
  • 数式を書いたあと、結果をどう受け取っているか。そこに何が入っていないか——表示上の ### や、こぼれた範囲や、循環参照は分からない、など
  • 向こうが自分で挙げた、失敗の型

それから、こちらの道具の規則文を丸ごと見せて、査読してもらいました。指摘は二十五件返ってきました。

正直に書くと、**この日いちばん実入りが大きかったのはここです。**自分で撃って自分で直していると、同じところしか掘れません。他所の道具は違うところで転んでいて、その転び方は、こちらの練習台には入っていない形をしています。

段取りでは間抜けを二つやりました。窓のマイクが入りっぱなしで、部屋のテレビの音声が文字起こしされて質問の末尾に混ざったのが一つ。もう一つは、私がワークシートのほうを見ていたせいで、三回目の質問の貼り付けがExcelのセルに落ちたこと。五千字がA列に一行一セルで入りました。こちらは道具の側に「送り先の窓が前に出ていなければ打たずに中止する」を足して塞いであります。

夜:承認を、AIの手から取り上げました

夜は輸入です。聞き取りから拾った候補を、順に道具へ入れました。効いた順に四つだけ書きます。

一つ目。「消してよい」と言ったかどうかを、道具が判定するようにしました。

これがいちばん大きい変更です。それまで、消す・上書きするといった戻せない手は、**AI自身が「上書きしてよい」の印を付ければ通っていました。**道具のほうは、書き先が空かどうかしか見ていない。つまり承認の判断をAIに任せていたわけです。

いまは、私の依頼文を道具が読んで判定します。

  • 強い動詞(消す・削除・上書き・置き換え・書き換え・切る)は、「〜して」の命令形でも承認とみなす
  • 弱い動詞(埋める・直す・整理・揃える)は、「〜てよい/いい/構わない」の許可の形だけを承認とみなす
  • 否定形(消してはいけない・消さないで)は、当然ながら承認ではない

承認が見つからなければ、**その手は実行されません。**落ちるのではなく、安全な部分だけやって「ここは判断が要ります」で止まる。私が「はい」と返せば続きます。

二つ目。実行する前に、全部の手をまとめて検査するようにしました。

それまでは一手ずつ実行しながら見ていたので、五手目で止まると、四手ぶんの中途半端な姿がシートに残ります。いまは先に全部見て、**一つでも通らないものがあれば、一手も実行しません。**問題は全部まとめて返します。

三つ目。手を36本から42本に。

読むための手、式を計算して結果だけ見る手(セルには書かない)、画像を置く手、行と列の挿入と削除、それから行や列を隠さずに畳む手。隠す手は入れていません。

四つ目。手順書を25本から20本に切り直しました。

似た仕事が別々の名前で並んでいたのを畳んで、依頼文に絶対出てこない名前(「引き継ぎ準備」など)を、人が実際に言う言い方に変えました。各手順書には「確かめる:」の段を足しています。

このあと全弾を撃って、59本中55本合格。落ちた4本は全部こちら側の欠陥で、直したら4本とも通りました。落ち方が一つ皮肉で、AIが自分で書いたセルを自分で直そうとして、「承認の言葉がありません」で止められていたのです。承認の門を入れた直後に、門が働きすぎた。自分で書いたセルは人の値ではない、という区別を足しています。

この時点で、点数を聞きました。93点でした。

私は70点だと言いました。五冊撃って欠陥が八件出る道具は、そういう姿だろう、と。ただ、根拠はまだ感触でした。

そして、私が撃ちました

18時03分。自分の手で撃ちました。依頼は一行です。

今開いているシートの表を整えてください

結果は、往復5回・30秒。

仕事そのものは、**最初の一往復(6.8秒)で終わっていました。**残りの四往復で何をしていたかというと、関所どうしのぶつかり合いです。

採点役が、表の中に書いてあった例文まで依頼の一部と読んで、「直っていない」と挙げる。AIがそれを直しに行く。承認の言葉がないので門で止まる。「判断が要ります」で返すと、言い方が少し変わったせいで、道具が同じ項目を別の項目だと思って、まだ残っていると差し戻す。最後は同じことが二重に報告に出ました。

前の記事に、関所を足すとその関所自体が新しい落とし穴になる、と書きました。二度目です、とも。三度目でした。 しかも今回は関所が一つ落とし穴になったのではなく、関所が三つ、お互いを止めていました。 採点役が範囲を広げ、承認の門が止め、やることの一覧がそれを別件だと思う。どれも単体では正しく動いています。

三つの関所

それとは別に、表の中に空欄が一つありました。フリガナの列の、一か所だけです。

道具も、AIも、採点役も、誰もそれを言いませんでした。 「表を整えて」と言われた人間が最初に目を留めるのは、たぶんそこです。罫線でも桁区切りでもない。

空欄

理由ははっきりしていて、この道具の検査は体裁を見ていて、中身を見ていないからです。見出しの形、罫線、桁、寄せ、###。前の記事の「正直な線引き」にそう書いてあります。書いてあるとおりに、空欄は素通りしました。

ここは修理しました。材料を集める段で、「その列が三つ以上・六割以上埋まっているのに空いているセル」を番地で出すようにしています。判断ではなく、数える仕事なので、AIを呼ばずに道具がやります。あわせて、言い換えても同じ項目だと見なす照合と、採点役の「気づいたこと」欄(依頼には無いが気づいたことを、往復を使わずに報告の末尾へ写す)も足しました。

同じ状態に戻して、同じ一行で撃ち直したら、往復2回・19秒・一発。材料に空欄の番地が出て、気づきに三件挙がりました。

そのあと、テスト用のシートを四枚相手に、続けて十三回撃ちました。

70点

夜、台帳を出させてから、もう一度点数を聞きました。

同じ相手が、今度は70点と答えました。

根拠は台帳です。朝に作ったものが、この日の夕方から夜にかけての14走行を数えていました。全部、私が自分の依頼で撃った分です。

完走 14/14(100%)
一発で通った 10/14(71%)
人が戻した 2/14(14%)
聞き返し 2/14(14%)
30分以内の手直し 10/14(71%)
人が保存した(受け入れ) 12/14(86%)

一方、練習台の点は、この日の後半で90%から100%のあいだです。

同じ道具に、同じ相手が、二つの点を付けました。 93点のときに見ていたのは、自分で作った弾を自分で撃った結果です。70点のときに見ていたのは、私が撃って、私が戻して、私がもう一度撃った回数です。

採点する側が変わったのではありません。見せた材料が変わっただけです。

そして材料を変えたのは、朝に作った物差しでした。関所の通信簿がなければ「一発かどうか」は数字にならず、台帳がなければ「戻した」「手直しした」は残らない。点を上げるつもりで作った物差しが、最初に測ったのは、自分の点の水増しだったわけです。

十回に三回は、関所か私が手直ししている。一度直したものを、三十分以内にもう一度触っている。それが、この道具のいまの姿です。私が感触で言った70点と、台帳を見せられたAIの70点が一致したのは、たぶん偶然ではありません。同じものを見れば、同じ点になる。 前の記事で書いた「点数は見せた材料で決まる」の、裏側の言い方です。

事実と見立ての仕分け

例によって仕分けます。

事実。 この日足したもの(朝の五つ、昼の四つ、夜の輸入)は、実際に道具に入って動いています。テストは朝の307本から、深夜の時点で354本。AIに許した手は36本から42本、手順書は25本から20本です。

夜の実射が59本中55本で、落ちた4本を直して4本とも通ったこと、一発合格が組ごとに15/20・19/24・9/15だったことは、実行結果の数字です。

初実射が往復5回・30秒で、関所の内訳が「未の項目1・自己採点1・承認の言葉1」だったこと、修理後の同じ依頼が往復2回・19秒・一発だったことは、台帳と記録に残っています。空欄を道具もAIも採点役も挙げなかったことも、そのときの記録のとおりです。

Claude for Excel への聞き取りは、三回・二十四問・答え17,650字。規則文への査読が二十五件。マイクの件も、貼り付けがセルに落ちた件も、実際に起きました。

台帳の数字(14走行・完走14/14・一発10/14・戻した2/14・聞き返し2/14・手直し10/14・保存12/14)は、深夜に台帳を出し直した実物です。93点も70点も、付けたのはAIです。 私も夕方の時点で70点だと言っていますが、記事に点として出しているのはAIが出した数字です。

見立て。 「物差しが最初に測ったのは自分の水増しだった」は、一日ぶんの点の動きを見ての私の読みで、実験して確かめたものではありません。「関所が三つ、お互いを止めていた」も、一回の走行の記録を読んでの言い方です。「同じものを見れば同じ点になる」は、私とAIの点が一致した一回から言っていて、標本は一つです。

正直な線引き

  • 走行14回は、私一人の数字です。 他の人が撃った結果は一件もありません。相手も自作の練習用シート四枚で、他人が作ったブックではありません
  • 「30分以内の手直し 71%」には事情が混ざっています。 一枚のシートに続けて何度も撃った日なので、その繰り返しも手直しに数えられています。それでも「一度で終わらなかった」ことは変わりません
  • 「人が保存した 86%」は一回の保存です。 同じブックだったので、一度の保存が12走行にまとめて付きました。受け入れの印としては弱い数字です
  • 練習台の弾は、いまも大半をこちらが作っています。 本番の失敗を弾にする口は作りましたが、そこから増えた弾はまだ数えるほどです
  • 道具の検査は、いまも体裁を見ています。 空欄を数える手は足しましたが、「その集計が仕事として正しいか」は見ていません。そこは中身の知識で、道具の中に持ちようがない部分です
  • 中で回しているAIは gemini-3.7-flash です。安くて速い側で、賢いモデルに替えれば結果は変わります。道具を作っている相棒は Claude Code のほうです
  • 材料は外のAIに送られます。 値も数式も送らなければ判断できません。鍵や個人情報の載ったシートは触らせないでください
  • エージェントの部分は、まだ配っていません。 公開しているリポジトリに入っていません
  • Windows 版の Excel の話です

おわりに

一日で、テストは47本増えて、手は6本増えて、手順書は5本減りました。数字だけ見れば、いちばん進んだ一日です。

それで70点です。朝の85点より下がっています。

ただ、下がったのは道具ではありません。朝の85点も夕方の93点も、道具が自分で作った弾を自分で撃って付けた点でした。夜の70点は、私が撃って、私が戻した回数を、同じ相手が見て付けた点です。上がったのは点で、下がったのは目盛りの甘さでした。

前の記事の締めに、点を上げる方法は、点を下げに来るものを外から連れてくることだ、と書きました。翌日、連れてきたのは自分の台帳でした。

次は、他人のブックです。

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?