--- 追記ここから ---
(と思って一度書いたけど、その後「いや、AIがいい感じの判断を提示してくれるところまでは行きそうだな。。」って思い始めた。)
--- 追記ここまで ---
AIがどこまでできるようになってくるのかずっと考えていて、以前に以下の記事も書いた。
yaruki-strong-zero.hatenablog.jp
今回、なんとなく自分としては腑に落ちた考え方を見つけた気がするのでそれについて書いてみる。
結論から書くと「今のAIだとどこまでいっても判断する仕事は代替されずに人に残る」である。
これは「今はできないだけ」ではなく、仕組み上「できるようにはならない」だと思っている。
AIツールが存在するのに、僕に質問が飛んでくる現実がある
最近でもAIはものすごく日々進化していて、便利になるシーンも増えたと思うが、いまだに「この対応の進め方、案1と案2があるんですけど、どっちがいいすかね、、?」みたいな相談が飛んでくる。
社会人経験も10年単位で積んでいるとサクッと回答できたりする。
人単体が10年やそこらで得た知識など、AIの抱えている知識とくらべれば無いにも等しいと思うが、それがAIでは解決できずに僕に聞いてくるところが不思議な感覚があった。
なぜそんなことが起きているのかを考えた。
AIは精度の高い判断・決断ができない
AIは物事の重要さを決めることができない、ということなのかと思う。
一般的なことであれば判断できる。
例えば「同じことをできる2つの関数があるが、このシーンだとこの関数を使うべき」みたいなやつ。
しかし、今まさに自分(人間)の周りで起きている事象に対し、何が重要なのかの情報は持っていない。 その材料が圧倒的に少ない。 そして、全てをAIに渡すことはできない。非構造化データが多すぎる。
さらに、渡せたとして、それぞれの事柄に重要度をつけることができない。 「どの事柄がどれくらい重要なのか」の設定を人が渡してやらねばならないが、そもそもこれ自体が判断である。
少し理論の飛躍っぽいが、人が自発的にこれをできてAIができないのは、AIが個として生命活動を行なっているわけじゃないことによるのかなと考えている。
人はこの重みづけを、死のリスクを避けることを源泉としておこなっているのではないかと考えている。
人が行なっている判断を大量に学習させれば精度の高い判断を模倣できるようになるか?
以下理由で不可能だと思っている。
・学習機会が少なすぎる。
下した判断が正解だったのかどうか、判明するのは割と先の未来だし、しかも正解だったのかどうか明確にわかるわけではない。
・良い判断かどうか?の定義がない。ケースバイケースすぎる。
アグレッシブな判断が結果的成功して良い判断とされることもあれば、失敗して良くない判断とされることもある。
人は、いろんなやつがいろんな立場でそれぞれが判断することで群生として成立している気もしてきて、そうなると優秀さのベースは「人であること。ユニークさも持ち得ること」あたりになるように思えた。
(ユニークさを持ち、個であることが可能なAIってのが出てきたらどうなるのか、も考えてみたい)
精度の高い判断・決断が求められる仕事は人に残る
上記の理由により、精度の高い判断・決断が求められる仕事は人に残ると思う。
以前より「AIにより、人はより高いレイヤーの仕事に注力するようになる」ってよく耳にしていたけど、結局これはその通りであったと思った。
前は「人にはできるがAIにはできない」の境界がわからず、今のAIの進化速度を見てると経営レイヤーだってAIに置き換わるんじゃ無いのか?とか思ってたけど、経営こそ判断・決断の本丸なのでAIに置き換わることはない。
エンジニアはどうか?
エンジニアには「精度の高い判断・決断が求められる仕事が存在するか?」ということだが、存在する。
以下、いい感じにAIにまとめてもらった。
実現可能性の検討と価値の最大化(要件定義)
アイデアを「動くシステム」に変えるには、技術の限界を知った上での交通整理が必要です。
技術的な目利き: 今の技術で「できること」と「できないこと」を切り分け、アイデアの核となる重要部分を、実現可能な形へ落とし込みます。
トレードオフの最適化(バランスの決定)
システム開発の本質は、相反する要素(コスト・納期・品質・リスク)の狭間で最適解を見つけることです。
AIの限界: AIは周辺状況(ビジネスフェーズ、予算、組織の技術スタック)の「重要度」を理解できません。
人間の役割: 「いい感じで」という曖昧な要求に対し、エンジニアの知識を用いて「何を優先し、何を犠牲にするか」のバランスを決定します。AIからの問いかけ(「どうしますか?」)に対し、最終的な意思決定を下すのは人間です。
「運用」を見据えたリスクの重み付け
「作って終わり」ではないシステムにおいて、AIには決定的に欠けている視点があります。
■ AIにできない判断
AIは「今、何を優先すべきか?」という動的な状況判断ができません。
稼働中のシステムにおける各種リスク(性能、セキュリティ、保守コスト)の重み付けができず、運用の継続性を担保できません。
■ エンジニアの役割
現場の状況に照らし合わせ、「今この瞬間に、どのリスクを許容し、どこを死守すべきか」を判断します。
運用フェーズで発生する予期せぬ事態に対し、エンジニアがその知識で優先順位を決定します。
「正しさ」の定義とデグレの防止
AIによる修正やスクラップ&ビルドが容易になったとしても、その品質を保証するプロセスはより困難になります。
AIによる修正のリスク: 問題を潰すための修正が、未知の箇所でデグレ(品質低下)を引き起こす可能性があります。
エンジニアの目: AIが「大丈夫」と言ったとしても、その根拠が技術的に妥当か、既存仕様を壊していないかを判断するには、深いエンジニアリング知識が不可欠です。「正しさ」を定義し、責任を持って「デグレしていない」と言い切れるのはエンジニアだけです。
おわりに
日々Xで有象無象のエンジニア不要論が流れてくるので、毎度毎度「マジか!?」とアテンションとられて疲弊してきた。
一旦ここで区切りをつけて、心穏やかにkaggleに取り組みます。