AI 支援による開発は、手動コーディングよりも 180 倍以上高速です。プログラマーは喜んでいるのでしょうか、それとも心配しているのでしょうか?

AI 支援による開発は、手動コーディングよりも 180 倍以上高速です。プログラマーは喜んでいるのでしょうか、それとも心配しているのでしょうか?

[[285648]]

今日、開発者にとっての参入障壁はかつてないほど高くなっています。ソフトウェア開発では、反復的なタスクにほとんどの時間がかかり、エラーが発生しやすくなります。市場ではソフトウェア開発の人材が不足しており、チームは仕事で過負荷状態にあり、多くの企業はますます複雑化する既存のコードを完全に習得できず、新しいプログラム開発の急速なペースに追いつくこともできません。

AI 愛好家にとって、AI がソフトウェア開発をどのように改善できるかを推測するのは刺激的なことです。 AI は数か月や数年ではなく数日でプロトタイプ フレームワークを作成できますか?人間の開発者に、より良いコードの書き方を教えてくれるでしょうか? AI 研究の範囲は非常に広く、コンピュータ プログラミングの柔軟性は本質的に無限であるため、インテリジェント プログラムが人間とコードの対話を支援できるようになると、ソフトウェア開発がどのようになるか想像するのは困難です。

[[285649]]

しかし、多くの開発者や技術マネージャーが気づいていないのは、ここ数年で AI が開発チームにとってますます重要になっているということです。実際、AI 支援ソフトウェア開発はすでに初期段階に達しています。

自動化にはAIが不可欠

すべてのソフトウェア開発組織は効率的でアジャイルな開発を追求しており、自動化技術によってすでに大規模なアジャイル開発を実現できます。過去 10 年間で、コードが変更されると自動テストが実行され、開発者が即座にフィードバックを提供し、それに応じた調整を行えるようになったため、ソフトウェアの品質は大幅に向上しました。自動化されたソフトウェア パイプラインは、ロボット アシスタントを使用してプル リクエストを生成するため、更新が継続的に配信されます。

しかし、すでにこの技術を導入している多くの企業は、自動化だけでは不十分であることに気づいています。自動化プロセスには依然としてボトルネックがあり、ほとんどの問題は新しいコードの作成時に発生します。たとえば、自動化により、開発チームが独自に作成すると数時間から数週間かかる数百または数千のユニット テストを迅速に完了できます。しかし、それらのコミットがテストによって検証されない場合、自動化されたパイプラインはガベージを生成します。自動化されたプロセスが壊れているにもかかわらず、新しいコード (および新しいテスト) が追加されるときには、依然として手動の作業が必要になります。

人工知能コーディング技術

幸いなことに、既存の AI コード テクノロジーでは、自動化パイプラインの残りの部分を検証するテスト コードを自動的に作成することで、これらの問題の両方を一度に解決できます。このようなタスクは開発者の時間を大量に消費し、新機能の作成など、より価値のある作業を行うことを妨げていました。ユニットテストで AI を使用すると、プロセスは簡単ではありませんが、自動化がさらに向上します。

[[285650]]

予想通り、AI によって作成されたテストと人間によって作成されたテストには違いがあります。しかし、これらのテストは非常に短時間で生成でき、機能も満足のいくものです。人間が書いたコードよりも優れたものが作れないのであれば、問題が発生したときに簡単に修正できることを確認してください。 Martin Fowler は 2006 年の論文「継続的インテグレーションについて」で次のように要約しています。「不完全なテストを頻繁に実行する方が、まったく実行せずに作成した完璧なテストよりも優れています。」

人工知能を使用して開発者のコ​​ード作成を支援することで、開発者と IT マネージャーは、時間、コスト、作業品質のバランスをどのように取るかという問題に悩まされることがなくなります。多くの開発者は、ソフトウェア開発を始めたばかりの頃は非常に創造的ですが、多くの反復作業によって元々の創造性が失われてしまいます。 AI 支援開発により、開発者は品質を犠牲にすることなく、より迅速かつコスト効率よく新製品を開発できるだけでなく、反復的なタスクを迅速に完了して創造的なタスクに注意を戻し、仕事に充実感を感じられるようになります。

着陸が鍵

コードの品質を重視する金融業界などの業界でも、ソフトウェア開発を支援するために人工知能を使い始めています。たとえば、ゴールドマン・サックスは最近、ソフトウェア開発の効率を向上させるために、人工知能を使用してコードを記述し始めました。彼らは AI ツールを使用して、レガシー アプリケーションに対して 3,000 を超えるユニット テストと 15,000 行のコードを記述し、わずか数時間で完全なテスト スイートを作成しました。手動で記述するテスト 1 件あたりの平均所要時間 30 分と比較すると、AI ツールでは 180 倍以上高速にテストを作成できます。全体として、銀行はこのテクノロジーを使用することで開発時間を 1 年以上節約できました。

Microsoft は、人工知能支援技術を使用してデザイナーやエンジニアが手描きのユーザー インターフェイス スケッチを使用可能な HTML コードに変換できるようにする Sketch2Code もオープンソース化しました。デザイナーとエンジニアがデザインについて合意に達した後、スケッチの写真を撮り、スケッチを手動で HTML コードに変換します。この変換プロセスには時間と労力がかかり、デザイン プロセス全体の速度が低下します。そこで開発者たちは、白紙に手描きされたこれらのデザインスケッチがブラウザに即座に反映されたらどうなるだろうかと考えました。その結果、ブレインストーミングセッションの後、デザイナーはデザイナー、開発者、さらには顧客によって検証された既製のプロトタイプをすぐに入手できるようになり、Web サイトやアプリケーションの開発にかかる時間を大幅に節約できるようになりました。これが Sketch2Code の誕生です。

Facebook もこの点では遅れをとっていません。昨年、同社は Getafix というツールを開発しました。このツールはバグ修正を自動的に見つけ、エンジニアに承認のために提供することができます。これにより、エンジニアの作業効率と全体的なコード品質が大幅に向上します。Getafix は、エンジニアに直感的な修正を提供できるだけでなく、より強力なクラスタリング アルゴリズムを使用して問題のあるコードのコンテキストを分析し、より適切な修正を見つけることもできます。このAI支援バグ修正ソフトウェア「Getafix」は、数十億人のユーザーを抱えるFacebookの運用環境に導入され、アプリケーションの安定性が大幅に向上しました。

将来的には人工知能を活用した開発が期待される

AI 支援開発はまだ非常に初期段階にあることは言及する価値があります。開発者のコ​​ーディングと自動テストを支援することしかできず、大規模な産業用アプリケーションを実現することはできません。複雑で難しいプログラミングは、依然として人間の開発者に依存しています。しかし、開発者が基本的な「大変で疲れる作業」をこなし、より複雑な開発を完了するための時間とエネルギーを増やすには、このような AI 支援技術が依然として必要です。

人工知能技術の継続的な進歩と、より多くの事例でのその応用の成功により、今後さまざまな業界で人工知能ソフトウェア開発への投資が増加するでしょう。世界的なテクノロジー大手は、さまざまな AI 支援開発ツールをオープンソース化することに熱心であり、この技術分野でシェアを獲得したいと考えていることがうかがえます。競争上の優位性を維持し、規模を拡大するために、市場プレーヤーは開発プロセスに新しい効率向上ツールを統合する必要もあります。同時に、AI 支援ソフトウェア開発テクノロジーは最初のイテレーションを完了し、将来コーディングがどのように発展していくかを垣間見ることができます。

<<:  AIストレージプラットフォームが機械学習とデータ分析のニーズを満たす方法

>>:  人工知能は行動変容マーケティングの世界に混乱をもたらすのでしょうか?

ブログ    

推薦する

私の国はAIや5Gを含む多くの技術で米国を上回っており、米国が私たちを絞め殺すことはますます困難になっています。

世界大国として、中国と米国は多くの分野、特に科学技術分野で競争している。中国は科学技術分野で比較的目...

知っておくべき 5 つの AI 応用シナリオ

人工知能は過去10年間で急速に発展し、徐々に私たちの生活に入り込んできました。現在、人工知能はさまざ...

ロボットは労働者を完全に置き換えるのでしょうか?心配しないでください。人間と機械の組み合わせだけが仕事の疲れを軽減できます

英国の著名な分析機関オックスフォード・エコノミクスが発表したデータによると、今から10年後の2030...

クラウド コンピューティングの限界: エッジでの機械学習が必要な理由

機械学習には高い処理要件があり、通信コストがかかることから、最終的にはエッジ(スマートフォン)で動作...

...

...

キャラクター AI は私たちのやり取りの方法をどのように変えるのでしょうか?

Persona AI は、人々がチャットボットと対話する方法に革命をもたらします。ニューラル言語モ...

...

大規模AIモデルに対するいくつかの攻撃方法

人工知能やビッグデータなどの新技術の応用と推進に伴い、ビッグモデルも人気の技術となっています。もちろ...

...

...

1 つの記事でクラスタリング アルゴリズムを理解する

1. クラスタリングの基本概念1.1 定義クラスタリングはデータマイニングにおける概念であり、特定の...

行動分析:誤解された人工知能がもたらすセキュリティリスク

誇大宣伝を信じるなら、人工知能 (AI) と機械学習 (ML) はすでに現代の IT インフラストラ...

AIを使ってAIを評価する上海交通大学の新しい大規模モデルは、いくつかのタスクでGPT-4を上回り、モデルデータはオープンソースです

大規模モデルのアライメントパフォーマンスを評価する最も効率的な方法は何ですか?生成AIのトレンドでは...