ChatGPTがエンジニア業務に与える影響とは?

#エンジニアブログ

 

2022年11月にプロトタイプとして発表されたOpenAI社の生成AI「ChatGPT」は、世界中から大きな注目を集め、瞬く間にITエンジニアにも影響を及ぼしました。

 

ChatGPTがソースコードを生成できることはすでに広く知られていますが、2023年に公開された最新バージョンでは、人が書いた設計図やスケッチを元にコーディングを行えるようになり、今後一層エンジニア業務に活用されることは確定的となったといえます。

 

ここでは、エンジニア業務においてChatGPTにできることや、それによって起こる変化を紹介し、ChatGPTがエンジニアに与える影響について解説します。

 

エンジニア業務においてChatGPTにできること

 

エンジニア業務においてChatGPTはさまざまな活用法があり、現在もその可能性が模索されています。ここでは代表的なものを紹介します。

 

コーディングの自動化・効率化

ChatGPTはプログラミングコードを生成できます。ユーザーが適切なプロンプト(文字による指示のこと)を入力することで、完璧とはいえないまでも、かなり高精度なコードを高速で生成できます。

 

また、ChatGPTが利用しているAIモデル「GPT」を利用しているものに「GitHub Copilot」があります。これは、ソフトウェア開発のためのプラットフォームであるGithubに搭載されたプログラミング支援サービスであり、GPTモデルによるコーディング支援及び、自動でのコーディングが可能となっています。

 

現状は、ChatGPT及びGitHub Copilotにコード生成を完全に任せられる状況とはいえません。そのため、たたき台としてのコードをChatGPTに生成させて、それをエンジニアが仕上げていく方法を取ることが一般的です。

 

ChatGPTは人とは比べ物にならないスピードでコードを生成できるため、ChatGPTが書いたコードをエンジニアが適宜修正しながら仕上げていったとしても、今までよりコーディング作業が高速かつ効率的になることが多くなるでしょう。

 

設計図やスケッチからのコーディング

2023年にリリースされたChatGPTの最新バージョン「GPT-4V」には、画像認識機能が追加されました。この機能を活用すると、Webシステムなどの設計図や作成したいウェブページの手書きスケッチなどを読み込ませるだけで、ChatGPTにコーディングを行わせることができます。

 

設計図やスケッチなどの画像から生成されたコードをベースに、チャットで指示を出して変更を行うことや、機能を追加することも可能です。現在はまだ、ChatGPT任せでサービスやシステム、ウェブサイトなどをつくれる段階にはないものの、エンジニアのコーディングの負担を大幅に減らすための有用なツールとなっています。

 

リファクタリング

ソフトウェアの挙動はそのままに、内部構造を整理する「リファクタリング」もChatGPTで行えます。リファクタリングを行うことで、ソフトウェアの設計が理解しやすくなり、バグも減らせますが、その作業はエンジニアにとっては大きな負担です。

 

リファクタリングをChatGPTに任せることで、エンジニアの負担が減り、リファクタリングの前後での動作が変わっていないこともChatGPTに確認させることができます。必ずしも完璧ではないため、経験のあるエンジニアによる確認が必要にはなりますが、優秀なアシスタントとして大いに活用できるはずです。

 

ソースコードレビュー

ソースコードレビューは、プログラムを構成するソースコードの確認作業です。これにもChatGPTが活用できます。これまでは、チームメンバーの誰かひとり、もしくは複数人がソースコードを確認していましたが、ChatGPTを使えば、ただコードを貼り付けて指示を出すだけで、かなり正確な作業が期待できます。

 

また、他人が書いた古いソースコードの理解にも役立ちます。これまでは人がひとつひとつ解読していく必要があり、時間がかかっていました。しかし、ChatGPTはかなり速いスピードで、どのコードがそれぞれどのような処理をしているのかを示してくれます。

 

エラー原因の特定(デバッグ)

ソフトウェアにエラーが起きたとき、その原因を特定するためのデバッグ作業もChatGPTで可能です。さらに、修正案の提案を指示することもできます。

 

人とは比べ物にならないスピードでデバッグ作業をするので、起きてしまったエラーをすみやかに修正したいときにも最適です。もちろん、ChatGPTの修正提案がベストでないケースもあるかもしれませんが、エラー発生時の心強いアシスタント的存在として大いに活用できるはずです。

 

外国語の文章の翻訳

エンジニアは外国語で書かれた資料に触れる機会の多い職種です。人気のプログラミング言語であれば日本語の資料も充実していますが、新しい言語の場合や、最新の情報を得たい場合は、外国語の資料や海外コミュニティを参考にすることもあるでしょう。

 

そうした外国語の翻訳もChatGPTがしてくれます。直訳的な表現になりがちともいわれていますが、翻訳の精度は他の翻訳ソフトやサービスと同等かそれ以上で、資料の内容を理解するために十分な性能を持ち合わせています。

 

文章の作成支援・修正

エンジニアには文章力も求められます。例えば、要件定義書やチーム内での指示、社内外へのメールなどで日常的に文章を書きますし、難しい専門用語をかみ砕いて伝えなくてはいけないこともあります。

 

しかし、中には文章を苦手とするエンジニアもいるはずです。仮に、文章力が低いことで意味が通じないとなると、チーム内で齟齬(そご)が起こったり、対外的によくない印象を与えたりすることがあります。

 

そんなときもChatGPTが活躍します。書きたい内容をChatGPTに指示し、文章の基本的な構成をつくってもらうことで理路整然とした文章構成となりますし、ChatGPTが生成した文章を手直しするかたちで作成を進めれば、破綻のない読みやすい文章がつくれるはずです。

 

ChatGPT導入で起こり得るエンジニア業務の変化とは

 

 

ChatGPTはエンジニア業務の効率化に貢献するだけでなく、業務そのものにも大きな変化をもたらすと考えられます。ここでは、ChatGPT導入によって起こり得る代表的な変化を紹介します。

 

開発期間を短縮できる

ChatGPTを利用することで、コーディングのスピードアップが見込めます。現状、ChatGPTにすべてを任せることはできませんが、適切な指示を行うことで十分業務に対応可能です。

 

さらに、一定のソースコードレビューやデバッグもChatGPTに任せられるため、ChatGPTなどのAIを活用すればするほど開発期間が短縮される可能性があります。

 

より高度な課題に取り組める

ChatGPTを利用することで、コーディング、デバッグ、ソースコードレビュー、リファクタリングなどにかかるエンジニアの負担が大きく軽減されます。これらの作業に時間がかからなくなることで、より高度な課題に取り組めるようになるでしょう。

 

さらに、事務処理やメールのやりとりなどの簡単なタスクをAIで代替することで、エンジニアがより本質的な作業に集中できる可能性もあります。また、雑務をAIで効率化することで、能力に合った業務に集中して取り組める環境をつくれるかもしれません。

 

そうした働き方がエンジニアにとって一般的になると、より高度な課題へ取り組むことができるようになるため、エンジニア業界全体のレベルアップにも繋がるでしょう。

 

求められるスキルが変化・増加する

エンジニアの業務にChatGPTを導入することで、さまざまな業務が効率化・高速化されます。その一方で、AI技術や機械学習に関する知識も求められるようになるでしょう。

 

ChatGPTの可能性を十二分に引き出すためには、AIへの理解や自然言語処理に関する知識が必要です。ChatGPTは曖昧な指示には曖昧に返すため、特性を理解して指示を行う必要があります。

 

すでに、プロンプトエンジニアという職業が生まれており、中にはChatGPTなどのAIを活用して、これまでチームで行っていた業務をひとりでこなしてしまうエンジニアもいるようです。今後のエンジニアには、多かれ少なかれAIを使いこなせるスキルが求められることは確実といえるでしょう。

 

また、エンジニアに求められるスキルそのものも変化すると考えられます。コーディングの大部分が自動化されると、コーディング能力そのもののウェイトは低くなり、システム全体を適切に設計できる能力や、チーム全体をマネジメントできるスキルが重視されるようになるでしょう。

 

ChatGPT普及による「エンジニア不要論」は本当か

 

ChatGPTにコードの生成が可能であることがわかってから、「エンジニア不要論」が囁かれるようになりました。とくに「GPT-4V」では設計図などの画像からもコーディング可能となったことで、エンジニア不要論がいよいよ真実味を持って語られはじめています。

 

結論から言ってしまえば、今すぐエンジニアが不要になることは考えにくいでしょう。なぜなら、コーディングにしても、デバッグにしても、ChatGPTが完璧である保証がないからです。少なくとも現状は、人が確認して追加や修正を行ってはじめて使えるようになります。

 

とはいえ、ChatGPTを含むAIの進化は早く、AIに書かせたコードを別のAIにチェックさせるなどの方法で、早々にオートメーション化する可能性は否定できません。少なくとも、コーディングに特化した職種は、将来ChatGPTに置き換わる可能性が高いといえるでしょう。

 

まとめ

 

ChatGPTをエンジニア業務に取り入れるかどうかといった議論はすでに終わり、今後はChatGPTを取り入れることを前提として、どのように活用し、いかに可能性を引き出すかがテーマになってきます。

 

それに伴ってエンジニアの働き方や求められるスキルも変化し、ChatGPTに置き換わっていく職種も出てくると考えられます。一方で、AIを使いこなしひとりで多くの仕事をこなすプロンプトエンジニアなど新たな職種が台頭する可能性も高く、今後エンジニアに求められるスキルは今まで以上のスピードで変わっていくはずです。

 

ChatGPTを含むAIの進化は非常に早く、ChatGPTも登場からわずか1年足らずで多くの人と企業に影響を与えました。今後しばらくは、その動向と可能性に注目すべきものと考えられます。

 

関連する記事