中華IT最新事情

中国を中心にしたアジアのテック最新事情

アリババにAIプログラマーが入社。コードの20%はAIが書いている

アリババのクラウド企業「アリクラウド」に、AIプログラマー通義霊碼さんが入社をした。彼は全社のコードの20%程度を書くことになるという。それだけでなく、最適化、テスト、デバッグという作業もこなし、人間のプログラマーの領域を奪いつつあると新智元が報じた。

 

200以上の言語が扱える有能な新入社員

アリババのクラウド企業「アリクラウド」に最近、新入社員が入社をした。「通義霊碼」(トンイー・リンマー)さんで、アリババの対話型AI「通義」のコーディング向けコパイロットだ。通義霊碼にはAI001という社員番号が与えられた。その能力は優秀で、200以上のプログラミング言語を扱うことができ、特にPythonC/C++、Goなど16の言語については精通をしている。

▲アリクラウドに入社をした通義霊碼さん。アリババが開発をした大規模言語モデル「通義」のコーディング向けコパイロットだ。社員番号AI001が与えられた。

▲通義霊碼の経歴書。200以上のプログラミング言語を理解している。

 

古いコードを読む時に活躍するAI社員

通義霊碼さんはどんなところで活躍をしているのだろうか。最もよく使われているのは、エンジニアが前任者やそれ以前の古いコードを読まなければならない場合だ。古いソフトウェアを改善するためには、まず既存のコードを理解しなければならない。これはパズルを解くようなもので、エンジニアの髪の毛が少なくなる最大の要因だとも言われている。

このような時に、通義霊碼に助けを求めて「Explain Code」を実行すると、人間の言葉でコードがやろうとしていることを説明してくれる。どのような変数がどう使われているのかも教えてくれるので、この説明を読んでから、コードを検討していくことで、作業効率は大幅にあがる。

▲プログラムを読み込ませると、そのプログラムが何をしようとしているのかを言語化してくれる。古いコードを読む場合は、先に通義に解説をしてもらってから読むというのが常識になっている。

 

コードの最適化でも活躍

要求されたアルゴリズムをコードで表現するだけいいのであれば、エンジニアにとっては難しい作業ではない。しかし、深く考えずに書いたコードは、資源管理が悪く、動作は遅く、資源を不必要に多く使う。これを最適化していく必要がある。ここが難しい。通義霊碼は人間が書いたコードを分析し、評価をし、最適化すべき部分を指摘して、最適化までやってくれる。人間は、その結果を自分のコードと比べて、その最適化提案を受け入れるかどうかを考えるだけでよくなる。

▲最適化も行なってくれる。左が人間の書いたコード、真ん中が問題のあるコード、右が最適化を施したコードになる。

 

見落としのないテストコードを書いてくれる

コードを書くときは、同時にテストコードも書かなければならない。このテストコードは、考えられるあらゆる状況を生み出し、コードを動作させるものでなければならない。たとえば、コードに曜日の入力箇所があれば、日曜日から土曜日までの7種類を入力するテストコードを書き、実際に動作をさせてエラーが起きないかどうかを確かめる。一方、日付の入力をテストするコードを書くときは、1月1日から12月31日までの365種類を入力するようにするが、しばしば2月29日を落としてしまうことがある。

通義霊碼は、このテストコードも生成してくれ、人間よりも見落としは少ない。

▲人間がコードを書いていると、文脈を理解し、続きのコードを生成してくれる。

▲コードの内容を説明するコメントも自動生成してくれる。

▲テストコードも自動的に書いてくれる。

 

エラーを解析して修正案を提示してくれる

通義霊碼はそもそもエラーコードを発生するようなコードは生成しないが、人間は誤ったコードを書いてしまう。ビルド時にエラーが発生した時は、通義霊碼がそのエラー内容を分析し、問題を確定し、修正すべきコードを提案してくれる。人間はそれを受け入れるかどうかだけを判断すればよくなる。

▲エラーが起きた場合は、その原因を分析し、修正案を提示してくれる。

 

生成されるコードの20%はAI由来のものになる

アリクラウドでは、生成されるコードの20%程度はAI由来のものになると見ている。AIプログラマーの登場で、プログラマーは仕事がなくなるという問題について議論されることが多くなったという。現在のAIはまだ性能が低いため、今すぐプログラマーが解雇されるようなことはないが、AIが進化をするのにそれほど長い時間はかからないと誰もが感じている。

エンジニアにとって、コードを書くという作業そのものは難しいことでもなんでもない。報告書の文章を書くのと同じように、半ば自動的にコードは書いていける。しかし、その周辺の設計、最適化、テスト、デバッグという作業は簡単ではない。一定程度の経験が必要になり、さらには洞察力も必要になる。エンジニアの価値はここにあった。

しかし、そのエンジニアの価値のある部分をAIが代行をしようとしている。将来はプロダクトマネージャー1人でAIツールを使ってプログラムを仕上げてしまうということも起こるかもしれない。もちろん、そんなことにはならない、人間のプログラマーは永遠に必要と主張する人もいて、その主張にも説得力がある。

しかし、楽観派悲観派ともに合意ができることがひとつある。それはプログラマーが座る椅子の数は大きく減るということだ。プログラマー、エンジニアたちは、自分たちの能力とその活用について深く考えるようになっているという。通義霊碼が入社した最大の功績は、この意識改革かもしれない。