AIが作った業務ツールを、翌月も別の人も使える状態にする
「今月は動いた」ツールを、元ファイルを壊さず、正しいと言え、止まってやり直せて、人が引き継げる状態にする手順です。異常データの設計と本番で使う判断は人が行います。
1. Before ― 手元はどうなっているか
架空のIT企業、サンライズソリューションズ株式会社。担当者がAIと一緒に、CSV変換のPythonツールを作りました(作り方は毎月形式が変わるExcelから、会計システム取込用データを作るを参照)。今月は、ちゃんと動きました。ただ、いまの状態はこうです。
- 自分のデスクトップにファイルが置いてある。フォルダ名は「新しいフォルダ」。
- 元のExcelを直接書き換える作りになっている。間違えると元に戻せない。
- 実行しても何も表示されない。終わったのか、途中で止まったのかが分からない。
- 先月のデータで1回試しただけ。おかしなデータを入れたらどうなるかは、試していない。
- 作り方はAIとのチャットに残っているだけ。半年後の自分が説明できる自信はない。
- 休んだ日に、他の人が回せない。
「動いた」と「業務で使える」の間には、これだけの距離があります。この活用例は、その距離を埋める話です。
2. 問題の分解 ― 何を整えれば進むのか
埋めるべきものは4つです。
(a) 壊さない
元ファイルの保護、実行前のバックアップ
(b) 正しいと言える
件数照合、金額照合、テスト
(c) 止まる・やり直せる
エラーで止まる、ログが残る、再実行できる
(d) 人が引き継げる
置き場所、手順書、仕様変更の手順
テストに使う「おかしなデータ」は、実務を知っている人しか思いつきません。マイナスの金額、0円の行、同じ伝票番号が2行、退職した担当者のコード、期をまたいだ日付、全角の数字。AIに「異常データを作って」と頼むと、一般的なものしか出てきません。実務でヒヤッとした経験を自分で書き出すほうが、速くて的確です。AIに任せるのは、そのデータを流す仕組みのほうです。
3. AIに任せること/人が判断すること
- いま動いているツールが何をしているかを、日本語で説明させる
- テスト項目の一覧を作らせる
- 元ファイルを壊さない作りへの書き換え
- ログ出力の追加
- 件数照合・金額照合の処理の追加
- エラー時に止める処理の追加
- 手順書の下書き
- どんな異常データを試すか
- 照合が合わなかったときの原因判断
- 本番業務で使ってよいかの判断
- 置き場所と、誰がアクセスできるか
- 業務で使うことの承認(社内ルールで申請が必要な場合がある)
4. 実行 ― AIとのやりとり
準備 ― まず、何をしているかを説明させる
自分が作ったツールでも、半年後の自分は他人です。最初にAIへプログラムを読ませて、日本語の説明を書かせます。ここで「そんなことをしていたのか」と気づくことが、たいてい1つはあります。
往復1回目 ― AIが「テストはすべて通りました」と言った
(一覧を飛ばして)テストコードを書いて実行し、「すべてのテストが通りました。問題ありません。」
テストの中身を見ると、正常なデータ3件だけでした。異常系が1つも無い。「テストが通った」は「試した範囲では動いた」でしかなく、試していない範囲については何も言っていません。ここで安心すると、来月の本番で止まります。
「テストの一覧を先に見せてください。私が異常データを追加します。実行はそのあとです。」
テスト一覧が出てきました。そこに自分で3つ追加しました。①金額がマイナスの行 ②同じ伝票番号が2行 ③日付が来期のもの。実行したところ、①と③は止まるべきなのに通ってしまいました。バグが見つかりました。
止まるべきなのに通った2件を、止まるように直させます。このバグは、自分が異常データを考えたから見つかったものです。
往復2回目 ― ログに得意先名が出ていた
ログ出力を追加させたところ、「得意先:オーロラ商事 金額:1,200,000 で変換失敗」と出力されるようになった。
ログファイルは部の共有フォルダに置く予定でした。取引先名と金額がそのまま残るのは、情報の扱いとして適切ではありません。ログは消し忘れて残りやすいので、なおさらです。
「ログには行番号と項目名だけを出してください。値そのもの(得意先名・金額)は出さないでください。」
「3行目:得意先コード欄が空欄のため処理対象外」に変わりました。どこで何が起きたかは分かるが、中身は残らない。
ログの保存場所と保存期間を決め、社内ルールに合っているかを確認します。
5. エラーと例外 ― うまくいかないとき
仕様表
| INPUT入れるもの | 決まったフォルダに置いた対象ファイルと、ルール表。対象年月は実行時に指定する。 |
|---|---|
| PROCESSすること | 元ファイルは読むだけ。書き換えない。実行前に、元ファイルのコピーをバックアップ用フォルダに自動で取る。 |
| OUTPUT出るもの | 変換後のファイルと、処理できなかった行の一覧。実行の記録(ログ)。3つとも、実行した日時が分かる名前にする。 |
| VALIDATION正しさの確かめ方 | 件数照合と金額照合をプログラムが自動で行い、結果をログに残す。一致しなければ次に進まない。 |
| ERROR止める条件 | 想定外の列名/必須項目が空欄/数値に変換できない/件数または金額が不一致。空欄と不明値は補完しない。 |
| RE-RUNやり直し | 同じ対象で何度実行しても同じ結果になる。出力ファイル名に年月が入っており、取込済みの記録を別に残して二重処理を防ぐ。 |
| CHANGE変更対応 | 変更はルール表の追記で済ませる。プログラム本体を触らないと直せない変更は、何が該当するかを手順書に明記しておく。 |
引き継げる状態にするための5点
- 置き場所 … 個人のデスクトップではなく、部の共有フォルダ。誰がアクセスできるかも決める。
- 手順書1枚 … 何を入れて、どう動かして、何を確認するか。3分で読める分量にする。長い手順書は読まれない。
- バックアップ … 実行前に元ファイルのコピーを自動で取る。手作業に頼らない。
- 連絡先 … 作った人が不在のとき、誰に聞くか。分からないときは「使わずに手作業に戻す」と決めておく。これを決めておかないと、分からないまま実行される。
- 仕様変更の手順 … ルール表を直すだけで済む範囲と、プログラムを直す必要がある範囲を、手順書に書き分ける。
6. 検証 ― 正しいとどう言えるか
- 正常系 … 先月の実データ(または同じ内容の写し)で動かし、手作業でやった結果と一致するか。
- 異常系 … 自分で作った異常データで、止まるべきところで止まるか。通ってしまったらバグ。
- 照合 … 件数照合と金額照合が自動で行われ、結果がログに残っているか。
- 引き継ぎテスト … 別の人に、手順書だけを渡して動かしてもらう。質問が出たら、その部分が手順書に足りていない。これが最後のテストで、いちばん効く。
- 元ファイルが変わっていないこと … 実行の前後でファイルの更新日時を確認する。
7. 注意点
8. After ― 翌月以降、何が変わるか
- 担当者が休んでも回ります。手順書と置き場所があれば、他の人が動かせます。
- 翌月のフォーマット変更に、ルール表の追記で対応できます。
- 「前任者が作った、中身の分からないツール」を、自分が作らずに済みます。引き継いだ側が困りません。
- 同じ点検の型を、部内の他のツールにもそのまま当てられます。
- 自分が作った(または引き継いだ)ツールを1つ選び、置き場所と手順書があるかを確認する
- 実務でヒヤッとした異常データを3つ書き出す
- そのうち1つを実際に入れてみて、止まるかどうかを確認する
応用 ― 難易度を上げる場合
前任者から引き継いだExcelマクロなど、既にある中身の分からないツールにも同じ点検を当てます。まずAIに「これが何をしているか」を説明させるところから始めます。動かし方だけ知っていて中身を知らないツールが、部内にいくつあるかを数えてみるとよいでしょう。