導入
このブログのキャッチコピーは「未来の自分のための技術メモ、時々あなたのためのヒント。」ですが、今回は最新のAIと共に、面倒な未来の事務作業をなくす挑戦の記録です。
あなたの職場にも、ありませんか?
「毎月送られてくるPDFの発注書を、手作業でExcelに転記している…」
といった、退屈で、時間のかかる、単純作業。
今回は、この面倒な作業を撲滅すべく、GoogleのAIアシスタント「Gemini」と協力(ペアプログラミング)して、「PDFの発注書を、Googleスプレッドシートに自動で転記してくれるWebアプリ」を開発してみました。
この記事では、AIと共に数々のエラーを乗り越え、一つのシステムを完成させるまでのリアルな道のりをご紹介します。
ことの始まり:この面倒な作業、自動化できない?
私の元には、毎週のようにPDF形式の発注書が送られてきます。その内容を手作業でスプレッドシートに転記し、月末に請求書を作成する…というのがこれまでの流れでした。
正直に言って、非常に面倒くさい。
「この作業、なんとかならないか?」
そこで思いついたのが、AIを使った自動化です。実現したいことをまとめ、Googleの「Gemini CLI」に開発のパートナーになってもらうことにしました。
AIとの二人三脚開発、その全プロセス
Step 1: 計画立案はAIにお任せ
まず、Geminiに「こんなものを作りたい」と、ざっくりとした要望を伝えます。
私からGeminiへの指示:
アップロードされたPDFを読み取り、内容を解析して、Googleスプレッドシートに書き込むプログラムを開発したい。
すると、Geminiは即座に、使用するべきPythonライブラリ(Google Cloud Vision, Google Sheetsなど)の選定から、プログラムの構造設計、認証設定の方法まで含んだ、完璧な開発計画を提案してくれました。
Step 2: 次々と立ちはだかるエラーの壁
開発は順調に進むかに見えましたが、Webアプリとして動かそうとした途端、次々とエラーが発生します。
- 最初の壁:503 Service Unavailableサーバーに接続できないエラー。Geminiは、ログを見るなり「Webサーバーがアプリのファイルにアクセスする権限がありませんね」と原因を即座に特定。指示通りに権限を設定すると、無事解決。
- 次の壁:500 Internal Server Error (メモリ不足)今度はPDFの処理中にサーバーがダウン。Geminiは「Gunicorn(Webサーバー)の働き方(ワーカータイプ)を、メモリ効率の良いgeventに変えてみましょう」と、専門的な提案をしてくれました。これが大当たりし、問題は解決。
- 最後の壁:AIが賢すぎてエラーデータ抽出のAIモデルを高精度なgemini-proに変更すると、AIが丁寧すぎるあまり、データ以外の説明文(“`など)まで返してくるように。Geminiに相談すると、「AIの応答が多少揺らいでも大丈夫なように、応答テキストから{と}で囲まれたJSON部分だけを抜き出す、より堅牢な方法に切り替えましょう」と提案。この修正で、ついにシステムは安定しました。
Step 3: そして完成へ
数々のエラーを乗り越え、目的のアプリケーションを完成させることができました。
AIとペアプロを終えて感じたこと
今回、Geminiと協力して開発してみて感じたのは、AIは**単なるコード生成器ではなく、優秀な「壁打ち相手」であり、粘り強い「デバッグパートナー」**であるということです。
- 鋭いエラー分析: ログを渡せば、即座に原因を特定し、複数の解決策を提示してくれます。
- 対話による深掘り: 「手動で実行したときは問題なかった」といった追加の情報を与えると、それをヒントに問題の本質をさらに深く探り、最適な解決策を導き出してくれます。
- 柔軟な方針転換: 「やっぱりブラウザから操作したい」という急な要望にも、すぐさま構成を変更して対応してくれました。
もちろん、最終的な判断を下すのは自分自身です。しかし、その過程で的確な分析と具体的なコードを提供してくれるパートナーがいることで、開発のスピードと質が劇的に向上することを実感しました。
まとめ
面倒な作業から解放されたい、という小さな思いつきから始まった今回のプロジェクト。AIとの二人三脚は、想像以上にエキサイティングな体験でした。
この記事が、あなたの身の回りにある「面倒な作業」を、テクノロジーで解決するための「ヒント」になれば幸いです。皆さんも、何か解決したい課題があれば、AIに相談してみてはいかがでしょうか?きっと、最高のパートナーになってくれるはずです。
コメント