AIにExcelを任せる前に考えたいこと――鉄筋加工図から既存帳票へ数字を渡してみた
鉄筋加工図からAIで鉄筋番号・径・長さ・本数を読み取り、CSVで確認してから既存のExcel重量算定表へ入力しました。全自動化より、どこで人が確認するかを考えたテストです。
前回の技術ノート「AI時代に、なぜ今VBAなのか」では、AI時代でもVBAのような「決まった処理を、毎回同じように行う道具」には、まだ十分に意味があるのではないかという話を書きました。
その最後に、もう一つ試してみたいこととして、鉄筋加工図と鉄筋重量表について触れました。
鉄筋加工図には、鉄筋番号、D13などの鉄筋形、長さ、本数といった情報がまとまっています。
この情報をAIに読み取らせ、既存のExcel帳票を壊すことなく、必要な数字だけを所定の場所へ渡せないか。
今回は、そのテストです。
前回あえて「壊さずに」と書いた理由
前回の記事では、何気なく「既存のExcel帳票を壊すことなく」と書きました。
実は、この言葉には少し理由があります。
私はこれまで、AIに既存のExcelを編集させるテストを何度かしています。
新しいシートを作る。数式を入れる。表を整理する。データを加工する。
こうしたことを自然な言葉で頼めるようになったのは、大きな変化だと思います。
一方で、既存のExcelをそのまま編集させたとき、こちらが頼んだ変更はできていても、列幅、行高、フォント、罫線、印刷設定など、直接変更を頼んでいない部分まで変わったように見えることがありました。
最近あらためて試すと、条件を細かく指定することで、かなり正確に編集できる場面も増えていると感じています。
それでも、設計実務で使う既存帳票の場合、私が一番気になるのは、AIが目的の作業をできたかだけではありません。
目的以外のところが変わっていないか。
こちらも確認する必要があります。
安全に編集できるのであれば、AIには既存Excelを自由に触ってもらって構いません。ただ、意図していない変更が起き、それに人間が気付かないことは避けたい。
前回「壊さずに」と書いたのは、そういう意味でした。
まずAIに「読む」ところを任せた
今回使ったのは、鉄筋加工図です。
加工図には、重量表へ入力するために必要な情報がすでに整理されています。そこで最初から完成したExcelを作らせるのではなく、まずAIに加工図を読ませ、次の情報だけを抜き出してもらいました。
- 鉄筋番号
- 鉄筋形(D13など)
- 鉄筋の長さ
- 本数
そして、その結果をCSVにします。実際に作ったCSVでは、次のような形に整理しました。
鉄筋番号,鉄筋形,鉄筋の長さ,本数
C1,D13,5.26,3
C2,D13,4.43,6
C3,D13,2.52,9
この形まで整理されると、人間側でも確認しやすくなります。
元の加工図と見比べて、鉄筋番号は合っているか。D13などの表記を読み違えていないか。長さと本数は正しいか。
AIにいきなり完成形を作らせるのではなく、途中に一度、人が確認できる形を置くことにしました。
CSVから、既存の重量算定表へ数字を渡す
次に、既存の鉄筋重量算定表をExcelで開きました。
ここで使ったのが、Excel内のAIアドインです。VBAや、あらかじめ作った専用の転記ツールではありません。Excelの中でAIへ自然な言葉で指示し、開いているブックを操作させるものです。
そのAIに、先ほどのCSVを渡しました。
このCSVから、鉄筋番号、鉄筋形、鉄筋の長さ、本数を、既存の重量算定表の所定位置へ入れてほしい。
今回のテストでは、必要な情報を、既存の重量算定表の所定の場所へ入れることができました。
ただし、入力できたことだけで正しいとは判断していません。CSVの内容と入力先を照合し、既存帳票のほかの部分に意図しない変化がないかを人が確認しました。
CSVが、途中の確認地点になった
今回CSVを使った理由は、単にAIがCSVを扱いやすいからではありません。
実際に試してみて感じたのは、CSVが途中の確認地点になっていることです。
- 鉄筋加工図をAIに読ませる鉄筋番号、鉄筋形、鉄筋の長さ、本数を抽出する
- CSVに整理するAIが読み取った内容を、人が元図と照合する
- Excel内のAIへ渡す入力する項目と所定の場所を指示する
- 既存の重量算定表へ入力する必要な数字だけを既存帳票へ渡す
- 結果と帳票全体を確認する入力内容と、意図しない変更がないことを人が確かめる
この流れなら、途中で一度立ち止まれます。
加工図の読み取りを間違えていれば、CSVの段階で分かる。CSVが正しければ、その後はExcelへの入力を確認すればよい。
問題が起きたときにも、
加工図を読み間違えたのか。
Excelへの入力を間違えたのか。
を分けて考えられます。
一気に最後まで自動化するより、実務上はこちらの方が扱いやすいと感じました。
AIに任せる範囲を狭くしたいわけではない
ここは、少し誤解されやすいところかもしれません。
私は、AIにはExcelを触らせない方がよいと考えているわけではありません。むしろ、安心して任せられるのであれば、できることはどんどん任せたいと思っています。
今回あえて途中でCSVにしたのは、AIの能力を制限するためではありません。
AIが何を読み取ったのかを、人間が途中で確認できるようにするためです。
設計実務では、結果だけが合っていればよいとは限りません。
どこからその数字が来たのか。何を読み取ったのか。どの段階で変換されたのか。
人間が後から追えることも重要です。
今回の方法は、まだ一つのテストにすぎません。図面の形式や状態が変われば、同じ精度で読めるとは限りません。それでも、途中のデータを確認できれば、どこまで任せられるかを一つずつ判断できます。
さらに自動化し、加工図から重量表まで一気に作る方向も考えられます。ただ、特に数量に関わるものは、最終的には人が確認します。
どこまで自動化できるかと同じくらい、どこで人が確認できるようにしておくかも重要です。今回のCSVは、その確認場所の一つになりました。
「読む」と「決まった処理」は、少し性質が違う
鉄筋加工図から必要な情報を読み取る処理には、少し曖昧さがあります。
図面によって文字や表の位置が違う。記載方法も少し違う。
こうした揺らぎを、従来のプログラムだけで全部処理しようとすると、それなりに大変です。AIは、こうした曖昧さのある情報から必要なものを探す場面で使いやすいと感じます。
一方で、
この値を、この列へ入れる。
この形式で並べる。
この場所へ転記する。
といった処理は、ルールが固まれば毎回同じです。
ここもAIでできます。ただ、一度ルールが固まれば、VBAやほかの固定処理にすることもできます。
前回の記事で書いた、
その都度条件が変わる処理はAI。
一度ルールが固まった処理は、VBAなどの道具にする。
という考え方を、今回は鉄筋加工図と重量算定表で少し違う形から試したことになります。
前回の「壊さずに」が、少し具体的になった
前回の記事で書いた、
既存のExcel帳票を壊すことなく、必要な数字だけを所定の場所へ渡せないか。
という言葉。
今回のテストを通じて、その意味が少し具体的になりました。
ExcelをAIに触らせない、ということではありません。
- AIには図面を読んでもらう
- 読み取った内容を一度確認する
- 必要な情報だけを既存帳票へ渡す
- 入力結果と帳票全体を、最後に人が確認する
この流れにすることで、AIを使いながらも、処理の途中が見えるようになります。今回の「壊さずに」は、AIに触らせないことではなく、意図しない変化に人が気付けるようにしておくことでした。
今回の鉄筋加工図と重量算定表は、その小さな実験の一つでした。
そして、もう一つ分かったことがあります。
同じExcel編集でも、AIをどこから使うか、どこまで自由に触らせるか、条件をどのように定義するかによって、結果や使い勝手はかなり変わります。
このあたりは、別のExcelを使って比較しました。続きは、「ChatGPT WorkとExcel内AIアドインで、同じExcelを編集して比べてみた」に記録しています。