
【業務効率革命】GAS Interpreter の衝撃
10/26 更新…「Youtubepartnerへのアクセスができません」というエラー、また、「APIキーが見つからない」エラーが出ていた問題について、修正を行いました。
今までで最もインパクトのあるGPTsが完成しました。
その名も、「GAS Interpreter」です。

このGPTは名前の通り、Code Interpreter のように Google Apps Script コードを生成し、その実行までを行います。
他者に使ってもらうものではなく、自分専用のプライベートGPTです。
人によっては、Code Interpreter よりも便利です。なぜかというと、インターネットアクセスができることに加えて、GAS の便利で豊富なライブラリやリソースが活用できるためです。
例を示します。
GAS Interpreter の可能性
以下に示す、いくつかの業務フローの実例をGAS Interpreterで行い、業務活用への可能性を示します。
今日の予定を聞きます
今日の予定を教えて下さい

正確に今日の予定を教えてくれました。
会議参加者の相手に連絡したいので、そのメールアドレスを聞く
Zoomミーティングのやつの参加者のメールアドレスをください。

カレンダーの詳細を読み取って、会議参加者のメールアドレスを教えてくれました。
予定が合わなかったので、リスケのお願いメールを書いて、ドラフトに保存する
このかた(佐藤太郎さん)に、ちょっと急用が入ってしまったので、来週の都合のいい日でリスケをお願いするメールを書いて、ドラフトに保存して下さい。

こちらが実際に保存されていたメールです:

内容が問題なさそうなので、送信してもらいます
送信して下さい。

問題なく送信されました。
もちろん、内容を確認せずに直接送ることも可能です
このかた(佐藤太郎さん)に、ちょっと急用が入ってしまったので、来週の都合のいい日でリスケをお願いするメールを書いて、送信しておいて下さい。

GPTsに関する利用状況の調査フォームを作成
GPTsの研究の話に戻るんですが、"GPTs"をブラウジングして、"GPTs"に関する利用状況調査に関して、フォームをいい感じに作成して下さい。

実際に作成されたフォーム:

作られた調査フォームに対して、Team Planの項目を追加する
Team Plan を使っているかどうかの調査もしたいので、その項目を追加して。

実際に追加された項目:

このような編集作業は、以前作り方をご紹介した FormGPT には機能として入っていないものでした。
GAS Interpreterであれば、GASでできるあらゆることがノーコードで実行可能になります。
例えば、このフォームに紐づくスプレッドシートを作成してもらいます
このフォームにスプレッドシートの紐付けを行って、そのスプレッドシートのリンクを共有して下さい。

作成されたスプレッドシート:

このように、そもそもこんなことGASでできるのかわからない、みたいなことも、聞いてみると意外とやってくれます。
正直、開発者の私自身、このGPTの可能性をまだ測りきれていません。
ぜひ、GAS Interpreter を導入する方は、さまざまな活用事例を探ってみてほしいです。
自動リトライ機能
GAS Interpreterには、 Code Interpreter と同様に、コードの実行が失敗した時には再度コードを修正して実行する機能が含まれます。
このGPTsの利用状況調査データをみて、どのようなことが言えますか?
https://docs.google.com/spreadsheets/d/1YL7-aZK18Aubj4q2Pqy9WkZj_ghs5yoESYNmyTF7Jag/edit#gid=1318665754

上記の例では、先ほどの調査結果のスプレッドシートの解析を試みるも、2回トライした後に、失敗の報告がありました。
実は、GAS Interpreter は全ての実行ログを、専用のスプレッドシートに保存するようにしています。
今回のケースでは、GAS Interpreterが自分自身で失敗原因を推定しており、実際に合っているのですが、詳しい原因を探るには、この実行ログ専用シートを参照することができます:

コード実行の失敗時には赤色で、成功時には緑色になるようにしています。
今回の失敗原因は、シート名を指定していなかったことでした。
以下のように、正しいシート名を指定することで、スプレッドシートのデータを読み取ることができました
シート名はこちらです:Form Responses 1
全てのデータを取得して下さい。

GAS Interpreter のその他の事例
GAS Interpreter は、上記で見てきたように、これまでAGIラボで作成方法を解説してきたGmailGPT, SpreadsheetGPT, DocumentGPT, FormGPTなどの全てのGPTsを内包します。
これらの一般的な事例に留まらず、GASにYoutube ライブラリを追加することで以下のようなことが可能です。
自分が購読しているYouTubeチャンネルから、最新動画を取得
購読しているYouTubeチャンネルから、最新の動画を1件ずつ概要とリンクを取得してください。

特定のワードを含むYoutube動画を検索して、それらをスプレッドシートに構造的に出力
HeyGenというワードが入っているYoutube動画を探して、それらをスプレッドシートに構造的に出力して下さい。

出力されたスプレッドシート:

リストにあるYoutube動画の中で最もいいね数の比率が高い動画を探す
このスプレッドシートに出力した動画の中で、「いいね÷視聴数」の値が最も高い動画を教えて下さい。

出力してきた最も評価の高いHeyGenのYoutubeの動画がこちらです。数値は会っています。

最近実際に使った活用事例
他に、ここ数日、実際に筆者が自分自身で使っていた業務活用事例を示します。
ソースコードを適当に突っ込んで、解説スライドを作る

大量の情報を適当に入れ、そのスライドを作ってもらうことができます。
適当な指示でスライドのデザインをかっこよくする
https://docs.google.com/presentation/d/1iyNzau8A7ONExDW3mFpIqEV5J0XRb2LnNNrWTOQeitU/edit#slide=id.p
このスライドのデザインをかっこよくして

画像のように、適当な命令でも使えます。このスライドは、実際にイベント登壇時に使ったスライドです。元々は白地のつまらないスライドでしたが、自己判断で勝手にいい感じにかっこよくしてくれました。

もちろんちゃんと指定すればそのように変更してくれます。
ElevenLabsでAI音声を作成してもらったのち、そのファイルを Google Driveにアップロードする
この音声をDriveにアップロードして、URLを下さい。

上記画像のように、@マークメンション機能を使うことで、さらに多くの場面での活用事例が考えられます。
適当な情報を投げてカレンダーに予定を入れる
以下の内容をカレンダーに入れて🙏
4月11日(木) · 11:00 – 12:00
Google Meet の参加に必要な情報
ビデオ通話のリンク: https://meet.google.com/IDIDID
電話で参加: +81 3-01234-5678 PIN: 12345
その他の電話番号: https://tel.meet/IDIDID

チャット履歴を適当にコピペするだけで正確に予定を入れてくれます:

業務委託契約書をGoogleDocsで作って、そのPDFを共有
業務委託契約書(月30万円+税)で3ヶ月間の受託開発の契約を、Google Docsで作成して、PDFを作成、そのURLを下さい。
発注者は、"tempi株式会社"
そして、受注者は:"山本太郎"

(上記は仮の値に変更していますが実際に業務委託をお願いする際に使いました)
他にもGAS Interpretreで実現できることは、無数にあり活用事例は想像力次第です。
セキュリティについて
ここでセキュリティについて述べておきます。
エンジニアリングに詳しい方は、 当然このGPTに対してセキュリティ上の懸念を示すはずです。
それは、コードを実行できてしまう環境というのは、攻撃者からすると攻撃コードを仕込むことができるからです。つまり、APIサーバーのURLがわかっていればJavaScriptインジェクション攻撃が行えます。
そのため、私も当初、作ったはいいものの、このGPTの作り方を公開するのは、控えようかと考えていました。
APIキーの導入によるセキュリティ対策
ですが、GPTに対して、APIキーを発行、管理する実装を十分工夫することで、セキュリティ上の担保ができると考えたため、作り方を公開することにしました:

また、アクセスを望まないGASライブラリには、アクセス権限を付与しないことが可能です。
ただし、リスクは低いもののゼロではないため、自己責任で導入してください。正直言って、大企業にいる方が使うGPTではありません。個人事業主や、小規模事業者の方が最も使用に適していると感じます。
GAS Interpreter の導入
導入はいつも通り、ノーコードで簡単にできます。
また運用コストも、ChatGPT Plusの代金以外は、ゼロです。
注意:これまでに GAS系のGPTを作ったことがないひとは、以下の記事で、実際にGAS系のGPTが作れることを確認してからこのGPT導入を検討することをお勧めします:
GAS Interpreterへのアクセスは、AGIラボ会員の方限定となります。
AGIラボは、最新のAI活用情報が集まるマガジン・コミュニティであり、これまでChatGPT研究所が執筆した全てのAI関連記事が見れます。
私たちのミッションは、日本にAI強者を増やすことです。
ぜひAGIラボへ加入して、AI強者になって下さい。
すでに、どんどんGAS Interpreterの活用事例が報告されてきています🔥







それでは、早速導入方法を見ていきます。