エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

AI時代、どう学ぶか

【Unit7 ブログリレー5日目】

Unit7のrikutoこと佐藤(@riku929hr)です。 2025年5月に入社したばかりの新参者ですが、気がつけば4ヶ月が経過しました。 今はGo言語を利用したアンケートシステムの開発に取り組んでおり、日々キャッチアップしながら刺激的な毎日を過ごしています。

入社、そしてAIエージェント到来

僕が入社すると同時期に、Claude CodeなどのAIが自律してコードを書く技術・ツールが次々に登場し、直接手を動かしてコードを書く機会が少なくなりました。 そして、最近身近でよく話題になりますが、AIを活用しながら学ぶことの難しさを感じています。

一例を上げると次のような感じです。

Claude Codeに指示を出してコードを書く
↓
書いたコードを見て、調べたり聞いたりしながら理解する
↓
コードレビューを経てマージされる
↓
(マージ後)
…あれ?ほとんどClaude Codeがコード書いてるやん…なんとなくしか理解できていないような…(不安)

僕は入社してからGo言語を学び始めたのですが、上記のような難しさを感じることが何度かありました。 このブログでは、そんな僕が感じたAI時代の学びの難しさについて、自分なりに考えてみようと思います。

AI時代の学びの難しさ

AI時代の学びの難しさがどこにあるのか考えてみると、大きく2つの要因があると考えました。

1つは、これまで必要とされてきたスキルに加えて、AIを活用するスキルが必要になったこと。 単純に覚えることが一つ増えたというわけではなく、トレンドの変化が激しくキャッチアップし続ける必要があり、大変だなと感じています。

そしてもう1つは、AIを活用しながら新しいことを学ぶことの難しさです。 AIがコードを書いてくれるからといって理解が不要になったわけではないので、AIを活用しつつ学ばなければなりません。 これについて詳しく考えていきます。

手を動かすこと、理解すること

これまでの僕は「手を動かした後に理解が来る」という考え方をしていました。 はじめから全て理解しようとするのではなく、プログラミング言語であれば、ある程度書いた後に徐々に理解が進んでいく、という考え方です。

Rustの練習帳』という本の「まえがき」には、これと似たようなこと書かれており、自分以外にもこのような考え方をする人は一定いるのではないかと思っています。

筆者はJavaScriptを学ぶために、大きくて厚い本を買って隅々まで読みました。(中略)しかし、その本を読み終えても、JavaScriptを書けるようにはなりませんでした。そのとき初めて、プログラムを書いて知識を応用しない限り、学びが少ないことに気がついたのです。(中略)筆者の場合、学んでいる言語で○×ゲームのような既知のプログラムを書き直すのが学習に効果的でした。(『Rustの練習帳』「まえがき」より引用)

これまでの僕は、自分でコードを書き、わからなければ調べたり、質問や議論したりし、またコードを書くことで実践による学びを得てきました。 しかしAIがコードを書く時代、この「自分でコードを書く」という機会が大幅に減ったことで、これまで得られてきた学びの機会がなくなったのでは?と感じ不安になるのではないかと思います。

だからといって、自分の学習機会を増やすためにAIを使わないというのもどこか違う気がするし…というある種のジレンマを感じています。

学び方はたくさんある

よく考えてみれば、AIが登場する以前は手を動かすのは人間しかいなかったわけです。 したがって特に意識しなくても、手を動かすことによる学びの機会がそれなりにあり、効果が大きかったのかもしれません。 しかし、AIを活用しながら新たに学ぶことを考えると、直接手を動かす以外の学ぶ方法を考える必要がありそうです。

「キャッチアップ速度が速い #とは」という資料では、学び方について4つの分類が紹介されていました。

自分で考えて学ぶ 他人の考えから学ぶ
自分の経験から学ぶ 反省型
例:自分でコードを書く
指導型
例:ペアプロ
他人の経験から学ぶ 観察型
例:他の人の作業を見る
学問型
例:学術文献を読む

「キャッチアップ速度が速い #とは」p4-5より改変

上記で言えば、直接手を動かすことは「反省型」にあたり、僕はこの学び方に重きをおいてきたことになります。 もちろん、他の学び方をやってこなかったわけではありませんが、これからは学びの機会をより強く意識し、学び方を増やすことが必要だろうと思っています。 簡単なところでは、AIが出したコードの妥当性を考えたり、レビューに積極的に参加したり、ペアプロやモブプロを活用することなどがあるでしょう。

特にオンボーディングにおいて、ペアプロはフルに活用させていただき、僕自身のキャッチアップにとても役立ちました。AIがコードを書いてくれるとはいえ、プログラミング言語に関する知識のみならずドメイン知識のキャッチアップにもなり、とても助かったなと感じています。また、他の人がどのようにAIを活用しているのかを聞いてみても、とても学びになりました。

重要だと考えているのは、ただ作業するのではなく学びの機会を意識して取り組むことです。 上記の例以外にも、学びの機会はたくさんあり、自分で作り出すこともできます。 レビューへの積極的な参加などまだまだできていないことは多いですが、少しずつ学び方の引き出しを増やしていきたいです。

手を動かすのも楽しい

AIをバリバリ活用してものづくりをするのはもちろん楽しいですが、たまには泥臭くコードを書くのも楽しいです。 僕は今、個人でnand2tetrisというCSの学習プロジェクトに取り組んでいますが、ほとんどAIを使わず実装しています(これもいつかブログにできれば)。

AIがコードを書く時代、常にコードレビューをやっているような感覚に苛まれますが、自分でコードを書いて動くものができる喜びが気持ちよく、なんだかんだ続けています。 たまにはAIを使わず何かをやってみるのも、個人的にはおすすめです。

楽しもう!!!

このブログではAIによって直接手を動かす機会が減ることについて言及しましたが、AIは学ぶうえで強力なツールであることは間違いありません。 これまで自力で解決できなかった疑問がチャットで簡単に解決できるようになったり、Claude CodeのLearning Modeのように、エージェントがペアプロのようなことをしてくれるものもあります。

「努力するものは楽しむものに勝てない」という言葉があるように、何より楽しむことが一番なんじゃないかと思います。 何がともあれ、AIとともに楽しく学んでいきたいと思います!

We are hiring!!

エムスリーエンジニアリンググループでは、一緒に働く仲間を募集しています!

jobs.m3.com

また、リサーチプロダクトチームに関する詳細は以下をご覧ください。