ChatGPTについて考える

ChatGPTについて考える

皆様こんにちは塩田です。

今回はいまITに関係のない人々の間でも話題となってるChatGPTについて考えてみたいと思います。

ChatGPTって何?

ChatGPTとは、OpenAIという企業が開発した人工知能の一種で、自然言語を理解し、会話をすることができる対話型のAIアシスタントです。

※自然言語とは英語、日本語、中国語などの所謂人間が使っている言葉(言語)のことです。つまり逐一コンピューターが理解できるようにプログラミング言語のように機械語に直して入力しなくてもコミュニケーションがとれるということです。

Googleの検索と何が違うの?

一番の違いは回答が1つで選択肢が現れないというところでしょう。会話型なので当然ですが、ただ聞き直せば他の選択肢も提示してくれます。

またgoogle検索は無料ですが、ChatGPTは無料プランの他に有料プランがあり、有料プランに入るとより高機能なchatGPTを使うことができます。

使い方は?

使い方は至ってシンプルで、聞きたいことをチャットのように入力していくだけです。

但しここがChatGPTの最大のポイントで、聞き方(プロンプト)次第で返ってくる答えのクオリティが大きく異なります。これはGoogle検索でも同じですが、ChatGPTでは特に重要となります。

例えば私達web開発者はコードを書いているとエラーに出くわしますが、そのエラーの解決方法を導き出すにしてもいくつかの聞き方があります。

  1. ただエラーメッセージを入力して解決法を教えてもらう。
  2. エラーメッセージの他に該当箇所のコードを添える
  3. エラーメッセージと該当コードに加え、言語やフレームワークのバージョンを追記する

このように聞き方や条件を詳細にしていけば答えもより詳細になってきます。

またもっとダイレクトに使用言語とやりたいことをそのまま喰わせるというやりかたも当然可能です。

以下は次のような質問をした場合の回答です。

【質問】

LaravelでfactoryとSeederを使ってダミーユーザーを3人ってください。 なおLaravelのバージョンは8以上とします。 またユーザーはUserモデルが存在するものとします。

【ChatGPT】

以下は、Laravel 8以上でfactoryとseederを使用して3人のダミーユーザーを作成する方法です。

まず、ターミナルで以下のコマンドを実行して、UserモデルのFactoryを作成します。

goCopy codephp artisan make:factory UserFactory --model=User

次に、UserFactory.phpファイルを開き、以下のように書き換えます。



namespace Database\Factories;

use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;

class UserFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = User::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'email' => $this->faker->unique()->safeEmail,
            'password' => bcrypt('password'),
            'remember_token' => Str::random(10),
        ];
    }
}

【ChatGPT】

このFactoryは、ランダムな名前、ユニークなメールアドレス、ランダムなパスワードを持つUserモデルのインスタンスを作成します。

次に、以下のコマンドを実行して、Seederを作成します。

php artisan make:seeder UserSeeder

UserSeeder.phpファイルを開き、以下のように書き換えます。


namespace Database\Seeders;

use App\Models\User;
use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        User::factory()->count(3)->create();
    }
}

【ChatGPT】

このSeederは、UserFactoryを使用して3つのUserモデルを作成します。

最後に、以下のコマンドを実行して、Seederを実行します。

php artisan db:seed --class=UserSeeder

これで、3人のダミーユーザーが作成され、データベースに挿入されます。

また上記に様々な条件(seesderを実行するたびに前のデータを消して1から作成など)を追加してしっかり対応してくれます(truncate()関数を使ってくれます)

注意点は?

これはChatGPTがまだ新しい存在であるため、何がOKで何がNGかの見極めが難しい箇所がかなりありますが、明らかになっている部分を少し上げてみます。

  • 機密性の高いデータは喰わせない。

→ChatGPTは喰ったデータは養分として学習に使用します。そして当然ながら学習の成果として回答に利用します。まさに魔人ブウのような恐ろしさです。ですから機密性の高い情報や、個人情報の利用には十分に気をつけましょう。体内に入って喰ったものを奪い返すことはできません(一応openAIには著作権に関しては侵害されたことを申請する窓口が利用規約にあります)

  • 間違いもある

当然ですがChatGPTも全知全能の神ではありませんので間違った答えを出すこともあります。

ここは検索エンジンでも同じですが、ただ気をつけたいのは検索エンジンと違い、対話型なので受け取る側が信じやすいという傾向はあります。プログラミングでも答えとして返ってきたコードをそのままコピペすると新たなエラーが出たりします。ですので回答をそのまま鵜呑みにするのではなく参考程度に留め、自分なりの答えを導き出すことが重要だと考えられます。

  • ChatGPTに書かせた記事を商用利用できる?

これについてはChatGPTの作成した記事の著作権はOpenAIに帰属しますので、何でもかんでも使うとダメでしょう。現状では使用用途に関しては曖昧になっているようなので、こちらも利用規約をしっかり確認したほうがいいでしょう。

SEOや従来の検索エンジンとの関係は?

ChatGPTのような対話型AIアシスタントが普及すると、いままで検索エンジンで検索されてたサイトの中には大きな影響を受けるものも出てくるでしょう。

とくにレシピサイトは大きな影響を受けると思います。ええそれはモロに受けるでしょう。なんせ冷蔵庫の中身と調味料を適当に喰わせて品数を指定すれば、それなりの献立を教えてくれるのですから。料理の一番難儀な献立を「考える」「決める」という作業から開放してくれるのですから。

一方で比較サイトなどはその性質上、競合にはなりにくいと考えられます。

またChatGPTを一番脅威に感じているのは他ならぬGoogleでしょう。「コードレッド」(非常事態)を発令したぐらいですから。そして自社でも開発を進めていた対話型AIアシスタントBardを発表。今後検索エンジンとの統合も見据えた展開になると予想されますが、それは同時にGoogleの従来の広告ビジネスモデルの否定にも繋がりかねないため、今後の同社の動向が気になります。

まとめ

結論としてはChatGPTの進化のスピードが早すぎて予測はかなり困難といったところでしょうか?

しかしながら確実に世の中を変えていく存在になっていくでしょうから、そのつもりで私達も取り組まなくてはなりません。

SEO的(SEOではありませんが)にいえば、会話型AIアシスタントでも消費者に選ばれようとするならば、特定の分野でナンバーワンになるということでしょうか?言うのは簡単ですが^^;

以上ご覧いただきありがとうございました。