AIにコードを書かせながら研究職をしている話

日常

どうも、あきすしです。

現在、東京で研究職として働いています。

研究職といっても、毎日ホワイトボードに難しい数式を書いているわけではありません。自分の場合は、物理シミュレーションを使って計算したり、その結果をPythonで解析したりする仕事が中心です。

使っているものはC++、Python、Linux、Git、Geant4など。

こう書くと、かなりプログラミングができる人のように見えるかもしれません。

しかし実際は、分からないことだらけです。

そして現在、自分の仕事に欠かせなくなっているものがあります。

AIです。

コードのかなりの部分をAIに書いてもらっている

今の仕事では、AIにコードを書いてもらうことがかなり多いです。

「こういう結果を出したい」

「このファイルを変更したい」

「このエラーの原因を調べてほしい」

とAIに伝えて、コードを作ってもらいます。

場合によっては、ファイルの整理や修正までAIに任せることもあります。

めちゃくちゃ便利です。

昔だったら何時間も検索していたようなことでも、AIに聞けば数秒でコードが出てきます。

一方で、最近少し怖いことにも気付きました。

コードは動いているけれど、自分は何をしているのか完全には理解していない。

という状態になりやすいことです。

例えばシミュレーションを実行して数字が出たとします。

数字が出ると、一瞬「できた」と思います。

でも、

「この数字はどこで計算されたのか?」

「この変数は何を表しているのか?」

「なぜこの結果になるのか?」

と聞かれると、説明できないことがあります。

これが今、一番の課題です。

AIを使わないほうがいいのか?

では、AIを使わずに全部自分でコードを書くべきなのか。

最近はそうでもないと思っています。

仕事で重要なのは、「AIを使わなかったこと」ではなく、最終的に正しい結果を出すことです。

自分で一から全部コードを書くことだけが目的ではありません。

ただし、AIが出したコードをそのまま信用するのも危ない。

AIは普通に間違えます。

しかも厄介なのが、一見正しそうなコードを書くことです。

エラーが出ればまだ分かりやすいですが、プログラムが普通に動いて間違った計算結果を出している場合のほうが怖い。

研究では特に、「プログラムが動いた=正しい」ではありません。

だから最近は、

AIに書かせることより、AIが書いたものを説明できるようになることのほうが重要なのではないか

と思うようになりました。

全部理解しようとして動けなくなる

とはいえ、ここでも別の問題が出てきます。

理解しようとすると、調べることが無限に増えていくのです。

C++を理解しよう。

↓

ポインタが分からない。

↓

メモリについて調べる。

↓

クラスも分からない。

↓

継承も調べる。

↓

そもそもLinuxもちゃんと勉強したほうがいい。

↓

Gitも分からない。

という感じで、どんどん勉強する範囲が広がっていきます。

最終的には、

「何から勉強したらいいんだ?」

となります。

これは最近かなり感じています。

なので、全部理解してから仕事をするのではなく、

今使っているコードを一つずつ理解する

ことにしました。

例えば今触っているプログラムに、

GetTotalEnergyDeposit()

という処理が出てきたら、

「これは何を取得しているのか?」

だけ調べる。

その次に、その値がどこへ渡されるのかを見る。

そんな感じです。

教科書を最初から最後まで読むより、今の自分にはこちらのほうが合っている気がします。

入社してまだ数か月

自分は現在の仕事を始めて、まだそれほど時間が経っていません。

それなのに、

「こんなことも分からなくて大丈夫なのか」

「もっと勉強しないとまずいんじゃないか」

と思うことがあります。

特にAIが簡単にコードを書いてくれるようになったことで、「自分ができるようになった」のか「AIができるだけなのか」が分かりにくくなりました。

でも最近は、少し考え方を変えています。

AIを使ってコードを作る。

実行する。

結果を見る。

分からなかった部分を調べる。

そして次に同じものを見たとき、少しだけ分かる。

今はそれでいいのではないかと思っています。

数か月前には知らなかったコマンドやコードを、今では普通に触っているものもあります。

一気に全部理解するのは無理でも、昨日より一つ分かることを増やすことならできます。

AI時代に必要なのは「質問する力」なのかもしれない

AIが登場して、プログラミングの勉強方法もかなり変わったように感じます。

分からないコードを貼れば説明してくれる。

エラーを貼れば原因を考えてくれる。

コードも作ってくれる。

だからこそ、これから重要になるのは、

「AIを使うか、使わないか」

ではなく、

AIを使いながら、自分がどこまで理解できるか

なのかもしれません。

今の自分は、まだまだAIに頼りっぱなしです。

コードを見ても分からないことが普通にあります。

物理についても、勉強しなければならないことが山ほどあります。

それでも、とりあえず仕事は続いています。

AIに助けてもらいながらコードを書き、一つずつ中身を理解していく。

しばらくはこの方法でやってみようと思います。

半年後くらいにこの記事を読み返したとき、

「この頃はこんなことで悩んでいたのか」

と思えるくらいには成長していたいですね。

では、また。

コメント

タイトルとURLをコピーしました