紙をスキャンした後に残る、地味な作業
複合機で紙の書類をスキャンする。これ自体は数秒で終わる。問題はそのあとだ。
出てきたPDFを開いて中身を確認し、書類番号と案件番号を読み取って、その番号でファイル名を付け直す。年月と案件ごとのフォルダを作って、そこに入れる。しかも一度にまとめてスキャンすると、1つのPDFの中に何件分もの書類が入っているので、それを1件ずつに切り分ける必要もある。
一件あたりは大した手間ではない。ただ、件数がまとまると地味に時間を取られるし、何よりファイル名を打ち間違えたり、入れる場所を間違えたりする。後から探せなくなるので、間違えると余計に面倒なことになる。
今はどうなっているか
先に結果を書くと、今はこうなっている。
「格納しておいて」と一言入力すると、全部終わる。
PDFを開いて中身を読み、番号を拾い、必要なら1件ずつに分割し、年月と案件番号のフォルダを作って、正しい名前を付けて格納する。おかしなデータがあれば処理せずに報告してくる。処理した履歴も残る。
チャットに打ち込む代わりにボタンを1つ押すだけでも起動できるし、時間を決めて勝手に走らせることもできる。
ただし、この「時間を決めて走らせる」には条件がある。動くのはパソコンが起動しているあいだだけだ。自分の環境では退社時にPCを停止するルールがあり、放置すると自動でシャットダウンもされるので、「夜のうちに走らせておく」ことはできない(この事情は46万件のファイル整理の記事で詳しく書いた)。
ちなみに同じ自動化でも、クラウド側で動くものは自分のPCが落ちていても動き続ける。以前に作った記入漏れの通知やSalesforceの未連携チェックはそちらなので、帰宅後も朝も勝手に動いている。「手元のPCで動くもの」と「クラウドで動くもの」の違いは、自動化を組むうえで意外と大事だった。
これまでの記事とは、AIの役割が違う
このブログでこれまで書いてきた自動化は、どれもAIが相談相手だった。Power Automateの組み方を教えてもらったり、エラーの原因を一緒に探してもらったり。手を動かして仕組みを作るのは自分で、動かすのはPower Automateだった。
今回は違う。AIが処理そのものをやっている。
PDFを読んで「これは何番の書類か」を判断するのも、「この2つは別の書類だから切り分ける」と決めるのも、AIの担当だ。ここが今までと決定的に違うところで、正直やってみるまで「そんなことまでできるのか」と半信半疑だった。
仕組み:運搬・判断・確認を分ける
とはいえ、AIに全部やらせているわけではない。実際の構成はこうなっている。
① 複合機 → ネットワーク上のフォルダにスキャン(今まで通り)
② Power Automate Desktop ファイルを作業用フォルダへ運ぶ
③ Claude(黒子) 中身を読んで、名前を決めて、振り分ける
④ Power Automate Desktop 完成したものを所定の場所へ運ぶ
⑤ 人 中身を確認する
役割をひとことで言うと、運搬はPower Automate、判断はAI、最終確認は人。
なぜ分けたかというと、それぞれ得意なことが違うからだ。ファイルを決まった場所から決まった場所へ移すだけの作業は、Power Automateのほうが速いし確実で、しかもタダで動く。一方、中身を読んで判断する仕事はAIにしかできない。そして、間違いがあったときに責任を取れるのは人だけだ。
もうひとつ現実的な理由もある。AIが動いている場所からは、ネットワーク上の共有フォルダが見えなかった。この制約は以前に調べてあった(できたこと・できなかったことの記事に書いた通り)。だから「見える場所まで運んでくる」役をPower Automateに任せる必要があった。
制約から始まった分担だったが、結果的にこの形がいちばん理にかなっていたと思う。
AIにしかできなかったこと
具体的に、AIが担当している判断はこのあたりだ。
書類の中身を読んで番号を拾う
書類は手書きと印字が混ざっている。決まった位置に決まった文字があるわけではない。「この書類の番号はどれか」を読んで判断する必要がある。
何件分が入っているかを見分けて切り分ける
まとめてスキャンした1つのPDFの中に、複数の書類が入っている。どこからどこまでが1件なのかは、中身を読まないと分からない。実際に39ページのPDFから7件の書類を切り出すところまで動いている。
おかしなものを見つけて止まる
作業した月と報告した月が食い違っているものは、処理せずに「これは変です」と報告してくる。機械的に処理していたら、間違った場所に入って後で分からなくなるやつだ。
一番の学びは「安全弁」の設計だった
この仕組みを作る中で、一番勉強になったのは技術的なことではなく設計の考え方だった。
問題はこうだ。③のAIの処理が終わる前に、④の運搬が走ってしまったらどうなるか。まだ途中までしかできていないものが、完成品として所定の場所にコピーされてしまう。
これを防ぐために入れたのが完了マーカーだ。
AIは処理をすべて終えたとき、最後に「終わりました」という意味の空ファイルを1つ置く。④の運搬は、そのファイルがあるときしか動かない。無ければ何もせず、そのまま終了する。
仕組みとしては拍子抜けするほど単純だが、これがあるとないとでは安心感がまるで違う。自動化を複数つなげるときは、「前の工程が本当に終わったか」を次の工程が確認できる形にしておく——これは他の作業にもそのまま使える考え方だと思う。
ちなみにこの完了マーカーを置くルールは、AIの作業フォルダに置いた指示書に書いてある。毎回口頭で頼まなくても、そのフォルダで作業するときは自動的にそのルールが効く。
なぜ「全部自動」にしなかったのか
最後に人の確認を残しているのは、半分は制約、半分は意図的な選択だ。
制約というのは、AIを完全に自動で起動させることが今の環境ではできないこと。だから「運搬を動かす → AIに一声かける → 完成したら運搬を動かす」という半自動の形になっている。
ただ、仮に全部つながったとしても、最後の確認は人が残すと思う。読み取った番号が1文字違っていても、機械は気づかない。確認する場所を1か所だけ残しておけば、そこで全部止められる。
自動化というと「人の手を完全に無くすこと」だと思われがちだけど、実際に作ってみて感じたのは、人が見る場所を1か所に絞ることのほうが価値があるということだった。以前は全部の工程で気を張っていたのが、今は最後の確認だけになった。減ったのは作業時間だけでなく、気を配る対象の数でもある。
「アーティファクト」の使い道がやっと分かった
ここで、ずっと持て余していた機能の話をしたい。
Claudeにはアーティファクトという機能がある。文章のやり取りとは別に、成果物を独立した画面として表示してくれるものだ。資料やちょっとしたツールを作らせると、これで表示される。
便利そうなのは分かる。ただ正直なところ、「これ、業務で何に使えばいいんだ?」とずっと思っていた。作って眺めて、それで終わり。仕事で使う場面が思い浮かばなかった。
今回それが変わった。アーティファクトを「実行ボタン」にしたのだ。
やったことは単純で、ボタンが1つ置いてあるだけの画面を作らせて、それを画面の横に出しっぱなしにしておく。押すと今回の仕分け処理が走る。それだけ。
これが思った以上に効いた。
- 毎回チャットに文章を打たなくていい。 「格納しておいて」と打つのも大した手間ではないが、ボタンならゼロ手間だし、言い回しを間違えることもない
- 自分以外の人にも渡せる。 AIへの頼み方を覚えてもらう必要がない。「このボタンを押してください」で済む
- 業務がツールの形になる。 チャットのやり取りは記録が流れていくが、ボタンは常にそこにある
つまりアーティファクトは、AIへの指示を「アプリの操作」に変換する道具として使える。同じことを何度も頼む作業があるなら、たぶんこれが一番手っ取り早い使い道だと思う。
自分と同じように「アーティファクトって結局なんなの」と思っている人がいたら、繰り返しやっている作業のボタンを1つ作ってみるところから試すのをおすすめしたい。
従量課金だから、1ページ目しか読ませない
細かい話だが、コストの工夫もひとつ。
社内のAIは使った分だけ課金される仕組みなので、PDFを全ページ読ませると、その分だけ費用がかかる。ただ、必要な情報は1ページ目にしか書かれていない。
なので、読むのは1ページ目だけに限定している。39ページのPDFでも、読ませるのは区切りの判定に必要な範囲だけ。これだけで費用がかなり違ってくる。
「できるだけ多く読ませる」のではなく「必要な分だけ読ませる」——従量課金の環境では、この発想が効いてくる。
まとめ
やってみて分かったことを3つ。
- AIは「相談相手」だけでなく「作業者」にもなる。 中身を読んで判断する仕事は任せられる
- 全部をAIにやらせる必要はない。 運ぶだけの仕事は他のツールのほうが速くて確実
- 工程をつなぐときは、前の工程の完了を確認する仕組みを入れる。 単純な合図ひとつで事故が防げる
- 繰り返す作業は、ボタンにしてしまう。 アーティファクトの使い道がここでやっと腑に落ちた
同じ書類仕分けの作業は、たぶんどこの職場にもある。請求書でも納品書でも考え方は同じなので、そのうち他の書類にも広げてみるつもりだ。