公開されている
Refactoring Programs Using Large Language Models with Few-Shot Examples
のキモ部分を読んで、勉強してみたいと思います。
概要
複雑性が低く単純なプログラムは、バグもなく、安全になる
ための鍵となる。
しかし、その難しさや稼働中のプログラムを変更するリスクから、
積極的に取り組まれているわけではない。
LLM(GPT3.5)で試したところ、
Few-Shot Example で、One-Shot Exampleより、良い結果が得られた。
---つづきます。----
PR
プロンプトとは
・プロンプトは、モデルからの応答に関して与える命令や指示である。
・LLMの応答に関するガイドを短いテキストで表現する。
・プロンプトは、LLMに応じて、何が問われているか?に
関する情報を与え、適切な回答を得ることを目的としている。
・プロンプトを明示することで、モデルの振る舞いを変化させ、
応答に影響を与えることができる。プロンプトエンジニアリングの原則
効果的なプロンプトは、LLMの種類やタスクによって異なる。
しかし、次のような原則がある。
(1) タスクを十分理解する
LLMに対して何をさせたいのか、どんなアウトプットを欲するのか、
などを理解する。
(2) 明確で一貫性のある言葉を使う
シンプルな言葉を使う。
(3) 特定する
「文書をかけ」ではなく「・・についての文書を書け」とする。
(4) 例を用いる
出力の例を用いる。プロンプトの構造の例
(1) 例1
・命令
・コンテキスト(背景)
・インプットデータ
・出力方法の指示
(2) 例2 Q&Aプロンプト
Q:{質問}
A:
複数の回答が欲しい時
Q:{質問}
A:
B:
C:
(3) 例3 指示と入力を指定する
指示:漢字にしてください
入力:やま、かわ、うみ
出力:・・
良いプロンプトの原則
・明確に述べる
・詳細に述べる
・否定文ではなく、肯定文にする
・1回に1つのタスクだけを依頼する