アリババのクラウド企業「アリクラウド」に、AIプログラマー通義霊碼さんが入社をした。彼は全社のコードの20%程度を書くことになるという。それだけでなく、最適化、テスト、デバッグという作業もこなし、人間のプログラマーの領域を奪いつつあると新智元が報じた。
200以上の言語が扱える有能な新入社員
アリババのクラウド企業「アリクラウド」に最近、新入社員が入社をした。「通義霊碼」(トンイー・リンマー)さんで、アリババの対話型AI「通義」のコーディング向けコパイロットだ。通義霊碼にはAI001という社員番号が与えられた。その能力は優秀で、200以上のプログラミング言語を扱うことができ、特にPython、C/C++、Goなど16の言語については精通をしている。
古いコードを読む時に活躍するAI社員
通義霊碼さんはどんなところで活躍をしているのだろうか。最もよく使われているのは、エンジニアが前任者やそれ以前の古いコードを読まなければならない場合だ。古いソフトウェアを改善するためには、まず既存のコードを理解しなければならない。これはパズルを解くようなもので、エンジニアの髪の毛が少なくなる最大の要因だとも言われている。
このような時に、通義霊碼に助けを求めて「Explain Code」を実行すると、人間の言葉でコードがやろうとしていることを説明してくれる。どのような変数がどう使われているのかも教えてくれるので、この説明を読んでから、コードを検討していくことで、作業効率は大幅にあがる。
コードの最適化でも活躍
要求されたアルゴリズムをコードで表現するだけいいのであれば、エンジニアにとっては難しい作業ではない。しかし、深く考えずに書いたコードは、資源管理が悪く、動作は遅く、資源を不必要に多く使う。これを最適化していく必要がある。ここが難しい。通義霊碼は人間が書いたコードを分析し、評価をし、最適化すべき部分を指摘して、最適化までやってくれる。人間は、その結果を自分のコードと比べて、その最適化提案を受け入れるかどうかを考えるだけでよくなる。
見落としのないテストコードを書いてくれる
コードを書くときは、同時にテストコードも書かなければならない。このテストコードは、考えられるあらゆる状況を生み出し、コードを動作させるものでなければならない。たとえば、コードに曜日の入力箇所があれば、日曜日から土曜日までの7種類を入力するテストコードを書き、実際に動作をさせてエラーが起きないかどうかを確かめる。一方、日付の入力をテストするコードを書くときは、1月1日から12月31日までの365種類を入力するようにするが、しばしば2月29日を落としてしまうことがある。
通義霊碼は、このテストコードも生成してくれ、人間よりも見落としは少ない。
エラーを解析して修正案を提示してくれる
通義霊碼はそもそもエラーコードを発生するようなコードは生成しないが、人間は誤ったコードを書いてしまう。ビルド時にエラーが発生した時は、通義霊碼がそのエラー内容を分析し、問題を確定し、修正すべきコードを提案してくれる。人間はそれを受け入れるかどうかだけを判断すればよくなる。
生成されるコードの20%はAI由来のものになる
アリクラウドでは、生成されるコードの20%程度はAI由来のものになると見ている。AIプログラマーの登場で、プログラマーは仕事がなくなるという問題について議論されることが多くなったという。現在のAIはまだ性能が低いため、今すぐプログラマーが解雇されるようなことはないが、AIが進化をするのにそれほど長い時間はかからないと誰もが感じている。
エンジニアにとって、コードを書くという作業そのものは難しいことでもなんでもない。報告書の文章を書くのと同じように、半ば自動的にコードは書いていける。しかし、その周辺の設計、最適化、テスト、デバッグという作業は簡単ではない。一定程度の経験が必要になり、さらには洞察力も必要になる。エンジニアの価値はここにあった。
しかし、そのエンジニアの価値のある部分をAIが代行をしようとしている。将来はプロダクトマネージャー1人でAIツールを使ってプログラムを仕上げてしまうということも起こるかもしれない。もちろん、そんなことにはならない、人間のプログラマーは永遠に必要と主張する人もいて、その主張にも説得力がある。
しかし、楽観派悲観派ともに合意ができることがひとつある。それはプログラマーが座る椅子の数は大きく減るということだ。プログラマー、エンジニアたちは、自分たちの能力とその活用について深く考えるようになっているという。通義霊碼が入社した最大の功績は、この意識改革かもしれない。