MENU
カテゴリー
Reina
エンジニア兼webライター
大学卒業後、食品企業の品質管理業務に4年半務める。

仕事と並行してDMM WEBCAMPで学習開始、未経験からエンジニア転職に成功しました。

現在は受託企業にてシステムエンジニアとして就業しています。

このブログでは未経験に視点を置いた情報を発信していきたいと思います。

エンジニアにおけるChatGPTの活用方法6選

当ページのリンクには広告が含まれています。

ChatGPTを業務で使いたいけど、具体的にどう活用すればいいのかわからない

そんな悩みを抱えているエンジニアの方はいませんか?

ChatGPTは適切なプロンプトを理解すれば、開発業務を効率化できるツールです。

この記事では実際にエンジニアとして働いている私が、活用している6つの手法を、具体的なプロンプト例とともに解説します。

さらに、セキュリティや機密情報の取り扱いなど、実務で気をつけるべき注意点も詳しくお伝えします。

この記事でわかること
  • ChatGPTとは
  • エンジニア向けChatGPTの活用方法6つ
  • ChatGPTを使うにあたっての注意点

同じ生成AIであるClaudeは文章生成に強いと言われているAIです!使った感想をまとめた記事もあるのでこちらも是非ご覧ください!

目次

ChatGPTとは

Reina

まずはChatGPTについておさらいしましょう!

ChatGPTは、OpenAIが開発した対話型のAIチャットサービスです。

自然言語で質問や指示を入力すると、人間のような自然な文章で回答してくれます。

このツールは大量のテキストデータから学習しており、プログラミングや文章作成など幅広いタスクに対応できます。

Reina

無料プラン有料プランがありますが、無料でも十分に使えますよ!

こちらに料金プランについては詳しく掲載されているのでご覧ください。

ChatGPTに適切なプロンプト(指示文)を与えることで、あらゆる業務の効率を大幅に向上させられることが可能でしょう。

ただし、生成AIであるため回答の正確性を保証するものではありません

出力結果は必ず人間が確認し、適切に判断する必要があります。

エンジニアにおけるChatGPT活用方法6つ

エンジニアにおけるChatGPT活用方法6つ
Reina

現在エンジニアとして働いている私が、ChatGPTの活用方法を紹介していきます!

エンジニアの業務では、ChatGPTを効果的に使うことで、これらの作業時間の短縮や品質向上が期待できます。

エンジニアのChatGPTの活用方法
  • 要件定義の設定
  • 設計書作成
  • プログラムの作成
  • 使用する関数の作成や説明
  • エラーの原因特定
  • テストコードの作成

ここからは、実際の開発現場で役立つ6つの活用方法を、具体的なプロンプト例とともに紹介していきます。

要件定義の設定

ChatGPTを使えば、曖昧な要望から具体的な要件を整理して要件定義の作成が可能です。

クライアントから受け取った情報を基に、必要な機能や仕様を明確化する作業に活用しましょう。

要件定義では、関係者の要望を漏れなく拾い上げながら、技術的な実現可能性も考慮する必要があります。

ChatGPTに相談することで、見落としがちな観点を指摘してもらったり、要件の優先順位付けのヒントを得られたりします。

では実際に、ChatGPTを使って要件定義を作成してみましょう。

プロンプト例

以下のクライアント要望から、Webアプリケーションの要件定義を作成してください。

#クライアント要望
・社内の日報管理を効率化したい
・スマホからも入力できるようにしたい
・上司が部下の日報を確認できる機能が欲しい

#出力形式
1. 機能要件
2. 非機能要件
3. 想定されるユーザーストーリー
4. 技術的な検討事項

Reina

このプロンプトを、そのままChatGPTに打ち込んでみてください!

このプロンプトを入力すると、例えば機能要件としてはこのように出てきました。

要件定義 機能要件1
要件定義 機能要件2
Reina

分かりやすくまとめて出力してくれました!

また、WordやExcel形式で出力して欲しい場合、そのように伝えるとその形式の出力も可能です。

もちろん出力してくれた要件定義に対し、追加したい機能があったり、使用言語を変更したいなどがある場合は都度指示を出す必要があります

しかしChatGPTを使用して要件定義を作成すると、漏れの少ないたたき台を作成することができるでしょう。

生成された内容を基にすることで、チーム内でスムーズに議論を進めていくことができます。

設計書作成

ChatGPTで完成した要件定義を用いて設計書の作成も可能です。

例えば以下の観点で活用が可能でしょう。

  • 画面構成図の作成
  • 必要機能項目
  • 機能項目の詳細
  • テーブル設計 など

試しにプロンプトを打ち込んでみましょう。まずは先ほど要件定義で出力した、ログイン画面の画面構成図から作っていきます。

画面構成図 指示

そして出力された画面構成図がこちらです。

画面構成図 ログイン

テキストベースで出力されました。これを基に画面図を作成していくことができます。

テキストベースではなく画像生成も可能ですが、生成に時間がかかってしまう点が注意です。

次に画面図が作成できたら、機能項目を出力してみましょう。以下はプロンプトの例になります。

プロンプト例

作成したユーザー管理画面のログイン画面構成図から、以下の指示に従って一覧表を出力してください。

#必須出力

  • 項目名
  • 要素(button、label、text、select、checkbox)
  • 文字数
  • 書式

では打ち込んでみましょう。

ログイン画面 機能要件 項目指示

すると、このように一覧表を作成して出力してくれます。

ログイン画面 機能項目 一覧 
Reina

機能項目について、わかりやすくまとめてくれました!

このように作成した画面構成図から機能項目をまとめることが可能です。

では、もう少し詳しく作成してみましょう。出力された機能項目について、さらに詳細化した一覧表を作成してみます。

プロンプト例

出力されたユーザー管理画面ログイン機能項目の、詳細化された一覧表を出力してください。

#必須出力

  • 項目名
  • 使用するテーブル
  • 詳細内容(仕様、動作など)
  • 補足

では、実際に打ち込んでみます。

ログイン画面 機能要件 詳細指示

出力結果、このような一覧表が作成されました。

ログイン画面 機能詳細 一覧1 
ログイン画面 機能詳細 一覧2

またテーブルを指定したことにより、テーブル設計も出力してくれました。

テーブル設計1
テーブル設計2

このようにデータベース設計も兼ねて作成することが可能です。

一気にすべての画面について出力するのではなく、1つの画面ごとにプロンプトを入力し、設計書を作成することをおすすめします。

そして作成された設計書は、プロジェクトの規模や技術スタックに応じて調整が必要です。

ChatGPTで作成した設計書は必ず上司や先輩エンジニアに、レビューしてもらいながら完成へと進めていきましょう。

プログラムの作成

要件定義と設計書の作成が完了できたら、いよいよプログラム作成に入ります。

ChatGPTはさまざまなプログラミング言語でコード生成が可能です。

実装したい機能を説明すると、動作するコードの雛形を作成してくれるため、開発速度が向上するでしょう。

コード生成を依頼する際は、使用する言語やフレームワーク実装したい処理の詳細を明確に伝えることが重要です。

またコーディング規約や会社のルールがある場合は、それらも併せて指示すると、より実践的なコードが得られます。

例えばログイン認証機能における、プログラム作成の雛型を作ってもらいましょう。今回はLaravelを指定して作成してみます。

プロンプト例

作成したユーザー管理のログイン画面の設計書から、以下の指示に従ってログイン画面におけるコードを生成してください。

#指示内容

・言語はPHP、フレームワークはLaravelを使用してください
・Route、Model、Controller、Viewに分けて提示してください
・セキュリティ面も考慮して作成してください。

では実際に打ち込んでみましょう。

ログイン画面 プログラミング 指示

こちらのプロンプトを入力すると、PHPとLaravelを使用してコード作成を行ってくれます。

例えば、Routeの処理においてはこのように作成されました。

Route コード生成

生成されたコードはあくまで叩き台として扱い、実際の環境でテストを行いながらの調整が必要です。

使用する関数の作成や説明

ChatGPTを使うことで使用する関数名を調べることも可能です。

プログラムを作成する途中、いくつか関数を使う場面もあります。

そのようなとき、ChatGPTは使用方法具体的なコード例を提示してくれます。

例えば、今回PHPを使用しており、ある配列Aと配列Bを結合させたいけど忘れてしまったとしましょう。

関数名 指示

このように入力することで、ChatGPTは使用する関数とその例を出力してくれます。

関数名と使用方法の回答

このようにプログラミングの途中でわからない場面に遭遇しても、時間を削減して調べることが可能です。

新しい技術を学習する際にも有効でしょう。

公式ドキュメントを読む前の予備知識として活用したり、実装のサンプルコードを入手したりする用途に適しています。

Reina

ChatGPTで調べた後に、公式ドキュメントで確認すると尚安心ですね!

エラーの原因特定

エラーメッセージをChatGPTに入力すると、原因の推測と解決策を提示してくれます。

これは、デバッグ時間の短縮に大いに役立つでしょう。

例えば「Parse error: syntax error, unexpected ‘=’ in」というエラーが出たとします。これをChatGPTに聞いてみましょう。

エラー文 指示

このように入力することで、原因と対処法を教えてくれます。

エラー 原因
エラー 対処法

提案された解決策を実装する前に、エラーが発生した原因を理解することも大切です。

根本原因を把握しておけば、今後同じミスを防げるでしょう。

テストコードの作成

自動テストコード作成も、ChatGPTで効率化できます。

テスト対象の関数を渡せば、網羅的なテストケースを提案してくれるでしょう。

テストコードの作成は重要ですが時間がかかる作業です。

ChatGPTを活用すれば、正常系・異常系のテストケースを漏れなく作成でき、コードの品質向上につながります。

今回は簡単に、「2+3=5」というテストコードを、ChatGPTに作ってもらいましょう。

テストコード 指示

PHPUnitとは単体テストフレームワークです。

ユニットテストは使用した関数やメソッドが期待通りの動作をしてくれるか、確認できる自動テストを指します。

Reina

ちなみにテスト仕様書に沿って期待される動作を目で見て確認するテストを、打鍵テストと言います!

では作成されたコードを見てみましょう。

テスト前 コード

これが実際に処理を行うコードです。ではこの処理に対するテストコードを見てみましょう。

テストコード プログラミング

これが作成されたテストコードです。

簡単に説明すると、「add」という関数は2と3を足すことで、期待される答えは5であるべき、という意味を指します。

このように生成されたテストコードは、実際にプロジェクトで実行してカバレッジを確認しましょう。

不足しているテストケースがあれば追加していきます。

Reina

以上が私が業務でよく使用するChatGPT活用例でした!ぜひ参考にしてみてくださいね!

ChatGPTを使う際の注意点3つ

ChatGPTを使う際の注意点3つ
Reina

便利なChatGPTですが、もちろん注意点を意識して使用しましょう。

エンジニアがChatGPTを活用する際は、いくつか注意すべきポイントがあります。

ChatGPTを使う際の注意点
  • ChatGPTの回答は必ずしも正しいとは限らない
  • セキュリティ面も考慮する
  • 個人情報や機密情報は入力しない

便利なツールではありますが、盲目的に信頼すると思わぬトラブルにつながる可能性があるでしょう。

次で詳しく説明していきます。

ChatGPTの回答は必ずしも正しいとは限らない

ChatGPTは生成AIであり、常に正確な情報を提供するわけではありません

特に技術的な詳細や最新情報については、誤った内容を自信を持って答えることがあります。

生成AIは学習データに基づいて回答を生成するため、ネット上に掲載されている内容が間違っている場合でも自然な文章で出力されてしまいます。

エンジニアの現場では、誤った情報に基づいて実装を進めると、後から大きな手戻りが発生するリスクがあるため気を付けましょう。

以下の対策を心がけると効果的です。

ChatGPTを使用するにあたって
  • 公式ドキュメントでの検証:ライブラリやフレームワークの使い方は公式情報と照合する
  • コードレビューの実施:生成されたコードは先輩からレビュープロセスを経る
  • テストの実行:動作確認をして、期待通りの結果が得られるか検証する
  • 複数の情報源との比較:複数のソースで裏付けを取る など

ChatGPTはあくまで「作業の効率化ツール」として位置づけ、最終的な判断は人間が行うことを意識しましょう。

セキュリティ面も考慮する

ChatGPTが生成するコードには、セキュリティ上の脆弱性が含まれている可能性も否めません。

特に認証・認可やバリデーションに関わる実装では注意が必要です。

確認すべきポイントは以下の通りです。

スクロールできます
項目確認内容
入力値検証SQLインジェクションやXSS対策が適切か
認証・認可アクセス制御が正しく実装されているか
データ暗号化機密情報の保存・転送時に暗号化されているか
エラー処理エラーメッセージから機密情報が漏洩しないか
依存ライブラリ既知の脆弱性を含むバージョンを使用していないか

セキュリティレビューも行うようにしましょう。

個人情報や機密情報は入力しない

ChatGPTへの入力内容は、機械学習のためにOpenAIに保存される可能性があります。

したがって企業の機密情報や顧客の個人情報を入力すると、情報漏洩のリスクがあるでしょう。

特にエンジニアは業務上、様々な機密情報にアクセスする立場にあります。

安易に実データや本番環境の情報をChatGPTに入力してしまうと、コンプライアンスや契約違反につながる恐れがあります。

入力を避けるべき情報は以下の通りです。

ChatGPTで入力を避けるべき項目
  • 個人情報:氏名、メールアドレス、電話番号、住所など
  • 認証情報:APIキー、パスワード、アクセストークン
  • 企業の機密情報:未発表のプロダクト情報、ビジネスロジック
  • 顧客データ:実際の取引データ、ログ情報
  • ソースコード:企業固有の実装や設計思想が含まれるコード
Reina

ソースコードも機密情報の1つです!わからないといって丸々載せてしまうことはやめましょう…!

代わりに、以下のような工夫をするとよいです。

ChatGPT入力の代替案
  • サンプルデータやダミーデータに置き換える
  • コードの構造だけを抽出して質問する
  • 一般化した形で問題を説明する など

もし所属企業にChatGPT使用に関するガイドラインがある場合は、必ず遵守するようにしましょう。

まとめ:エンジニアはChatGPTをフル活用していこう!

今回はエンジニアの視点において、ChatGPTの活用方法をお伝えしました。

ChatGPTは、エンジニアの業務効率化に役立つ対話型AIツールです。

要件定義からテストコード作成まで、開発におけるさまざまな工程で活用できるでしょう。

ただし、生成される情報は必ずしも正確ではないため、公式ドキュメントでの検証やコードレビューが不可欠です。

また個人情報や機密情報の入力は避け、セキュリティ面にも十分配慮しながら活用することも重要です。

生成AIを上手く活用して、エンジニア業務の効率化を図っていきましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大学卒業後、新卒で食品の品質管理業務を4年半務める。

2023年3月よりDMM WEBCAMP 就業両立コースにてプログラミング学習開始し、見事未経験からエンジニア転職に成功。

現在は受託企業にてPHPエンジニアとして日々奮闘中。

エンジニアとして働く傍ら、Webライターとしても活動中です。

目次