驚異の進化で一変する世界 生成AI「ChatGPT」

![23742308.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2633992/87ed1006-3cfd-3c39-c681-39be223c7c6b.jpeg)

株式会社エスプリフォートでは、生成AI（人工知能）がどのようなことに活用できるか検討するだけでなく、普段の業務での活用に取り入れていっています。

そんな生成AIで話題のChatGPTについて、ご紹介いたします。

## ChatGPTとは
ChatGPTとは、2015年に設立された「Open AI」が開発した、自動応答チャット生成AIです。
「Open AI」はソフト名ではなく、団体名です。
AIチャットは、一般的なチャットツールと同じように対話形式で、ユーザーとAIがやりとりできるサービスとなります。
AIに質問したいこと、相談したいことをテキストで入力して送信すると、AIがそれに合った回答を返します。
また、その回答をもとにさらに突っ込んだ質問をして会話を広げたり、自分が期待する回答に修正していったりもできます。
最新の情報に関しては更新されていない場合があります。
※GPT-４では、AIが自らインターネットを検索して、最新の情報を収集して回答します。

### ChatGPTの始め方
OpenAIのプラットフォームへのアクセス: OpenAIのプラットフォームにアクセスするためには、[OpenAI](https://openai.com)にアクセスし、アカウント情報を登録し、アカウントを作成してください。

アカウントが作成できたら、WEBブラウザからの利用や、他のアプリケーションと連動して利用することもできます。

### ChatGPTは無料で利用できるのか
一定の利用枠（フリーユース枠）が提供されており、これを利用することで一定の範囲内で無料で利用することができます。
ただし、フリーユース枠には制限があります。
商用利用には有料プランがあり、料金体系や契約条件はOpenAIとの直接契約が必要です。
料金は月額20ドル。
2023年5月19日のレート換算で約2,700円です。
有料になると3月14日に公開されたばかりの「GPT-4」も利用可能です。

### 無料と有料の違い
有料になると下記3つが利用できるようになります。

1、利用ピーク時も通常応答
2、レスポンス時間の短縮
3、新機能と機能改善の先行利用

仕事などで定常的にChatGPTを使う場合は、月額約2,700円で快適に仕事できれば、安いものだと思います。

### ChatGPTで生成した文章の商用利用は可能であるか
ChatGPTが公開しているよくある質問事項によると、「生成されたコンテンツは、出力を依頼した人の所有物になる」と記載があり、著作権問題などを気にすることなく利用ができます。
ただし、商用利用できるコンテンツは「コンテンツの方針」や「利用規約」に遵守したものに限ります。

たとえばChatGPTでは、以下のようなコンテンツの作成は禁止されています。

・特定の人物、団体に対する嫌がらせ
・差別的なもの
・暴力につながるもの
・自傷・自殺行為などを助長するもの
・薬物など法で禁じられていること
・政治にまつわるもの
・陰謀論などを助長するもの

など

詳しくはOpenAIが公開している「[利用規約](https://openai.com/policies/terms-of-use)」や「[コンテンツの方針](https://labs.openai.com/policies/content-policy)」のページに記載されているので、利用しはじめる前に必ず目を通しておきましょう。

### ChatGPTで効率があがる作業
* ブログなどの記事を生成する
* 議事録作成・文章要約・書類のフォーマット生成
* コードを生成する
* 情報収集及び加工
* 文書の作成、要約、構成、小説などの創作
* メルマガやメールの下書き
* 翻訳
* 議事録作成
* リサーチ、論点の洗い出し
* アイデアの提案
* リストや表の作成
* プログラミングの支援

など。


## ChatGPTを実際に使用してログイン機能を開発してみる

### 1. ログイン処理に関する機能一覧を作成する

※以降、赤字はプロンプトに入力した内容です。

> <font color="Red">ログインに関するの機能の一覧を作成してほしい。マークダウン形式</font>

以下がChatGPTからの応答です

> 以下はログインに関連する機能の一覧です。マークダウン形式で記述してあります。

    ユーザ登録機能
        ユーザ名、パスワード、メールアドレスなどの必要情報を入力して新しいユーザを登録する機能。
        入力値のバリデーションを行い、必要な条件を満たさない場合はエラーメッセージを表示する。

    ログイン機能
        ユーザが登録済みのユーザ名とパスワードを入力してログインする機能。
        入力された情報を検証し、正しい組み合わせの場合はログイン成功としてセッションを開始する。
        ログイン失敗の場合はエラーメッセージを表示する。

    パスワードリセット機能
        ユーザがパスワードを忘れた場合に、メールアドレスなどの情報を入力してパスワードリセットの手続きを行う機能。
        入力された情報が有効な場合、パスワードリセット用のメールが送信される。
        メールに含まれるリンクをクリックすることで、新しいパスワードを設定する画面に遷移する。

    ログアウト機能
        ログイン済みのユーザがログアウトする機能。
        セッションを終了し、ユーザをログアウト状態にする。

    セキュリティ対策
        パスワードの保存にはハッシュ関数を使用し、平文のパスワードを保存しない。
        ユーザの入力情報を適切にバリデーションし、悪意のある入力や攻撃を防ぐ。
        クロスサイトスクリプティング（XSS）やクロスサイトリクエストフォージェリ（CSRF）などのセキュリティ脆弱性への対策を実装する。

> 上記の一覧は一般的なログイン関連の機能をカバーしていますが、具体的なシステムや要件によって異なる場合があります。
必要に応じて機能の追加やカスタマイズを行ってください。


### 2. 処理の流れを作成する

> <font color="Red">ログイン機能のシーケンス図をmermaidで作成してほしい</font>

以下がChatGPTからの応答です

> もちろんです！以下はログイン機能のシーケンス図の例です。Mermaidを使用して描かれています。

````
sequenceDiagram    participant User
    participant System
    participant Database

    User->>System: ユーザ名とパスワードを入力
    System->>Database: ユーザ情報を検索
    Database-->>System: ユーザ情報の取得結果
    alt 認証成功
        System->>User: ログイン成功メッセージを表示
    else 認証失敗
        System->>User: ログイン失敗メッセージを表示
    end
````

>この例ではシーケンス図の基本的な要素を示していますが、実際のシステムに合わせて詳細を追加することができます。また、テキストエディタやMermaidのプレビューツールなどを使用して、このコードを描画することができます。

```mermaid
sequenceDiagram    participant User
    participant System
    participant Database

    User->>System: ユーザ名とパスワードを入力
    System->>Database: ユーザ情報を検索
    Database-->>System: ユーザ情報の取得結果
    alt 認証成功
        System->>User: ログイン成功メッセージを表示
    else 認証失敗
        System->>User: ログイン失敗メッセージを表示
    end
```

### 3. データベースのテーブル定義を作成する

> <font color="Red">ユーザのテーブル定義を作成して</font>

以下がChatGPTからの応答です

> ユーザのテーブル定義の例を以下に示します。データベースの種類や要件によって異なる場合がありますので、必要に応じてカラムや制約を追加・変更してください。

```sql
CREATE TABLE Users (
  id INT PRIMARY KEY,
  username VARCHAR(50) NOT NULL UNIQUE,
  password VARCHAR(255) NOT NULL,
  email VARCHAR(100) NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```

>この例では、Users というテーブルを作成しています。テーブルに含まれるカラムは以下の通りです。

- id: ユーザの一意な識別子としてのID
- username: ユーザ名。50文字までの文字列で、一意性制約が設定されています。
- password: パスワード。255文字までの文字列で、暗号化などの処理は省略されています。
- email: メールアドレス。100文字までの文字列で、ユーザの連絡先情報として利用されます。
- created_at: レコードの作成日時。デフォルト値として現在のタイムスタンプが設定されています。
- updated_at: レコードの更新日時。デフォルト値として現在のタイムスタンプが設定されており、レコードが更新されるたびに自動的に更新されます。

> 上記のテーブル定義は一例であり、実際のシステムに合わせてカラムや制約を調整してください。また、使用するデータベースの種類や構文に合わせて適宜修正してください。


--- 

ここまでの流れのようにChatGPTを利用することで、開発において様々なドキュメントやコードを生成してもらうことが可能です。
対話式なので、実際に対人で行っているような感覚で利用できることも魅力に感じました。



## ChatGPTを利用したビジネスでの実用

※以下の文は、ChatGPTにより自動生成されています

### カスタマーサポート

企業がChatGPTを使用して、顧客の問い合わせや問題解決に対応することができます。
顧客からの質問や要望に対して、適切な回答や案内を提供することができます。

### 質問応答システム

ChatGPTは、特定のドメインやトピックに関する質問に対して答えるために使用することができます。
例えば、医療情報や法律相談など、特定の分野の知識を持つ応答を生成することができます。

### 仮想アシスタント

ChatGPTは、個人の助手や仮想キャラクターとして使用することもできます。
ユーザーとの対話を通じて予定の管理、情報の検索、リマインダーの設定などを行うことができます。

### 教育支援

ChatGPTは、学習者が質問をしたり、概念を理解するための補助をしたりするために使用できます。
学生や研究者が特定のトピックに関する情報を得たり、疑問点を解消したりするのに役立ちます。

### 娯楽や創造的な活動

ChatGPTは、ストーリーテリングや創造的な対話のパートナーとしても利用できます。
ユーザーはChatGPTと対話しながら、物語を作り上げたり、アイデアを探求したりすることができます。


※これらは一部の例ですが、ChatGPTの実用方法は広範であり、
その柔軟性と応用範囲はさまざまな領域で活用されています。



## ChatGPTのまとめ

※以下の文はChatGPTにより自動生成されています

> 本記事では、ChatGPTについて説明しました。
ChatGPTは、OpenAIが開発した大規模な言語モデルであり、GPT-3.5アーキテクチャに基づいています。

> ChatGPTは、自然言語理解と生成の能力を備えており、人間のような対話をシミュレートすることができます。
多くのトピックに関する質問や会話に対して、理解度の高い回答を提供します。

> GPT-3.5の学習データのカットオフは2021年9月であり、それ以降の情報は持っていません。
しかし、現在の日付（2023年6月28日）に関する一般的な知識や情報に基づいて回答を生成します。

> ChatGPTは、さまざまな応用分野で有用なツールとして活用されています。
例えば、カスタマーサポート、情報検索、創造的な文章生成などに使用されています。
また、教育や学習の補助ツールとしても役立つことが期待されています。

> ただし、ChatGPTはあくまで機械学習モデルであり、完全な正確性や意識を持つ存在ではありません。
そのため、情報の正確性を確認するためには他の信頼性のあるソースと照らし合わせることが重要です。

> 今後も、OpenAIや他の研究者・開発者たちは、言語モデルの改良と新しい応用方法の探求に取り組んでいくことが予想されます。
ChatGPTのような自然言語処理の技術は、私たちの日常生活やビジネスのさまざまな側面に影響を与える可能性があります。

> ChatGPTは、進化し続けるAI技術の一部であり、その成長と発展に目を向けることは重要です。
我々は、このテクノロジーの利点を最大限に活用しながら、倫理的な配慮と透明性を確保することに取り組むべきです。


---

ここまでお読みいただきありがとうございます。
実際に使ってみて無限の可能性があり、これからもっと多岐にわたって実用されていくものと感じました。

実はこの記事の8割以上は、ChatGPTを利用して書いております。
このような記事を簡単に書けてしまう段階で、生成AIの活用については大きな可能性を多く秘めているのがわかりますね。

これからのビジネスでは生成AI活用が必須となる時代もすぐそこまできているのを感じますね。

https://www.esprit-fort.co.jp/

https://www.esprit-fort.co.jp/recruit/