はじめに

いつもご愛読ありがとうございます。咲くキャリ情報局です。今回の記事では、「ChatGPT時代を生き抜く!エンジニアに本当に必要な能力とは?」をテーマとして深くみていきたいと思います。

具体的には

1.生成AIとは

2.代表的な生成AI技術

3.生成AI時代においてエンジニアが身につけるべき能力

について見ていきたいと思います。最後までお付き合いいただければ幸いです。

1.生成AIとは

生成AIとは、学習したデータをベースにして、そのパターンや関連性を習得することで、イラスト生成、画像生成、音声生成、テキスト出力、写真のリタッチなどで新しい多様な形式のコンテンツを生み出すことができるサービスです。

従来のAIと比較すると、従来のAIは特定のタスクを実行するものでしたが、生成AIは学習したデータをベースにして、新しいコンテンツを生み出します。

その中でもChatGPTは、特に自然言語という技術に焦点を当てたサービスで、生成AIの一種です。ChatGPTは上述の技術のほかに、翻訳、質疑応答、対話、テキストの読み上げ、コードの作成、表の作成などができます。

開発者はこの様な生成AI技術をうまく活用してルーチン作業を自動化することで、アプリケーション開発のスピードを加速することができます。生成AI技術を正確に理解して、適切なプロンプトを行うことが次世代のコーディング技術だと言えるでしょう。また、あいまいな指示のプロンプトを行った場合、期待した結果を得られないことがあります。ですので、常に新しい技術を習得し、正確なプロンプトができる能力が必要不可欠となってくるでしょう。

参考出典:

AI総合研究所

MiraLAb AI

JITERA

2.代表的な生成AI技術

代表的な「会話型・万能型生成AI」は下記のとおりです。

Gemini

Google社が開発・提供する高機能なAIチャットサービスです。Geminiの大きな特徴は、高度な自然言語処理能力をもつマルチモーダルAI(音声、画像や動画といった様々なデータを組み合わせて理解し、生成できるAIモデル)という点です。具体的には、文章の要約・翻訳、質問への回答やコーディングなどが可能です。

Copilot

Microsoft社のCopilotとは、ChatGPTの技術をもとに作られた生成AIチャットアシスタントのことです。Copilotは、普通のChatGPTとは違い、優れている点があります。それは、Excel、PowerPoint、Wordなどと連携して仕事を効率化できる点です。これにより画像生成、データ分析、ドキュメントの作成や編集、プレゼンテーション資料の作成などが可能になりました。

Claude

ClaudeはAIスタートアップのAnthropic社が開発したチャットボットのことです。

主な特徴としては、ユーザーとの会話が可能になる、膨大な分量の文章を要約できる、複数のファイルの読み込みが可能になる、人間らしい自然な文章生成ができる、生成される応答の信頼性が高い、データの鮮度が比較的高め、多くのプロンプトを同時に扱えるなどがあげられます。

また、Claudeはプログラミングコードの生成も行えるAIです。JavaScript、Java Pythonなどさまざまなプログラミング言語に対応していて、コードの作成能力が高いです。

ChatGPT

米OpenAIが開発した対話型のAIツールです。その機能は文章作成、文章の要約、アイデア出し、翻訳、プログラミングコードの生成など多岐にわたります。また、これらの様々な作業を自動化・効率化することで、業務の品質向上や効率化を図れます。

また、代表的な「コード作成AI」とは下記の4つです。

Google Codey

CodeyとはGoogle社が開発した「PaLM 2(大規模言語モデル)」を基盤とした、コード生成や補完を行う基盤モデルのことです。主な特徴としては、コードの足りない部分を補完する、チャットで会話しつつ並行してコード関連の質問に回答する、自然言語による指示に基づいてコードを生成するなどが挙げられます。

使用可能なプログラミング言語などは、Ruby 、Go、C++、C#、TypeScript 、Java、Scala、JavaScript、Python、Swift、SQL、PHP、Rust、Kotlin、などです。

Amazon CodeWhisperer

Amazon CodeWhispererとはAmazon社の機械学習ベースのコード生成AIサービスのことです。端的に言うならば、機械学習を活用した汎用のコードジェネレーターです。このAIでできることは、コメントや既存のコードを分析して開発者の意図を理解し、コンテキストに基づいて適切なコード候補を生成・提示することです。これにより、多くのエンジニアにコーディングの品質向上と効率化をもたらしてくれます。

使用可能なプログラミング言語などは、TypeScript、JavaScript、PHP、Kotlin、SQL、Scala、Ruby、Python、C#、Java、Shell、Rust、Go、C、C++です。

OpenAI Codex

OpenAI Codexは、OpenAI社のクラウド上で動作する自然言語に対応した自律型のソフトウェア開発エージェント です。ChatGPTと統合されており、ChatGPT内で動作をし、コーディングに関する多様なタスクを自律的に処理します。例えば、複数のタスクを同時に処理する能力を持っているので、バグ修正、レビューのためのプルリクエストの作成・提案、コードベースに対する質問への回答、コードの新機能実装など、様々なタスクを自動化できます。

使用可能なプログラミング言語などは、Python、Swift、Ruby、Shell (Bash)、MATLAB 、C、C++、C#、Java、Kotlin、R 、Go、JavaScript、TypeScript、PHP、Perl、など、多岐にわたる50以上の言語をサポートしています。また、対応しているマークアップ言語はHTML、データベース言語はSQL 、スタイルシート言語はCSSなどがあります。

GitHub Copilot

GitHub Copilotは、MicrosoftとOpenAIが共同開発した、AIによるコーディング支援(コード提案・生成機能)ツールです。具体的にはユーザーが入力したコードやプロンプトをもとに、プログラミング中にリアルタイムで次のコードを提案・補完したり、テストコードの生成、複雑なアルゴリズムの自動生成などをしてくれます。これにより、コーディングの効率化が図れます。1つだけ注意点があります。それは、生成されたコードは必ず正確かどうかのレビューが必要だという点です。この点に気を付ければ、GitHub Copilotの助けを得て開発のスピードが格段に上がります。

使用可能なプログラミング言語などは、Ruby、JavaScript、Kotlin、PHP、Go、Python、TypeScript、Swift、C#、Javaなどです。また、マークアップ言語はHTML、スタイルシート言語はCSSです。

参考出典:

AI総研

SAMURAI ENGINEER Blog

解決!情報局

NECソリューションイノベータ

LIFE HACKER

AI総研

OLの味方+

株式会社BOPコミュニケーションズ

note

ACE Meet

Publickey

AI market

note

MiraLab AI

Zenn

AI総合研究所

Qiita

AIsmiley

Miralab AI

3. 生成AI時代においてエンジニアが身につけるべき能力

・AIと協働する力

AIと人間が協働するには、お互いの役割をはっきりしていくことが重要です。

◎AIの得意分野→「膨大なデータを迅速に処理してパターンを見つけ出す能力」

◎人間の得意分野→「コミュニケーションを通じて真のニーズを理解し、市場価値を創造する能力」、「創造的な問題解決能力」「様々な状況の変化に応じた判断をして、プロジェクトを成功に導く能力」

以上のような役割分担がうまくいけば、プロジェクトにおいて、AIと協働して新しい価値をスピーディに生み出すことができます。

・案件に対する応用的な問題解決力

AIの苦手な分野は、クリエイティブな作業、複雑な課題に対する深い理解、コミュニケーション能力、創造的な企画や問題解決、少ないデータから予測をする能力などです。つまり、AIに奪われない仕事とは、問題解決業務、創造性、深い意味での状況判断、戦略的な思考などです。

・新しいテクノロジーに適応できる柔軟性

AIが進化することで、今まで活用してきた業務プロセスが従来のやり方から変化します。これにより既存のスキルが陳腐化する可能性が出てきます。しかしながら、テクノロジーの進化に対応するために、現状維持にとらわれずに前向きに変化を受け入れることが必要不可欠になってきます。つまり、現状維持ではなく常に新しい技術やツールについて学習していくという柔軟性が求められます。

・コミュニケーション能力と価値創造能力

ITエンジニアに必要なコミュニケーション能力とは、チーム内でのコミュニケーション、顧客とのコミュニケーション、他部門とのコミュニケーションが挙げられます。特に、プロジェクトは複数のチームで進行することが多いため、コミュニケーション不足はプロジェクトの失敗に直結してしまう可能性があります。

また、価値創造能力も求められます。これはすなわち、チームやクライアントとの対話を通じて価値を作る力のことをさします。例えば、プロジェクトに対して「どんなアーキテクチャ(システム全体の設計や構造)が最適か?」などの質問に答えられる能力は、これからの時代には必要不可欠になります。

・自然言語処理(NLP)

自然言語処理(NLP:Natural Language Processing)とは、AIが、人が日常的に使う言語(=自然言語)を解析・理解をして、データ化し活用していく技術です。すなわち、AIが自然言語の曖昧さを克服するために、感情や言葉の意味や文脈などを理解しようとする技術です。つまりこの自然言語処理は、インターネット上にあるデータや、またはプロンプトされた言葉を、活用できるデータへ変換できる技術基盤のことを指します。

・機械学習とディープラーニング

機械学習とは、人間が機械に指示を与え、それに基づき大量のデータから学習をし、規則性やパターンなどを発見・判断・分析する学習技術のことです。この機械学習では予測分析、自然言語処理、画像認識など様々な分野で活用されています。

一方、ディープラーニング(深層学習)とは、人間の脳の神経回路を模した多層のニューラルネットワークを用いた技術をベースとしています。これにより、人間の認識過程とよく似た過程を踏んで、大量のデータから自動的に特徴を抽出し学習することが可能となっています。ちなみに、ディープラーニングは機械学習の一種です。

・「AI時代の新しいエンジニア」になる

AI時代の新しいエンジニア像は、コードを書く記述よりも、「AIによって作られたコードをどう判断するか」、「AIにどう指示を伝えるか」という新しいスキルが必要になってきます。すなわち、コードの問題点を発見し、適切な仕様を生み出す能力が求められています。また、AIがまだ苦手とするUI/UXを設計する能力にも需要があります。つまり「人間とAIが協働する」というパラダイムシフト(paradigm shift)(その時代や分野において当然のことと考えられていた認識や思想、社会全体の価値観などが、革命的に、もしくは劇的に変化すること※1)が起きているのです。

参考出典:

deha magazine

note

GPT MASTER

JTSジェイテックサービス

SHIFT AI TIMES

中小企業AI活用協会研究サイト

※1はWikipediaから引用

ITトレンド

Ggen

株式会社日立ソリューションズ・クリエイト

エンジニアのススメ

ITkagyo

AI Future

バンソウDX

note

まとめ

この記事では、

1.生成AIとは

2.代表的な生成AI技術

3.生成AI時代においてエンジニアが身につけるべき能力

を具体的に見てきました。

ChatGPTをはじめとした生成AI技術は効果的に活用し、共動すれば、従来よりも何倍も速くコーディングを仕上げることができます。常に生成AIなどの新しいスキルを学び続ける習慣を身につければ、応用力が付き、生成AIを使う側になることができます。そうです。AIはエンジニアから仕事を奪う存在ではなく、協動する存在なのです。今回も最後までお読みいただき本当にありがとうございました。