ChatGPTでMovable TypeやCraft CMSのテンプレートを書いてもらった

公開

流行のChatGPTを試してみました。サインアップをしたところ他の方のキャプチャやニュースで見る画面と違う気がしたのですが、まだよく分かっていないのでひとまずPlaygroundに入力してみることにします。

コードも書いてもらえると聞いていたので「Movable TypeでHTMLのul要素を使用して記事を一覧表示するテンプレートを作成してください。」と入力したところ、以下のような出力になりました。

<ul>
<MTEntries>
  <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> - <$MTEntryDate format="%Y/%m/%d"$></li>
</MTEntries>
</ul>

画面キャプチャ:ChatGPTにMovable Typeで記事一覧を表示するテンプレートタグを作成してもらった様子

ul要素の開始・終了タグをmt:ifで囲んでほしい気がするけれど要点はきちんとおさえている印象で、少し手直しすればそのまま利用できそうです。すごい。

次に「Movable Typeで記事のタイトル・公開日・本文を表示する記事詳細ページ(HTML)のテンプレートタグを作成してください。」と入力してみたところ、以下のような出力になりました。こちらも要点はきちんとおさえていますね。

<html>
<head>
<title><$MTEntryTitle$></title>
</head>

<body>

<h1><$MTEntryTitle$></h1>
<p>公開日:<$MTEntryDate format="%Y/%m/%d"$></p>
<div><$MTEntryBody$></div>

</body>
</html>

画面キャプチャ:ChatGPTにMovable Typeで記事詳細ページを表示するテンプレートタグを作成してもらった様子

AIが僕たちの代わりにテンプレートタグを書いてくれる時代が本当に来そうと感じました。

少し時間をおいてもう一度ログインしたところ、よく見るチャット画面が出てきました。今度はこのブログにも使用しているCraft CMSで試したところ、こちらも良い感じにテンプレートが生成されました。

<ul>
  {% for entry in craft.entries.section('news').order('postDate desc') %}
    <li>
      <a href="{{ entry.url }}">{{ entry.title }}</a>
      <p>{{ entry.postDate|date('F j, Y') }}</p>
    </li>
  {% endfor %}
</ul>

画面キャプチャ:ChatGPTにCraft CMSで記事一覧を表示するテンプレートタグを作成してもらった様子

ちなみに「PowerCMS」でも試したものの期待したテンプレートタグは生成されませんでした…と思いきや、PowerCMSについてもチャットのような画面でもう一度試したところ、Movable Typeと同じように記事一覧を表示するテンプレートタグが出力されました。MTMLというヒントを追加したからかもしれません。ChatGPTにPowerCMSのドキュメントを巡回してもらうか、ドキュメントを改良するか、なのでしょうか? SEOやMEOのように「AIO (AI Optimization)」なんて言う日が来るかもしれませんね。

画面キャプチャ:ChatGPTにPowerCMSで記事一覧を表示するテンプレートタグを作成してもらった様子

最後に、ChatGPTに対する挑戦状的に「Movable Typeで利用するプラグインを作る時のボイラープレートを作ってください」と入力してみたところ、yamlを使わない形式(Textileプラグイン)のようなコードが出力されました。やるな、ChatGPT。

package MT::Plugin::YOUR_PLUGIN_NAME;
use strict;
use warnings;

use base qw( MT::Plugin );

our $VERSION = '0.01';

my $plugin = MT::Plugin::YOUR_PLUGIN_NAME->new({
    name => 'YOUR_PLUGIN_NAME',
    version => $VERSION,
    description => 'A description of your plugin',
    author_name => 'Your Name',
    author_link => 'http://example.com/',
    plugin_link => 'http://example.com/',
    doc_link => 'http://example.com/',
});

MT->add_plugin( $plugin );

sub instance { $plugin; }

1;

画面キャプチャ:ChatGPTにMovable Typeのプラグインのボイラープレートを作成してもらった様子