(2023年5月17日更新)
このページはプロンプトエンジニアになるための学習ログです。
今回は「プロンプトエンジニアになる方法」についてグーグル検索した結果、どの記事にも「Python」などプログラミングスキルが必須と書いてあったため、それについて「ChatGPT」とやりとりしたログです。
目次
- 1 プロンプトエンジニアになるには本当にプログラミングスキルが必須?
- 2 ChatGPTにプロのプロンプトエンジニアという役割を与えてベタな質問1回目
- 3 再びChatGPTにプロのプロンプトエンジニアという役割を与えて質問
- 3.1 リベンジプロンプト:プログラミングスキルは本当に必須なのか?
- 3.2 ChatGPTからの回答
- 3.3 質問:もっと詳しく教えてください。
- 3.4 ChatGPTからの回答
- 3.5 「続きを教えてください」回答が途切れたため続きを要求
- 3.6 ここでいうドメイン知識とは何ですか?
- 3.7 ChatGPTからの回答
- 3.8 プロンプト:ドメイン知識:医療分野、医療分野以外の例
- 3.9 ChatGPTからの回答
- 3.10 プログラミングスキルがプロンプトエンジニアに必要なのか?もう少しイメージしたいため質問
- 3.11 ChatGPTからの回答
- 3.12 自然言語能力とは?
- 3.13 ChatGPTからの回答
- 3.14 プログラミングスキルと自然言語能力どちらを優先?
- 3.15 ChatGPTからの回答
- 4 プロンプトエンジニアにプログラミングスキルは必須?まとめ
プロンプトエンジニアになるには本当にプログラミングスキルが必須?
自分の認識では、「プログラミングスキルはあった方がいいだろう。」でも、それは開発側で活躍するエンジニアのことで、もっと重要なこと「例えばコミュニケーションスキル、質問力」の方が重要じゃないの?という素朴な疑問があるためです。
しかも私はプログラミングはあまり分からないし、今後覚える予定もなかったからです。
プロンプトエンジニアになるには、プログラミングスキルより英語力くらいに考えていました。
そこで、ChatGPTにいくつかプロンプトを与えてみました。
ChatGPTにプロのプロンプトエンジニアという役割を与えて質問してみました。
ChatGPTにプロのプロンプトエンジニアという役割を与えてベタな質問1回目
グーグル検索で「プロンプトエンジニアになるには?」で検索したところ、90%の記事で「プログラミングスキルが必須」と書いてありました。
プロンプトエンジニアになりたいけど、プログラミングスキルは持ってない。でも、プロンプトエンジニアにはなりたい!という私みたいな人もいると思います。
それにプログラミングスキルを押しているのは、いずれもプログラミングスクールの記事。
どうも洗脳的な気が、、、だって今からプログラミングスキルを覚えるパワーがない。。。そこで聞いてみたところ、、、
プロンプトエンジニアになるには、プログラミングスキルが必要ですか?
【プロンプト】:あなたはプロのプロンプトエンジニアです。私はプロンプトエンジニアを目指しています。教えてほしいことがあります。
プロンプトエンジニアになるには、プログラミングスキルが必要ですか?
ChatGPTからの回答
はい、プロンプトエンジニアになるには、プログラミングスキルが必要となります。
プロンプトエンジニアは、システムの設計、開発、テストを行い、ユーザーがシステムと対話するためのプロンプトを作成する責任があります。
プロンプトは、ユーザーの入力に応じて正しい応答を生成する必要があります。
プログラミング言語の知識は、プロンプトエンジニアとして必要なスキルの一つです。
一般的に、プロンプトエンジニアは、Python、JavaScript、Javaなどの言語を使用します。
これらの言語の基本的な構文を理解し、データ構造やアルゴリズムに精通していることが望ましいです。
また、自然言語処理(NLP)や人工知能(AI)の知識も重要です。
プロンプトエンジニアは、ユーザーの入力を理解し、正しい応答を生成するために、自然言語処理の技術を利用します。
人工知能の技術を利用して、より高度なプロンプトを作成することもあります。
以上のようなスキルを身につけるために、プログラミングの学習や自然言語処理、人工知能の研究や実践に取り組むことが重要です。
✅何やら必要らしい。。。しかも、もっと高度なスキルも? どうも聞いていたプロンプトエンジニアとは違う。神の領域ではないのか?
そこで、こんな弱腰な質問をしてみました。
マジでここで心が折れそうになりましたよ。
自分はプログラミングスキルがないんですけど、、、
プログラミングスキルは必須ではないはずだ!と妙な自信はあったので聞いてみました。
【プロンプト】:そうなんですね。プログラミングは全くできないんですが、それではプロンプトエンジニアは難しいということですね?
ChatGPTからの回答
プログラミングスキルを持っていることは、プロンプトエンジニアになる上で非常に役立ちますが、プログラミングスキルを持っていない場合でもプロンプトエンジニアになることは可能です。
ただし、プログラミングの基礎知識がない場合、プロンプトエンジニアとして活躍することは難しいと言わざるを得ません。
しかし、プログラミングスキルを身につけることは、現代の技術業界で非常に有用です。
コーディングに対する基礎的な理解は、より高度な技術や技術的な問題について理解を深めるためにも役立ちます。
したがって、プログラミングの学習をお勧めします。
プログラミングの学習には、オンラインの学習リソースやプログラミングコース、書籍や動画教材、プログラミングコミュニティに参加することがお勧めです。
プログラミングスキルを身につけることは時間と努力が必要ですが、熱心に学習することで、将来的にプロンプトエンジニアとして成功することができます。
✅ここまで聞いて心が折れそうになりましたが、「いや、そうじゃないんじゃないの?」という気持ちが残っていたため、翌日に再度ひねって聞いてみました。
再びChatGPTにプロのプロンプトエンジニアという役割を与えて質問
昨日のChatGPTとのやりとりで、プログラミングスキルは必須じゃないよね?という気持ちが残ったままだったので、リベンジプロンプトしてみました。
せっかくプロンプト練習したいのに、プログラミングスキルを先に学べ!と言われたら心が折れてしまうと、チャンスを逃すと思いませんか?
だから再度聞いてみました。
リベンジプロンプト:プログラミングスキルは本当に必須なのか?
プロンプト:プロのプロンプトエンジニアのあなた(ChatGPT)に質問です。
ChatGPTなど生成AIを使うためにプログラミングスキルがなくても仕事ができるスキルには何がありますか?
ChatGPTからの回答
ChatGPTから、このような回答が返ってきました。(改行、下線、◎付けなどは私が行っています。)
生成AIを使うためにプログラミングスキルがなくても、以下のスキルがあると有利です。
1:良いデータセットの収集や整形能力:
生成AIを使う場合、高品質のデータセットが必要です。
データセットを収集し、必要に応じて前処理を行い、生成AIに適切な形式で提供することができるスキルは非常に重要です。
2:分析能力:
生成AIが出力した結果を分析し、解釈する能力は、生成AIを使う上で必要なスキルです。
出力が想定外の場合には、問題を特定して修正するために、分析スキルが必要となります。
3:コミュニケーション能力:
生成AIを使う場合、クライアントとのコミュニケーションが欠かせません。
クライアントとのコミュニケーションを円滑に行うことができ、クライアントの要望を正確に理解し、実現するためのスキルが必要です。
4:プロジェクト管理能力:
生成AIを使う場合、プロジェクト全体を管理し、期限を守るためのスキルが必要です。
スケジュールや予算を管理する能力や、チームを指導する能力などが必要となります。
5:ドメイン知識:
生成AIを使う場合、特定の分野に関する知識があると有利です。
例えば、医療分野の生成AIを使う場合には、医学的な知識が必要となります。
ドメイン知識を持つことで、生成AIの出力が現実的であるかどうかを判断することができます。
以上が、プログラミングスキルがなくても生成AIを使うために必要なスキルです。
これらのスキルを持つことで、生成AIを使ったプロジェクトを成功させることができます。
質問:もっと詳しく教えてください。
理解が難しい部分もあったため、さらに詳しい説明を求めてみました。
ChatGPTから、快い返事と詳しい回答が返ってきました。
ChatGPTからの回答
もちろんです!それぞれのスキルについて詳しく説明します。
1:良いデータセットの収集や整形能力:
生成AIを使うためには、高品質なデータセットが必要です。
データセットを収集する際には、どのようなデータが必要かを把握しておく必要があります。
また、収集したデータがどのような形式であっても、生成AIに適切な形式に変換する必要があります。
◎例えば、テキストデータを扱う場合、文章をトークン化し、単語ごとに分割することが必要です。
そのためには、自然言語処理(NLP)の基本的な知識が必要となります。
2:分析能力:
生成AIの出力が想定外の場合には、その原因を特定し、修正する必要があります。
そのためには、生成AIの出力を分析し、解釈する能力が必要です。
例えば、生成AIが生成した文章が不自然である場合、その文章のどの部分が問題なのかを特定することができる必要があります。
そのためには、自然言語処理や機械学習の基礎知識が必要となります。
3:コミュニケーション能力:
生成AIを使う場合、クライアントとのコミュニケーションが非常に重要です。
クライアントの要望を正確に理解し、実現するためには、コミュニケーション能力が必要です。
また、クライアントに対して生成AIの出力を説明し、フィードバックを受け取ることが必要です。
そのためには、明確なコミュニケーション能力が必要となります。
4:プロジェクト管理能力 :
生成AIを使うプロジェクトを成功させるためには、プロジェクト全体を管理し、期限を守ることが必要です。
そのためには、スケジュールや予算を管理する能力や、チームを指導する能力が必要となります。
また、問題が発生した場合には、適切な対応を行うためのリーダーシップも必要となります。
5:ドメイン知識:
生成AIを使う場合、特定の分野に関する知識があると有利です。例えば、医療分野の生成AIを使う場合には、医
ここで回答が途切れました。こういう時は「続き」を聞けばよいようです。
「続きを教えてください」回答が途切れたため続きを要求
続きです。
例えば、医療分野の生成AIを使う場合には、医療に関する専門知識が必要となります。
生成AIを使って病気の診断をする場合には、病気に関する知識や医学的な用語を理解する必要があります。
また、法律分野の生成AIを使う場合には、法律に関する専門知識が必要となります。
生成AIを使って契約書を作成する場合には、法律用語や契約書のフォーマットを理解する必要があります。
✅以上が、プログラミングスキルがなくても生成AIを使うために必要なスキルになります。
これらのスキルを持っている人であれば、プログラミングスキルがなくても、生成AIを使って仕事をすることが可能です。
ただし、生成AIを使う上で、プログラミングスキルを持っている人がいると、より高度なカスタマイズや設定を行うことができるため、効率的なプロジェクト遂行ができる場合があります。
✅高度なカスタマイズや設定ができる点で、プログラミングスキルがあると有利ということですね。
ここでいうドメイン知識とは何ですか?
ドメイン知識は専門知識?と思いましたが、まだよく理解できなかったので聞いてみました。
下のような回答がもらえました。
ChatGPTからの回答
「ドメイン知識」とは、特定の分野において必要な専門的な知識やスキルのことを指します。
例えば、医療分野のドメイン知識であれば、医療に関する知識や用語、病気の診断や治療方法、医療関連法規などが該当します。
また、法律分野のドメイン知識であれば、法律に関する知識や用語、契約書や訴訟書類のフォーマット、法律の手続きや手続き上の書類作成方法などが該当します。
◎生成AIを用いた業務においては、その業務分野におけるドメイン知識が必要不可欠です。
なぜなら、生成AIはその分野に関する情報を学習しているため、生成する内容がその分野に即したものでなければ、正確性や信頼性に欠けてしまいます。
したがって、生成AIを使う業務に従事する場合は、その分野におけるドメイン知識を身に付けることが必要です。
✅ChatGPTは、「例えば」と、合っているかどうかは別にして、例を出して説明してくれるのでわかりやすいと思います。
さらに聞いてみました。
プロンプト:ドメイン知識:医療分野、医療分野以外の例
プロンプト:「ドメイン知識は、医療分野で何がありますか?一般ユーザーに求められる医療分野以外のドメイン知識を例を挙げて教えてください。」
ChatGPTからの回答
医療分野で必要なドメイン知識には、以下のようなものがあります。
- 解剖学、生理学、病理学などの医学的な基礎知識
- 疾患の症状、原因、診断、治療法などの知識
- 医療機器や薬剤の種類や使い方、副作用などの知識
- 医療保険制度や医療法規の知識
- 医療の倫理や法律的な問題に関する知識
一般ユーザーに求められる医療分野以外のドメイン知識の例をいくつか挙げると、以下のようなものがあります。
- 医療情報システムに関する知識
- 医療マーケティングに関する知識
- 医療業界のビジネスモデルや経営戦略に関する知識
- 医療のリスクマネジメントやクオリティマネジメントに関する知識
- 医療の研究や開発に関する知識
以上が、医療分野におけるドメイン知識の例です。医療分野は非常に広範囲なため、専門的な知識が求められる分野が多くあります。
✅医療分野以外とプロンプトを与えたのに、いずれも医療に関連する知識でした。
ちと変な回答だったので、再度聞き返してみました
ドメイン知識は、医療分野以外で何がありますか?一般ユーザーに求められる医療分野以外のドメイン知識を例を挙げて教えてください。
ドメイン知識は、医療分野以外でも様々な分野で必要とされます。
以下に、一般ユーザーに求められるドメイン知識の例をいくつか挙げてみます。
1:法律分野のドメイン知識
契約書や法律文書の解釈、法的手続きの知識、労働法や知的財産権法などの法律の知識など
2:IT分野のドメイン知識
コンピューターシステムやネットワークの知識、ソフトウェア開発の知識、セキュリティの知識など
3:金融分野のドメイン知識
投資や証券取引の知識、保険商品や保険制度の知識、財務諸表の読み方など
4:エネルギー分野のドメイン知識
発電や配電システムの知識、エネルギー効率の改善方法の知識、環境問題に関する知識など
5:教育分野のドメイン知識
教育システムや教育法規の知識、カリキュラムや教材の開発に関する知識、教育における心理学的知見など
以上が、一般的な分野におけるドメイン知識の例です。
各分野で必要とされる知識やスキルは、その分野の性質や特性によって異なります。
ここで肝心な「プロンプトエンジニアになるにはプログラミングスキルはいるのか?」について、突っ込んで聞いてみました。
プログラミングスキルがプロンプトエンジニアに必要なのか?もう少しイメージしたいため質問
プロンプト:プロンプトエンジニアはプログラミングスキルがあった方が有利との回答でしたが、それはオープンAIやグーグルなど運用側に必要なスキルではないのですね?
いまいちイメージがわきません。プロンプト力の方が必要だと思うのですが?
ChatGPTからの回答
申し訳ありません、回答が誤解を招くような表現が含まれていたようです。
正確には、プロンプトエンジニアには、プログラミングスキルが必須ではありませんが、あると有利に働く場合があるということです。
プロンプトエンジニアの主な仕事は、自然言語処理技術を活用して、与えられたテキストや会話から自動生成された文章を作成することです。
このため、プロンプトエンジニアは、自然言語処理技術に関する知識や、コンピューター言語に関する基本的な理解、および問題解決能力が必要となります。
プログラミングスキルは、プロンプトエンジニアにとって必須ではありませんが、例えば、プログラムのデバッグやプロトタイピングのために使用されることがあります。
また、自然言語処理のために使用される一般的なライブラリやフレームワークを理解していることも有利に働きます。
◎ただし、プロンプトエンジニアの最も重要なスキルは、自然言語処理の専門知識とプロンプト力です。
✅自然言語処理技術に詳しく、与えられた問題に対して的確なプロンプトを作成する能力があることが、プロンプトエンジニアにとって最も重要なスキルとなります。
自然言語能力について聞いてみました。
自然言語能力とは?
ありがとうございます。(毎回お礼は言ってます)。
自然言語能力とは何ですか?AI初心者の私にもわかりやすく教えてください。
ChatGPTからの回答
自然言語能力とは、人間が持っている言語を理解・生成する能力のことを指します。
人間は、言葉や文章を読み書きすることができ、また話し言葉を聞いたり話すことができます。
このような自然な言語の理解や生成の能力を自然言語能力と言います。
自然言語処理技術は、このような自然言語を処理するための技術であり、人工知能技術の一種です。
自然言語処理技術を用いることで、テキストデータや音声データを自動的に解析し、意味のある情報を取り出すことができます。
例えば、検索エンジンでの検索キーワードの解析や、自然言語での質問に対する回答の自動生成、機械翻訳、文章要約などが自然言語処理技術の応用例です。
プロンプトエンジニアは、このような自然言語処理技術を用いて、与えられたテキストや会話から自動生成された文章を作成することが主な仕事です。
✅自然言語能力は、このような自然言語処理技術を用いたプロンプトエンジニアにとって必要不可欠なスキルとなります。
なるほど!いずれにせよ学習と慣れは必須ですね。
それでは、いかにも初心者的な質問をしてみました。
プログラミングスキルと自然言語能力どちらを優先?
ありがとうございます。プログラミングスキルと自然言語能力どちらを優先的に学んだ方が活躍できると思いますか?
ChatGPTからの回答
プロンプトエンジニアに必要なスキルとしては、プログラミングスキルと自然言語能力の両方が重要です。
しかし、どちらを優先的に学ぶべきかという点については、プロンプトエンジニアとしての具体的なキャリアパスや業務内容、また個人の興味や適性によって異なるため一概には言えません。
✅プログラミングスキルは、プロンプトエンジニアとして自然言語処理技術を用いたシステムを開発するために必要なスキルです。
特に、自然言語処理技術の実装や改良など、より専門的な仕事をする場合には、プログラミングスキルが不可欠です。
✅一方、自然言語能力は、自然言語処理技術を用いたシステムの開発だけでなく、プロンプトエンジニアとしての仕事全般に必要なスキルです。
自然言語処理技術を使って生成する文章がユーザーにとって自然なものであることを保証するためには、自然言語の理解力が求められます。
そのため、プロンプトエンジニアとしてのキャリアを目指す場合には、プログラミングスキルと自然言語能力の両方をバランスよく磨いていくことが重要です。
プログラミングスキルと自然言語能力を同時に学ぶことができるプログラミング言語やツールもありますので、効率的な学習方法を探して取り組んでみてください。
そうか、、、どっちかというわけにはいかなそう。
プロンプトエンジニアにプログラミングスキルは必須?まとめ
このページは「プロンプトエンジニアになるには?プログラミングスキルが必須なの?」という点についてChatGPTとの会話を通して探ってきました。
検索エンジンでの結果は「必須!」と断定されている記事が多いのですが、いずれもプログラミングスクール。。。
もちろんプログラミングスキルはあった方が有利だけど、今から学ぶのは時間的にもったいない。。。
いままだスキルがない人は、時間をかけて初めからプログラミングスキルを学ぶより、自然言語処理を理解しながら、プロンプト力を磨くという選択の方が賢明かもしれません。
それかできる人は同時進行。
システムの設計、開発、テストを行う人、データサイエンティストなどに生かしたい人はプログラミングスキルは必須かも。
それと、自分が知っている分野に更に精通することはドメイン知識という点で必要だと思います。
ChatGPTから、こんな回答が出てきたくらいですから。
プロンプトエンジニアの最も重要なスキルは、自然言語処理の専門知識とプロンプト力です。