見出し画像

エンジニアが考える生成AIとの付き合い方

こんにちは。アシアル広報チームです。

今回は、社内のエンジニアに生成AIの活用を推進してくれている又川と、自社プロダクトMonacaのプロダクトマネージャーの渡辺が、生成AIとエンジニアの付き合い方について、自身の経験と考えを語ってくれましたのでご紹介いたします。


有能な生成AIは使い方が鍵

日頃の業務で生成AIをどのように活用していますか?

又川 私はChatGPTとGitHub Copilotを使っています。ChatGPTは、特定の文脈によらない、ざっくばらんな質問をするために使っている感じで、GitHub Copilotは、担当しているプロジェクトのコードを自動で書いてもらうのに使っています。人によると思うんですけど、私の場合はChatGPTとGitHub Copilotを両方使う方が使いやすいです。GitHub Copilotはコードを書くことに特化されていて、それ以外についてはあまり得意ではないようなんです。いま作っているプログラムの文脈に影響を受けすぎたり、もっと一般的な話ができなかったりする傾向がありますので、いま担当してる案件とは別視点で質問したい時はChatGPTを使っています。

渡辺 僕もほとんど同じですね。あとはGitHub Copilotと似ているんですけどCursorを使っています。大きな違いはそんなにないので、なんでそっち使ってるのっていうのはちょっとあるんですけど、一回使い慣れちゃってたからただ使ってるっていう側面が大きいのと、ちょっと細かい話なんですけどもプロジェクトでPHPを書くことがあるのですが、PhpStormではGitHub Copilotがまだ全機能使えないのでCursorを使っています(編集注:現在ではPhpStormでもCopilot Chatに対応し、以前よりもサポート範囲が充実しています)。あとは、カスタマーサポート対応でお客様から受けた質問に対して回答内容が網羅されているか、俯瞰的なチェックとして活用しています。時には雛形を用意して報告レポートを簡易的に作成してもらうこともあります。

業務での成功事例と失敗事例を教えてください。

又川 私がプログラミングに本格的に生成AIを使い始めたのが2023年の3月頃なのですが、今まで自分が頭をひねって書いていたものを文章の指示だけでパッと生成できて、手書きで書くよりも圧倒的に時間を削減できたというのが最初に感じた成功事例です。失敗事例としては、生成AIで作られたコードが複雑になりすぎ、結果的に後から手で修正することに大変な労力がかかってしまったことがありました。最初から自分の手で書いた方が良いというケースもあるので、見極めが重要ですね。

渡辺 どのぐらいの粒度で生成AIに任せればいいのかっていうのがわかってきた感じですか?

又川 そうですね。粒度の感覚は時間を経てついてきていると思います。ChatGPTの場合は、質問や依頼を毎回いちから書く必要があるんですけど、GitHub Copilotはプログラムのファイルを開いた状態で、該当箇所のコードを選択して質問や修正依頼ができるので、そういう意味でもGitHub Copilotを導入してからは粒度の調整もやりやすくなったと思います。

渡辺 又川さんの言う通り、GitHub Copilotの方が文脈というかプロジェクト全体をAIが把握してくれるので、そのプロジェクトの中でより欲しい回答をもらえる気がします。これはChatGPTもなのですが、プログラムってトレードオフの関係が結構あると思っていて、Aを改善しようとするとBが悪化したり、その逆もあったりします。生成AIは何が悪化したとか、トレードオフの観点までは教えてくれないんですよ。例えば僕がもっときれいなコード書いてとか言うと、これはきれいにはなったけど、きっと違う何かが欠けてしまったかもしれないです。僕がそれを読み解かないと、何が欠けたかがわからない。どんどん「きれい度」は上がるんだけど、他の何かがどんどん下がっていくみたいな。ここがまだ可視化されてないのが、いつも生成AIを使っていて不安というか、疑心暗鬼になるというか…。指示してる人間の方がトレードオフまで見えないと漏れてしまうことも多いなって、自分として課題に感じています。

又川 私も同じように思っていて、コードをきれいにして欲しい気持ちと保守性などきれいさ以外の部分、やはり生成AIにそこら辺はちゃんと言葉で明確に指示しないと調整は上手くやってくれないっていうのが現状なんだと私も思っていますね。きれいにしてくださいっていうと生成AIは容赦なくやるので、人間の感覚とは思えないようなきれいさにしちゃいますね。

生成AIを使いこなすために、どのようなスキルが必要ですか?

渡辺 生成AIへの依頼内容を考えないと、リファクタリングしてとかばかりになっちゃうので、それだけで生成AIを活用している気になってしまう罠にはまるというか…。なので、僕はなるべく自分では気づいてない所を見つけるために、相談のように生成AIに聞くっていうのは意識しています。プロジェクトの要件とか自分がやりたい方向性があると思うので、そこを踏まえて質問するっていうのが大切かもしれないです。

又川 私は別方向でちょっと考えを持ってまして、生成AIが出した回答を素早く読む力が重要になるなって思っています。生成AIが答えてくれた内容をパッと見で素早く理解することができないと、そこで時間がかかっちゃうので、回答を早く正確に読む能力が、生成AIを使いこなすにあたっては重要になってくるなと、この1年で感じましたね。

渡辺 結局は生成AIのボトルネックは指示者というか質問者なんで、上手く使いこなすためには自分がレベルアップする必要がありますよね。自分自身、その分野に関する領域がレベルアップしないと、生成AIから凄い回答が返ってきても、自分が理解できずに終わっちゃうと思います。

何かしらの変化を必須とするインパクト

プログラミングを主とするエンジニアの価値は低下すると思いますか?

渡辺 簡単な実装をするだけだと、多分ほとんどAIに頼ってできる可能性が高いと思うんですよね。小規模のシェルスクリプトやGitHub Actionsで何か作るとかであれば、一から全部調べてやるよりもAIに頼んでできたものを確認してテストした方が早く終わると思います。エンジニアの価値が下がるというよりは、早いアウトプットを結構求められるようにはなるのではないでしょうか。

又川 そうですね。AIを使ってもっと5倍とか10倍ぐらいのコード書いてねっていう風に言われるようになるかもしれないですね。私も価値が下がるというよりは、同じ価値に対して要求されるアウトプットの量が増えるかもしれないとは思っております。

渡辺 周りが変化してるのに、自分がやってることは同じだと価値は下がってしまいますよね。周りの変化に合わせて作るアプリケーションもAIが導入されてるものが出たりと進化していると思うので、それをキャッチアップしていくことによって自身の価値は維持はされるとは思います。

又川 私自身は20年後とか30年後には、価値がゼロになると思って動いてます。人間ができることはAIにもできるようになり、AIを使う方がコスト的に安いのであれば、AIを選択するケースがほとんどになると思います。それに対して、AIを活用しながらアウトプットを5倍とか10倍にするとか、何かしら対処ができるエンジニアは生き残れると思います。ちょっと悲観的な考えですけど、それぐらいの危機感を持って今後の準備をしています。

生成AIでエンジニアのキャリアパスの選択肢は広がりますか?

又川 選択肢が広がるというよりは、今までとは違うキャリアパスを選ばないといけなくなるという風に私は考えています。今までだったらコードを書いていたかったら、プログラマーやアプリケーションエンジニアをやって、コードを書くことにこだわりがなかったらプロダクトマネージャーをやってという選択肢があったと思いますが、これからはコードを書いていたいという選択肢を選びづらくなるんじゃないかという風に私は思っています。

渡辺 生成AIの登場で他の選択肢にチャレンジしやすい環境になったと思いますか?

又川 ちょっと悩みますけども、一応チャレンジしやすくなるとは思います。ただ、どちらかというとそういう状況になったので、チャレンジしないわけにはいかないという印象です。

渡辺 僕はどんなに新しい技術が出てきても、今までのビジネスが急には無くならないと思いますし、COBOLも息が長いように既存ビジネスが成り立っている部分の需要は0にはならないと思います。ただ、今回のようにChatGPTやAIを使った新しい市場ができてくると、徐々にそっちがメインストリームになるのかなと。たとえば、テスターの人たちも、AIが作ったものをテストするAIテスターとかAI QAエンジニアとかっていうのができてくるイメージがあって、そういう変化はまだ入り口に立ったかどうかくらいの状況じゃないかと感じています。なので、選択肢が無くなるというよりは、新しいものを増やして、その時代のメインストリームに移っていくことを目指したいですね。

又川 新しい職種がたくさん出てきたり、すでに出始めているっていうのは私も思います。キャリアパスとしては、今あるものの一部が減るか縮小するかして、もう一方で新しいキャリアパスが生まれてそっちに行く人が増えるかもしれないですね。

生成AIと上手な付き合い方を目指す

アシアルでは生成AIの活用に積極的ですが、率直にどう思いますか?

渡辺 アシアルは早くから生成AIの利用環境を整えてくれているので凄くありがたいです。今後もっと劇的に使っていく形になっていくのかなと思っています。今はまだ変化が激しいので試しながらの活用が多いですが、指示書やテンプレートなど、そういう所までAIを使いましょうとかっていうのが出てくる気はしています。生成AIに任せて、自分でコードを書かなくていい所は書かないという感じになっていくのかなと思っています。

又川 私も基本的にはポジティブに感じていました。ただ、生成AIの活用を推進する立場として、最新技術を導入すると何が起こるか分からない部分があるので、当時はとにかく早くキャッチアップしないといけないっていう気持ちでいっぱいでした。結果的に、早めに積極的に社内で活用を推進できて、多くのメンバーが使うようになってくれたのは良かったと考えています。

トレーニングやセキュリティ面の整備はどうしていますか?

又川 これはアシアルのAI活用チームとしての立場からご説明しますけども、ChatGPTが出たのは2022年の11月頃、さらにChatGPTが強化されるタイミングになったGPT-4が出たのは2023年の3月でした。3月時点でどうやって整備するかっていうのはまだ分からないという状態だったんですね。その時は検索しても社内研修の情報も出てこない感じだったので、トレーニングを自社内で独自に考えました。結果として、2023年7月に全社のエンジニア向けに研修を実施し、12月にもGitHub Copilot研修を行いました。

セキュリティ面に関しては、アシアルではセキュリティチームがあるので、そこのメンバーと連携しています。初期の頃は一般的な生成AIのガイドラインをメンバーに周知させるなどの応急的な対応を行っていましたね。本格的なセキュリティ整備はAI活用チームができた2023年の6月以降から進んでいきました。実験のために、生成AIサービスに情報を送信したいんだけども、送ったデータが学習に使われないことを確認しつつ、サービスのセキュリティレベルも確認したので使わせていただけないかっていう相談を綿密にしていました。

それからしばらく経って、こういう場合は送っていいですよとか、段々サービスごとにルールが整備され始めた感じです。特にセキュリティに関しては、社内での利用というセキュリティもあるんですけど、お客様とのプロジェクトで生成AIを利用する際のセキュリティをどうするかっていう部分、 契約レベルでのセキュリティの 整備っていうのを2023年の後半あたりは進めていました。という感じで、2023年はちょっと激動の年でしたが基盤が整えられたっていう印象です。

生成AIで業務が効率化された場合、新たに提供したい価値はありますか?

渡辺 僕が担当しているのは自社プロダクトのMonacaなので、効率化された時間は開発とは別になるのですが、プロダクトのマーケティングやプロモーションに時間を割きたいというか、今年はそちらに重きがあるかなと考えています。

又川 私はお客様やユーザーに寄り添ってビジネスレベルでアプリの機能とかを考えたいです。今までは、プログラミングで手一杯だったので、あまりアプリ自体のあり方とか、お客様やユーザーから見た時にどうなのかとかを考える余裕があまりなくて、プロジェクトマネージャーや営業の人に一任するような形になっていたんですけども、今までで言ったら要件定義とかそういった部分に相当していた部分を、もうちょっとより自分でも評価できるんじゃないかなと思っております。

最後に、これから生成AIを活用していこうと考えているエンジニアへメッセージをください。

又川 アシアルは会社としてはAIへのキャッチアップっていうのはかなり深刻な課題って捉えています。生成AIを活用できるスキルっていうのは、社内エンジニアのほぼ全員が持っていて欲しいっていう感じなので、まだ使っていない人に対しては「便利だから使ってみて」というよりは、「今すぐに使ってください」という感じですね。ちょっと言葉選びが難しいんですけども、使ってないとやばいですよとまでは言いたくないんですけど、私としてはそう感じてます。

渡辺 生成AIを利用して効率化できることが増えていくと、より本質的に考えなきゃいけない所にもっと時間を割けるようになると思います。生成AIを活用して本質的な課題に取り組んでいけたら、自分自身の可能性も広がっていくのではないかと感じています。


この記事が参加している募集

テクノロジーで人や社会の「できること」を広げる仲間を募集しています。 カジュアル面談で情報交換からはじめませんか?