powered by TechFeed
表示モード
Ask the Professionals

【後編】なぜAI時代に人間がコードを学ぶ意義は「増す」のか──フィンテック・ヘルステックの現場が問う"説明責任"

かつて「速くコードを書くこと」がアイデンティティだったという鹿野壮さん。いまエンジニアの価値はどこにあり、どのように学んでいくべきなのか。自らも放送大学で学び直しを実践する鹿野さんがAI時代のエンジニア像を説く。

「速くコードを書く」ことが自分のアイデンティティだった──。『TypeScriptコードレシピ集』著者でUbieのスタッフプロダクトエンジニア・鹿野壮さんは、AIエージェント時代に価値の置き所がどう変わったかをそう振り返る。後編では、TypeScriptとAIエージェントの相性、AIが書いたコードに対する「説明責任」、そしてAI時代にエンジニアはどう学び成長すべきか──放送大学で学び直す鹿野さん自身の実践まで、技術思想とキャリア観を掘り下げた。(前編はこちらから)


「速く書く」が強みでなくなった日──エンジニアの価値はどこに移ったか

― 鹿野さんは元々TypeScriptやCSSの専門家という印象ですが、その専門領域にAIはどんな変化をもたらしましたか。AIとの付き合い方はどう変わりましたか。

鹿野:今までは、自分が頑張って調べたり、自分の知識の中でコードを書いていました。自分の頭の中からコードを産んでいたんです。でも、AIエージェント前提の時代なので、そうではなく、AIが作ってきたコードを、自分の中のコードと照らし合わせる、という感じになりましたね。

実は私、自分で言うのもなんですが、コードを書くのがまあまあ速かったんですよ。プルリクエストを作る量がものすごく速いということで、会社で表彰されたこともあって。コミット量・プルリクエスト量みたいなところで表彰されたことがあって、それが私の1つのアイデンティティだったんです。

でも、いまはAIエージェントの方が1億倍くらい速いです。速く書くことは、もう正直、強みでも何でもなくなってきて。AIが書いたコードを、速く正確に判断できるかどうか、というところに、今は私の中で価値が移っている感じですね。

TypeScriptはなぜAIエージェントと相性がいいのか

― TypeScriptやCSS界隈──仕様策定やコミュニティといった世界では、AIで何か変化はありましたか。

鹿野:仕様策定のところは、私はちょっと全然理解がないので、答えられないですね(笑)。コミュニティについても、個人的にはあまり変わった感がないんですけど。

ただ、TypeScriptはAIエージェントとすごく相性が良いので、「AIエージェント時代においてもTypeScriptって相性がいいよね」というのはすごく感じます。それで言うと、「AIフレンドリーなTypeScriptやCSSって何だろう」という話は、たまに聞きますね。

たとえば、私は個人的にはTailwind(HTML属性でスタイルを当てるCSSフレームワーク)があまり好きじゃないんですが、AIエージェントとTailwindは結構相性が良くて、作りやすいんですよ。CSSファイルを別にするのではなく、HTMLコードの中にCSSの属性が全部あるので。AIエージェントと相性がいいCSS、という話は結構あると思いますね。

― TypeScriptがエージェントと相性がいいのは、具体的にはどのあたりでしょう。やはり型があることですか。

鹿野:1つはユーザーがすごく多いこと。そして、型があることは、やっぱりすごく強いんです。

JavaScriptは、ランタイムの時にしか初めてエラーを検知できません。でもTypeScriptは、コードを書いた時点で型の不正をチェックできます。なので、人間はもちろんAIも、手戻りの少ないコードを書きやすいんです。求める品質の成果物を作るまでの時間を、圧倒的に短くできるところはあると思います。

型があることで、テストコードを書く時も、型レベルのミスであれば書いている時に気づけたりするので、そういうところでも良い。自己修正もすごくしやすいです。

あと、型情報ってAIに対する仕様書になるんですよね。「この関数はこの型を受け取って、この型を返す関数なんだ」という説明書のようなものなので、そういうところでAIエージェントはすごく相性がいいんです。

どこで見たか忘れたんですが、「TypeScriptは相性がいいよ」とAnthropic公式が言っていた気がするんですよね。ちょっと忘れましたけど。

AIが書くなら、人間がコードを学ぶ意義はどこにあるのか

― AIがコードを書いてくれる時代、『コードレシピ集』のようにレシピを学ぶというより、AIに生成させれば初学者でもそれなりのコードが手に入ります。それでも人間がコードを学ぶ意義はどこにあるとお考えですか。

鹿野:これは、コードを学ぶ意義しかないと思っています。理由はいくつかありますが。

さっきも言ったとおり、AIは常に100%、私たちの望むコードや品質を出してくれるわけではありません。なので、AIが作ってきたものが本当に正しい設計なのかをちゃんと理解してレビューしていくためには、人間がコードのことを理解する頭を持っていないと、やっぱり理解できないんです。

「別に動けばいいじゃん」「よくわからないけど動いてるからいいじゃん」という考え方も確かにあります。一分野であれば、確かにそうかもしれない。

私は、マネーフォワードでフィンテックのようなことをやっていて、今はUbieでヘルステックのようなことをやっています。じゃあ、フィンテックのサービスで、AIに全部ポンと出してもらったコードをそのままリリースして、それを使った人が経済的損失を出した、となった時、あるいは、GitHubの情報流出のようなことが起こった時に──「AIが全部書いていたので、私に責任はありません」って、それはプロダクトの責任者としてあり得ないじゃないですか。

―確かに。

鹿野:ヘルステックなら、なおさらです。使ったサービスでAIが変なことを言って、その言う通りにしたら命を落とした、自殺してしまった、となった時に。「それも結局AIが全部書いたコードなので、私に責任がありません」ということは、許されないわけですよ。

AIは確かにコードを書くんですけど、コードの責任を持つのは、あくまでそのAIに指示を出した人間なので。結局、人間が、作られたコードに対して説明責任を負わなきゃいけないんですよね。なので、その責任を持つためにも、コードを理解するというのは、私はむしろ今まで以上に重要になってくると思っているんです。

AIがどんどん手を動かしてくれるようになったから、今まで自分が行けなかった分野にも進出してくれるようになって、それに対しても理解をしていく必要が出てきました。

もっと具体的に言うと、私も今までデータエンジニアリングが全然わからなくて。dbt(データ変換ツール)やLightdash(BIツール)って何のこっちゃ、という感じだったんですが、AIが色々手を出してくれるようになったおかげで、データ分析の基盤を作るようになりました。でも、そういう時こそ、作られたコードに対してちゃんと理解する必要がますます増えてきた。むしろ今まで以上に、ちゃんと学習しなきゃな、と思っていますね。

AI時代の学び方──「使い倒す」と「学び直す」の両立

― 最後に、AI時代、これからのエンジニアはどう学び成長すればいいと思いますか。技術の専門性とAI活用のバランスも含めて。

鹿野:さっき言ったことと結構重なりますが、AIがポン出しのコードを作ってくれるからといって、それを理解しない、学ぶのをやめる、となったら、正直に言えば「その人はもう別にエンジニアじゃない」と思います。

エンジニアとして、コードやプロダクトや品質に対してちゃんと責任を持っていくためには、今まで以上に、コードの内容や設計思想、意図、何をやろうとしているのかを、しっかり学び続けていくしかないと思っています。

一方で、AIはできるだけ活用した方がいいと思っています。今まで考えられなかったレベルの量や質を生み出せるようになってきているので、いかに今まで以上に、量、そして高品質なものを出せるか。それを研究し続けるためにも、AIはどんどん積極的に使い倒していく必要があると思っているんですよ。多少お金を切ってでも、AIに投資していくと、今後成長していけるんじゃないかなと思っています。

― AIに課金してやった方がいい、と。

鹿野:そんなに課金しまくる必要もないと思いますが、できる範囲でいいと思います。私はちゃんとエンジニアとして勉強したいなと思って、最近、放送大学に入って、情報設計みたいなものをゼロから学んでいるんです。

放送大学に入ると学割が結構効いて、いろんなツールが安くなったりするんですよ。AIのサブスクリプションで安くなるものはあまりないんですけど、安くなるものもあったりするので、そういうのを活用したり。あとは、どの会社でもきっとAIを色々導入しているだろうので、それを使いこなしていく。本当にお金を使いたくないなら、最近ローカルLLMもすごく流行っているので、ああいうのを使ってみたりするのもアリなんじゃないかなと思いますね。

― 鹿野さん自身が放送大学で学んでいるというのは、すごい説得力ですね。

鹿野:もう、生きていけないなと思って。正直言って、本当にそう思います。
(終)


プロフィール
鹿野 壮(かの・たけし) Ubie株式会社 スタッフプロダクトエンジニア。フロントエンドを主軸にしつつ、モバイルアプリ・バックエンドまでフルスタックに開発を手がける。『TypeScriptコードレシピ集』(技術評論社)、『JavaScriptコードレシピ集』の著者。九州大学芸術工学部音響設計学科卒。CSSNite ベストセッション受賞。前職はマネーフォワード(フィンテック領域)。X:@tonkotsuboy_com