こんにちは、FVGの村田です。AI Tips連載の7日目の記事です。
はじめに
私は今フューチャー社内のバックオフィス業務をターゲットに生成AI活用を更に促進させるミッションを担い、日々業務に勤しんでいます。
バックオフィスの方へのヒアリングを通じて、生成AIの活用(本記事においてはGeminiの活用を想定)を通じて効率化・省力化を狙いたい業務シーンやニーズがいくつか浮かび上がってきました。
私自身もまだまだ生成AIの使い方を勉強している身ですが、各シーンにおいて現時点で考えられる好ましい使い方を模索したい、というのが本記事のモチベーションです。
※本記事では Gemini 2.5 Pro の利用を前提とします。
効率化・省力化を狙いたい業務シーン・ニーズ3選
【シーン① マーケ】
ブログ記事の定期アナウンス用メール文面の作成作業を省力化したい
【シーン② 総務など】
業務にて利用するGASを自作し、運用保守できるようになりたい
【シーン③ 各所】
部門内で共有するGem用プロンプトの品質をあげることで作業品質を向上させたい
本記事では上記3つの業務シーン・ニーズを想定して、Geminiをいかに上手に活用できるか模索します。
【シーン①】ブログ記事の定期アナウンス用メール文面の作成作業を省力化したい
当社はブログ執筆活動が活発ですが、マーケ部門は定期的にブログ記事をまとめて社内向けにも発信してくれています。ただアナウンス文面の作成負荷もなかなか手間なので Gemini におまかせして省力化していきましょう。
早速ですが例えば以下が完成版のプロンプトです。
フューチャー技術ブログ(https://future-architect.github.io/)のトップページから、最新の記事を10件取得してください。 |
生成結果を全文載せると長いので省略しますが、以下のように文章が生成されます。記事タイトルの部分もしっかりとURLリンク付きになっています。
件名:【フューチャー技術ブログ】最新記事でスキルアップ!若手エンジニア必見の情報が満載! |
実運用にあたってはもう少し要件に合わせて指示を追加する必要がありそうですが、ひとまず大枠のプロンプトはこれで良いのではないでしょうか。
プロンプト検討にあたっては、プロンプト自体をGeminiにレビューしてもらうプロセスを踏みました。
元々以下のようなプロンプトにて、「プロンプトの改善提案」をしてもらっています。
以下プロンプトを最適な形に書き換えて。また、指摘ポイントと改善案は表形式にまとめて提示して。 |
これによりGeminiから受けた改善提案は3つありました。
指摘ポイント | 改善案 | 理由 |
---|---|---|
情報の不足 | 収集期間をより具体的に指定する(例:「2024年6月20日から2024年7月20日までの1ヶ月間」) | 「直近1ヶ月」という表現は解釈の幅が広いため、具体的な日付を指定することで、より正確な情報収集が可能になります。 |
具体的な指示の欠如 | メールのトーン(例:丁寧、カジュアル)、ターゲット読者層(例:若手エンジニア、マネージャー層)、目的(例:ブログの購読者数増加、イベントへの誘導)を明確にする | メールの目的やターゲットに応じて、最適な文面を作成することができます。 |
前提条件の欠如 | 記事の収集方法を指定する(例:「指定したURLのトップページから最新記事を5件取得し、その中から期間内の記事を抽出する」) | どのように情報を収集するかを具体的に示すことで、期待する結果との齟齬を減らすことができます。 |
各指摘に素直に従ってプロンプトを書き換えることで完成版プロンプトへと仕上げていきました。定型業務にて複数回の利用が想定されるプロンプトは、Geminiにレビューしてもらって質を高めていくプロセスを踏むのが望ましいなと感じました。
ちなみに、、、てっきりGeminiはMarkdownスタイルで丁寧に段落分けされたプロンプト改善案を提示してくるかと思ってたんですが、必ずしもそういうわけではなさそうです。
【シーン②】業務にて利用するGASを自作し、運用保守できるようになりたい
フューチャーのITコンサルは全員コードを書きますが、バックオフィスの方々は必ずしもそうではありません。ソースコードの読み書きに苦手意識を持ってる方ももちろんいらっしゃいます。そういった方でもGASを自由に扱えるようになるにはどうすればいいか考えよう、というのが本シーンの主旨です。
どうやらバックオフィスの方に話を伺うと、「Geminiに聞けばソースコードが生成されることは分かってる。ただ、生成されたソースコードが正しく動作するのかを確認できないので実運用に踏み切れない」とのこと。
エラーで動作が止まったら都度エラーメッセージをGeminiに投げて解消していけば良い、と考える方もいるかもしれませんが、例えば業務内容として「各社員宛に必要な個別情報をメールする」といったシーンなどもありえます。つまり「Aさんのための情報が正しくAさんに送付されること。間違ってBさんに送られるようなことが発生しないこと。」が担保されてない限りは生成されたGASスクリプトにて実業務を遂行することは難しいです。
ではどうすればいいでしょうか。
Geminiに直接聞いてみました。
Geminiとのやりとりを通じてGASスクリプトを生成したい。 |
そして以下が回答の一部。
Geminiは実際のGoogle環境でスクリプトを直接テストすることはできません。そのため、「テストコードの生成」「テストケースの洗い出し」「ユーザー向けの具体的な確認手順の提示」を促すことで、スクリプトの信頼性を高めていくアプローチが有効です。
やはりテスト自体をGeminiに担ってもらうことは難しいので、自分がテストをする前提でそのテスト手順を明確化してもらう形が良さそうです。
さて、先程のプロンプトにて「サンプルの提示」を要求していたので、「スプレッドシートの特定の条件に合う行を別シートに転記する」というよくあるシーンを例にプロンプトを提示してくれました。
# 前提条件 |
また、上記プロンプトの作成にあたりポイントになる点を列挙してもらっています。
記載のポイント | 理由 |
---|---|
1. 前提条件と目的の明確化(どのアプリで、何をしたいか) | Geminiが文脈を正確に理解し、的外れなコードを生成するのを防ぎます。背景が明確であるほど、より具体的で適切なスクリプトが期待できます。 |
2. スクリプト要件の具体化(「何を」「どこから」「どこへ」「どうする」) | 「いい感じにやって」といった曖昧な指示は、意図しない動作の元です。処理のインプット、アウトプット、プロセスを具体的に記述することで、要件通りのロジックが生成されやすくなります。 |
3. エラー処理や例外ケースの考慮を促す | 実際の運用では予期せぬデータや状況が発生します。「データがない場合」や「名前が変わっていた場合」など、異常系の振る舞いを予め定義しておくことで、スクリプトの堅牢性が格段に向上します。 |
4. コードへの詳細なコメントを要求する | ユーザー自身がコードの各部分の役割を理解する手助けになります。これにより、将来的な修正(メンテナンス)が容易になるだけでなく、Geminiが意図しない処理を書いていないかを確認する上でも役立ちます。 |
5. テストケースの洗い出しを指示する | Geminiに「どのような状況をテストすべきか」を考えさせることで、スクリプトの弱点や考慮漏れを網羅的に洗い出すことができます。正常なケースだけでなく、エッジケース(境界値)や異常なケースを想定させることが重要です。 |
6. ユーザー自身が行う確認手順を要求する | これが最も重要なポイントです。 最終的に動作を保証するのは利用者自身です。テスト環境の準備からスクリプトの実行、結果確認までの一連の流れを具体的に示させることで、安全かつ確実にテストを実施できます。 |
「タスクリスト」シートのC列が「完了」になっている行を、「完了リスト」シートの末尾にコピー&ペーストし、その後、元の「タスクリスト」シートからその行を削除するGASスクリプトを作成してください。
例えば今回想定しているGASスクリプトでは行の削除が含まれているため、コピー&ペーストが正しく行われないと元データが最悪消失してしまうリスクを孕んでいます。ゆえにポイント5と6の指示にて正しく動作検証することが重要です。
さて、それでは先程提示されたサンプルのプロンプトを使ってGeminiにどのような回答をもらえるのか試してみましょう。
出力されたソースコードは以下です。
/** |
ポイント3,4にて言及されているエラーケースの処理やコメントの記載についてもしっかり考慮されたスクリプトが生成されました。
そして以下が生成されたテストケースです。(実際の出力は文章の羅列でしたが、見やすいように表形式へ変換しています。最初から表形式で出力するようにプロンプトを書くのが良さそうですね)
種別 | タイトル | ケース詳細 |
---|---|---|
正常 | 「完了」タスクが1件 | 1行だけが正しく移動・削除されるか。 |
正常 | 「完了」タスクが複数件 | 該当するすべての行が移動・削除されるか。 |
正常 | 「完了」タスクが連続している | 連続した行が問題なく処理されるか。 |
正常 | 「完了」タスクが不連続(飛び飛び) | 離れた行が正しく処理されるか。 |
正常 | 「完了」タスクがリストの先頭/末尾 | リストの最初や最後の行が対象の場合でも正しく動作するか。 |
正常 | 「完了リスト」が空 | 初回実行時など、「完了リスト」にデータが何もない状態から正しくコピーされるか。 |
異常 | 「完了」タスクが存在しない | 何も処理が行われず、「処理対象の完了タスクはありませんでした。」とログに出力されるか。 |
異常 | シート名が異なる | スクリプト内のシート名と実際のシート名が違う場合に、エラーログを出力して処理が停止するか。 |
異常 | 「タスクリスト」がヘッダー行のみ | データ行がない状態で実行してもエラーにならないか。 |
異常 | C列のステータスが「完了」以外 | 「未着手」「対応中」などのステータスのみの場合に、何も処理されないか。 |
個人的には異常系ケースの下2つは正常系として扱ってもよいのではと思いましたが、このへんは文化でしょうか。いずれにせよ必要なテストケースが網羅的に作成されていることが分かります。
そして一番重要な「確認手順」の出力が以下です。ステップ1~4まで丁寧に出力されています。
ステップ1: テスト用スプレッドシートの準備 📝 |

ステップ1の中にて、添付スクショのように「データ準備の例」としてGoogleスプレッドシートにエクスポート可能な形でサンプルの「タスクリスト」シートと「完了リスト」シートも作成してくれているため、テスト用にどういった準備をすればいいかも丁寧にガイドしてくれます。
ただ欲を言えば、どのテストケースから順に実施するのが望ましいかをガイドしてくれたほうが良かったですね。例えば今回であればまずは「完了」タスクが1件
のテストケースにて小さな正常系の動作確認を行い、その後徐々に処理対象量を増やしていくのが良さそうです。まあその旨をプロンプトに書きましょうってことですね。
ステップ2: スクリプトの導入 💻 |
ステップ2にてスクリプトを保存します。丁寧に手順を列挙してくれてるので、初めての人でも安心です。
ステップ3: スクリプトの実行と承認 🚀 |
ステップ3にてスクリプトを実行して、、
ステップ4: 結果の確認 ✅ |
ステップ4にて結果を確認する流れ。
詳細な確認手順が列挙されているので、GASやプログラムにあまり馴染みのない人でもひとつひとつ手順を追ってGeminiに生成されたスクリプトの確からしさを確認することができるのではないでしょうか。
【シーン③】部門内で共有するGem用プロンプトの品質をあげることで作業品質を向上させたい
フューチャーではコンサルタントが提案時などに資料などを作成し、適宜リーガルチームにチェックしてもらっています。(もちろん当社固有な話ではなく、非常に一般的なプロセスだと思います)
業種・業態ごとに異なるお作法・文化があったり、相手方の企業あるいは案件特性によって重要視すべきポイントが変わったり、とかくリーガルチームのチェックは大変です。なるべく「リーガルレビューはリーガルメンバーが本当に見るべきポイントのみにフォーカスして実施したい」と考えるのは必至。そうなるとリーガルレビュー提出時の資料品質をあげようって話になるのですが、ここでGeminiを活用しようというわけです。
これはなにもリーガル領域に限った話ではありません。「資料を提出し、受け取った側が内容をレビューする」というプロセスの存在するすべての業務に通じる話です。ものすごく汎化すると「Geminiを使ってセルフレビューの質をあげよう」というのが本シーンにて取り組む課題です。そのうえで、それをGem化しておけば都度長いプロンプトテンプレをコピってくる必要もないし、作業効率の向上も見込めるはずという考えです。
シーン①②でもすでに同様のプロセスを経てるのですが、やはりまずはGeminiに相談してみるのが簡単です。
例えば先程のリーガル提出資料を想定してるのであれば以下のような感じ。
コンサルティング企業にて、法務部門へ提出する資料の品質を向上させるためにGemを作成しようとしています。 |
上記プロンプトにて出力される結果(= Gemに組み込むプロンプト)が以下です。
# あなたの役割 |
そして、都度ユーザが入力するプロンプトのテンプレートが以下。
こんにちは。 |
先程の簡単な問いかけでもここまで詳細なプロンプトを提示してくれます。これをベースに、出力形式を変えたければそのように書き換えればいいですし、あるいは会社固有の観点やあるあるの指摘ポイントなどをプロンプトの中に入れ込んでいけば、もっと実践的なプロンプトに育っていくはずです。
Gemは現状他人と共有ができないので、仮にプロンプトが育った場合にはその旨をチーム全体に周知し、各人でGemの内容を書き換えてあげる必要があります。ちょっと面倒ですね…おそらくそのうちGemは他人と共有できるようになるのではと思ってますが、サービスのアップデートを大人しく待ちましょう。
また、Gemの共有機能に加えてプロンプトのバージョン管理機構も備わってくれるとうれしいです。エンジニアであればプロンプトをGit管理するなどは特にハードルないでしょうが、そういったバージョン管理機能に馴染みのない人にとっては、GemのGUI上でポチポチするだけでバージョン管理ができると便利なんだろうなと思います。(もちろんエンジニアにとってもGem内で完結してくれた方がおそらく楽チンなはず)
さいごに
今回はバックオフィス業務改革に焦点を絞って話を進めてきました。しばらくはこの領域が私の主戦場となるので、今後直面するリアルな課題やその解決策についても別記事にてご紹介できればと思っています。
AI Tips連載はまだまだ続きます!引き続きお楽しみくださいmm