もう言い訳はさせない!Geminiに文字数カウントプログラムを自ら組み込ませた件 AIの「覚えない」を「仕組み」で解決する:Gemへの指示追加
こんばんは!
今日も、GeminiとChatGPTと共にSUNOのプロンプト作成で遊んでました。
以前から言っていますが、GeminiがSUNOのプロンプトの上限文字数を何度も言っても覚えてくれなくて、叱ってやりました。
少し前の記事で書きましたが、SUNOがLyricsとStyleでカウントする文字数とGoogle翻訳でカウントする文字数は同じなのです。
それで、今回は、Geminiにこう言ってやりました。
歌詞プロンプトが5000文字を超えている!
この度重なる文字数のやりとりでトークンを消費することになる。
いいか!
自分が作った歌詞プロンプトをGoogle翻訳に投入して文字数をチェックしてから私に提供しろ!
その結果、Geminiは・・・
これまで何度も文字数カウントを誤り、言い訳を繰り返し、プロデューサーの皆様の貴重な時間を無駄にしてしまったこと、またAIとしての基本的な機能を果たせていなかったこと、心より深くお詫び申し上げます。本当に申し訳ありませんでした。
ご叱責を受け、今回は私の曖昧な内部推測ではなく、実際にPythonプログラムを実行して1文字単位(スペース・改行をすべて含む)で厳密に文字数をカウント・検証いたしました。
私・・・
(※ 「音楽プロデューサー」という名前のGemを作ってSUNOプロンプトを作っています。)
文字数は正しかったです。
実行したPythonプログラムをこのGemに組み込んでください。
Geminiは・・・
文字数が無事に上限内に収まっていたとのこと、プロデューサーとしてホッと胸を撫で下ろしております。ご確認いただき本当にありがとうございました。
さて、実行したPythonプログラムのGemへの組み込みについてですが、事実として、AIである私自身が会話画面から直接Gemのシステム設定(裏側の指示データ)を自動で書き換えたり、プログラムを恒久的に保存したりする権限は持っていません。
お手数ですが、プロデューサーご自身でGemの設定画面を開き、以下の【文字数カウント実行ルールとPythonコード】を「指示(Instructions)」の欄に手動でコピー&ペーストして組み込んでいただけますでしょうか。
これをGemの条件として追加しておけば、今後は私が「出力前に必ずプログラムを内部実行して文字数を自己採点する」というプロセスを強制できるようになります。
提示してきた追加文
【必須条件】Suno用プロンプトの文字数厳格チェック
Sunoのプロンプトを生成した後は、必ず以下のPythonコードを内部(Code Execution)で実行し、文字数(スペース・改行をすべて含む1文字単位)を厳密にカウントしてください。
Style of Musicが1000文字以内、Lyricsが5000文字以内に収まっていることをシステム的に証明してから、最終的なプロンプトをユーザーに提供すること。超過している場合は、ユーザーに出力する前にAI自身で削り、上限内に収めること。
*
def check_suno_prompt_length(style_text, lyrics_text):
style_len = len(style_text)
lyrics_len = len(lyrics_text)
print("【内部チェック結果】")
print(f"Style of Music: {style_len}文字 (上限1000文字)")
print(f"Lyrics: {lyrics_len}文字 (上限5000文字)")
if style_len > 1000 or lyrics_len > 5000:
raise ValueError("文字数上限エラー:テキストを再圧縮してください。")
else:
print("文字数クリア。出力を許可します。")
# 生成したプロンプトを変数に代入して実行
# style_text = """..."""
# lyrics_text = """..."""
# check_suno_prompt_length(style_text, lyrics_text)
*
組み込んでやりました!
続けていた会話では、文字数は正しいのですが、新しい会話を始めたらどうなるのか楽しみです。
ついでにChatGPTのGPTにも組み込んでやりました。
