2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ソフトウェアエンジニアはAIとどう向き合うべきか?:「答え」の向こう側にある本質を求めて

Posted at

はじめに

最近なんとなく考えていたAIとの向き合い方について、Gemini(2.5 Flash)と会話してみました(私にインタビューしてみて、とお願いしました)。良い思考の整理になったので、その結果をドキュメントとして残しておきたいと思います。「はじめに」と「さいごに」のセクション以外は、自分の意見をもとにAIに編集してもらっています。

正直、いろんな方が様々な媒体で同じことを言ってた覚えがありまして、このページを訪れたみなさんが新たに知見として得られることはほぼないと思います。しかも、どの記事も自分よりよっぽど有益で論理的な主張を展開されています。質の良い内容を探している方は、この記事を読んでいただく必要はありません。

ただ、このドキュメントを作る過程が、自分にとってとても意味があるものだったのです。
ぼんやりと持っているAIに対する違和感の正体や、AIによって得られるものと失われるものは何か? それらを自分の言葉で説明するのは大変でした。ですが、その試行錯誤があったからこそ、自分の意見をしっかりと持つことができ、AI時代を生きていくための思考や行動の軸を決めることができるのかなと思います。

ソフトウェアエンジニアはAIとどう向き合うべきか?:「答え」の向こう側にある本質を求めて

Webアプリケーション開発エンジニアとして働く私は、日々の業務に生成AIを取り入れています。最近は Cursor を愛用し、ドキュメント作成から複雑なコーディングまで、その恩恵を享受しています。しかし、AIがもたらす「効率化」の裏側で、私たちが失いつつある「エンジニアとしての本質的な成長機会」について、危機感を抱いています。

AIが奪う「生み出す苦労」と「問い」の連鎖

AIは驚くべきスピードで、完璧に近いコードやドキュメントを生成します。かつては時間をかけて取り組んだであろう「設計書やコーディング規約といったドキュメント作成」や「難しいアルゴリズムの実装」も、今やAIが瞬時に答えを提示してくれます。これにより、私たちは「生み出す苦労」から解放されました。

しかし、その一方で、「悩み生み出す楽しさ」や、そこから得られるはずの貴重な成長体験が失われていると感じています。良いドキュメントの構成を練ったり、エラーに苦しみながら解決策を探し続け、ようやくたどり着いた時のあの喜びは、AIが答えを提示してくれる現状ではなかなか味わえません。

新入社員の例で考えてみましょう。「TypeScriptで、与えられた数字が偶数なら”OK”を出力するプログラムを書いて」とAIに指示すれば、わずか1秒足らずで完成度の高いコードが手に入ります。AIがない時代なら、この新入社員は「TypeScriptでの標準出力方法」「偶数判定の方法」といった基本的な疑問を自力で調べたり、先輩に質問したりするでしょう。そうした「問い」の連鎖と、それを解決する過程でこそ、問題解決能力、基礎知識の定着、コミュニケーション能力、そして応用力が育まれます。AIは、この大切な「問い」のプロセスを省略し、まるで「答えだけが書かれた問題集」を渡してしまうのです。

「手段の目的化」がもたらす思考の偏り

AIによって「問い」が失われることは、私たちの思考に 「間違った因果関係」 を植え付けてしまう危険性があります。技術とは、本来「もっと手軽に遠くに移動したい」という課題があって自動車や電車が生まれるように、「解決したい課題の本質」のための「手段」であるはずです。しかし、AIが洗練された「手段」を安易に提示することで、私たちは 「解決したい課題の本質」を深く探求することなく、表面的な手段にばかり目が行ってしまう ようになります。

これは、すでに「手段の目的化」として現れていると感じています。AI自身もあくまで手段であるにもかかわらず、その存在が目的化されかねないのです。AIが提案する内容は論理的に正しく、一見すると非の打ち所がないように見えます。しかし、そこにはビジネス上の特性や将来の展望といった、人間ならではの深い洞察は反映されきっていないことが多いです。

要件定義のフェーズで真のユーザーニーズを見落としたり、システム設計の段階でAIが提案する効率的なソリューションに飛びつき、システムの全体像や拡張性、保守性といった側面が軽視されたりする恐れがあります。この「思考の偏り」は、私たちが深く考える癖を失わせ、真の課題解決から遠ざけてしまうかもしれません。

自律的な成長こそが、AI時代を生き抜く鍵

先日、AIが生成したというテストコードをレビューする機会がありました。そこには冗長なフィクスチャ記述や、内部実装に依存した壊れやすいテストが散見されました。これは、「より良いテストコードを生むプラクティス」を十分に身につけていないまま、AIによって成果物が提供されてしまった結果だと感じました。

AIは確かに進化していますが、まだいつでも100点の成果物を出してくれるわけではありません。だからこそ、私たちは 「自分を成長させること」を怠ってはならない のです。

AIの能力を最大限に引き出しつつ、その限界を補完するためには、私たちエンジニア自身が常にスキルを磨き続け、AIの生成物を批評し、より良いものへと昇華させる能力を養う必要があります。AIに「やらせる」のではなく、AIが提供する「答え」の向こう側にある 「なぜそうなるのか」「どうすれば真の課題を解決できるのか」 という本質を常に問い続ける姿勢が求められます。

AIは強力なパートナーであり、私たちの営みを豊かにする可能性を秘めています。しかし、その力を最大限に活かすためには、私たち人間が思考を深掘りし、批判的に検証し、そして何よりも自律的に成長し続けることが不可欠なのです。

さいごに

読んでくださりありがとうございます。

リアルタイムで社会が変化していく様子を目の当たりにできることは、非常に貴重な体験ではないでしょうか?仕事が AI によって変わることに対して不安を感じる方も多いかもしれませんが、ある意味変化を楽しむチャンスとして捉えるのも良いかもしれません。

コーディングエージェントの現状の整理とエンジニアの仕事の変化について https://azukiazusa.dev/blog/coding-agents-and-developers-work/#時代の転換点に立ち会えたことを楽しもう より引用

AIの進化に悲観的になったり、人間から成長機会を奪う悪魔だとAIに対し否定的になったりする必要はないと思っています。私たち人間とAIは相互補完的な関係として、うまくやっていけると信じています。Copilot登場時、「副操縦士」というコンセプトが話題になりました。最近のAIの進歩により、副操縦士の役割をAIだけでなく、人間も務めるようになっただけと私は捉えています。

マイクロソフトは、2023年9月に日々の仕事や生活を支えるAIアシスタント機能を統合した「Microsoft Copilot」を発表。ロゴには人とAIがハンドシェイクするという意味が込められ、「副操縦士」という名を冠するよう、あくまで「人が主役でAIはサポートする」というコンセプトのAIソリューションだ。

ASCII.jp:「副操縦士」が生産性向上をサポート ― 活用進むマイクロソフトの生成AI (2/3) より引用

参考にした記事

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?