はじめに
ミスが許されないお金の書類のチェック作業ですが、チェック項目が多く、またケースバイケースの項目も多いです。
- めったに見ない人にとっては、急にチェックを求められて、めったに見ないから見落としたり
- 頻繁に見る人にとっては、ミスなしは当然の上に、スピードを求められる
などと、誰にとっても厄介です。
いずれにしても、自動化したい、AIなんとかしてくれんかね...というAI化待ったなしの作業かと思います。
ということで、チェックエージェントを作ってみました。そしたら作るのは簡単だし、ミスも見つけるので、私は、確認フローの1つに組み込みました。(当然、完全には頼らず、人間の確認も絶対必要)
ここでは、作り方を紹介してみます。
Claude Codeの環境の初期設定方法や、.claudeフォルダって何?という話は割愛します。「細かいことはわからんけど、うちの会社向けのを手早く丸っと作って頂戴!」という方は、是非直接ご相談ください。
概要、最終的なゴール
- 見積書と請求書のチェック、とりあえず日付と金額を、AI視点でチェックしてほしい
- チェック対象の帳票や、チェック項目は今後増えるかもしれない
Claude Codeと私の会話(会話をしながら作ってもらう)
カレントディレクトリ以下に、tests/invoice/~.pdfやtests/estmate/~.pdfなどを置いて、こうClaude Code(以下cc)に話しかけることから、始めました。
このリポジトリでは、見積書等のチェックをするエージェントを
.claude/agents以下に作成し、最終的に運用することを目標とする。どのように進めたらよいだろうか。
すると、下記のように質問返しされます。
- 書類は、見積書(esitamate)と請求書(invoice)だけ?
- 「チェック」とはどんな項目?
- どうやって起動する?claude CLIから呼び出す?
- 結果はどのように伝える?
それに対して、私の回答。
書類は、現時点では、見積書と請求書のみ。
ただし、今後増える可能性はある。「チェック」項目は、
- 日付の整合性チェック
- 「今日」発行する書類として、正しそうな日程かどうか
- 金額の計算チェック
- 小計・消費税・合計の整合性
起動はclaude CLIから起動。
出力は、チャットで、判定結果、NGや要確認(warning)の場合はその項目と理由を伝えて。
"正しそうな日程かどうか" なんて、プログラミングでやりづらい ことですね。金額の整合性も、何と何を見て整合性とか言ってません。こういう指示をさらっとできるのが、AIの真骨頂かと。
答えたら、ccがtests/以下に置いておいたpdfを、pythonを使って読み始めました。ちなみに、tests/以下には、OK版・NG版ともに置いておきました。
そして、さっそくエージェントを作り始め... チーン!完成😮🍚
テストしてみて得た結果がこちら👇
1. 見積書1(xxx.pdf)→ NG
┌─────────┬──────────────────┬────────────────────────────────────────────────┐
│ 判定 │ 項目 │ 内容 │
├─────────┼──────────────────┼────────────────────────────────────────────────┤
│ NG │ 見積日の年が不正 │ 2025/3/30 → 今日(2026/3/30)と1年ずれ │
├─────────┼──────────────────┼────────────────────────────────────────────────┤
│ Warning │ 業務実施期間 │ 2027年4月〜12月 と記載。明細行は 2026年 で矛盾 │
├─────────┼──────────────────┼────────────────────────────────────────────────┤
│ OK │ 金額計算 │ 小計・消費税・合計すべて正常 │
└─────────┴──────────────────┴────────────────────────────────────────────────┘
2. 見積書2(yyy.pdf)→ OK
すべてのチェック項目に問題なし。
3. 請求書(zzz.pdf)→ Warning
┌─────────┬────────────────────────┬─────────────────────────────────┐
│ 判定 │ 項目 │ 内容 │
├─────────┼────────────────────────┼─────────────────────────────────┤
│ Warning │ 発行日が未来 │ 2026/03/31 は今日(3/30)の翌日 │
├─────────┼────────────────────────┼─────────────────────────────────┤
│ Warning │ 振込期日が発行日と同日 │ 3月末日 = 発行日 │
├─────────┼────────────────────────┼─────────────────────────────────┤
│ OK │ 金額計算 │ すべて正常 │
└─────────┴────────────────────────┴─────────────────────────────────┘
2ターンで完成。結果もよい。私が見逃していた点も見つけとるやないかい🤣
作られたもの
-
.claude\agents\check-estimate.md- 見積書チェック用のエージェント
-
.claude\agents\check-invoice.md- 請求書チェック用のエージェント
なお私は、python環境はcondaを使っているので、環境設定のためのやり取りもこの後ちょっとありましたが、書類チェック処理に関してはこれでおしまいです。やば。
環境については、"conda"として起動しないとまぁまぁめんどくさいのに、それも解決。やば。
おわりに
「エージェントを作る」という能力は、このように超簡単なので、たぶん中高生でもやれますよ。(請求書チェックはやらないと思うけど)
ということは、今後新人をはじめとした若い人に一気に抜かれるのが目に見えているので、こういう簡単なことから練習して、身近な作業を自動化・高度化する術を身に着けると良いと思います。
会社として「Claude Codeは利用しちゃいかん」とか盲目的に言ってると、それも大変なことになりそう。もちろんセキュリティ上の懸念点は確かにあるので、「いかん」→「どうしたら安全に使えるか」に頭を切り替える必要があります。
ではよきエージェンツライフを!