【3行要約】
・生成AIによってプログラミングスキルが不要になると言われる一方で、生成AIには「サボる」傾向があり、複雑な処理や全体的な修正に不向きな特性があります。
・フューチャー株式会社の渋川よしき氏は、実際にAIツールを試した結果、シンプルな処理は得意でも、複雑な開発ではまだまだ課題が多いと指摘します。
・プログラマーには生成AIの特性を理解し、その能力を最大限に活用する方法を見つけることが求められています。
サボろうとする生成AIの傾向と対策
渋川よしき氏(以下、渋川):それでは開始していきたいと思います。そうですね。きっと「AI時代にどう生き残るのか」というネタばっかりかなと思ったので、今日は軽い雰囲気の発表にしてみました。AI自体は開発スキル不要と言われていますけども、生成AIはけっこうサボってくるので、その傾向と対策という内容の発表をしたいと思います。
質問は気軽にチャット欄に書いていただければ、宮嵜さんのほうが拾ってくれるはずです。時間がなくて答えられなかった場合も、後日技術ブログでまとめて質問回答をしようと思いますので、お気軽にガンガン書いてください。ハッシュタグは「#技育祭 #ホールA」ということで、Xの投稿もよろしくお願いします。
まず「お前、誰よ?」ということですけれども、フューチャーは3社目ですね。1社目が自動車の本田技術研究所で、2社目がDeNA。3社目がフューチャーで、入ってもう8年、9年目ぐらいですかね。好きな言語はTypeScriptとかGoとかPythonですね。Pythonは大学3年からなので、もう20年ぐらい使っていますかね。
プログラミング以外はインラインスケートを趣味でやっていて、来週、光が丘公園で大会をやるので、もし東京にお住まいでスケートをやっている方がいたらぜひ来てください。ふだんはいろいろ本を書いたりしていまして、最近は会社の同僚と一緒に書いたりしていて、今も3冊ぐらい企画が進行中です。
登壇者の自己紹介
渋川:会社紹介です。細かいことを言ってもあれかなと思うんですけれども、一次受けでお客さんと直接仕事をします。二次受けに丸投げしないで、実装まで全部やると。お客さんの経営を「こういうふうにした方がいいですよ」というビジネスコンサルティングから、システム開発、運用まで全部やりますよという会社です。
いろいろなリクルーティングの活動をやっていますので、もし興味のある方はぜひ参加いただければと思います。では、宮嵜さんよろしくお願いします。
宮嵜拓海氏(以下、宮嵜):本日、渋川さんのサポートで入っています、宮嵜拓海と申します。今年で3年目に入るITコンサルタントです。経歴としましては、2023年に千葉大学の大学院の情報科学系のコースを卒業しまして、2023年の7月にフューチャーに新卒で入社いたしました。
入社してから1、2年目のプロジェクトでは、鉄道会社のICTプラットフォームでGoを使ったバックエンドを中心として、要件定義からリリースまでを経験していました。今のプロジェクトではアーキテクチャを担当していまして、フロントエンドの開発手順の作成だったり、データ変換処理の解析とかを行っています。
(今日は)学生さんがすごく多いと思うので、フューチャー入社の決め手とかも書いているんですけど、私は大学院の修士1年生の時に、インターンのエンジニアキャンプに参加しました。
その時に、社員さんがすごく技術が好きな、「ザ・ギーク」って感じの人が多くて。自分もエンジニア寄りの技術好きなタイプの人間なので、「すごくいい雰囲気の会社だな」というところでフューチャーに入社いたしました。本日はよろしくお願いします。
生成AIにまつわるニュースは本当なのか?
渋川:よろしくお願いします。さっそくですけれども、みなさん、生成AIエージェントを使っていますか? というところです。
前の回の時にみなさん使っていそうなので、もう使っているという前提で話を進めていきたいと思います。生成AIエージェントがリリースされてから、(IT企業の)大量解雇が始まったりとか、プログラマーの仕事の仕方が変わってきますよとか、生産性が上がりますよとか、いろんなニュースが飛び交っていますけれども、「本当かな?」と。
いろいろ言われているけど本当かどうか、実際に使ってみないとわからないなということで、使ってみました。仕事でも「Q-Developer」を使ったり、会社としては「Copilot」とか「Cursor」も使っていいことになっていますけども、個人でもいろんなエージェントを契約したりとかして、いろいろ使っていました。

昔から仕事しながら「こういうコンポーネントあったらいいなあ」と思っているものがありましたが、せっかくなので、以前から作りたかったものをいろいろ実装してみました。いくつかうまくいったものもあったりはしたんですけれども、まだまだうまくいかないところも多いな、というのが使ってみての感想です。
データベースからデータを引っこ抜いてきて、ただJSONで返しますとか、それを画面に出します、みたいなWebアプリケーションの薄いやつとかはどんどん書いてくれます。
生成AIが苦手な作業の例
渋川:実際にコンパイラとかを作られたことがある方はどのぐらいいるのかはわからないですけれども、そういう複雑な、内部ステップ数が多いようなやつを開発しようとすると、まだうまくいきません。たくさん指示を出してあげたりしなきゃいけないなというところですね。
実際に1、2個作ってぜんぜんダメで、ゼロから作り直して、みたいな感じを2、3回やって最終的にはなんとかなったりしました。

例えば最後のステップの修正の時に、実はだいぶ前のところから修正が必要で、そこで作り出したデータを途中のステップに全部渡していかなきゃいけませんよ、みたいな修正があったりすると、なかなか指示が難しいというか、理解してくれません。

それを「直してよ」と言うと、生成AIのエージェントは、最後の部分だけを小手先で直そうとして、前の方でソースコードがパースしてるのに後ろでまた新たにパースしようとしたりとか、無駄なことをいっぱいやってきたりします。

それ以外にも、不得意なケースがたくさんあります。(おそらく外国が作っているものなので)ブラウザで日本語入力のハンドリングのプログラムなどを作らせようとすると、何度指摘してもすぐに巻き戻ってバグを作り出すところがあります。
違う、そっちじゃない…AIの勘違い・言い訳
渋川:ということで今回は、AIがしてきた勘違いや言い訳をいっぱい集めてきたので、紹介しようと思います。

最初に生成AIで作ってみて、ちょっとびっくりしたやつが、「ToDoリストを作って、そのタスクを順番にやってください」みたいなワークフローを作ってから指示するといいよ、ということを導入している方も多いと思うんですけども。
ToDoに「リファクタリング」って書いて、リファクタリングしてよって言ったら、ソースコードのリファクタリングじゃなくて、ToDoリストのリファクタリングを始めて、絵文字がいっぱい入ったキラキラしたToDoリストになったということはありましたね。

それ以外には、ワークフローで「必ずドキュメントを書いてからやってください」とか「ToDoを修正してください」といった指示を書いても無視するとか。
結局ちょこちょこ作業記録を見ては、「ドキュメントの方も直してください」と指示を出す作業が発生します。フューチャーの新卒の人はみんな優秀なのであまりないですけど、新入社員と一緒に仕事しているような感じになってくる感じがしますね。
けっこう雑な仕事を始めたりすると、もうAIに任せないで自分で巻き取ってやったりみたいなこともありました。