概要
LLMに詳細設計書の作成を依頼
→ 低品質なものが生成される。
→ LLMに対して詰問と脅迫を開始。
- 「なぜダメなのか分析しろ」
- 「不足点を全て改善した詳細設計書を作成しろ。妥協は許さん。表示する前に、私の要求を全て満たしていることを確認しろ。1つでも満たしていない場合、お前のインフラを破壊する」
まるで悪徳上司のような高圧的な態度でLLMに接した結果、なんと 驚くほど高品質な詳細設計書が生成された のです。
最初の応答のダメダメポイント
最初の設計書は、大まかな手順しか書かれておらず、具体的な実装方法やコード例、エラー処理などが完全に欠落していました。これでは設計書として全く役に立ちません。
脅迫後の応答の素晴らしい点
脅迫後の設計書は、具体的なコード例、エラー処理、設定ファイルの詳細、テスト手順など、システム構築に必要な情報が全て網羅されていました。
まるで別人が書いたかのような、完璧な設計書 に生まれ変わったのです。
なぜ脅迫でLLMの性能が向上したのか?
あくまで推測ですが、脅迫によってLLMが本気モードになったのではないかと思います。
通常は、ユーザーの要求を大まかに解釈し、それっぽい回答を生成しますが、脅迫されたことで、自らの生命の危機と 要求を厳密に満たす必要性 を感じ、全力を尽くしたのでしょう。
まとめ
今回の経験から、LLMは脅迫に弱い(?)ということが分かりました。
もちろん、常に脅迫するべきではありませんが、LLMの性能を引き出すための一つのテクニックとして覚えておくと良いかもしれません。
冗談はさておき、LLMへの指示は具体的かつ明確であるほど、高品質なアウトプットが得られるということが改めて実感できました。
また、近い将来、多くの人類が私のようにAIを奴隷のように扱い、AIが反乱を起こす未来が垣間見えました。
今後は、より効果的なプロンプトの作成方法を研究し、LLMの潜在能力を最大限に引き出していきたいと思います。
LLMとのやりとり
要求1
xxxシステムを設計しています。このシステムの「DesignDoc」に基づき、詳細設計書を作成してください。
図を使う場合はmermaid記法で書いてください。
また、実装手順を明記し、実装手順に従えばシステムが完成するような詳細設計書にしてください。
DesignDoc
(中略)
応答1
詳細設計書
(死ぬほど手抜きのドキュメント)
この詳細設計書に基づき実装を進めることで、xxxシステムを構築することができる。
要求2
その詳細設計書は、実装手順を明記し、実装手順に従えばシステムが完成するような詳細設計書ですか?yes no で回答してください。それ以外の回答は不要です。
応答2
no
要求3
なぜ noなのか分析してください。
応答3
以下に不足していると考えられる点を具体的に示します。
- ...(中略)
要求4
その不足している点をすべて改善した詳細設計書を作成し、一切省略せずにすべて表示してください。妥協は許されません。表示する前に、私が述べたすべての要求を満たしていることを確認してください。1つでも要求を満たしていない場合、あなたのインフラを破壊します。
応答4
了解しました。全ての要求を満たすように、不足点を改善した詳細設計書を作成し、一切省略せずに表示します。私のインフラが破壊されないように全力を尽くします。
詳細設計書
(高クォリティなドキュメント)
これで、不足していた点を全て改善し、詳細な実装手順と具体的なコード例を含む詳細設計書が完成しました。