はじめに
こちらの投稿内容に関する備忘録メモです。
生成AIエージェントsattoとは
ソフトバンク株式会社が開発した生成AIエージェントサービスで、2024年8月23日にベータ版の提供が開始されました。ウェイトリストへ登録し、先行ユーザーになる必要があります。
課題
sattoはショートカットキーで呼び出して生成AIエージェントのスキルを実行します。
使い方の一例です。
- 文字列を選択してショートカットキーで呼び出す
- ショートカットキーで呼び出してスクリーンキャプチャー(画面の画像を取得)する
- ショートカットキーで呼び出して、文字列、または、画像を入力する
サッと呼び出してすぐに実行できるのがメリットですが、入力データと実行結果がログとして残らないため、あとで見直したり、一部を変更して再度実行するのが面倒(入力データと実行結果を手動でメモ帳へ貼り付けて残しておく必要がある)という課題があります。
いわゆるロガーの機能をスキルに組み込むという話です。
Node-REDとの連携
sattoとNode-REDを組み合わせて、Googleスプレッドシートに入力データと実行結果を記録する方法を説明します。
satto側の対応
スキル作成機能でアプリノード(REST API)を使用します。
(当初は限定されたユーザーのみがiPaaSビルダーの機能を利用できましたが、その後のバージョンアップで機能制限が解除されました。)
スキル作成画面を開き、「+」をクリックします。
「アプリノード」を選択します。
「アプリ選択」で「カスタム」を選択します。
「メソッド」→POST
「リクエストURL」→Node-REDのURL
「Header」→任意(トークンで認証させるなど)
「Body」→コンテキスト、出力結果
Node-RED側の対応
Node-REDフローの全体像です。
「injectノード」と「debugノード」はデバッグの目的で、ロガーの機能としては不要です。
事前に「パレットの管理」→「ノードを追加」で以下のサードパーティノードを追加します。
- node-red-contrib-google-sheets
使用するノードは以下です。
- 「http inノード」
- 「http responseノード」
- 「changeノード」
- 「GSheetノード」
実行結果
さいごに
GoogleスプレッドシートをAPIとして利用できるSteinというサービスがありますが、無料アカウントだとAPIの利用回数に制限がありますので、Node-REDを使用すれば無料で制限なく利用できます。
API経由でロガーの機能は汎用的に使えるので、別のツールと連携させても良いと思います。