生成AIが◯◯をすればOKって言ってたんですけど...
最近よくコレを言われながら相談を受けることが多いのですが、
体感30%くらいウソの回答されちゃってますね...。
(というか私で正誤判定しないでくれ😇)
それでは、どうすればウソつかれないのか
結論、生成AIは人間だと思って接するべし
例えば以下のようなコードがあるとします。
user = UserModel.objects.get(id=1)
user.email.delete()
人間に「このコードはDjangoのコードなんだけど、どういう意味でしょうか」と聞いたとき
大半の人間は「idが1のユーザーのメアドを削除してるのでは?」って言うと思います。
しかし、Djangoにこんな書き方はありません。
user.email = None
が正しいです。
ちなみにuser.delete()
をしたら、
そのユーザーのレコードごと削除されてしまうので恐いミスですね😇
言いたいこととしては、人間が間違えそうなことは、生成AIも間違えます。
逆もまた然りなので、人間だと思って接するようにしましょう。
より正確な回答を引き出すためのテクニック
生成AIを人間だと思ってもらえれば当たり前すぎるのですけど、
一応、質問のコツを共有します。
テクニック1:具体的すぎるくらいが丁度いい
❌ NG例
うちの会社の売上を伸ばす方法を教えて
これでは生成AIも背景情報をテキトーに推測するしかないですね。
✅ OK例
従業員10名の町の小さな雑貨店です。
今の売上は月50万円で、3ヶ月以内に売上を20%増やしたいです。
予算は月10万円です。
どんな施策が効果的でしょうか?
このように具体的な状況を説明すると、
AIはその条件に沿ったアドバイスができるようになります。
この例でも具体性は全然ない方ですね。
何もないところから具体的に状況を説明するのは難しいので、
あらかじめ「売上を伸ばす施策を検討するにあたって必要な項目を教えて」と生成AIに確認をして、
返ってきた項目に対して具体的に述べるのがよいでしょう。
テクニック2:ガン詰め
✅ OK例
コード修正させたあとに、以下のように確認をする。
そちらのコードについて、以下を教えて下さい。
1. そのコードはスマートでベストプラクティスに沿っていますか?
2. その修正によってどんな効果が期待できるのでしょうか?
3. 考えられる副作用はありますか?
4. 他の対応方法は考えられますか?
を教えてください
「AIを人間だと思え!」と言っといてアレですけど、
もちろん人間じゃないので必要なハラスメントはしていきましょう。
おわりに
まぁ、生成AIに長文いれるの正直めんどくさいですよね。
人間相手なら頑張って説明しようと思うものの、
機械相手になった途端「察してくれ〜」と思ってしまうのが人間というものです。
ただ、実体験として説明をサボらない方が結果的に早く仕事が済んでいるので、
その成功体験を積むことで、
いいプロンプトが書けるようになってくるんじゃないですかね。
しらんけどね。
また、工夫次第でウソ(ハルシネーション)の発生率を抑えられはするものの、
完璧に防ぐことは不可能なので、ミスったらヤバい箇所については、
公式ドキュメントを参照したり、テストなどでカバーするようにしてくださいませ。