最近見たこちらの記事タイトル、何年も前からずっと考えていたことなので大変興味を持ちました。
自ら学ぶAIが半導体設計やプログラム変換の仕事を奪う、技術者に何が残るのか
ディープラーニング(深層学習)によって開発されたAI(人工知能)が、技術者の仕事を次々と奪おうとしている。ここに来て米グーグルや米フェイスブックが、「半導体チップを設計する」「プログラムを変換する」といった仕事を深層学習ベースのAIによって...
Google のほうの論文のアブストラクトも見てみたのですが、対象はチップ上のロジック配置についてであって、設計情報は既にあるという前提なのですね。自分が想像していたのとはちょっと違ってましたが、確かに AI の応用分野としてはリーズナブルなところかと思います。
私の妄想はもっと野心的で、設計そのものをもっと自動化できないのか?というものです。たとえばばこんな感じです:
- 要求仕様書として、マークダウンか何かで条件を定義する。
- それを、AIベースEDAツールに読み込ませると、良い塩梅の設計を考えてくれて、設計情報に加えて、設計仕様書、検証環境なども出力してくれる。
- エンジニアは、出力された設計仕様書をレビューしつつ、検証環境で動作確認する。もし満たないところがあれば、要求仕様書の修正に戻る。
エンジニアがコードを書くというのをなるべくなくし、アーキテクチャというか仕様の部分をしっかり詰めるのが主体となります。こうなると、設計情報自体がブラックボックスになってしまうのが怖いですが、出力コード自体がきちんとしてコメント(説明)を含んだ可読性のあるものであれば、必要ならコードレビューも可能でしょう。
現在ももちろんEDA(電子設計自動化)ツールは存在するのですが、設計自体はやっぱり泥臭いところがあるのですね。
エンジニアとは、
自分や周りがいかにラクして目的を達成するかを真剣に考えて実現していくのが仕事
だと思っています。与えられたやり方で粛々と仕事するというのは、ただの作業に過ぎないのですよ。だから、こういうアグレッシブな妄想をし続けて、折りに触れ色んなことを試すことは重要だと思います。
ちなみに、この記事にでてくる2つめの、TransCoder は、プログラミング言語間の変換がテーマです。昨今の翻訳技術の発達具合からみると、こちらのほうもかなり進化しているようですね。