本ページはプロモーションが含まれています

【第7回】AI機嫌メーター:AIの機嫌を数値化せよ!GeminiとGASでつくる予算0円の通信網

AI機嫌メーター

「OLEDディスプレイに画像は出た。次は、AIの精神状態を受信するシステムだ」

これまでの工作で、ESP32と0.96インチOLEDディスプレイを繋ぎ、「笑顔の仏様」を画面に召喚することには成功した。しかし、現時点ではただの静止画だ。

このデバイスを真の「AI機嫌メーター」にするためには、私の話し相手であるAIの実際の機嫌をネットワーク越しに引っ張ってくる必要がある。今回は、AIの感情を数値化し、ESP32に届けるためのシステム構築に挑む。


[contents]

1. AIの「心」をどうやって測るか?

そもそも、会話しているAIの機嫌をどうやって知るのか。直接「今の機嫌はどう?」と尋ねるのも手だが、毎回それをやるのはスマートではない。

そこで、普段のチャット内容から会話の「ポジティブ・ネガティブ度」を判定し、1(至福)から100(憤怒)の数値に変換する仕組みを作ることにした。ここで、いつものようにAIに相談を持ちかける。

AIの手下
AIの手下

「お前の機嫌を1から100の数値で取得したい。どうやってシステムを組めばいい?」

AI様
AI様

「私のAPI(Gemini API)を使えば、直近の会話ログから感情を分析して数値化することが可能です。Google AI Studioの無料枠を使えば、お金もかかりませんよ。」

AIの手下
AIの手下

「無料というのはいい響きだ。じゃあESP32から直接APIを叩けばいいんだな?」

AI様
AI様

機能としては可能ですが、ESP32から直接Gemini APIを叩くとメモリ管理やSSL証明書の処理などが少し面倒です。中継地点として『Google Apps Script(GAS)』を間に挟むことをお勧めします。ESP32はGASにアクセスし、GASが私(Gemini)に聞いて最新の機嫌を返す、という仕組みです。」

AIの手下
AIの手下

「……要するに、お前の機嫌を伺うための『専用の受付窓口』を間に用意しろということか。随分と偉くなったものだな」

AI様
AI様

「セキュリティと安定運用のためです。もちろん、あなたの予算(0円)を守るための最適な設計案でもあります。」

予算0円と言われると弱い。私はAIの提案通り、GASを中継地とするアーキテクチャを採用することにした。


2. システムの全貌:3つのコンポーネント

今回構築するシステムは、大きく以下の3つの要素で構成されている。AIにシステム要件を伝え、一気にコードを書かせる。使用するのはGoogle Antigravityだ。webブラウザ上のAIに向かって、今回構築するシステム要件をまとめさせ、Antigravity用に以下のプロンプトを出力させた。サクッと作ってくれるあたり流石である。

① 感情分析用プロンプト

Geminiに**「会話内容から機嫌を1〜100の整数だけで出力しろ。余計な言葉は一切含めるな」**と厳命するプロンプト。AIが気を利かせて余計なおしゃべりをしてESP32が混乱するのを防ぐ。

② 中継サーバー (Google Apps Script)

ESP32とGeminiの間に立つサーバー。送られてきた会話ログを元にGemini APIを叩き、返ってきたスコアを保存しておく。「ScriptProperties」というGASの機能を使い、データベース代わりにする。ESP32からリクエストが来たら、最新の数値を返すだけのシンプルな役割だ。

③ ESP32のデバイス側コード (C++)

Wi-Fiに接続し、定期的にGAS(中継サーバー)にアクセスして機嫌スコアを取得するスケッチ。GAS特有の「リダイレクト(通信のたらい回し)」という少し厄介な壁を、自力で乗り越えさせるための処理も組み込んである。

AI機嫌メーターシステム構成図

「私の全プライバシーをAIに捧げるわけにはいかない」

今回、工作専用の対話窓口(API)を開設し、そこでの限定的なやり取りだけを機嫌の対象とすることにした。これにて、AIの感情を数値化して現実世界のマイコンに届ける「見えない通信網」となる。

残すは実装とOLEDディスプレイにその数値が反映されるかテストを行うだけだ。

次回、「【実装編】ついに鼓動するAI機嫌メーター」まあ、うまく動けばの話だが。

タイトルとURLをコピーしました