top of page
検索
  • izwxinc

AI主導のソフトウェア開発

更新日:2023年9月11日

この記事は以下のブログの翻訳です。


人工知能 (AI) は過去 10 年間で大きく進歩しました。この進歩はどこまでできるのか誰もが疑問に思っています。現在、AI システムはテキストだけから無数の異なるスタイルの画像を生成できます。例としては、DALL・E 2、Midjourney、Stability、Figma の Ghost Artist などがあります。さらに、GPT3のようなニューラル ネットワークは、翻訳、書き込み、質問への回答、さらにはコードの作成も可能です。


これらすべてが、機械的な仕事以外に創造的な仕事をAIが引き継ぐのではないかという懸念を引き起こしました。では、AI はソフトウェア開発をどのように変えたのでしょうか? 人間のエンジニアは過去のものになるのでしょうか? この記事では、AI 主導のソフトウェア開発の現在の状況に焦点を当てます。さらに、専門家が将来何をもたらすと予想しているのかを確認します。しかしその前に、人工知能に関する一般的な懸念事項を見てみましょう。


人工知能はどこまで進んだのでしょうか?

音声認識からスマート アシスタントに至るまで、AI は私たちの生活の本質的な部分になっています。現在、一部のシステムではオリジナルのアート作品を作成できます。AI が優れた音楽やベストセラー文学を生み出す日もそう遠くないかもしれません。乳がん診断などの医学でも進歩を遂げています。これらすべての画期的な進歩により、「機械は人間に取って代わるのだろうか?」という疑問が生じます。この質問に対する最も賢明で可能性の高い答えは「いいえ」です。他のテクノロジーが歴史を通じて行ってきたように、AI は一部の仕事を置き換えるでしょう。しかし、それはまた、人間ができることを強化しながら、新しいものを生み出すでしょう。


AI の人気が高まる一方で、AI のトレーニングにかかる​​コストは減少します。その結果、一部の分野では人的労働力が大幅に削減される可能性があります。2050年までに定型業務の50%がAIに取って代わられるという研究結果もある。しかし、これは失業率が突然大幅に増加するという意味ではありません。これまでと同様に、従業員はより専門的な業務に集中できるよう再訓練されます。この変化は給与の増加と生活の質の向上につながるはずです。もちろん、将来について明るい見通しを持っている人もいます。このシナリオでは、AI により私たちは機械に過度に依存するようになります。それが経済の不安定化や差し迫った破滅につながるという考えさえあります。最も可能性の高い見通しは、AI が人間の知性を置き換えるのではなく、強化することです。


ソフトウェア開発における人工知能 (AI)

ソフトウェア開発に関しては、人工知能が有益であることが証明されています。一部の AI ツールは、コードをチェックしてエラーやバグを検出し、アップグレードを展開する際のリスクを軽減します。これらのツールにより、システムの安全性が高まり、生産性が向上しました。以下では、AI がもたらしたものについて詳しく見ていきます。また、特にコーディングに取り組む 2 つの人工知能システムを確認します。


人工知能はどこで役立つのでしょうか?

● 要件。ソフトウェア開発の要件の収集と管理は、面倒な作業になる場合があります。AI は人間の介入を減らし、時間と労力を節約するさまざまなツールを作成しました。このテクノロジーはまだ初期段階にありますが、有望に見えます。要件管理の既存のソリューションの 1 つは、IBM によって作成されたものです。

●デザイン。AI が UXデザインに与える影響はポジティブです。データをより迅速に分析し、高度なローカリゼーションを実現するのに役立ちました。また、パーソナライゼーションをさらに一歩進めるのにも役立ちました。

●コーディング。AI 駆動のコーディング アプリの例には、「オートコンプリート」機能が含まれています。この機能は、生産性を向上させ、コードの精度を向上させるのに役立ちます。そのため、開発者は問題解決やデザインなどのクリエイティブな作業により多くの時間を割くことができます。Visual Studio Intellicode と GitHub Copilot は、このテクノロジの例です。

● テスト。ソフトウェア テストを手作業で行うと、非常に時間がかかることがあります。AI を使用すると、開発者はテスト ケースを迅速に開発し、回帰テストを実施できます。既存の AI 主導のテスト ツールには、Appvance、Testim、Diffblue などがあります。

● セキュリティ。AI は、機械学習を使用してデータを調査することで、データのセキュリティを強化しました。これは、異常を検出し、誤った通知や警告を回避するのに役立ちます。例としては、Google の電子メール フィルターや Balbix Security Cloud プラットフォームなどがあります。


AI の実例とは何ですか?

AI が現在ソフトウェア開発業界にどのような貢献をしているかを見てきました。それでは、AI を活用したプログラミングの 2 つの例を見てみましょう。


GPT-3AI

GPT-3は、OpenAI によって作成された第 3 世代の機械学習システムおよびテキスト生成ニューラル ネットワークです。このシステムは、45TB のデータに基づくアルゴリズムを使用します。さらに、1,750 億の ML パラメータを使用して人間のようなテキストを生成します。これをかなり印象的にしているのは、これまでに作成された他のモデルよりも 10 倍大きいことです。このトピックについては、GPT-3 はさまざまなプログラミング言語でコードを生成することもできます。このシステムはまだ完璧には程遠いものの、最終的には日常的なタスクを引き継ぐことが期待されています。結果として、ソフトウェア制作のボトルネックを解消するのに役立つ可能性があります。


ディープコーダー AI

DeepCoder は、Microsoft とケンブリッジ大学によって構築された AI システムです。これは、深層学習を通じてプログラムのプロパティを予測するために訓練されたニューラル ネットワークです。このように、DeepCoder はコードの作成だけでなく、プログラミングのさまざまな問題も解決できます。DeepCoder の機能は現在制限されています。しかし、このシステムは数年以内にコーディングを大幅に自動化できると期待されています。


AI 主導のソフトウェア開発の未来

人工知能はすでにソフトウェア開発を変えています。また、今後数十年にわたってその傾向が続くでしょう。しかし、これらの変化はどれくらい劇的なものになるのでしょうか? プログラミングは自動化されるのでしょうか?AI はソフトウェア開発者に完全に取って代わられるのでしょうか? 将来何が起こるかを探ってみましょう。

AIはソフトウェア開発を引き継ぐのでしょうか?

まあ、このテーマについては意見が多少分かれています。Andrej Karpathy 氏によると、AI の時代は Software 2.0 と呼ばれる新しいソフトウェア開発方法をもたらすでしょう。この観点から見ると、ソフトウェアはより抽象化され、人間の関与は必要なくなります。プログラマーはコードを書く代わりに、関連するデータを見つけて整理することに集中します。これらのアクションは、コードの作成を担当する機械学習システムに役立ちます。

しかし、予想通り、カルパシーは多くの批判を受けました。一部の専門家は、AI はソフトウェア開発者に取って代わるのではなく、彼らに力を与えるだろうと考えています。この観点は、AI がより日常的なタスクを引き継ぐことを示唆しています。この文脈において、プログラマーはプログラミングの創造的かつ重要な側面に集中することができます。最も可能性の高いシナリオは、プログラマーの役割が過去数年間と同様に変化するというものです。AI がすぐに人間の開発者に取って代わる可能性は低いでしょう。むしろ、開発者にとって影響力のあるツールとなる可能性が最も高いです。これらのツールは、知識を獲得し、手順を最適化するのに役立ちます。このシナリオでは、AI はコード開発のより退屈な部分に取り組みます。


人工知能はどのような障害に直面していますか?

私たちは人工知能の利点を絶賛してきました。しかし、AI がその可能性を最大限に発揮するには、特定の障害を克服する必要があります。


● バイアス。AI システムの品質は供給されるデータに依存するため、どのようなデータが供給されるかを考慮することが重要です。「悪い」データまたは低品質のデータを AI に供給するために使用すると、システムに偏りが生じる可能性があります。このデータ品質には、たとえば、差別的な仮定が含まれます。これを避けるために、企業は制御フレームワークと技術に投資する必要があります。

● データ。機械学習には大量のデータが必要です。ただし、すぐに入手できるトレーニング データには限界があります。AI システムに供給できるデータを増やすことはコストがかかるか、違法です。これは、AI の成長に対して法的および技術的な障害となります。

● リソース。もう 1 つの限られた資産はハードウェア リソースです。現在、AI アルゴリズムには、従来のソフトウェア開発よりもはるかに大きなハードウェア要件があります。これは追加コストを意味します。


AI 駆動開発に関するよくある質問

ここまで、AI の現在の状況と、AI ドリブンが将来何をもたらすかについて説明しました。それでは、人工知能に関するいくつかの疑問を掘り下げてみましょう。


人工知能にはコーディングが必要ですか?

はい、人工知能はコンピューター サイエンスの分野です。したがって、間違いなくコーディングが必要になります。


ソフトウェア開発者は AI の時代でも適切な立場を維持するにはどうすればよいでしょうか?

AI の進化に合わせて関連性を維持することに懸念を抱いている開発者であれば、取り組むことができるさまざまなスキルがあります。現在、数学、統計、微積分に熟練した開発者は AI プロジェクトの恩恵を受けることができます。また、ビッグデータ機械学習データサイエンス自然言語処理も勢いを増しています。さらに、データマイニングやコグニティブコンピューティングもあります。心配しないで; これらすべての分野の専門家になる必要はありません。しかし、一般的な知識は役に立ちます。さらに、特定の分野に特化することは価値があることがわかります。


ソフトウェア開発者はAIエンジニアになれるのでしょうか?

AI エンジニアは、データ サイエンス、データ エンジニアリング、ソフトウェア開発のスキルを組み合わせます。その結果、人工知能アプリケーションを構築できるようになります。さらに、ニューラル ネットワークを構築し、機械学習アルゴリズムを作成します。ソフトウェア開発者は間違いなく AI エンジニアになることができます。しかし、彼らは急な学習曲線に直面しなければならないかもしれません。ただし、開発者の取り組みを支援するために利用できるリソースは無数にあります。


ソフトウェア開発 VS. 人工知能 VS. サイバーセキュリティ

ソフトウェア開発、AI、またはサイバーセキュリティを学ぶべきですか? どちらのオプションが優れているとは言えませんが、いくつかの要素を考慮することが重要です。

ソフトウェア開発は、創造的で革新的な人材に有利です。多くの場合、開発者はチームでも個人でも快適に作業できます。さらに、実践的なアプローチから学ぶことを恐れない傾向があります。人工知能は主にデータを中心に展開します。このため、データ エンジニアリングと探索的データ分析のスキルが必要です。この分野に適した人々は、データを愛するだけではありません。また、彼らは優れたコミュニケーション能力と対人スキルを持っています。さらに、彼らは創造的で、統計に精通しており、問題解決が得意です。最後に、サイバーセキュリティには優れたコミュニケーションスキルも必要です。ただし、不安に対する高い耐性やパズルを解くことへの情熱などの強みも必要です。

結論

AI はすでに導入されており、今後も無数の発展をもたらし続けるでしょう。機械が乗っ取る理論については、今のところ SF 作家に任せることにします。しかし、今後数十年間、AI は生産性の向上に重点を置くことになると言えます。さらに、プログラマーの日常的な作業にも役立ちます。このテクノロジーが進化するにつれて、ソフトウェア開発者の役割は必ず変化し、調整されることになります。今後の展開が楽しみです!

閲覧数:7回0件のコメント

Comments


bottom of page