昨今のAIの進歩は目覚ましく、将来、多くの仕事がコンピューターに奪われるのではないかと言われています。
プログラミングもAIによって自動化され、プログラマーもコンピューターに仕事を奪われかねない!?と心配しているかもしれませんね。
今回はそんなプログラミングの自動化をテーマに取り上げてみます。
今後プログラマーの仕事は減っていくのか?
コンピューター将棋ソフトであるponanza(ポナンザ)が名人を破るなど本当にAIの進歩は目覚ましいく、将棋の世界だけでなくチェスや囲碁でも人間は敵わない状態になりつつあります。
そのようなAI将棋最強と言われたponanzaもelmoという新興AI将棋ソフトに敗れると言う衝撃が2017年7月に訪れます。
何が衝撃だったのかと言うとそれまで最強だったponanzaは10年もの開発期間をかけて強くなっていった訳ですが、そのponanzaに勝利したelmoは前身となるソフトがあったとは言え、なんと半年でponanzaを打ち破ったのでした。この出来事だけでもAIの進歩の速さを物語っています。
そんな流れの速いAIの波はプログラマーの仕事にも及ぶと言われています。近い将来、AIが自動的にプログラムを作成してしまうと言われているのです。
現在でもいくつかのパラメータを指定すれば特定領域のプログラムを自動的に生成するツールのようなものはありますが、AIのそれはそれとはまったく次元が違い、あらゆる分野のプログラムを自動的に生成してしまうと言われているのです。
現在の自動的にプログラムを作成するツールは予め決められているプログラムの範囲で自動的にプログラムを作成するのに対して、AIによるプログラムの自動生成は与えられた情報を元に自分で考えてプログラムを作成すると言われているのです。
まさにSFの世界です。
また、自動化というキーワードでは最近流行りのRPA(Robotic Process Automation)も気になります。ソフトウェアロボットであるRPAはこれまで人間の手によって処理されていた事務処理をAIが自分で判断して肩代わりするような使われ方がされています。RPAの導入が進めばこれまで手作業をしていた事務員が仕事を失う事になりますが、仕事を失うのはそんな事務員だけでなく事務処理システムを作成するプログラマーの仕事にも及ぶのです。
これまではそれぞれの業務にフィットするシステムを都度作成してきましたが、RPAの進歩がこれまで以上に進むと1つのRPAで全ての業務が完結してしまう可能性すらあります。
このAIの適用は事務処理だけに限らず、今後、様々な分野に及ぶと想像されています。
例えば、
・AIによる同時通訳。
・医療の世界ではレントゲンから人が見逃すような小さな兆候を瞬時に見つけ出す。
・ネットワークの状態を監視する事でネットワーク機器の故障予兆を検出する。
・監視カメラの動画から犯罪者を見つけ出す。さらに、ちょっとした仕草から犯罪者の推定。
・株価予測に代表されるフィンテックの発展。
このように様々な場面で既に適用されており、さらに、音声認識、マッチング、作業の自動化などの分野に進出済みです。
ロボットの導入は既に産業用ロボットとしてハードの世界で先行していましたが、ついにその波はソフトウェアの世界にも及んでいます。
プログラミングの自動化が難しいと言われている理由
既にこれだけの分野に進出しているAIですが、東大入試突破を目標に開発が続けられていた「東ロボくん」の開発中止に見られるようにAIにも不得意な分野があり、今のテクノロジーではプログラマーの仕事をゼロに出来るほどの自動化が進む状況ではありませんし、この状況が簡単に改善されるわけでもありません。
それは自動化の対象となる課題・問題が多岐に渡るため、一定のルールで自動化するような仕組みが使えないからです。いくらAIが予測が得意だとは言え、全ての分野について予測を働かせ、自動的に答えを出せるわけではないのです。
現在でもメジャーな課題・問題であればある程度の自動化は可能でしょうが、メジャーな課題・問題であっても最後の最後はどうしても自動化できない部分がありますし、マイナーな課題・問題などは自動的にプログラムを作成する事はできません。
将棋や囲碁、チェスなどのように一定のルールがあるゲームでは想定しなければいけない範囲はそのルールの中だけですが、人間世界にはゲームのような明確なルールはありませんので、その全てをプログラミングで自動化するのは不可能でしょう。
また、人間の判断は状況によって柔軟に変化するため、その全てを自動化する事も難しいので。
AIの適用状況などから近い将来、プログラミングの仕事がなくなるのでは?という心配は杞憂のようです。
今後、AIなどにより自動化される範囲は確実に増えていくと想像されますが、AIにより全てのプログラムが自動化されるのはまだまだ先のようです。
また、AI化のスピードを上回るようにIT化の波が押し寄せてきますし、今後はより複雑化していきますので近い将来にプログラミングの仕事は無くなることはないでしょう。