AI時代を生きるエンジニアに必要なマインドセット
こんにちは、しば田です。
AIの登場でエンジニアに求められるマインドセットにも変化が生まれてきています。
AIにどっぷり触れている人は行動の変化に引っ張られるカタチでマインドセットも形成されてきているとは思うのですが、まとまって言語化されているものは現状なさそうなので、自分の思考整理を兼ねて言語化してみようと思います。
「システムエンジニア」に必要なマインドセットと銘打ちましたが、
AIを用いて開発する全人類が対象読者になります。これまでの開発経験も別に問わない内容です。
では、早速本題にいきます。
1. AIへの期待値を正しく持つ
AIに限った話ではないですが、正しい期待値を持たないとその期待が裏切られた時に多大なストレスがかかります。
これまでAIをトライしてみたけどすぐに使わなくなった人が自分の周りにもいましたが、大体は期待値の調整ができていない人だったと思います。自分が観測している限りでは、熟達したエンジニアほど求めるレベルが高くなりがちでAIのミスを許せない傾向にあるように思えます。
では、どうしたらいいか。
常にAIの現在地を把握する
これからAIを使って開発しようと思っている方全員にお伝えしたいのは、
意外と思ったようには進まない ということです。
現状、AIは人間が導いてあげないと真価を発揮できないです。
イメージは以下のような感じです。
- AIは高速で走れる車ですが、進む道の整備と進行方向は人間が設定する
- 適切な指示(プロンプト)と背景情報(コンテキスト)がなければ、AIは誤った方向に進み、コードベース全体を壊したりする
- セキュリティガバガバの実装を平気でしてくるので人間の監視が必要
- この「AIを導く作業」は想像以上に労力を要する
今AIが何ができるか、何が出来ないかを常に理解し現実的な期待を持つことが大事です。また、人間は厄介な生き物で、便利さに慣れると勝手に期待値がじわじわ上がるため、定期的に自分自身へのリマインドが必要です。
また、これまでの変遷を知ることも重要です。
時間があればこれまでに出たモデルを使って実際にプログラミングをしてみるといいと思います。現覇者のSonnet3.7と数年前のGPT3.5を比べてみてください。今がどれだけ恵まれているかわかると思います。
そして、AIは驚異的なスピードで進化していっているので常に現在地をアップデートしていく必要があります。
様々なハードシングスの具体をサクッと知るには以下の記事がおすすめです。
AIの得意・不得意を見極める
AIには得意分野と不得意分野がはっきりと存在します。
得意不得意のも極めができずにAIに不得意分野をやらせ続けていると、
なかなか思ったようにいかないのでストレスを溜めることになります。
具体例は沢山あるのですが、分かりやすのはUIUXとかでしょうか。
細かい見た目をAIへの指示のみで整えようとするとかなり時間を無駄にします。
モデルの改善で良くなりつつありますが、僕らが日々触っているプロのデザイナーの試行錯誤の先にできた洗練されたUIUXをAIが実現することはできません。
AIには人間の実際の行動パターンや感情的な反応を予測することが難しいからです。
他にも、保守でレガシーコードの大規模リファクタリングに使用するようなケースだと、過去に人間が書いた非合理性の塊のようなコードの意図はおそらく汲み取れないし、超マイナーなフレームワークやCMSが使われていたりするとAIの学習データ不足で能力を発揮できなかったりします。
ここら辺の得意・不得意をきちんと見極めて人間が本腰入れる部分とAIに任せる部分を切り分けるとかなり楽になると思います。
2. 技術力とAI活用力のどちらも鍛える
AI時代において最大の成果を出すには、基礎的な技術力とAI活用力の両方が不可欠です。
現状では、この掛け算人材(技術力元々高い人がAIをうまく使う)が最強です。
AIにハンドルを握らせつつおかしくなったらすぐに介入できるからです。
例えば:
- 既存の技術知識があるため、AIの提案が適切かどうかを素早く判断できる
- エラーや問題が発生してAIが無限修正ループに陥った際に、根本原因を自分で特定し解決可能
- 設計段階での間違いが少なく手戻りがない。
- AIが関与しにくいインフラなどで躓きにくい
- AIの特性(得意・不得意)をすぐに理解できる
などです。
一方、AI活用力もとても重要です:
- 効果的なプロンプティングスキル
- コンテキストを用意し適切に与える能力
- コンテキストを適宜アップデートしていくスキル
- AIの出力を継続的に検証し改善するスキル
- MCPの理解と効果的な活用
どちらもかなり大事な要素になるので、
これからのエンジニアは両方を高めないといけません。(きついです。。。)
この掛け算こそAI時代におけるエンジニアの「総合的な戦闘力」 だと私は思います。
なので私はなるべくどちらに対しても時間を取ることを心がけています。
初学者の方はまずある程度の基礎を築いた方がいい
本題から逸れますが、私は初学者の方は基礎を学ぶべきと思っています。
技術の基礎はなかなか変わらないので一度学べばこの先数年使える可能性がありますが、一方でAI活用力は最適解がどんどん変わっていきます。なので中長期でいいアウトプットを出すには急がば回れで足元を固めることをお勧めしたいです。
3. 高い学習強度の維持が必要
絶えずインプットとアンラーニングを繰り返さないといけない
インプットが大事なのはAI前の時代から変わっていません。
ただ、AIの進化速度はこれまでの技術の進歩とは比較にならないほど早いです。
毎日何かしら新たな技術やサービスが登場し、これまでに習得したスキルや知識が一瞬で陳腐化します。
なので、AI時代のエンジニアには、
- 一度学んだ知識をすぐにアンラーニングすること
- 「今の最適解」を常に探す
ことが非常に短いスパンで求められます。
この新陳代謝のサイクルが従来よりも劇的に短くなった今、インプットを怠れば、数ヶ月で時代遅れになるだろうという覚悟が必要です。
自分のインプット網を確立する
AIの一次情報を効率的に得るためには正しいチャネルを選択する必要があります。
基本的には以下だと思います。
- X
- テックブログ
- GitHubのレポジトリ
- Compass(セミナー)
- arXiv(論文)
など。
個人的には、Xは全ての情報のハブとして機能しているのでX1つに絞って使うのがいいと思っています。XにいればX外の情報も勝手に入ってきます。
ノイズは多いですが、使っていると誰の投稿を追うべきかの自分リストができてくるはずです。
メンターやコミュニティを頼ったり情報交換をする
個人でやるのは辛いかつ限界があるので、
詳しい人から聞く、コミュニティの集合知を吸収するというのは当然有効です。
遊び感覚で触ってみる
ただ見ている人とちょっとでも触って驚いて見た人ではかなりインプットの質に差が出るので積極的にAI驚き屋になりましょう。害悪な驚き屋は時たまいますが、驚いて感動すること自体に罪はないです。
4. ココロの健康に気を付ける
(この章はかなりの自戒を込めて書いています)
AI技術の進化スピードは精神的負担を増大させます「1日でも休むと置いていかれる」という焦りが常につきまとい、このプレッシャーは精神を蝕みます。
楽しくて仕方がないという人を除き、多くの開発者はこのプレッシャーと向き合わないといけません。
だからこそ、意識的に「完全に切り離す時間」を作ることが必要だと思っています。運動、趣味、人との交流などなんでもいいですが頭を空にすべきです。
そして、1日2日休んだところで大して影響は出ない です。ガッツリ休む時は休みましょう。
また、AIはどこまでいっても手段です。
目的は人間同士の会話の中から生まれるのでエンジニアこそ外に出ましょう。
最後に
ココロの健康に気をつけながらAI時代の激流を楽しみましょう・・・!
Discussion