3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MicroAd (マイクロアド)Advent Calendar 2024

Day 16

ChatGPTとプロンプトエンジニアリングで勝負する

Last updated at Posted at 2024-12-16

はじめに

この記事は以下の記事の続きになります。

前回の記事では 『「あ」を 30 回繋げたものを出力する』というタスクのプロンプトエンジニアリングを ChatGPT 自身にやってもらいましたが、余分な出力を無くす工夫や細かな文言の調整は見られたもののこのタスクの難しさである「あ」の文字数が正確に30文字にならない問題は解決しませんでした。

そこで今回の記事では自分の沽券を守るべく、プロンプトエンジニアリングによる文字数の安定化を見事達成し ChatGPT にマウントを取ろうと思います。

タスク

(前回記事の再掲です。)

今回も『「あ」を 30 回繋げたものを出力する』 というタスクのプロンプトエンジニアリングを行っていきます。

このタスクは ChatGPT に解かせると出力が安定せず、以下のような誤った回答が返ってきます。

:man: :「あ」を 30 回繋げて出力して
:robot: : あああああああああああああああああああああああああああああああ

長いのでわかりづらいですが「あ」が 31 文字出力されています。

工夫1:Few-shot prompting

まずはプロンプトエンジニアリングの代表的な手法である例示を与える Few-shot prompting を試してみます。

今回はシンプルなタスクで例示も何もないので、とりあえず欲しい出力をそのまま例示しまみます。本末転倒感はありますがまあ良いでしょう。

スクリーンショット 2024-12-15 22.53.49.png

正確に「あ」を30文字得られました。

工夫2:中間言語として Python スクリプトを生成

次に文字列を直接出力させるのではなく、それを生成するプログラミング言語を中間言語として生成してもらう方法を試してみます。

中間言語として生成が安定している印象のある Python を指定しました。

スクリーンショット 2024-12-16 9.52.29.png

所望の Python スクリプトが生成されました。

スクリーンショット 2024-12-16 9.56.40.png

また ChatGPT には Python スクリプトを実行する機能もあるため、実行結果についても正確に30文字になっています。

おわりに

とりあえずマウントをとっておきます。

スクリーンショット 2024-12-15 22.39.23.png

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?