ChatGPT4に仕事をさせてみた

お疲れ様です。松村です。

巷を賑わしているAIにですが、我々エンジニアに取って
どこまで影響があるのかなということでいろいろ試してみました。

GPT-4
とりあえず無料でできるだけやってみます。
有料プランが、ありますが月額20ドルのクレジットのみです。

  • 学習モデルを育てられる
  • APIが使える
  • より高速なレスポンス

等、いろいろあるみたいですがまずは個人利用程度におさえたいのでFree planでやってみます。

AWSでECサイトを立ち上げたい

もうまったく0から始めてみましょう。ざっくりアホなふりして聞いてみます

Q.AWSでECサイトを立ち上げたい。どうすればよいか。

AWSを使用してECサイトを立ち上げるためには、以下のステップを実行する必要があります。

  1. アカウントの作成と設定: AWSの公式ウェブサイト(https://aws.amazon.com/)にアクセスし、アカウントを作成します。必要な情報を提供し、支払い情報を設定します。
  2. Amazon EC2のセットアップ: Amazon Elastic Compute Cloud(EC2)を使用してウェブサーバーを構築します。EC2コンソールにアクセスし、新しいインスタンスを作成します。適切なインスタンスタイプを選択し、必要な設定を行います。
  3. ドメインの設定: ECサイトに使用するドメインを取得します。ドメインを購入する場合は、AWSのRoute 53を使用することができます。ドメインを取得したら、Route 53でDNSレコードを設定し、ドメインをEC2インスタンスに関連付けます。
  4. セキュリティとアクセス制御の設定: EC2インスタンスにセキュリティグループを設定し、必要なポートを開放します。また、アクセスキーとシークレットキーを生成し、必要な権限を持つIAMユーザーを作成します。
  5. データベースの選択と設定: ECサイトのデータベースには、Amazon Relational Database Service(RDS)を使用することができます。RDSコンソールにアクセスし、適切なデータベースエンジン(例:MySQL、PostgreSQL)を選択し、データベースの設定を行います。
  6. ストレージの設定: ECサイトの静的ファイル(画像、CSS、JavaScriptなど)のために、Amazon Simple Storage Service(S3)を使用することができます。S3コンソールにアクセスし、バケットを作成し、必要なファイルをアップロードします。
  7. ウェブアプリケーションの設定: EC2インスタンスにウェブアプリケーションをデプロイします。ウェブサーバー(例:Apache、Nginx)とプログラミング言語(例:PHP、Python)を選択し、必要な設定を行います。
  8. SSL証明書の設定: セキュアな通信のために、SSL証明書を使用します。AWS Certificate Manager(ACM)を使用してSSL証明書を作成し、関連するリソースに適用します。
  9. オートスケーリングと負荷分散: EC2 Auto Scalingを使用して、トラフィックの変動に応じてインスタンスを自動的に追加または削除するように設定します。また、負荷分散のためにElastic Load Balancer(ELB)を使用することも検討してください。
  10. モニタリングとアラートの設定: AWS CloudWatchを使用して、EC2インスタンスやその他のリソースのパフォーマンスをモニタリングし、必要に応じてアラートを設定します。

以上のステップを実行することで、AWSを使用してECサイトを立ち上げることができます。ただし、ECサイトの構築にはさまざまな要素が関与するため、適切な知識や経験が必要となる場合があります。必要に応じてAWSのドキュメントやチュートリアルを参照することをおすすめします。

質問がざっくりしている割には意外としっかり細部まで答えてくれます。
オートスケールやCloudWatchまで触れてくるとは思いませんでした。
ちょっとブレイクダウンしてみます。

Q.EC2の設定の仕方は?

EC2の設定を行うためには、以下の手順を実行します。

  1. AWS Management Consoleにアクセス: AWSの公式ウェブサイト(https://aws.amazon.com/)にアクセスし、アカウントにログインします。AWS Management Consoleにアクセスするための認証情報を入力してください。
  2. EC2コンソールに移動: AWS Management Consoleのホームページから、”Services”(サービス)メニューを開き、”EC2″を選択します。EC2コンソールに移動します。
  3. インスタンスの作成: EC2コンソールで、”Instances”(インスタンス)メニューを選択し、”Launch Instance”(インスタンスの起動)ボタンをクリックします。インスタンス作成ウィザードが表示されます。
  4. AMI(Amazon Machine Image)の選択: インスタンスを作成するために使用するAMIを選択します。AMIは、インスタンスのベースとなるイメージであり、使用するオペレーティングシステムやソフトウェアに基づいて選択します。
  5. インスタンスタイプの選択: インスタンスタイプを選択します。先ほどの質問でも説明したように、必要なリソースとパフォーマンスに基づいて適切なタイプを選択します。
  6. インスタンスの設定: インスタンスの設定を行います。これには、インスタンスの数、ネットワーキングオプション、セキュリティグループなどが含まれます。必要に応じて設定を調整してください。
  7. ストレージの設定: インスタンスに関連付けるストレージの設定を行います。デフォルトでは、ルートボリューム(OSディスク)が作成されますが、必要に応じて追加のボリュームを設定することもできます。
  8. セキュリティグループの設定: インスタンスに適用するセキュリティグループを選択または作成します。セキュリティグループは、インバウンドおよびアウトバウンドのネットワークトラフィックのルールを定義します。
  9. インスタンス起動キーペアの設定: インスタンスへのSSH接続に使用するキーペアを選択または作成します。キーペアを選択すると、インスタンスに接続するための秘密鍵が自動的にダウンロードされます。
  10. インスタンスの起動: インスタンスの設定が完了したら、”Launch”(起動)ボタンをクリックします。これにより、EC2インスタンスが作成され、実行されます。

これらの手順に従うことで、EC2インスタンスの設定を行うことができます。設定後は、インスタンスに必要なソフトウェアやデータをインストール・設定し、ECサイトを構築していくことができます。

ちょっとビックリしたのが、5番の先ほどの質問でも説明したようにです。
スレッド内ではある程度の学習は前後を把握して回答してくれるみたいです。
要件定義書とか、指示書とかを相談しながら作るとかに適しているのかな?

テスト仕様書を書かせてみる

仕事をさせてみるっていうより相談に乗ってもらうみたいな感じになってしまったのでもう少し具体的にやってみます。

当ブログ内のこちらの記事に書いてあるプログラムコードに関して、テスト仕様書を作ってもらおうと思います。

Q.下記のテスト仕様書を作成してください
(プログラムは長いので割愛)

テスト仕様書の作成には詳細な情報が必要ですが、以下は一般的なゲームのテスト仕様書の例です。具体的な仕様や動作に合わせて修正や追加を行ってください。ゲームテスト仕様書
1. 概要
このテスト仕様書は、ゲームの各機能および動作が要件に従って正常に機能するかどうかをテストするためのものです。以下には主なテスト項目とそれに関連するテストケースが含まれています。2. テスト項目とテストケース
2.1 ステップの切り替え
テスト項目:
ステップが正しく切り替わるかどうかを確認する。
テストケース:
ゲーム開始時にステップがREADYになっていることを確認する。
プレイヤーがゲームを開始すると、ステップがPLAYに切り替わることを確認する。
満腹メータが0になると、ステップがGAMEOVERに切り替わることを確認する。
再プレイ時にステップがREADYに戻ることを確認する。2.2 入力のテスト
テスト項目:
キーボード入力が正しく受け付けられ、プレイヤーの移動に反映されるかどうかを確認する。
テストケース:
左キーの押下時にプレイヤーが左に移動することを確認する。
右キーの押下時にプレイヤーが右に移動することを確認する。
キー入力が連続して行われた場合にもプレイヤーの移動が正確であることを確認する。2.3 アイテムの生成と移動のテスト
テスト項目:
アイテムの生成位置や移動速度が要件に従って正しく行われるかどうかを確認する。
テストケース:
アイテムがランダムな位置で生成されることを確認する。
アイテムが画面内を一定の速度で移動することを確認する。
アイテムが画面外に出た後に再生成されることを確認する。
再生成されたアイテムが前回と異なる位置に生成されることを確認する。

2.4 画面表示の正確性のテスト
テスト項目:
画像の読み込みや表示位置、サイズ、揺れや変形などが要件に従って正確に行われるかどうかを確認する。
テストケース:
画像が正しく読み込まれていることを確認する。
ゲーム画面上の要素が正確な位置とサイズで表示されていることを確認する。
ゲーム中の揺れや変形が意図した通りに行われていることを確認する。

3. テスト実施環境
テストを実施するデバイスやソフトウェアの環境を記述する。
4. テスト手順
各テストケースの実施手順やテストデータの準備方法を記述する。
5. テスト結果
テストケースごとに実施結果を記録し、問題がある場合には詳細な情報と共に報告する。

以上が一般的なゲームのテスト仕様書の例です。実際のゲームの要件や動作に合わせて、詳細なテスト項目とテストケースを追加・修正してください。

結構具体的ですね。プログラムに対する説明や内容に関して質問で全く触れなかったのに
これを数秒で回答してくるのは結構すごい。pytonともゲームとも言ってなかったですしね。
ただこれもちょっと相談というか実際に仕様書として起こすには、もうひと手間必要です。
それにしてもこれが数秒で返ってくるというのは利用する価値は十分あると思います。

ただ、質問が具体的になればなるほど回答も具体的になっていく感じはありました。
また、コード→コメント コメント→コードみたいな作業も的確にやってくれるようです。

所感

いかがでしたでしょうか?
まだまだ相談相手をいった感じで、作業者という感じではないですが、
相談や方針決め、調査といったものに関しては、とても役に立ちそうです。
圧倒的なスピードですしね。
実作業についてはまだまだな感じですが、MSが動き出しているのでそれもそう遠くない感じがします。
他にもまだまだ制限事項はありますが、その辺も急速に進化していきそうな空気感ですよね。

まずは各プロジェクト単位でテクニカルアドバイザー的な使い方ができたりするんじゃないですかね?
各プロジェクト単位で学習モデルを置ければ特化できそうとか考えてみたりして。。。
有料だとしても、テクニカルアドバイザーを月20ドル雇えないですもんねw

まずは、みなさん個人で活用されてみてはいかがでしょうか?世界が変わる・・・かもしれませんよ?


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です