生成AIにプラグインやカスタムコード作りを手伝ってもらう時の注意点

公開日:2025(令和7)年9月14日/最終更新日:

How to create a plugin | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています

生成AIに聞けば、ひとまず何でも回答が返ってくる時代になりましたね。

WordPressのテーマに追加するカスタマイズ用コードも、プラグインを一から自作したい場合も、ちゃんと質問すればちゃんと答えが返ってきます。特にAIはプログラミングについては強い印象があります。

私も長年WordPressを使ってきて、また、Hima Art Utilityをはじめとするこのサイトで配布しているプラグインたちの制作をしてきた中で、最近ではコードの検証や「ん?」と思った時に、ネット検索よりもAIに聞く機会が増えてきました。

そこで私なりにAIを使ってカスタムコードを作る際の注意点について、プラグインを作るという観点から述べたいと思います。

プログラムの作成をAIに手伝ってもらう時の注意点

プラグイン作成の基本的な知識があること

まず前提として、自身で実装したい機能を有効にするプラグインをある程度作れるスキルが必要です。

もちろん何かで調べてでもいいですし、後から見たら何でこんな処理させてるの?と回りくどい書き方がされてたりしても構いません。

当然ながら、どのプログラムがどのようにしてその解を導き出しているのかが分からなければ、AIが提案するコードをそのままコピーするしかない状態となってしまいます。

それでも良ければ丸投げというのもアリかも知れませんが、すべての仕様を完全にAIに渡すことができるかどうかは疑問ですし、返ってきた回答も経験上解釈の違いがあったり、時にはWordPressの組み込み関数にないものをいきなりぶち込んできたりしますから注意が必要です。

もしもそのようなケースでプログラムが呑み込まれた後に重大なエラーが発生してサイトがストップした場合には、それ用の復旧知識が必要ですから、WordPress自体の動作の仕組みの基礎位は知っておく必要もあるでしょう。

また、AIはあくまでもかつて人が公開したネット上の情報や書籍などを読み込ませた情報から、できるだけ質問に合った回答をしようとするもので、間違ったものを提示するケースは多々あり、それを修正して指摘してもAI側が間違ったコードを提示したことはまるで忘れたかのような回答をしてくる時があります。まあ追及しても仕方ないですが、その後のやり取りを進めるうえでもきちんと間違いを認識してもらうというのも必要かも知れません。

1つのチャット内でその機能はすべて完結させる

AIは昔でいうチャット機能を使って、相手が人ではなくすごい知識を詰め込んでいるコンピューターと対話するというツールです。

Geminiであれば「Geminiに相談」というプレースフォルダーのある入力窓へ書いてスタートした段階で、1つのテーマを持つチャットが始まります。

そこで大事なのは、1つの機能は1つのチャットで完成させることです。

メインのコードと共に、メインの中で独自関数などから引っ張ってくるデータなどがあればそれもすべて投げるようにします。

生成AIによってはプランによって1つのメッセージに書ける文字数に制限があったりするので、そのあたりも説明しながら長いコードであれば分割するなどしてすべてを伝えるようにします。

そうしないと、AIは気を利かせて参照する関数はこういうものだろうという想像でコードを提案してきます。それがあっていれば問題ないのですが、間違っていた場合には処理がどんどん自分のしたいこととかけ離れて行ってしまいます。

また、1チャットで済ませるのには大きな意味があります。それは、会話の中でこちらが書く内容の癖やコードの体系の癖などを把握しながら回答してくれるというメリットがあるからです。

もちろんこれまでの履歴からもAIは自動でそのユーザーに合った回答の仕方をしてくれますが、それでもその機能(コード)に特化した内容でのやり取りをすることで精度が増していきます。

セキュリティ部分は排除されていることが多い

前項で述べたように、AIはこちらのコードの癖を読み取って、できるだけそれに近い形でコードを返してくれようとします。

そして、こちらから投げるコードの中に、サニタイズやエスケープといった、意図しない値を拒否したり無害化したりする処理が使われていれば、それを踏まえてコードを返してくれますが、そうでない場合は直接要求しているわけではないので、セキュリティ部分は省いたコードを提示してきます。

これは単にセキュリティ部分を省くという意味ではなく、セキュリティ部分をコードに追加すると結構な文字量になってコード自体が見えづらくなるのを避けるという意味もあるようですから、サニタイズやエスケープ、WordPressでいえばフォームを追加した際のNonce検証などの知識をこちらが持ち、もしも足りていないようであればこちらから「〇〇はしなくていいの?」と投げ返すようにしましょう。

最後に関連コード含めすべてのコードを投げて検証してもらう

進めていくと、断片的に変更を行うようなやり取りが頻繁になるにつれて、部分的な入れ替えなどが多数発生します。

それを行って完成となるのですが、最後にすべてのコードをもう一度投げて、これでよいかというのを確認するようにしましょう。

私の場合は「以下が完成したコードです」とつけて全コードを投げると、大抵真っ新な状態で再度コード検証をしてくれる印象があり、時にはAI側が提案したコードなのに「〇〇は改善したほうがいい」などということをいけしゃあしゃあと回答してくることもあります(そんな時はお前が..ではなく、こちらに知識がなかったと思うようにしています..笑)。

そのコードをもう一度見返して、問題なさそうならばそのままコピペして動作確認をすれば、コードは完成だと言えるでしょう。

最後はPlugin Checkにかける

WordPressの公式サイトに掲載されているプラグインは、コードがWordPress標準の仕様に合っているか、セキュリティの配慮はされているか、パフォーマンスを低下させてしまうような処理はないかなどを、最終的に目視で確認する前に機械的に判断しているようで、それをユーザーのサイト上で行えるような「Plugin Check」というプラグインがリリースされています。

前述したように、最終的にはプログラムのエキスパートが目視でチェックする必要があるので、このプラグインでチェックすれば大丈夫ということではありませんし、コード全体を見て判断するわけではないので、時には確実に処理しているのに警告を発することもありますが、必ずチェックして、修正すべき部分は修正するようにしましょう。

そしてそれも行った最終コードを再びAIに投げておけば、次に何かをお願いするときにそのあたりも注意してくれるように徐々になっていき、対話がスムーズになりますよ。

知らない関数や処理の勉強をしておく

AIと対話していると「え?こんなPHP関数やWordPress組み込み関数あったの?」とか、自身が思っていたよりも簡単に解が得られる処理を回答してきたりすることがあります。

コードの体裁を整えながらそれらを確認し、勉強していくことで、最終的にAIと対話してコードを作るにしても、初期で投げるコードの精度が上がっていくので、最後に必ず調べて習得するよう努力していくことが大切だと思います。

Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Customize Ideas | Personal WP Customization Notes (PWCN)
cPanelのIPブロッカーへ拒否するIPアドレスを一括登録する方法