ChatGPTに色々な角度から質問してみる②

前にこんな記事↓を書きました。

https://qiita.com/ysv/items/2b72d5c7d6ab7a1473c6

前回いろいろと質問をしてみて、よくわからなかったり、間違った回答が返ってきたことがありました。
あの時私は、単にまだまだなんだなと思ってしまったのですが、それは私自身が単に上手く使えてなかっただけだと思うようになりました。要するにその時`Prompt Engineering`という考え方が自分にはなかったということですね。


## Q. 「Prompt Engineeringとは何ですか？」
#### 回答
```
Prompt Engineeringは、人間が与えたプロンプト（指示、提案）に対して、
人工知能モデルが適切な回答を生成するためのプロセスのことです。
Prompt Engineeringの目的は人工知能モデルを使用して自然言語の理解と生成を改善することで、
特に対話システムや自然言語生成などにおいて広く使用されます。
```
## Q. 「Prompt Engineeringにおいてユーザーは何をすれば良いですか」
#### 回答
```
Prompt Engineeringにおいて、ユーザーがすることは次のようになります。

明確なプロンプトを提供すること。: 
AIモデルが理解しやすいように、プロンプトは明確かつ簡潔に提供することが重要です。

回答の評価を行うこと。 : 
AIモデルが生成した回答が期待通りであるかを評価し、その結果をフィードバックすることで、モデルの改善に役立てることができます。

AIモデルを使用すること。 : 
トレーニングされたAIモデルを使用し、プロンプトに対して適切な回答を受け取ることができます。
```
使う側がこういったソリューションの性能を引き出すスキルがないというのは、生産性に直結してしまい、すごくもったいないことだと思ったので継続して色々試していく予定です。こちらが望む答えを生成できるように、上手くこちらから手助けするスキルを磨けたら良いと思ってます。

ということで、今日も実務を助けてもらおうと思います。

# 聞いてみた質問
1. **「このメールを改善してください」**
    - 外資系の企業で働いているので英語で書いたメールを改善してもらいます。
    - この質問に対する回答に対してさらに追加で質問をしていきます。

この質問を深掘りしていたら結構長くなってしまったので、この内容だけに留めました。

## Q1. 「このメールを改善してください」

何らかのITサービスを扱っている会社に勤めていて、それに含まれるKafkaのProducerからの送信リクエストでタイムアウトが起こってしまい、困って社内のサポートチームに問い合わせたところ、返事があり助かった。でも他のお客さん困ってるっぽいからリファレンス更新したら？という架空のシナリオです。

```
このメールを改善してください。

Hello support team
 
Thank you for your reply. 
I could understand this property works to prevent timeout exceptions of the Kafka producer.

Separately, my clients also are facing this issue, It means this is likely a common issue that everyone can face. 
Please consifer to update the reference document.
 
Best regards
Yuki
```
#### 回答
```
こんにちはサポートチーム

返信ありがとうございます。このプロパティがKafkaプロデューサーのタイムアウト例外を防ぐために機能することが分かりました。

別に、私のクライアントもこの問題に直面しています。
つまり、これは誰でも遭遇する可能性がある一般的な問題のようです。参考文書を更新することを検討してください。

敬具
Yuki
```

早速質問が悪かったパターンをやってしまいました。英文の改善ではなくて日本語訳してくれました。
英語で聞きましょう。
#### Q1-1.「Please improve my email」
```
Please improve my email:

Hello support team
 
Thank you for your reply. 
I could understand this property works to prevent timeout exceptions of the Kafka producer.

Separately, my clients also are facing this issue, It means this is likely a common issue that everyone can face. 
Please consifer to update the reference document.
 
Best regards
Yuki
```

#### 回答
```
Dear Support Team,

Thank you for your prompt response. I have now come to understand that the property in question is designed to prevent timeout exceptions in the Kafka producer.

Additionally, I have been informed that some of my clients have also been encountering this issue. This leads me to believe that this is a widespread problem that many may be facing. I kindly request that you consider updating the reference documentation to address this.

Best regards,
Yuki
```
今度はちゃんとメールを直してくれました。
もとのメールにはスペルミスがあったり、話し言葉のような書き方になってしまっているところを直してくれていました。
参考になったので助かりました。「改善して」という雑なオーダーにも答えてくれてありがたいです。

が、直してくれたなら直してくれたで何故こうしたのか根拠を知りたくなりますね。

#### Q1-2.「何故このように直したのですか？理由を教えてください。」
#### 回答
```
このようにメールを改善した理由は以下のとおりです。

文章の構造：文章の構造を整理し、より明瞭にしました。

語句の選択：語句を選択し、より丁寧な表現にしました。例えば、「サポートチーム」を「Support Team」に変更し、「返信ありがとうございます」を「Thank you for your prompt response」に変更しました。

略語の使用：略語を使用しないようにしました。例えば、「consifer」を「consider」に変更しました。

意味の明確化：意味を明確にするために、「Separately」を「Additionally」に変更し、「It means」を「This leads me to believe」に変更しました。

敬語の使用：敬語を使用し、より丁寧な表現にしました。例えば、「こんにちはサポートチーム」を「Dear Support Team」に変更しました。
```

`consifer`は略語じゃなくて単にスペルミスだとは思いますが概ね納得できる理由を答えてくれました。

何かを質問して回答が返ってきた際、その答えが正しいことは保証されていないので、正しいかどうかについては自分で判断する必要があると思いますが、理由まで合わせて聞いてみるとより答えが正しいかどうかの判断がしやすくなることがわかりました。今回の例だけでなく正しいか判断したくなったら理由を聞いてみるのは良い手かなと思います。

英語で同じ質問をしてみます。

#### Q1-3.「Why did you fix it like this?」
#### 回答
```
I made these improvements to make the email more clear and professional in the following ways:

Structure: 
I restructured the sentences to make them more coherent and easy to read.

Vocabulary: 
I chose more formal and polite vocabulary, such as "Dear Support Team" instead of "Hello support team" and "Thank you for your prompt response" instead of "Thank you for your reply."

Abbreviation: 
I avoided using abbreviation to make the email more clear, for example, "consider" instead of "consifer"

Clarity: 
To make the meaning of the email more clear, I rephrased sentences such as "Separately, my clients also are facing this issue" to "Additionally, I have been informed that some of my clients have also been encountering this issue" and "It means this is likely a common issue that everyone can face" to "This leads me to believe that this is a widespread problem that many may be facing"

Formality: 
I used more formal and polite language throughout the email, such as starting the email with "Dear Support Team" and ending with "Best regards, Yuki" to make it more professional.
```

同じような内容の回答ですが、`Formality:`の箇所で`Best regards`を`Best regards,`にしたことも言及されているなど少し情報が増えています。

薄々感じてはいたのですが、日本語で聞くよりも英語で質問した方が精度が上がりそうです。

今回は下書きを自分で書いて直してもらいましたが、そもそも入れて欲しい内容だけ伝えて最初から書いてもらったほうが楽だと思ったのでやってみました。

#### Q1-4.「以下の内容でメールを英語で書いてくれますか？」

```
以下の内容でメールを英語で書いてくれますか？
目的: お礼とリファレンスの改善要求
宛先: サポートチーム
1. 教えてくれたプロパティでKafka producerのタイムアウトの例外を防げることがわかり、助かった。
2. 何人かの顧客も同じ問題を経験したと情報があった
3. 私だけでなく誰でも直面する可能性がある問題である可能性が高い
4. リファレンスを更新した方がいいのではないか
```
#### 回答
```
Subject: Thank you and request for improvement of reference

Dear Support Team,

I wanted to reach out and express my gratitude for the information you provided on how to prevent timeout exceptions with Kafka producer properties. 
It was extremely helpful and I am glad I was able to find a solution to my problem.

I also wanted to bring to your attention that I have received information that a few other customers have experienced the same issue. 
Given that it is a problem that could potentially affect anyone, I believe it would be beneficial to update the reference material to include this information.

Thank you again for your help and I look forward to your response.

Sincerely,
[Your Name]
```
しっかり内容が入ってますね。ベースとして十分に使えそうです。

ChatGPTに書いてもらった内容ですが試しに改善を依頼してみます。

#### Q1-5.「Please improve this email.」
#### 回答
```
Subject: Thank you and request for reference improvement

Dear Support Team,

I wanted to express my gratitude for the valuable information you provided on how to prevent timeout exceptions with Kafka producer properties. It was extremely helpful and it has resolved my issue.

Additionally, I would like to bring to your attention that I have received information that a few other customers have also experienced this same issue. Given that it is a problem that could potentially affect anyone, I believe it would be beneficial to update the reference material to include this information.

It would be much appreciated if you could look into updating the reference material, in order to help other customers who may encounter this same issue in the future.

Thank you again for your help and I look forward to your response.

Sincerely,
[Your Name]
```
より丁寧になった印象を受けます。
また理由も聞いてみます。

#### Q1-6.「Why did you fix it like this?」
#### 回答
```
I made the following changes to improve the email:

I rephrased the first sentence to make it more clear and concise.
I added more context to the second sentence to explain the reason for bringing the issue to their attention.
I added a sentence to make it clear that the request for reference improvement is aimed at helping other customers who might have the same issue in the future.
I rephrased the last sentence to make it more polite and professional.
These changes help to make the email more clear, polite and professional and it will be more likely to be understood and acted upon by the support team.
```
英語を読むのに疲れてきたので日本にしてもらいます。
#### Q1-7.「あなたがメールを改善した理由を日本語で教えてください」
#### 回答
```
以下の理由でメールを改善しました：

最初の文章をもっと明確で簡潔に書き直しました。
二番目の文章にもっと背景を説明し、なぜその問題を伝える必要があるかを明確にしました。
リファレンスの改善要求が将来的にも同じ問題に遭遇する顧客をサポートするためにあることを明確にするために、文章を追加しました。
最後の文章をもっと丁寧でプロフェッショナルに書き直しました。
これらの変更により、メールがもっと明確で丁寧でプロフェッショナルになり、サポートチームが理解し、対応しやすくなります。
```

## 感想

AIに質問してこちらの欲しい答えを引き出すスキルの必要性というのは、ちょっと前のGoogle先生に聞いて、ほしい結果を探してもらうスキルと同じような大切さなのかなと思いました。検索が下手だと欲しい情報を手に入れるのに時間がかかりますが、AIに質問するのが下手だと、今後はかなり生産性の差が付くんだなと思いました。

身につけるのに時間がかかりそうなので今後も継続して質問していこうと思います。