AIにプログラムを書いてもらう、とよく見かけます。AIにプログラムを書いてもらうにはどうすればいいでしょうか。
今回は一度は目にしたことがあるチャットGPTにプログラムを書いてもらいましょう。
実際に筆者とチャットGPTとのやりとりの一部をご紹介します。チャットGPTを使いこなすヒントになれば幸いです。
当サイトで紹介したプログラムもチャットGPTが作成したものが含まれています。実際にチャットGPTと一緒に作った場合はその記事上で報告しています。
チャットGPTに質問してみる
まずはチャットGPTへ問いかけてみます。
wordpressで現在のwordpressのバージョンを取得する方法をfunctions.phpで実現する方法はありますか
はい、WordPressの現在のバージョンを functions.php
ファイル内で取得する方法はあります。以下に、そのためのコード例を示します。
function get_current_wp_version() {
global $wp_version;
return $wp_version;
}
$current_version = get_current_wp_version();
echo 'Current WordPress version is: ' . $current_version;
このコードは、get_current_wp_version()
関数を使用して現在の WordPress バージョンを取得し、それを表示します。関数内で $wp_version
グローバル変数を使用しています。
短いですがチャットGPTがコードを記述してくれました。実際に筆者の文章をすべてコピペしてNew ChatでチャットGPTに質問してみましょう。似たような回答が返ってきましたか?
ポイント
それでは、筆者がチャットGPTに質問する際に意識しているポイントを挙げます。主に意識しているのは以下の3つです。
順番に詳しく説明します。
どのような情報がほしいのか明確に伝える
チャットGPTの本体はプログラムです。プログラムの特徴は指示したとおりに動くことです。良くも悪くも指示した通りの内容を正確に最後まで実行してくれます。
人工知能ですので多少の言葉の抜けはくみ取ってくれますが、やはりプログラムですので人間の期待通りには動かないことが多いです。これは無料版を使っているからなのでしょうか。
まずは何がほしいのかを意識しましょう。今回は現在のWordPressのバージョンをfunctions.phpで表示したいのです。
文章は簡潔に
前述の通り、チャットGPTはプログラムです。プログラムは短く・簡潔に・分かりやすく記述するように教わりました。プログラムで実現したいことを文章で説明することができればプログラムを作ることができると教わりました。プログラムは長くなればなるほど機械に負担がかかり処理が遅くなります。長く複雑になれば思わぬ不具合や誤作動を引き起こします。
チャットGPTも同じ考え方です。短く、そして分かりやすく文章にするとチャットGPTが理解しやすく的確な回答を得られるようになります。
ますは、ワンセンテンス・ワンミーニングで質問してみましょう。
情報を詰め込みすぎない
筆者とチャットGPTとのやりとりを公開しましたが、このやりとりを見たほとんどの人が「現在のWordPressのバージョンをfunctions.php表示しても使い道なさすぎでは?」と思ったはずです。
実はこのやりとりには続きがあるのです。筆者が欲しかった本当のコードはこの続きのやりとりにあります。
続きのチャットを見てみましょう。
ショートコードでバージョンを表示したいです
functions.php
ファイルに独自のショートコードを追加して、WordPressのバージョンを表示することができます。以下はその例です。
// ショートコード [wp_version] を定義し、WordPressのバージョンを返す関数
function get_wp_version_shortcode() {
global $wp_version;
return $wp_version;
}
add_shortcode('wp_version', 'get_wp_version_shortcode');
このコードを functions.php
ファイルに追加すると、[wp_version]
というショートコードを使用して、WordPressのバージョンを表示できます。
WordPressの投稿や固定ページのエディターで、テキストを入力する場所に [wp_version]
と入力すると、その部分に現在のWordPressのバージョンが表示されます。
このやりとりを経て、筆者が本当に欲しかったものが得られました。筆者はショートコードでWordPressのバージョンを表示させたかったのです。
このコードを実際にfunctions.phpに記述してショートコード[wp_version]
を本文に貼り付けてみましょう。
実際に現在のWordPressのバージョンが表示されたと思います。ショートコードですので好きなところで使えますね♪
ちなみに、WordPressのバージョンを公開するのはおすすめしませんので乱用するのはやめましょう。
セキュリティ的によくないよ!
情報を詰め込みすぎないというのは、段階を踏んで理想の回答に近づけるということです。なるべく1回のメッセージは短くしましょう。
今回の例は、かなり短いコードですので1回のやり取りでもショートコードを作ってくれました(その実際のやりとりは省略します)。しかし実用化するプログラムを作ってもらうにはもっと複雑でもっと難しいことをチャットGPTに考えてもらいたいはずなのです。
そのヒントとして筆者の考え方を挙げます。参考にどうぞ。
- Step1WordPressの現在のバージョンをホームページ本文中に表示させたい
バージョンを取得する方法がWordPressにはあるはず。
- Step2WordPressのバージョンを取得できるのか知りたい
チャットGPTに質問してみる
- Step3取得できたので好きな場所に貼り付けられるようにしたい
好きな場所に表示させるにはショートコードが手っ取り早い。
- Step4現在のバージョンをショートコードで表現したい
チャットGPTにさらに質問してみる
このように、いきなりほしい情報のすべてを質問するのではなく少しずつ機能を加えていくのがおすすめです。
チャットGPTはそのトーク内の文章を把握していますので、追加のやり取りで機能を少し加えてコードを修正してくれます。
ただし、間違えた指示をすると元の正しい記述に戻すのは難しいです。筆者の経験上、一度間違えるとその間違った・必要としていないコードのまま機能を加えがちになります。その場合は、トークを新しく作り直したりします。
注意点
チャットGPTは有料版ではなく無料版(GPT-3.5)を使用しています。
無料版を使用する際に注意することは、内容がアップデートされないということです。
どういう意味かというと、無料版チャットGPT(GPT-3.5)は2022年以降の新しい情報をもっていないということです。
ですので、チャットGPTは2022年以降に追加されたWordPressのバージョンやフックなどの情報がない状態でコードを組み立てます。最新のデータを反映させたい場合は有料版を使用しましょう。
無料版を使う注意点はチャットGPTが組み立ててくれたコードに使われている関数を検索して非推奨の関数ではないかを検索しましょう。
【おまけ】トークのNG例
最初のやりとりで別の尋ね方をしてみましょう。
wordpressで現在のwordpressのバージョンを取得する方法はありますか
はい、WordPressの現在のバージョンを取得する方法はいくつかあります。一般的な方法としては、以下の2つがあります。
- 管理画面から確認する方法: WordPressの管理画面にログインし、ダッシュボードの右上にある「ヘルプ」アイコンをクリックします。その後、ドロップダウンメニューが表示されますので、そこに現在のWordPressのバージョンが表示されます。
- コードを使って取得する方法: WordPressのバージョン情報をPHPコードを使って取得することもできます。以下はその例です。
$wp_version = get_bloginfo('version');
echo 'WordPressのバージョンは ' . $wp_version . ' です。';
これは、WordPressの get_bloginfo()
関数を使ってバージョン情報を取得し、その後 echo
を使って出力しています。
どちらの方法でも、WordPressのバージョン情報を取得することができます。
同じ質問ですが、回答が変わりました。2つのやり取りの違いはfunctions.phpという言葉があるかないかの違いです。
ここで注目していただきたいのが、functions.phpでの箇所です。functions.phpでを加えることでチャットGPTに伝わりやすく、そして筆者がほしい情報に近づいているのです。
$wp_version = get_bloginfo('version');
echo 'WordPressのバージョンは ' . $wp_version . ' です。';
チャットGPTの回答にプログラムはありますが、これでは実用するには難しい使い方です。このように合ってるけどちょっと違う回答をもらったことのある経験がある方もいるのではないでしょうか。
NG例の続きのチャットでトークを続けます。
functions.phpで表現できますか
はい、WordPressの functions.php
ファイル内で、以下のようなコードを使って現在のWordPressのバージョンを取得することができます。
function get_wp_version() {
global $wp_version;
return $wp_version;
}
$wordpress_version = get_wp_version();
echo 'WordPressのバージョンは ' . $wordpress_version . ' です。';
このコードは、get_wp_version()
という関数を定義し、グローバル変数 $wp_version
を使用してWordPressのバージョンを取得します。その後、echo
を使ってバージョン情報を出力しています。
このコードを functions.php
ファイルに追加することで、WordPressの管理画面上には表示されない、サイトのフロントエンド部分にバージョン情報を表示することができます。
これで始めに公開した回答と近いものになりました。トーク数は増えますがこのように修正することも可能です。