AIはプログラミングの仕事を奪うのか、それともプログラマーをAIマネージャーに変えるのか?
プログラミングでは、コーディングを行います。 AI を使えば値切り交渉ができます。
私がフルタイムのアドバイザー、評論家、コラムニストとして活動してきたここ 10 年ほど以前は、マネージャーでした。私はキャリアの初期には製品マーケティングの幹部を務め、キャリアの後半には出版社になりました。私には何年もの間、私に直接報告する人々がいました。
私は編集者、営業担当者、プログラマー、製造チーム、その他の幹部を管理しました。
私のアンコールのキャリアで最も優れている点の 1 つを知りたいですか?直属の部下はいない。誰かを管理する必要はありません。
マネージャーになったことのない人は、上司は部下に仕事を丸投げし、ただ人々を上司にすることに時間を費やすことができると考えています。管理者は、自分たちのために働く従業員に指示どおりに職務を遂行させることだけに非常に多くの時間を費やしているのが現実であることを知っています。
その一部はマネージャーに任されており、明確な指示を与える場合もあれば与えない場合もあります。しかし、その課題の同等の量は、指示を誤解したり、受動的攻撃的で指示に従ったり(上司にこれをしたので、これは私のカルマの報いでした)、あるいは単に何をするかを交渉する必要がある直属の部下にかかっています。する必要があります。
それが私がプログラミングが好きな理由の一部です。プログラミングを使用すると、コンピューターはユーザーが指示したことを正確に実行します。 まさにです。もちろん、プログラムが指示に従う精度により、特に最初の試行ではバグが発生することがよくあります。しかし、それは問題ありません。なぜなら、それが間違っていることは、コードのどこかにあるからです。
適切なアルゴリズムを考え出すこと、または頭の中にあるアルゴリズムとデータ構造を実用的なコードに変換することは難しいかもしれませんが、コードはコードです。それは一貫性があり、合理的に予測可能です。
それからAIです。 ChatGPT のような AI に指示を与えることは、プログラミングというよりもプログラマーの管理に似ています。すべては解釈と交渉の対象となります。はい、結果は得られますし、大量のコーディングがなければ得られなかった結果が得られることもありますが、それでもある程度の交渉、交渉、リクエストの再構成が必要であり、正しく理解するために何度も試行を繰り返します。
AI にプロンプトを 2 回与えると、2 つの異なる結果が返されます。コードに何らかのランダム化関数や重大なバグがない限り、コードを 2 回実行してもまったく同じ結果が返されます。
AIはプログラミングの仕事を奪うのか?
私は、特に今週末、高度なプロンプト ライティングに関する記事に取り組んでいたときに行ったいくつかのプロンプト ライティングを考慮して、この質問についてよく考えてきました。その記事では、ChatGPT を使用して非常に単純な問題を解決しようとしましたが、確実に動作させるには何時間もかかり、20 回以上のプロンプト試行が必要でした。プロンプトは次のとおりです。
「委譲」に似た言葉で「B」で始まる言葉
ChatGPT は、その答えに完全に自信を持っているようで、「D」で始まる回答を返し続けました。返ってきた言葉が「B」で始まっていないことを私が指摘すると、謝って同じ間違いをしました。何度も何度も。それはまるで、特に頑固な従業員に、私がしてほしいことを理解してもらいながら話しているような気分でした。
私は電話で販売する数人の営業マンを管理していた時期がありました。彼らは、かなり有望な見込み客リストに電話して、当社のサービスを売り込むように求められました。私はサービスの売り込み方法を正確に説明しましたが、その台本に従うことを拒否した営業担当者が 1 人いました。
そのため、彼女が電話した人の中には、有望な見込み客に変わってしまう人もいたのですが、見込み顧客と会うまでは、彼らが私たちが提供するサービスについて間違った考えを持っていたことが判明しました。彼女は、予約を取りやすくなったので、彼女の説明の方が気に入りました。
しかし、それは約束をすることではありませんでした。それは売上を上げることについてでした。彼女は約束をしても報酬すら得られなかったが、それは問題ではなかった。彼女は自分のやり方がもっと気に入った。
ChatGPT はそういうものです。 B で始まる単語を返させるのに数時間を費やした頃には、次のように叫びたくなる段階に達していました。 DEVOLVEという単語がDで始まるのは?」
私はコーディングしていませんでした。交渉していました。私は日曜日の大部分をロボットとの値切り交渉に費やし、その間ずっと「これが進歩なのか?」と考えていました。
私は常に AI に魅了されてきましたが、このテクノロジーは私が夢見ていたものに近いところまで来ています。私は大学での論文研究に遡って、AI と AI の影響について研究してきました。それでも、数時間後には壁に頭をぶつけたくなった。心の底から叫び、髪の毛を引き裂きたいと思いました。
そのため、それは私が長年にわたって抱えてきた直属の部下の一部を管理するのとよく似ていました。そして、正直に言うと、私が若い頃に上司たちが私を管理していると感じていた気持ちとよく似ていました。
最終的には信頼できるプロンプトを思いつきました。この記事では、それが機能する理由について説明しています。しかし、AI が低レベルのプログラミングの仕事を奪う可能性があるように見えても、AI が従業員と非常によく似た働きをするという事実により、人間の労働者をある程度保護できる可能性があることが私には非常に明確になりました。
次の表は、コーディングを行う方が簡単なタスクと、AI を使用する方が簡単なタスクがあることを示しています。ご覧のとおり、この 2 つの組み合わせは特に興味深いものですが、AI を使用しても人間のスキルや専門知識の要件がなくなるわけではありません。
Code | AI | |
Getting data | You'll need to find a large dataset and use a specific API to retrieve individual data items | Just describe what you need and the AI will find it somewhere. It's easy to do. |
Accuracy of data | If the data set is accurate and your code runs correctly, the data will be accurate. | There is no provenance to the data you retrieve. It could even be completely made up by the AI. |
Creating instructions | You need to be familiar with how to code and how to design an algorithm, as well as various APIs and language interactions. | If you can describe it, you can generally make it happen by simply telling the AI what you want. |
Following directions | Your code will do exactly what you tell it, including make errors if you haven't fully debugged it. | The AI will roughly interpret what you asked for and will sometimes stubbornly do whatever it wants anyway. |
Executing complex instructions and getting reliable results | You need to be an experienced coder with a full grasp of how to construct algorithms and write code. | You need to be an experienced "prompt engineer" with a full grasp of how to specify problems and how they should be solved. |
Are skills and training required? | Newbie programmers can do some projects, but real work requires deep understanding of how to get the job done. | Anyone can write simple prompts, but solving complex problems requires deep understanding of how to get the job done. |
ZDNET では、コードを支援するために生成 AI を使用したプログラマーの経験に関する調査に焦点を当てた記事をいくつか掲載しました。 AI によってプログラマーの生産性が向上し、より多くの若手プログラマーに新しいテクニックを教えるのに役立つという印象が一般的です。しかし、AI に関する私の数多くのプログラミング記事で示したように、コードは常に機能するとは限りません。
AI がプログラミングの仕事を変革し、実際の人間から仕事の一部を奪うことに疑いの余地はありません。しかし、少なくとも現世代の AI エンジンでは、実際に何かを行うには、コーディングの専門知識、プロンプト ライティングの専門知識、あるいはその両方の組み合わせなど、ある程度の専門知識が必要になります。それに加えて、健全な忍耐力も必要です。
ソーシャルメディアで私の日々のプロジェクトの最新情報をフォローしてください。 Twitter では @DavidGewirtz、Facebook では Facebook.com/DavidGewirtz、Instagram では Instagram.com/DavidGewirtz、YouTube では YouTube.com/DavidGewirtzTV を必ずフォローしてください。
