(追記)この記事は 2023 年の記事のため、相当古い情報です。 今や AI 戦国時代と言わんばかりに、さまざまなサービス、情報があるので適宜知識のアップデートをお願いします。
AI カテゴリの記事もご覧ください。 なお、管理人は Claude 推しです。

今世間を賑わせている ChatGPT は、開発に携わる方なら耳にしたことは多いのではないでしょうか。
本記事では、ChatGPT を利用して開発の生産性を上げる方法を模索します。
ChatGPTとは
私の言葉で紹介しても良いのですが、ここはせっかくなのでChatGPT自身に自己紹介してもらいましょう。
ChatGPTについて紹介する質問文①
ChatGPTについて誰もがすぐわかる平易な言葉で、自己紹介の形式で教えてください。
ChatGPTについて紹介する質問文の回答①
以下はChatGPTが自動生成した回答です。内容に誤りがある可能性がある点はご了承ください。
こんにちは、私はChatGPTと呼ばれるAIアシスタントです。私はOpenAIによって訓練された大規模な自然言語処理モデルです。私の目的は、人々が抱えるさまざまな質問や問題に回答したり、解決策を提供したりすることです。私は、数多くのトピックについて知識を持っています。医学や歴史、科学、文化、ビジネス、技術など、多岐に渡る分野についてお話しすることができます。何か質問やお悩みがあれば、お気軽にお尋ねください。
ChatGPTの回答

ChatGPTについて紹介する質問文②
IT業界のエンジニアに対して、ChatGPTについて詳しく紹介してください。
ChatGPTについて紹介する質問文の回答②
以下はChatGPTが自動生成した回答です。内容に誤りがある可能性がある点はご了承ください。
ChatGPTは、自然言語処理における最新の技術である深層学習を用いた、大規模な言語モデルです。このモデルは、OpenAIが開発したものであり、膨大なデータを学習することで、人間と同様に自然言語を理解し、応答することができます。
ChatGPTは、様々なトピックに関する質問や、言語処理を必要とするタスクに対して、高い精度で応答することができます。例えば、医療や金融、自然言語処理の研究など、多くの分野で利用されています。また、ChatGPTは、チャットボットや音声アシスタント、自動翻訳ツールなどのアプリケーションにも活用されています。
IT業界においても、ChatGPTは有用なツールとして活用されています。エンジニアが開発するアプリケーションに、自然な対話機能を追加することができます。また、ChatGPTを利用することで、顧客サポートやテクニカルサポートなどの業務において、自動応答システムを導入することができます。
ChatGPTは、高い精度と柔軟性を備えた自然言語処理モデルであり、IT業界においても、その有用性が認められています。
ChatGPTの回答

このように、質問文を工夫してみるだけで、全然違う答えが返ってきます。
それにしても、一昔前のチャットボット とは一線を画すような精度ですね。
ChatGPTを使って生産性を上げる
前の章で、ChatGPTが想像以上に正確でこなれた回答を返してくれる、非常に精度の高いAIだと分かりますよね。
ChatGPTをただのチャットボットだけでなく、実際に業務に取り入れることもできそうです。
例えば、プログラムの雛形を生成することもできます。
本ブログではSalesforceについて多く紹介してきていますので、せっかくなのでSalesforceのコードを書いてもらいましょう。
コード生成の質問文
Salesforce の Apex で Account に対するバッチ処理のサンプルコードを書いて
コード生成の質問文に対する回答
以下は、SalesforceのApexでAccountに対するバッチ処理を実行するサンプルコードです。このコードでは、Accountの全てのレコードに対して、フィールドを更新する処理を行います。
global class AccountBatchUpdate implements Database.Batchable<sObject> { global Database.QueryLocator start(Database.BatchableContext bc) { return Database.getQueryLocator([SELECT Id, Name, Industry FROM Account]); } global void execute(Database.BatchableContext bc, List<sObject> scope) { List<Account> accts = (List<Account>)scope; for (Account a : accts) { a.Industry = 'Technology'; } update accts; } global void finish(Database.BatchableContext bc) { System.debug('Account batch update completed.'); } }
このコードでは、Apexの
Database.Batchable
インターフェースを実装しています。このインターフェースを実装することで、Apexでバッチ処理を簡単に実装することができます。
start
メソッドでは、バッチ処理の対象となるAccountレコードを取得するためのSOQLクエリを定義しています。この例では、全てのAccountレコードを取得しています。
execute
メソッドでは、バッチ処理を実行するためのコードを記述しています。この例では、全てのAccountレコードのIndustryフィールドを「Technology」に更新しています。更新したレコードは、update
キーワードを使用して一括で保存しています。
finish
メソッドでは、バッチ処理が完了した際に実行されるコードを定義しています。この例では、ログにメッセージを出力しています。このように、SalesforceのApexを使用することで、簡単にバッチ処理を実装することができます。
ChatGPTの回答

ChatGPTとの付き合い方を考える
回答を鵜呑みにしてはいけない
私は最初、話題になっている時にここまですごいとは思ってもいませんでした。
しかし、ここまでの幾つかの回答例を見るだけでも世界が変わりそうな技術だと思いますよね。
ただし、何でもかんでも鵜呑みにするのは危険だと思っています。
ChatGPTはあくまで、自然言語処理の学習データに従って、評価値の高い言葉を繋いでいるにすぎません。(その精度が高すぎですごいのですが。。)
正確な情報もあれば、嘘でもそれらしく、あたかも真実のように伝えてきます。
そのため、回答内容が正しいのか?ということは常に意識しつつ利用することが大切です。
回答の正しさを判断できる分野では心強いパートナーに

一方、自分が詳しい分野であれば、返ってきた答えが正しいかどうかを判断しやすいですよね。
先ほどのようにプログラミングコードであれば、少し読んでみたり、検証環境で実行してみたりしてその確からしさを判断できます。
それであれば、業務色を抜いた状態でサンプルコードを生成して、自分で追加実装するだけでも生産性って段違いだと思いませんか?
使い方次第ではもっと高度なこともできそうですね。
ChatGPTはOpenAIのページから無料でサインアップできます。是非利用してみてください。
おわりに
今回は、流行りのChatGPTについての紹介と、仕事での活用についての記事でした。
今後も様々な分野で取り入れられていくでしょうし、目が離せない技術です。
最後までお読みくださり、ありがとうございました。
コメント