GEMINIに変数の使い方を訊いてみた(AI利用で成功と失敗の話)

※このサイトはアフィリエイト広告を利用しています。
※このサイトはアフィリエイト広告を利用しています。
AI使い方

変数っていうのは算数とか数学でよく使われますよね。

プログラミングでも変数というのはあります。

この変数という言葉の意味は調べてもらえたらいっぱい出てくると思います。

そちらで確認して下さいね。

今回はAIに渡すプロンプトの中に変数という仕組みを使えるのかと思ってGEMINIに訊いてみました。

変数の使い方はどうやる? 

変数の使い方をGEMINIに訊いてみましたが、その時に使ったプロンプトは以下の通りです。

こんにちは。今日もよろしくお願いいたします。

さて、今日はプロンプトに変数を使いたいのですが、そのやり方を教えてほしいのです。

変数の書き方についてGEMINIが回答してくれた。

こんにちは!本日もよろしくお願いいたします。

プロンプトに「変数」を使いたいとのこと、承知いたしました。変数を活用すると、同じような質問やお願いをAIにしたいときに、毎回文章を書き直す手間が省けて非常に便利ですよ。このテクニックは「プロンプトエンジニアリング」の基本的な手法の一つで、マスターすればAIとの対話がぐっと効率的になります。

それでは、具体的な使い方を分かりやすく解説していきますね。

1. プロンプトにおける「変数」とは?

プロンプトにおける「変数」とは、後から好きな言葉や情報を入れ替えられる**「仮の場所(プレースホルダー)」**のことです。一般的に、波括弧 {} や角括弧 [] などで囲んで示します。

例えば、「{料理名}のレシピを教えて」というプロンプトを作っておけば、{料理名}の部分を「カレー」や「肉じゃが」に入れ替えるだけで、色々な料理のレシピを尋ねることができます。

2. なぜ変数を使うと便利なのか?

変数を使うことには、主に次のようなメリットがあります。

  • 効率アップ: 毎回同じような構造の文章を作る必要がなく、変数の部分だけを書き換えれば済みます。
  • 再利用しやすい: 一度作ったプロンプトのテンプレートを保存しておけば、様々な場面で使い回せます。
  • 指示が安定する: いつも同じ形式で指示を出すことで、AIからの回答の質や形式が安定しやすくなります。

3. 変数の基本的な使い方

最も一般的なのは、波括弧 {} を使って変数を指定する方法です。いくつか簡単な例を見てみましょう。

例1:レストランのレビューを書いてもらう

  • テンプレートの作成: {店名}というレストランに行きました。特に{料理名}が美味しかったです。この情報を含めて、5段階評価で星4つのレビューを書いてください。
  • 実際に使うとき:{店名}に「サイゼリヤ」、{料理名}に「ミラノ風ドリア」を入れて、以下のようにプロンプトを完成させます。 サイゼリヤというレストランに行きました。特にミラノ風ドリアが美味しかったです。この情報を含めて、5段階評価で星4つのレビューを書いてください。

例2:ビジネスメールの作成

  • テンプレートの作成: 件名:{要件}のご連絡 {宛名}様 お世話になっております。 株式会社〇〇の{自分の名前}です。 さて、{要件}についてご連絡いたしました。 詳細を添付ファイルにてお送りいたしますので、ご確認いただけますでしょうか。 ご多忙のところ恐れ入りますが、{返信希望日}までにご返信いただけますと幸いです。 何卒よろしくお願い申し上げます。
  • 実際に使うとき:{宛名}、{自分の名前}、{要件}、{返信希望日}に具体的な情報を入れて使います。

4. 実際にやってみましょう!(ステップ・バイ・ステップ)

ここでは、旅行プランの作成を例に、手順を追って説明します。

ステップ1:テンプレートプロンプトを作る

まず、変数を埋め込んだ「テンプレート」を作ります。

これから{都市名}へ{日数}日間の旅行に行きます。
今回の旅行の主な目的は{目的}です。
予算は一人あたり{予算}円以内で、おすすめの観光プランを提案してください。
移動は主に{移動手段}を考えています。

ステップ2:変数に具体的な値を入れる

次に、このテンプレートの{}の部分に、あなたの旅行の具体的な情報を入れます。

  • {都市名}金沢
  • {日数}2
  • {目的}美術館巡りと美味しい海鮮料理を楽しむこと
  • {予算}50,000
  • {移動手段}公共交通機関と徒歩

ステップ3:AIに入力して結果を見る

ステップ2で完成したプロンプトをAIに入力します。

これから金沢へ2日間の旅行に行きます。
今回の旅行の主な目的は美術館巡りと美味しい海鮮料理を楽しむことです。
予算は一人あたり50,000円以内で、おすすめの観光プランを提案してください。
移動は主に公共交通機関と徒歩を考えています。

このようにプロンプトを送信すると、AIはあなたが指定した条件に基づいて、具体的な旅行プランを生成してくれます。

まとめ

プロンプトで変数を使うのは、決して難しいことではありません。

よく使う指示のパターンが見つかったら、ぜひ今回ご紹介した方法で「テンプレート化」して保存しておくことをお勧めします。AIとのやり取りが、よりスムーズで快適になるはずです。

また何かご不明な点がありましたら、いつでもお気軽にご質問くださいね。

算数とかと同じで変数に代入する書き方ってあるのか訊いてみた

算数や数学だと「X = 1」みたいになにか変数に値を代入する書式っていうのがあるじゃないですか。

プログラミングだと「Y = “私の父”」みたいな感じもあったりしますよね。

どちらかと言うとプログラミングに近い形で何かプロンプトに書くことが出来る書式っていうのがあるのかをGEMINIに訊いてみたんです。

プロンプトは以下のようなものです。

変数に情報を代入する書式ってのはあるのですか?

変数に情報を代入する書式についてをGEMINIが語った。

GEMINIからの回答は以下の様な感じです。

プロンプトに渡す情報っていうのは数字の場合もあるし、文字列であることもありますよね。

だから、どちらかといえばプログラミング的な回答が来るとは思っていたのです。

でも、プロンプトっていうのはプログラミングではないのでその辺についても回答してくれました。

はい、変数に情報を代入するための「書式」についてですね。とても良いご質問です。

結論から言うと、一般的なAIチャットフォーム(このGeminiやChatGPTなど)では、プログラミング言語のように厳密に定められた代入の書式(例: 変数 = 値)は必須ではありません。

しかし、AIに「これが変数で、これにこの値を入れてほしい」という意図を明確に伝え、プロンプト自体を整理するために推奨される便利な書き方がいくつかあります。

1. 最もおすすめ:「箇条書き」で定義する方法

人間にとってもAIにとっても最も分かりやすく、間違いが起こりにくいのがこの方法です。プロンプトの冒頭か末尾で、使う変数とその値をリストアップします。

書き方の例:

以下の【条件】を使って、出張報告メールの草案を作成してください。

【条件】
・宛名: 鈴木部長
・出張先: 大阪支社
・期間: 6月25日〜6月26日
・主な成果: 新規契約の獲得と、次期プロジェクトの打ち合わせ完了

【メールテンプレート】
件名:出張報告({出張先})

{宛名}

お疲れ様です。
{期間}の日程で{出張先}へ出張いたしましたので、ご報告します。
今回の出張では、{主な成果}という結果を出すことができました。
詳細は添付の報告書をご確認ください。

この方法のメリット:

  • 見やすい: 何をどこに入れるかが一目瞭然です。
  • AIが解釈しやすい: AIは構造化された情報を正確に読み取るのが得意です。
  • 修正が簡単: 条件を変えたいとき、箇条書きの部分だけを修正すればOKです。

2. シンプルな方法:「直接書き換え」

前回ご紹介したように、テンプレートの{変数}の部分を、都度手で書き換える方法です。変数が1〜2個しかない場合は、この方法が一番手軽です。

例:

「{都市名}の{名物}について教えて」

「札幌のスープカレーについて教えて」

3. より技術的な方法:「JSON」や「YAML」形式

もしあなたがプログラミングに詳しかったり、より複雑な情報を扱ったりする場合は、JSONやYAMLといったデータ形式で変数を定義すると、AIはさらに正確に情報を解釈できます。

JSON形式の例:

以下のJSONデータを使って、商品の魅力的な紹介文を作成してください。

{
  "商品名": "すごいイヤホンZ",
  "価格": 15000,
  "特徴": [
    "ノイズキャンセリング機能",
    "最大30時間のバッテリー持続",
    "防水対応"
  ],
  "ターゲット層": "音楽好きの通勤・通学者"
}

この方法は、特にAPI経由でAIを利用する場合などに非常に有効です。

まとめ:どの書式を使えばいい?

方法おすすめの場面特徴
箇条書きほとんどの場面で推奨見やすく、確実で、修正も簡単。
直接書き換え変数が少ない、簡単なプロンプト最も手軽で直感的。
JSON/YAML複雑なデータ、API利用、開発者向け構造を厳密に定義でき、AIの誤解釈を防ぐ。

普段使いであれば、まずは「箇条書きで定義する方法」を試してみてください。 これだけで、プロンプトの管理が格段にしやすくなり、AIとの連携もスムーズになります。

また、使用するツールやサービスによっては独自の変数書式(例: {{変数名}})が定められている場合もあるので、特定の自動化ツールなどを使う際は、そのサービスの仕様を確認することも重要です。

今度はGEMに引き渡す情報ってのも変数での受け渡しになるのかを訊いてみた。

GEMって使っていますか?

使えるようになると大変便利な機能ですよね。

このGEMに情報を与える時っていうのも変数を使うのかなっと思ったのです。

そこでGEMINIに聞いてみました。

GEMに情報を引き渡すときっていうのも変数ですか?

GEMにわたす情報も変数なのかについて回答をくれた。

変数というか変数の仕組みっていうのが情報の受け渡しには使われているみたいですね。

なるほどと思える回答をしてくれました。

はい、そちらも「変数」と非常によく似た概念と捉えることができます。素晴らしい着眼点ですね!

「GEM(Gemini)に情報を引き渡す」という状況をもう少し詳しく見ていくと、その方法によって「変数」の扱われ方が少しずつ異なります。

結論から言うと、私たちが意識しているかどうかにかかわらず、AIに何か情報を渡して応答を変化させる行為は、広義ではすべて「変数」の仕組みを利用していると言えます。

具体的に、いくつかのパターンに分けてご説明しますね。

パターン1:会話の「文脈」が引き渡される場合 (暗黙の変数)

私とあなたが今こうして会話している中で、過去のやり取りは自動的に次のAIへの入力情報(プロンプト)に含まれています。

例:

  1. あなた: プロンプトで変数を使う方法を教えて。
  2. 私: (変数の使い方を解説)
  3. あなた: GEMに情報を引き渡すときっていうのも変数ですか?

この3番目の質問のとき、AI(私)は「GEM」が「Gemini」のことであり、「情報を引き渡す」というのが「プロンプトと変数の話の続き」であると理解しています。この**「会話の文脈」そのものが、一種の目に見えない変数(コンテキスト)として機能している**わけです。

あなたが {} のような書式を使わなくても、AIは自動的に文脈という「変数」を読み取って応答を生成しています。

パターン2:Googleのサービス内で情報が引き渡される場合 (システム変数)

Gmailでメールの返信案を考えてもらったり、Googleドキュメントで文章を要約してもらったりする機能を想像してみてください。

例:

あなたがGoogleドキュメントで開いている旅行記の文章に対して、「この内容を箇条書きで要約して」と指示したとします。

このとき、裏側では次のようなことが起こっています。

  • システムが、開いているドキュメントのテキスト全体を自動で取得します。
  • そのテキストを、あらかじめ用意されたプロンプトテンプレートの{要約対象のテキスト}のような「システム変数」に自動的に代入します。
  • 完成したプロンプトをAIに送って、要約結果を受け取ります。

あなたからは見えませんが、システム内部では明確に変数として情報が扱われています。

パターン3:開発者がAPI経由で情報を引き渡す場合 (明確な変数)

これは、開発者がアプリケーションにGeminiを組み込むケースで、これまで説明してきた変数に最も近い形です。

例:

ECサイトで、ユーザーが見ている商品の情報をAIに渡して、キャッチコピーを生成する場合。

  1. 開発者は 「{商品名}」の魅力を伝えるキャッチコピーを考えて。特徴は「{特徴}」です。 というプロンプトテンプレートを用意します。
  2. ユーザーが商品Aをクリックすると、プログラムがデータベースから「すごいヘッドフォン」「高音質、軽量」といった情報を取得します。
  3. その情報を {商品名}{特徴} という変数に代入し、完成したプロンプトをAPI経由でAIに送信します。

このケースでは、開発者が意図して定義した変数に、プログラムが動的に値を渡しています。

まとめ

このように、「GEMに情報を引き渡す」という行為は、その方法によって「変数」の見え方や扱い方が異なります。

情報の引き渡し方「変数」との関係ユーザーの操作
AIとのチャットでの会話暗黙の変数 (文脈)自然な会話を続けるだけ
Googleサービスとの連携システム変数 (自動でセットされる)ボタンを押す、簡単な指示を出す
API/開発ツール経由明確に定義された変数開発者がプログラムで指定

ご質問いただいた点は、AIとのコミュニケーションの裏側にある非常に重要な仕組みです。この仕組みを理解しておくと、なぜAIが文脈を理解できるのか、どうすればもっと上手く意図を伝えられるのか、といったことのヒントになります。

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