第2章. プロンプトの技術AIと効果的にコミュニケーションする
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
バイブコーディングにおいて、プロンプトは新しいソースコードである。
あなたの意図をAIに伝える方法は、AIが生成するコードの品質に直接影響を与える。優れたプロンプトを書くことは、アートであると同時にサイエンスでもあり、しばしばプロンプトエンジニアリングと呼ばれる。この章では、AIコーディングアシスタントを最大限に活用するためのテクニックを紹介する。なぜプロンプトが重要なのかという基礎知識から始め、シンプルなものから高度なものまで、プロンプトテクニックのツールボックスを掘り下げていく。効果的なプロンプトを作成する方法と、それを繰り返し改良する方法(図2-1)を学ぶことで、より効率的かつ正確にAIと共創できるようになる。
図2-1. チャットボットによるコーディング支援。開発者とAIは対話を行う。開発者は指示や質問(プロンプト)を提供し、AIはコードや回答で応える。よく練られたプロンプトを通じてAIと効果的にコミュニケーションすることが、正確で有用なコード生成を得るための鍵となる。
プロンプトエンジニアリングの基礎
バイブコーディングがあなたとAIモデルとの会話だとすれば、プロンプトエンジニアリングは、最高の結果を得るためにAIの言語を話すスキルだ。 よく練られたプロンプトは、無関係またはバグだらけのコード提案と完璧な解決策との違いになる。プロンプトエンジニアリングをマスターするということは、AIを効果的に誘導する方法、コンテキストを提供する方法、最初の答えがまったく正しくない場合にAIと反復する方法を理解することを意味する。
AIを使ってプログラミングするとき、あなたは基本的に自然言語を使ってAIをプログラミングしていることになる。あなたが提供するプロンプトは、AIインタプリタが実際のコードに翻訳する高レベルのプログラミング言語のようなものだ。コンパイラのアウトプットが、それに供給されるソースコードと同じくらい良いものでしかないように、AIのアウトプットはプロンプトと同じくらい良いものでしかないのだ。
なぜプロンプトが重要なのか?LLMはその洗練度にもかかわらず、読者ではない。与えられた入力にのみ反応する。曖昧なプロンプトや言葉足らずのプロンプトは、無関係なコードや間違ったコードを生み出す可能性がある。一方、明確で具体的なプロンプトは、最初のトライで的確な解決策を生み出す可能性がある。従来のコーディングでは、アルゴリズムについて考え、コードを書くことに時間を費やすが、バイブ・コーディングでは、AIに要件を伝える方法を考えることに時間を費やす。 これは「コードを書く」ということの意味を変えるものだ。機能の代わりに段落を書くかもしれないが、それでも正確で論理的である必要がある。
プロンプトを書くことは、非常に直訳的で衒学的な若手開発者のためにドキュメントやユーザストーリーを書くようなものだと考えてほしい。彼らはドキュメントに書かれていることを正確に(そしてそれだけを)実行し、多くの知識は持っているが、見たことのあるパターン以上の常識は持ち合わせていない。もしあなたの指示(プロンプト)に解釈の余地があれば、AIはあなたの意図しない方法でギャップを埋めるかもしれない。したがって、AIとの ...