| 張暁南プロデュース
| 51CTOテクノロジースタックへ)
生成AI以降火事でAIはプログラマーの役割は「危機に瀕している」ようだ。
AIプログラミングツールがプログラマーに取って代わることができるかどうかという話題が、ほぼ時折、再び議論されるでしょう。AI プログラミングによって引き起こされた白熱した議論は人々を混乱させています。これはプログラミングの分野で生産性革命を引き起こすのでしょうか?それとも、これもまた誇張されすぎたスタントなのでしょうか?
AI プログラミングのおかげで、Baidu は現在、エンジニアによって提出された新しいコードの 27% が AI によって生成されています。この答えの先駆者は、この答えを模索している大手メーカーです。
しかし、
Baidu Comate アーキテクトであり、この製品の最初のユーザーである Xu Xiaoqiang は、「開発者はプログラミング ツールに取って代わられる」という声明に強く反対しています。 研究開発と建築での勤務経験により、人間の意思決定とイノベーションにはかけがえのない価値があると強く信じています。
「ツールは人間がより良くできるよう支援するためのものであり、ツール自体は人間の代わりに使用されるものではありません。」 彼はインタビューで何度もこの見解を表明しました、「人間の意思決定とイノベーションの能力は常にモデルよりも優れています。」 しかし、彼はまた、AI の介入により、ソフトウェア エンジニアリングの分野が確かにいくつかの根本的な変化を経験していることにも鋭く気づきました。研究開発プロセスにおける役割の境界があいまいになり、開発者とAIが連携する新たなパラダイムの時代が到来しようとしています。
Comate の徹底したユーザーである Xu Xiaoqiang 氏は、ライブ ブロードキャスト中にプログラミング ツールの使用方法と経験の多くを共有し、ユーザーが「練習すれば完璧になる」ようにこのツールをできるだけ練習する必要があると提案しました。 。
Xu Xiaoqiang 氏が構想する AI プログラミングの成果は広範囲に及び、素晴らしいものです。 プログラミング ツールの質的飛躍の後、彼は、「誰もがプログラマー」究極の設計図。
インタビューのポイントは以下のとおりです:
現在、AIプログラミング製品は、より「真のニーズ」に応えるべく、水平的・垂直的に製品機能の向上を続けています。
補助プログラミング ツールは開発者の代わりにはなりません。ツールの目的は、人々との共同作業を改善し、それによって人々の能力を向上させることです。
AIGC 実践スクール:
AI プログラミングの大人気は需要によるものなのでしょうか、それとも単なるからくりなのでしょうか? Xu Xiaoqiang:
これらの意見は脇に置いて、現在の事実を見てみましょう。
まず、AIプログラミングツールの普及と受け入れには時間がかかりますが、AIプログラミングの市場人気は誰の目にも明らかであり、ますます多くの実装事例と商品価値が現れるでしょう。 第二に、AIプログラミング製品は、より「本当のニーズ」に応えるために進化し続けます。自社製品Comate 2.0を例に挙げると、私たちは垂直方向と水平方向の両面から製品の機能を向上させるために常に努力しています。
水平的には、AI プログラミングがより広範囲の研究開発シナリオをカバーできることを願っています。たとえば、RAG テクノロジーを使用すると、プロジェクトとコードを深く理解できるため、さまざまなシナリオで研究開発の効率が向上します。垂直的には、AI が特定の業界や特定のシナリオに深く浸透できることを期待しています。
最後に、AI プログラミング ツールの有効性は個人と組織によって異なる場合があり、ユーザーは使用習慣を確立し、ツールとの適合性を見つける必要があります。 AI ツールとより適切に連携するには、ユーザーは自分のニーズを明確に説明し、AI をすべての質問に答え、継続的に探索して対話するパーソナル アシスタントとして扱う必要があります。
さらに、AI プログラミングを学習ツールとして使用して、なじみのない言語、フレームワーク、コード実装のアイデアを理解し、実装の詳細について詳しく調べることができる開発者もたくさんいます。
プログラミング分野におけるAIの効率向上は、決して奇策ではないと言えます。ラージ モデル テクノロジーの台頭以来、Baidu は人間の効率を 10% 向上させ、エンジニアが提出したコードの 27% が AI によって生成され、ユーザーの採用率は 46% に達しました。現在、Baidu エンジニアの 80% が AI ツールを使用して開発を支援しています。
さらに、エンジニアは、新世代のツールによってもたらされる変化を感じており、これにより作業効率が向上するだけでなく、仕事の幸福度も高まります。
AIGC プラクティショナー: AI プログラミングを使用する際、ツールの可能性をより良く活用する方法はありますか?
Xu Xiaoqiang: 私たちはまだもっと努力する必要があると思います。徐々に、どのようなシナリオで AI が人間よりも速く物事を実行できるのかを感じることができるようになります。このようなシナリオを 1 つずつ積み重ねることで、ツールは徐々に期待どおりの結果を達成します。
AIGC プラクティショナー: 先ほど、Baidu の毎日の新しいコードの 27% が Comate によって生成されているとおっしゃいました。そのため、会社の研究開発チームがより多くの AI プログラミング ツールを使用すると、人員削減につながるのではないかと心配する人もいます。
Xu Xiaoqiang: 最初は、私たちも混乱し、このようなことが起こるのではないかと心配していました。しかし、AI プログラミングをより深く使用し、理解することで、効率を向上させるということは、ツールを人間に置き換えることではなく、ツールと人間の連携を改善し、それによって人間の能力を向上させることであることがわかりました。
現時点では、プログラミングや開発者という職業がなくなるほどAIは発展していません。しかし、御者用自動車の誕生と同じように、いつかその段階に達しても、あまり心配する必要はありません。
AIGC実践スクール: AIにどこまで希望を託せるかプログラミングツールには限界があるのでしょうか?
Xu Xiaoqiang: AI プログラミング機能の限界について話すには、まずこのツールの核となる利点を検討する必要があると思います。 それは主に、反復性が高い、単純である、些細であるという 3 つの特徴を持つタスクにあると思います。
したがって、創造性、意思決定、複雑さが必要なシナリオでは、AI 機能は優れた基準を満たすことができません。その機能は主に次の側面によって制限されると思います。
まず、モデル自体が情報を十分に深く理解していません。より大きなモデルがあっても、コードの理解はまだ十分ではありません。コードは情報密度の低い媒体であり、モデルと機械にサービスを提供するためではなく、人間と機械の言語の間のバランスを見つけるために誕生したと私は考えています。そのため、AIはコードで全体の状況を把握することができず、意思決定の精度が大きく低下してしまいます。
第二に、人間はさまざまな方法で情報を保存および送信しますが、AI がフローチャートやクラス図などのマルチモーダルな情報を理解する能力には限界があります。これは現在非常に人気のある研究方向でもあります。
第三に、モデルの原理から始めますが、確率モデルとしての AI の出力は既存の知識によって制限され、創造性に欠けます。 AIプロンプト(プロンプト)を一般ユーザーが自ら調整することは難しく、プロンプトエンジニアなどの専門職の介入が必要となる。
最後に、専門領域の知識に対する AI の理解はまだ浅く、プライベート領域の知識と専門領域の知識の両方をさらに強化する必要があります。
上記の要因に基づいて、特定のシナリオでは AI のパフォーマンスに制限があります。特定の問題を分析し、どのタスクを AI で完了するのが最適で、どのタスクを自分で完了するのがより適切かを判断するための橋渡し役として人間が必要です。これは、人間が常にモデルよりも優れたパフォーマンスを発揮できる領域の 1 つです。
AIGC 実践スクール: プログラミング スキルを持たない人が、十分強力な補助プログラミング ツールを使用した場合、一部のプログラマーが行っていることを達成できるでしょうか。
Xu Xiaoqiang: この効果はある程度達成されたと思います。
AIGC Practice School: しかし、本当に創造的でやりがいのあるコーディング作業は、やはりプログラマーが行う必要があるのでしょうか?
徐暁強: はい。
AIGC プラクティショナー: この観点から見ると、プログラマーは置き換えられることを心配する必要はありません。
徐暁強: はい。これについては全く心配する必要はないと思います。
AIGC 実践スクール: さて、多くの人が「ソフトウェアエンジニアリングの新しいパラダイム」という言葉を口にするでしょう。 。 AIの影響により、ソフトウェアエンジニアリングにどのような変化が起こるのでしょうか?実践者はこれらの変化をどのように捉え、対応すべきでしょうか?
徐暁強:はい。ソフトウェア エンジニアリング 3.0 の概念は最近さらに一般的になってきましたが、私はこれは 3.0 時代に到達するための出発点にすぎないと考えています。
ソフトウェア エンジニアリング パラダイムの進化を振り返ると、1.0 時代のソフトウェア エンジニアリングはソフトウェア開発とチームのコラボレーション プロセスを真に標準化しました。ただし、この方法は実際の開発では十分な俊敏性が得られず、配信プロセスも十分にスムーズではありません。 2.0時代に入り、クラウドコンピューティングやSaaSに代表される開発のアジャイル化やインフラの整備が進み、1.0時代とは考え方や製品形態が大きく変わりました。
3.0 時代に関しては、ツール主導の変化の段階には入っていないと思います。大規模モデル (LLM) はさまざまな側面で潜在力を備えているため、変化を主導するのではなく、触媒として機能することができます。以前は、各開発者に役割を与えることは非現実的でしたが、現在では AI と連携するという新たなパラダイムの時代が到来しています。
AI の共同作業方法は、次の側面で私たちの仕事を改善できます。 まず、AI は実際の作業における操作手順を簡素化できます。
第二に、AI はタスクを切り替えるコストを削減し、質問する、プロジェクトに慣れる、情報を理解して見つけるなどのタスクを 1 つのインターフェイス内で完了するために AI に依存できるようになります。これは私の権利のようなものです。手マン。現在、AI とのコラボレーションはまだコマンド モードですが、将来的には、単純な意思決定タスクなど、AI がさらに多くのことを実行できるようになる可能性があります。この方法でのみ、人間とマシンのコラボレーションの真に新しいモデルを実現できます。 。
AIの介入により、ソフトウェアエンジニアリングの分野は確かに根本的な変化を経験しています。研究開発プロセスが再構築され、要件エンジニアリングが提供の開始点と終了点となり、現在のバージョンの機能の上限が新しい要件の開始点となり、製品の反復が継続的に促進されます。
同時に、AIの登場により役割分担も曖昧になってきました。現在、製品マネージャーは、大規模なモデルを使用してプロトタイプを迅速に生成し、同様の動的機能を使用して、チームが製品コンセプトをより直観的に理解して評価できるようになります。
私は、人間と機械のコラボレーションと配信モデルの変化、そしてチェーン全体の変化がソフトウェア エンジニアリングの進化を共同で促進すると信じています。
AIGC プラクティショナー: 3.0 時代はまだ正式には始まっていないと言いましたが、この過渡期にはいくつかの新しい重要な役割があるのでしょうか。
Xu Xiaoqiang: はい、いくつかの新しい変化に気づきました。たとえば、最近比較的人気のある新しいポジションにプロンプトエンジニアがあります。このポジションは以前は存在しませんでしたが、実際には研究開発または製品の役割から発展しました。これは、AI の統合により、本来のポジションの要件が更新され、より専門的な部門も形成され、これらのスキルを持つ人材がより大きな価値を発揮できるようになっていることを示しています。
AIGC プラクティショナー: 新しい役割はどのようにして会社に加わりますか?それは社内で生み出されるものなのでしょうか、それとも採用を通じて達成する必要があるのでしょうか?
Xu Xiaoqiang: AIネイティブアプリケーションの開発において、プロンプトエンジニアは欠かせない役割だと思います。しかし、現在の観点からすると、この役割は新しすぎるため、市場で経験豊富な候補者を見つけるのは困難です。したがって、私たちは研究開発マネージャーや製品マネージャーなどの内部異動を通じてこの役割を担うことがよくあります。変革のプロセスでは、他の優れた実践を参考にし、成功事例を蓄積していきます。
さらに、ツールレベルでのサポートも提供いたします。 Baidu 内では、リンク全体の運用をサポートするために、Comate stack、Playground などの一連のツールを開発しました。
AIGCプラクティショナー: 今、AIが新たな仕事を生み出したとおっしゃいましたが、それは目を引くものですが、話題が変わると、実際にはこれらの職種のニーズを満たすことができる製品機能がたくさんあります。 . (はい、新しい雇用が創出されないという意味ではないでしょうか?)
徐暁強: そうではないと思います。ツールは人間の代わりに使用されるものではありません。 。
AIGC実践スクール:GitHubが昨年立ち上げたAIプログラミングツールが訴訟に遭遇しました。しかし、このコードはオリジナルではないことが証明され、訴訟は侵害の問題を中心に展開されました。プログラミングツールを使用する際にこのような問題を回避するにはどうすればよいでしょうか?
Xu Xiaoqiang: これは非常に新しい問題であり、立法と法学の両方の観点から十分な参照が不足しています。これは実際には 2 つのレベルの問題だと思います。第 1 レベルの問題は技術的な問題であり、第 2 レベルは法的問題です。
技術レベルでは、多くの技術的な解決策があり、それらはより防御に関するものです。当社では、モデルのトレーニング時に著作権で保護されたコード スニペットを特定して配布を回避するなど、テクノロジーの信頼性とコンプライアンスを確保するよう努めています。製品レベルからは、準拠したデータ送信を保証し、ユーザー対話プロセスのデータとプライバシーのセキュリティを確保する必要があります。
法的な観点から見ると、関連する問題を解決し、ほとんどの人々の利益を守るためには法律が必要です。実際、今年、私たちは生成大規模モデルのインテリジェント開発標準の中核メンバーとして、大規模モデルの原則とデータセキュリティに関する規制をまとめました。したがって、近い将来、法的側面全体がより完全で十分な根拠を備え、業界の発展をサポートすると信じる理由があります。
AIGC Practice School: Xu 先生の言ったことは非常に啓発的です。私たちが今議論した問題は、大型モデルの時代に特有のものではありません。大規模モデルへの注目が高く、AIプログラミング技術に懐疑的な人もいることから、個別の事例(マイナスの影響)が増幅する可能性がある。
徐暁強: はい。
AIGC 実践スクール: AI プログラミング ツールの継続的な開発と進化により、最終的には反復的にどの程度最適化されるのでしょうか?私たちは、いわゆる AI コーディングの究極の形に興味があります。
Xu Xiaoqiang: 長期的には、最終結果は現在の製品とは質的に大きく異なるものになると思います。
1 つ目は、人間とコンピューターの対話方法の変化です。現在、私たちの対話は主にキーボード入力によって行われており、私は積極的に情報を機械に提供し、機械に私の意図を分析させます。将来的には、私たちがより対等で会話的な方法で、あるいは言語を超えた意識レベルで直接対話できるかどうかは、まったく新しい経験となるでしょう。
2 番目の点は、先ほどいくつかのアイデアを述べましたが、情報媒体の将来の変化により、コードの概念が不要になる可能性があります。将来的には、新しい形式のモデルとその周辺アプリケーションが登場し、これらのアプリケーションはモデル上で実行され、ユーザーと AI の間の対話はコードやデータの送信に依存しなくなると思います。こうして「誰もがプログラマーになる」という究極の目標に向かって進んでいきます。
友達をパーティーに招待するためのアプリケーションを生成する必要があるシナリオを想像してください。自分のニーズを一文で表現するだけで、AI がこのアプリケーションを作成して送信できるので、友達が直接応答できるようになります。参加者の感想やプレゼント選びも紹介します。
現実に戻ると、この理想的な状態はまだ比較的遠いです。
AIGC プラクティショナー: この製品の次の計画は何ですか?
Xu Xiaoqiang: Comate の開発には主に 2 つの期待があります。まずは、より多くの研究開発シナリオをカバーできるように拡張し、研究開発以外のシナリオにも適用して、さまざまな役割が開発とソフトウェア エンジニアリング間の共同作業の効率を向上できるようにしたいと考えています。
第二に、垂直開発分野での開発中の需要分析について、Comate がより詳細なサポートを提供できることを期待しています。これにより、誰もがより簡単に始められ、すぐに習熟レベルに達し、使用中により良い結果が得られます。
AIGC について詳しくは、こちらをご覧ください:
51CTO AI.x コミュニティ
https://www.51cto.com/aigc/
以上がAI コーディング、それは本当に必要なものでしょうか、それとも単なるギミックでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。