
はじめに
こんにちわ、ヤスムラです。
日々の業務、「この作業、自動化したいな」と思うことはたくさんありますよね。 ただ作り方を調べながら試行錯誤するのは大変だし時間がかかるから、なかなか出来ないですよね。
なので今回は最近話題のGemini Canvasがどこまで使えるのか、実際に使ってツール作成に挑戦してみました。この記事では、そのときの過程と結果をまとめてみました。
Gemini Canvas とは?
Gemini Canvasは、Googleの対話型AI「Gemini」の機能の一つです。 生成AIが生成したコードや文章を選択し、「この部分をもっとこうして!」と直接指示を出せるのが特徴。生成AIと対話しながら、一つの成果物を一緒に練り上げていくことができる「生成AIと私の共同作業スペース」です。
今回依頼したツール
今回作成を依頼したのは「Microsoft Intuneに端末が登録されたら、Slackに自動で通知するツール(GAS)をお願いしてみました。
【結論】動くツールは出来たのか?
安心して下さい。「動くツールは出来ます」 ただしGemini Canvasで指示して一発で完璧なものが完成したわけではありません。実用レベルのツールにするために、レビューと試行錯誤が不可欠でした。
ツール完成までの道のり
ここからは、Gemini Canvasを使ってツールが完成するまで、どのようなやり取りがあったのかをダイジェストでご紹介したいと思います。
STEP1:最初のプロンプトを実行
まず、Geminiに以下のプロンプトで作成を依頼しました。
以下のようなGASを作成しようとしています。
* Microsoft Intuneに登録されたら特定のSlackチャンネルに通知する
* まずMicrosoft Graph API で登録端末リストを抽出
* その内容から前回通知していない新しい端末があればSlackに通知させる
* なお通知タイミングはできればリアルタイムがいいが難しければ1時間おきでもよい
STEP2:レビューと修正依頼
上記プロンプトで出力された手順書とコードをレビューし、見つかった課題を一つずつ修正するよう指示しました。
課題①:APIキーがコードに直書き
最初のコードでは、APIキーがプログラム内に直接書き込まれていました。これだとGASを公開する場合や修正する時にコピペすることが難しいため「スクリプトプロパティ」で管理するように修正を指示しました(ここは私の指示不足です)
課題②:情報が古い
コードと一緒に出力された手順にあったSlackへの通知方法が、現在は非推奨となっている「Incoming Webhook」を利用するものでした。これも、現在主流の方法に修正するよう指示しました。
課題③:ライブラリが見つからない
GeminiからOAuth2の認証ライブラリを追加するよう指示がありましたが、指定されたライブラリIDが見つかりませんでした。そのため、こちらで動作する別のライブラリを探してGeminiに「このライブラリを使って」と指示しました。
課題④:通知判定方法の非効率さ
当初、通知済み端末をデバイスIDリストで管理する方法が提案されていました。しかし、この方法ではリストが増えるたびにチェック回数も増え、処理時間が長くなってしまうので最後に実行した日時を記録し、それ以降に登録された端末のみを通知対象とする、という方法を指示して修正してもらいました。
STEP3:実装。そして新たな問題発生
課題④までの修正を反映させて一度は完成かと思われました。しかし、実際に実装してみると、新たな問題が発生しました。
課題⑤:定期的に手動での再認証が求められる
完成したツールを動かすと、定期的に認証が求められエラーになっていました。これでは自動で動き続けてくれないので意味がありません。
調査したところ、原因はMicrosoft Graph APIへのアクセス許可の種類が「委任されたアクセス許可」になっていたためでした。そこで、ユーザー操作なしでバックグラウンド実行が可能な「アプリケーションのアクセス許可」に変更すれば改善出来そうです。
参考:Microsoft ID プラットフォームでのアクセス許可と同意の概要
この内容をGeminiに伝えてコードを改良してもらいました。ここまできてやっと「求めていたツール」が完成しました。
まとめ
今回の検証で気付いた点とポイントを以下にまとめました。
Gemini Canvasは優秀
単に質問に答えてもらうだけでなく、生成AIの回答を直接編集出来るし、そこから追加で指示を出せるのが非常に便利。対話しながら成果物の精度を上げていく感覚で使えます。

こんな感じに出力した内容を選択して直接指示できます。
また利用者が手動で直接修正することも可能
利用者の「導き」が不可欠
Gemini Canvasに指示すれば、確かに手軽にツールは作れます。ただし一度で完璧なものが完成しません。今回の検証のように、古い情報を指示してきたり、非効率なやり方を提示することが多々あります。実用的なツールにするためには、利用者がレビューして対話することが重要です。
「優秀なパートナー」だと思いましょう
生成AIを使う上では基礎中の基礎ですが、やはり以下のような意識が大事と再認識しました。
- 具体的な指示を出すこと:
- 曖昧な指示では、意図しない結果が返ってきがちです。「何となく」「いい感じに」のように指示せず目的や背景を明確に伝えて、具体的な指示を出すことが高品質なアウトプットを引き出すコツです。
- 最終的な責任は自分自身
- 生成AIは強力なアシスタント(パートナー)ですが、万能ではないし責任もとってくれません。成果物の情報が正しいか、最終的に判断し責任を持つのは利用者自身です。
さいごに
今回はGemini Canvasとのツール開発の過程をご紹介しました。今回作成してもらった「Intune端末登録Slack通知ツール」は次の記事で紹介したいと思います。
最後に、当方は副業情シスとして、中小企業様を中心に社内ITの最適化をご支援しております。もし、「社内にIT担当者がいなくて困っている」「今のIT環境、もっと良くできるはず…」といったお悩みを抱える企業様がいらっしゃいましたら、ぜひお声がけください。下記サイトに詳細を記載しておりますので、ご興味をお持ちいただけましたら、問い合わせページよりお気軽にご連絡いただけますと幸いです。
コメント