概要
ChatGPTを常用し始めた皆さんのために、
ChatGPTに質問するときに期待通りの答えが返ってきやすくなるTipsをまとめました。
小さな質問ならテキトーにやっても返ってきますが少し複雑な課題を扱うときに有効です。
Tips
1.質問は英語で行う
学習データの大半は英語なので英語のほうが明らかに尤もらしい答えが返ってくる率が高いです。英語が書けない場合はDeepLに日本語を打ち込んだ翻訳結果を突っ込んだほうがいいです。
2.なるべく課題を単純にしてから投げる
例えばpandasのデータフレームでこんなのがほしいという指示をするときは、自分ですぐできるところまでは整形してあげてから指示を出すといいです。複数のデータフレームを組み合わせてあーだーこーだしたいときに先にそのデータフレームをmergeなりconcatする一歩目は自分でやってあげるとか。
3.見出しをつけてあげる
「#命令」「#条件」「#実行順」「#入力」「#出力」などの見出しをつけてあげる。#をつけることで本文とは関係がない見出しだということを解釈させやすく、また、それぞれの見出し内からの連携を簡単にしてあげる。
4.役割を明示してあげる
あなたは○○です。といった命令を先に与えてあげることで、語彙がその○○に寄った意味として解釈されやすくなる。例えばあなたはプログラマーですと明示するとpandasの解釈が動物のpandasに寄らず負担が減る。
5.説明に箇条書きを使う
長い文章だと解釈の仕方が多岐に渡ってしまうため、守ってほしい条件、行ってほしいことの命令、入力データの形式などは箇条書きで明快に説明してあげる。
6.道筋立てて説明してほしいことを明示する
「一歩ずつ説明してほしい」「論理的に説明してほしい」的なワードを最後に入れることで、一個一個のステップを分解しながら説明とコードを吐いてくれるようになります。
7.一発目で解釈違いなものが返ってきてもめげない
・使いたいライブラリを使ってくれてなかったとき
「このライブラリじゃなくてこのライブラリを使ってください」
・出力されたコードでエラーが出たとき
「{行コピペ}の箇所で{エラーコピペ}というエラーが出たので解消してほしいです」
・後に書いた条件が優先されて先に書いた条件が蔑ろになっているとき
「{先に書いた条件}が守られていません。一つ一つ順番に条件を満たしていってください。」
・なんで動かないかもわからんときとか追加の質問が出しづらい形になっちゃったとき
「最初の質問に対する回答を一から書いてみてください。ただし別のやり方でお願いします。」
・文章生成が途中で止まっちゃったとき
「出力が途切れてしまっているので、続きから書いてください。」
とか追加質問を駆使しまくると大体満足のいく結果に辿り着けます。
質問パターンとテンプレート(deepl英訳前)
・入出力の形はわかっているがロジックは思いつかないとき
# 命令
あなたは、プロのpythonプログラマーです。以下の「#条件」を全て絶対に守りつつ、「#入力」を入れたら「#出力」が出てくる最高の関数を作成してください。
# 条件
・
・
・
# 入力:
<ここに入力してほしい形を、ふさわしい形式でなるべく詳しく記載>
例)テーブルデータならカラムとそのカラムのデータ形式を箇条書きで明示、jsonとか配列ならもうそのまま**(mock化してから)**コピペでもOK。
# 出力文:
<ここに出力してほしい形を、ふさわしい形式でなるべく詳しく記載>
例)入力に同じ
・ロジックはわかってるがいちいち調べながら書くのが面倒なとき
# 命令
あなたは、プロのpythonプログラマーです。以下の「#入力」に対し、以下の「#条件」を全て絶対に守りつつ、「#処理」を上から順番にかけていってください。また、一つ一つのコードに解説もつけてください。
# 処理
・
・
・
# 条件
・
・
・
・方針を相談したいとき
# 命令
あなたは、以下の「#状況」にいるプロのデータサイエンティストです。以下の「#条件」を全て絶対に守りながら、モデルを評価する際の注意事項を列挙してください。また、一つ一つの注意事項に解説も入れてください。
# 状況
・
・
・
# 条件
・
・
・
所感
ChatGPTへの上手な指示出しの仕方の根本的な部分は、人間への上手な指示出しの仕方に似ていると思います。ChatGPTを上手に活用することで業務も10倍速になるし、メンバーへの指示の出し方も練習できて良いところしかないですね。
参考
・https://togetter.com/li/2105055
・https://www.nikkei.com/article/DGXZQOUC22BVO0S3A320C2000000/
Writed by H.K(20代/入社4年目)
※この記事は社内向けに約1年前に書かれたものです