お知らせ フロントエンド バックエンド インフラ 品質保証 セキュリティ 製品 興味・関心 その他

2025.03.27

お知らせ

生成AIの役割とエンジニアとしての付き合い方

きっかけ

昨今、ChatGPTをはじめとする生成AIは、人がプログラミングを行い、サービス等を作成する上で、現在も不可欠になりつつあり、今後もAI市場は拡大していくと見込まれています。そして私自身、エンジニアとしてAIとの付き合い方を考えていく必要があると感じたことがこの記事を作成するきっかけです。

多種多様なAIが登場してくる中で、それぞれの特徴や役割を整理し、エンジニアとして、サービス作成、保守、運用の中でどの部分をAIに分業し(分業しない選択も踏まえて)、人が担う部分はどの部分になるのかを考えたいと思いました。

今回は、現在利用可能なAIの種類と特徴をいくつか記載し、役割を考えていきます。

生成AIの種類と特徴

ChatGPT

2022年に登場したChatGPTは、当時大変な話題となり、現在でもエンジニアをはじめ、様々な人が日常でも使用することがある生成AIです。

概要: OpenAIが開発したAIチャットボットで、高い言語生成能力と多言語対応が特徴。 ​
特徴:

  • テキスト、画像、音声、ビデオなど多様なデータに対応。
  • 多言語対応で、さまざまな言語でのコミュニケーションが可能。​
  • プログラミングコードの生成やデバッグ支援など、エンジニア向けの機能も充実。

2024年には発表されたo1モデルやo3モデルといった推論やSTEM機能に強みをもったモデルも利用可能になりました。

コスト効率の高い推論モデルである OpenAI o1-mini をリリースします。o1-mini は STEM、特に数学とコーディングに優れており、 AIME や Codeforces などの評価ベンチマークでOpenAI o1のパフォーマンスにほぼ匹敵します。

私たちは、推論シリーズの中で最新かつ最もコスト効率の高いモデルである OpenAI o3‑mini をリリースします。これは、ChatGPT と API の両方で今日から利用できます。2024年12 月にプレビューされるこの強力で高速なモデルは、OpenAI o1‑mini の低コストと低レイテンシを維持しながら、科学、数学、コーディングに特に優れた STEM 機能を提供し、小規模モデルが達成できる限界を押し上げます。

引用元:

  • https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/
  • https://openai.com/index/openai-o3-mini/

GitHub Copilot

概要: GitHubが提供するAI(人工知能)によるコーディング支援ツール

特徴:

  • IDE で入力したコード候補を取得する
  • コードに関するヘルプを求めて Copilot とチャットする
  • コマンド ラインを使用して Copilot にヘルプを依頼する
  • pull request(Copilot Enterprise のみ) の変更の説明を生成する

引用元: https://docs.github.com/ja/copilot/about-github-copilot/what-is-github-copilot?utm_source=chatgpt.com#copilot-%E6%A9%9F%E8%83%BD

GitHub Copilotは、予測してコードを提案してくれるという点や文章で記述できるという点がコーディングする際に利便性が高いと感じました。

例えば、 Visual Studio Code を使用しPythonの

# 配列のすべての要素を2倍にする関数
def double_elements(arr):

という記述に対して、Copilotが

 return [x * 2 for x in arr]

という提案をすることも可能なようです。

参照元: https://docs.github.com/ja/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot

Tabnine

概要: Codotaが開発したAIベースのコード補完ツールで、20以上のプログラミング言語に対応

特徴:

  • Claude 3.5 Sonnet、GPT-4o、Command R+、Codestral などのLLM をサポート
  • コードとパターンに基づいたコンテキスト認識の提案
  • Tabnine Protected 2モデルは、許可されたライセンスのコードでのみトレーニング

参照元: https://www.tabnine.com/ai-code-assistant/

Devin

概要: 米国のAIスタートアップCognitionが2024年3月に発表した自律型AIソフトウェアエンジニア

特徴(強み):

  • バックログに溜まってしまう前に、多くの小さなタスクを並行して取り組む
  • コードの移行、リファクタリング、モダナイゼーション
  • 一般的な反復的なエンジニアリングタスク

引用元: https://docs.devin.ai/get-started/devin-intro

上記特徴に加えて同ページでは、「ドキュメント内の最も成功したワークフロー」として以下の事が紹介されています。

  • 同僚と話し合っているバグに関するSlackスレッドでDevinをタグ付けする
  • より複雑なタスクを Web アプリケーション経由で委任し、適切な最初のドラフトが完成したらDevinのIDEで引き継ぎます。
  • IDEでタスクを委任してコンテキストの切り替えを省く
  • 一日の始まりにToDoリストからタスクを切り出し、レビューを待つドラフト PR に戻ります。

GitHubとSlackを使用しながら、利用を行うようでした。

プロンプトを入力することでプロジェクト開始からユニットテストの作成などを行うことも可能のようです。

上記以外にも、今回ご紹介できませんでしたが、Cursor,Kite, Geminiなど様々な生成AIが現在台頭しています。

エンジニアとしての生成AIとの付き合い方

こちらは、様々な意見があり、私自身もまだ距離感を測りかねています。

今後、生成AIの開発はさらに進化することが予想されています。プログラミングだけでなく様々な事がAIに代替されると考えられています。

その中で、職業としてのエンジニアの立ち位置や役割がどのように変化していくか、自身がどのような役割を果たしたいのかなど、自身の考えを確立したいと思います。

おわりに

今回、記事執筆にあたり各サービスのドキュメントを確認し、使用方法や特徴、他サービスとの相違点を調べましたが、かなり情報量がありました。今後使用する、しないに関わらず、市場が拡大し、サービスも拡大、成長することが予想されるため、常にキャッチアップする必要があると感じました。

今後、エンジニアとしての役割や求められる力が変化する可能性がありますが、現時点ではプログラミングに対する自身のスキルや知識を獲得することが身近で最も必要なことだとも感じました。

2023年11月入社の新谷です!新人、という年齢ではありませんが、新人らしくバリバリやっていきたいです!