まずここに2つ回答を載せています。
- プログラミングだけが影響を受けるわけではない
- 「よくある」ものは簡単に作れるが、大規模なものや、革新的なものは簡単に作れない
こうなったときにまず影響を受けるのは、定型化された簡単なプログラムを作るだけの人です。例えば他の回答にあるように、「運用スクリプトうん十万円」というのは通用しません。こういうちょっとしたプログラムならChatGPTで十分なことも多いでしょう。
自分が想定しているのは、ローコードツールと合わせて使う数十行レベルのカスタムロジックです。
もう一つ影響を受けるのは単に難しいだけの知識です。例えばDynamoDBの登場により、Cassandraを保守していたエンジニアが不要になった、そんな話があります。これはChatGPT以前の話で、マネージドサービスに奪われた話ですが、ずっと1つのスキルだけで食っていくのは厳しくなります。
となると、プログラマーのあり方は端的に言えば「深さ」か「広さ」、すなわち次の2種類に行き着きます。
- 代替できない、経験に基づいた高度な知識と技能を
まずここに2つ回答を載せています。
- プログラミングだけが影響を受けるわけではない
- 「よくある」ものは簡単に作れるが、大規模なものや、革新的なものは簡単に作れない
こうなったときにまず影響を受けるのは、定型化された簡単なプログラムを作るだけの人です。例えば他の回答にあるように、「運用スクリプトうん十万円」というのは通用しません。こういうちょっとしたプログラムならChatGPTで十分なことも多いでしょう。
自分が想定しているのは、ローコードツールと合わせて使う数十行レベルのカスタムロジックです。
もう一つ影響を受けるのは単に難しいだけの知識です。例えばDynamoDBの登場により、Cassandraを保守していたエンジニアが不要になった、そんな話があります。これはChatGPT以前の話で、マネージドサービスに奪われた話ですが、ずっと1つのスキルだけで食っていくのは厳しくなります。
となると、プログラマーのあり方は端的に言えば「深さ」か「広さ」、すなわち次の2種類に行き着きます。
- 代替できない、経験に基づいた高度な知識と技能を豊富に持っている人
- プログラミングだけではなく、様々な知識を組み合わせて使える人
前者は技術メインで食っていく、将棋で言えばタイトルを争うトッププロです。そういう人たちは未来を作る人なので、そういう人が代替されることはありません。ただ全体の割合としては少ないです。
後者は将棋で言えばそれ以外のプロです。将棋では「普及活動」「弟子の育成」など様々な形で活動している人がいます。今でも多いですが、今後もこちらが多いでしょう。
そして、プログラマーが目指す先は、主に次の3つだと思います。そしてこちらの3つはChatGPTを武器として戦うことが前提になるはずです。
- 広い視野を持ち、抽象化能力の高いアーキテクト
- ビジネスから運用まで強い、現場志向のフルサイクルエンジニア
- 経験に基づいて人を育てるエンジニアリングマネージャー
このうちアーキテクトは技術よりの職種ですが、それ以外の2つは非エンジニアがなる職種と被っています。つまりスキルだけ見たらビジネス側の人とガチンコ勝負になる可能性があります。
ただしあくまでスキルという観点でしかなく、むしろ一緒にチームで働くことが増えてくるはずです。そのためのチームで働くスキルは必要です。
ただプログラマーが一方的に不利ではありません。最初に書いた通り、プログラミングだけが影響を受けるわけではありません。そしてChatGPTを使うためには色々ありますが、少なくとも言語化能力が必要です。優秀なプログラマーはこの点が優れています。
そしてビジネスやマネジメントを学ぶことはプログラマーにとってプラスになるだけではなく、楽しいですし、昔に比べると高圧的だったり、コミュニケーション力が低すぎる人に出逢う危険性も減っています。少なくとも最初から拒否するものではないと思います。
ベテランならこれに加えて研鑽を怠らなければいいと思いますが、若手は今後が心配に感じる人も多いと思います。自分はこういう人はまずはベテランでも「片手間」ではできない専門分野からかなと思います。
自分の場合バックエンドに加えてデータベースやインフラ(主にAWS)、最近だとフロントエンドも多少かじっていますが、フロントエンドやAWSでもスペシャリストには「片手間」のスキルでは勝てません。
そして全然違う分野、例えば3Dモデリングとかになるとどうすればさっぱり想像もつきません。こういう技術がたくさんあります。ずっと1つのスキルだけで食っていくのは難しいと書きましたが、数年単位で乗り換えていくのはアリだと思います。
まずこういう領域で専門知識を武器に力を発揮し、バックエンドとかフロントエンドなど汎用的な分野の実力を身につけていき、先に書いたアーキテクトなどを目指していくのがいいのかなと思います。
別にAIに抗いたいとか思うわけではないのですが、そういうのはまず起きないです。
うちらプログラマーが現在やっているのは創造性のある極めて複雑な仕事になっています。1文字1句間違ってはいけない緻密さも要求されます。
現在の生成AIなどが行っているのも創造性があるように見えますが、かなり大雑把な処理だったりします。
で、プログラマーは、創造性のある極めて複雑な仕事に至るまでに必要な、単純作業の積み重ねを、他の人が作った道具だったり、その人の経験などで行ってきているんです。
どういことかというと
現代ではマシン語でプログラムを書く人は、非常に少ないと思います。いわゆる高級言語というものでプログラム書きます。それをコンパイラなどが解釈してマシン語に変換するからコンピューターは動くのです。
コンパイルを手動で行う人はすでに世の中にいません。コンパイルという、めんどくさい手間のかかるものはプログラムにまかせて、人間は創造的なものにあわせて思考しています。
作業の中には、google検索で見つかるものをコピペして済ませる単純作業がありますし、誰かの作ってくれたライブラリをダウンロードして利用するなどもあります。誰かの作ってくれたライブラリによって面倒な処理を作る必要がなくなり、ライブラリ利用者はより高度なものだけを考えてプログラムを組む事ができます。
単純なもので機械に任せられるものは任せて、人間はその道具を使
別にAIに抗いたいとか思うわけではないのですが、そういうのはまず起きないです。
うちらプログラマーが現在やっているのは創造性のある極めて複雑な仕事になっています。1文字1句間違ってはいけない緻密さも要求されます。
現在の生成AIなどが行っているのも創造性があるように見えますが、かなり大雑把な処理だったりします。
で、プログラマーは、創造性のある極めて複雑な仕事に至るまでに必要な、単純作業の積み重ねを、他の人が作った道具だったり、その人の経験などで行ってきているんです。
どういことかというと
現代ではマシン語でプログラムを書く人は、非常に少ないと思います。いわゆる高級言語というものでプログラム書きます。それをコンパイラなどが解釈してマシン語に変換するからコンピューターは動くのです。
コンパイルを手動で行う人はすでに世の中にいません。コンパイルという、めんどくさい手間のかかるものはプログラムにまかせて、人間は創造的なものにあわせて思考しています。
作業の中には、google検索で見つかるものをコピペして済ませる単純作業がありますし、誰かの作ってくれたライブラリをダウンロードして利用するなどもあります。誰かの作ってくれたライブラリによって面倒な処理を作る必要がなくなり、ライブラリ利用者はより高度なものだけを考えてプログラムを組む事ができます。
単純なもので機械に任せられるものは任せて、人間はその道具を使いこなして効率よく、より生産的になれるように工夫しています。
そういうのはプログラマーならすでに今まで普通に誰でもやっていることなんです。
chatGPTがやっているのは、規定のテンプレート的なものを検索して見つけて提出するということなので、そういう単純化するべきものを単純化する作業がより楽になる、ってだけで、今まで行ってきたGoogle検索部分が、効率よく解消できる、ということに過ぎません。
我々プログラマーは常人とは違い、そのような単純なものを応用して複雑なものを積み重ねてソフトウェアを作り上げる作業に慣れきっているプロなんです。
プログラマー以外の人と比べると、その差は決定的に何もかも違います。
プログラマーとして仕事をスタートしてから、現在に至るまでずっと、毎日毎日毎日毎日、単純にできるものは道具に自動化させて、自分は楽をした上でプログラムを組む、という作業をし続けてきているんです。
なのでChatGPTなどで、そういう単純作業の時間が減れば、より高度なことを行うために時間が使えるというだけなので、プログラマーの仕事はより効率化されて生産性が高くなります。
ChatGPTを使いこなすのが最も上手なのが、プログラマーという職業の人なんです。
今は、まだ、プログラマーの中でも全員がChatGPTとかは使いこなしてはいないかもしれませんが、プログラマーの一部の人が最も素早くChatGPTを使いこなしている流れに乗ってきているでしょう。
基本的に常人とは別レベルで慣れているんですよ、こういう技術革新についていくことに。
ChatGPTには理解してもらえるかもしれませんが、これはプログラマーではない人間には理解できないことです。
なので、プログラマーではない人が
「ChatGPTによってプログラマーがいらなくなる!」
「俺がなれなかった憧れのプログラマーも未来は暗い!(ざまぁ!)」
とか、思い込みたかったり、
あるいは、「プログラマーになるのは勉強がたくさん必要だからすっげー大変でもう辞めたいんだけど、学んでも、未来は暗いからやっぱりやめよう。」といういいわけを正当化するために、
『ChatGPTがプログラマーの仕事を奪う』と『思い込みたい気持ち』は理解できますが、
当のプログラマーの人たちとしては、こういうものの使いこなし方については、基本、既に十二分に体感済なので、そんなことはならないんですよ。
虎視眈々と、どうやってAIを使いこなすのがよいだろうか!とチャンスをうかがっている、最もギラギラしているのが、プログラマー、ですよ。
AIの使いこなしについて置いてけぼりになるのは、プログラマー以外の人のほうがよほど先です。
デジタル格差というのがすでに存在しますが、それが更に開くだけ。
いままでもプログラミングの技術は単純作業の積み重ねを効率化してきた歴史があります。マシン語からコンパイラだ、高級言語だ、言語の進化だ、オブジェクト指向だ、VBでイベントドリブンだ、オープンソースだ、ワードプレスだ、なんとかだ、と、開発者の仕事は楽になり、プログラマーは不要になる、といわれ続けたんですが、
こういうコトがおきてもプログラマーは全く減ってません。機械や仕組みではプログラマーの仕事は失われないんですよ。qiitaというコンピュータエンジニアが大好きなサイトの登録者数は70万人とかなんですって。
今までのコンピューターの仕組みの進化によって、仕事を失った、という人がどれくらいるかどうか調べてみてください。
今までのコンピューターの仕組みの進化を使いこなせる「人」が使いこなせない「人」よりも仕事を得やすい、使いこなせないから仕事を失う、ということはありますが、それは、その人の努力が他の人に追いついていないから、ということで、
つまりは人間のライバルは常に人間なんです。生成AIがライバルにはならないんですよ。
ChatGPTでも他のAIでもいいのですが、最近起こっているのはITの分野が他の分野に浸透して物事を解決していっている流れなので、
ChatGPTを活用して何かを行いたい、って人のニーズが高まるはずなので、そこでChatGPTを使いこなすために必要なのは他の職ではなくプログラマーです。
市場ニーズというか、社会がIT技術に未来を感じてニーズがあるので、そのITの分野の専門家の最先端をいっているプログラマーの仕事がなくなることはないです。
今の流れだと、プログラマーの仕事がなくなるのは、IT以外の他の仕事が減って減っての最も後になるでしょう。
逆にプログラマー需要はもっともっともっともっと加速します。
ITの絶大なパワーを一番使いこなせるのは、プログラマーですから。
アメリカでの大手ITの雇用が切り替わっているのは、業界の新陳代謝が起きているわけで、メディアの言う事を鵜呑みにして、不安に煽られる必要はないのかなと。
むしろ、経済成長が起きているアメリカでさえ次の成長のために人材の切り替えをしているというのに、経済安定しているというか成長がない日本で人材の切り替えをしない会社がほとんどというのは、プログラマー限定というより日本全体が大丈夫?と思わなくもないです。
むしろプログラマー以外が大変で、プログラマーは安泰(相対的に)、みたいな流れがおきつつあるのではないかな、と考えてます。
プログラマーの将来を想定すると、よい方向でやばい時代になりそうですよ。
あと、追記ですが、
ポジティブに物を考えることで、自分の世界観を少しでもポジティブ側によせていくと、ピンチがチャンスにもなったりしますので、
変化の激しい大変な時代ですが、それをチャンスとしてとらえられたら生きやすいだろうな、と思います。
GPT君にも、そういう事も理解した上で、世のため人のために、働いてもらいましょう。
いやー素晴らしいですね。
検索エンジンとして非常に優秀なので、実装が捗ります。
また、「よくある設計」みたいのはこのとおりさっと雛形を出してくれるわけですが
試しに、AIにDB設計を考えさせてみたら有能すぎました。
— Kinari Kuramoto (@kinari_kuramoto) December 1, 2022
これからは命令口調をやめて敬語を使おうと思いました。#ChatGPT pic.twitter.com/C1cKQ3EufT
我々の仕事は「ここから」なので、むしろ本業に集中出来るという感じがします。
日常的に使っていますが、アレはハンパないです。
からかい半分でドンキーコングやパックマンのPythonのコードを頼んだら、本当に出力してくれて戦慄しました。
文字制限という縛りはあれど、
バグを発見して、修整してもらうことは可能のようです。
今のところはプログラマーの存在を揺るがすほどではありませんが、この状態だと本当にシンギュラリティが来そうでヒヤヒヤしますね。
2030年までには今のプログラマを上回るAIが出ていても何ら不思議ではないでしょう。
(Chat GPT自体がそうなのかもしれませんが、、、)
ChatGPT はすごいですが、 正解のコードを出してくれるパターンと、 ほぼ合っているものの修正ポイントがいくつかあるパターン、 完全に嘘コードを出してくれるパターンがあります。
結局プログラマでなくてはコードの真偽を確認できませんし、これらの元のなっているコードは人間が書いたコードです。修正が必要なパターンはほぼ正解に見えるコードなので、結構修正が大変です…
今のところ プログラマーの存在意義は大きく変わるとは思いません。 しかし、今後 より精度が上がってくるとコーダー(プログラマーではない)の仕事は減っていくのかもしれません。
まずは使う方が質問のしかた「プロンプト」を理解することですね。
chatGPT-4に「ウェブスクレイピング→情報をPDF保存の自動化ツール開発」で作ってと頼んだら・・・コード1行も書かずにプログラムができるわけです。
つまり「chatGPTは検索サイト」ではなく「文章による(文章の)プロセッサー」だという理解が重要です。
(小声でこそっといいますが、「ChatGPT使えない」と回答されている方は「自分の使い方が下手」だと言っていることを理解されていないのです😅)
最近はAutoGPTが流行ってますね。
「目標(Goal)」を与えると問題解決のために必要なタスクをGPTで生成しそのタスクを解決するプロンプトも自動生成する、全自動GPTです。
以下のスペースを作りましたので興味がある方はフォローお願います。
まずは使う方が質問のしかた「プロンプト」を理解することですね。
chatGPT-4に「ウェブスクレイピング→情報をPDF保存の自動化ツール開発」で作ってと頼んだら・・・コード1行も書かずにプログラムができるわけです。
つまり「chatGPTは検索サイト」ではなく「文章による(文章の)プロセッサー」だという理解が重要です。
(小声でこそっといいますが、「ChatGPT使えない」と回答されている方は「自分の使い方が下手」だと言っていることを理解されていないのです😅)
最近はAutoGPTが流行ってますね。
「目標(Goal)」を与えると問題解決のために必要なタスクをGPTで生成しそのタスクを解決するプロンプトも自動生成する、全自動GPTです。
以下のスペースを作りましたので興味がある方はフォローお願います。
ちょっと考えて、なんか気がついたので書いてみますね。
こういう系の質問が止まらないのは、
プログラマーの人が思っている以上に、
プログラマー以外の人が、
プログラマーにあこがれていて、
その嫉妬から「プログラマーにも未来はないぞ!」と思いたい、
というところから来ているのかな、と思うんですよ。
プログラマー以外の人は「俺たちには未来は明るくないけど、今明るい未来を感じているプログラマーという職業のやつにも、未来は明るくないのだぞ!わかるか、この野郎!」みたいな。
そういうことを、潜在的に考えてしまっているから、こんなどうでもいい質問が乱立するんじゃないのかなと。
そうかも!と自分で考えを思いついたわりに、
あー、そういうことねー。という納得感を感じてしまいました。
だって、今の感じで未来予測するとChatGPTでプログラマーがなくなる前に小説家とかライターとか漫画家とかイラストレーターとかデザイナーとかが不要になるとか、そういう話の方が実際先に起きるじゃないですか。どう考えても。
プログラマーの仕事を理解していない人からしかこういう質問でないわけですから。じゃあ、そういう人がどういう意図をもって質問しているのかなあと。
我々個人個人のプログラマーは、あるいは個人でもやれる人もいるかもしれませんが、GoogleやChatGPTを開発はできないとは思うのですが、
それでも、個人個人のプログラマーの集まった集団と
ちょっと考えて、なんか気がついたので書いてみますね。
こういう系の質問が止まらないのは、
プログラマーの人が思っている以上に、
プログラマー以外の人が、
プログラマーにあこがれていて、
その嫉妬から「プログラマーにも未来はないぞ!」と思いたい、
というところから来ているのかな、と思うんですよ。
プログラマー以外の人は「俺たちには未来は明るくないけど、今明るい未来を感じているプログラマーという職業のやつにも、未来は明るくないのだぞ!わかるか、この野郎!」みたいな。
そういうことを、潜在的に考えてしまっているから、こんなどうでもいい質問が乱立するんじゃないのかなと。
そうかも!と自分で考えを思いついたわりに、
あー、そういうことねー。という納得感を感じてしまいました。
だって、今の感じで未来予測するとChatGPTでプログラマーがなくなる前に小説家とかライターとか漫画家とかイラストレーターとかデザイナーとかが不要になるとか、そういう話の方が実際先に起きるじゃないですか。どう考えても。
プログラマーの仕事を理解していない人からしかこういう質問でないわけですから。じゃあ、そういう人がどういう意図をもって質問しているのかなあと。
我々個人個人のプログラマーは、あるいは個人でもやれる人もいるかもしれませんが、GoogleやChatGPTを開発はできないとは思うのですが、
それでも、個人個人のプログラマーの集まった集団としてのプログラマーの成果によって、GAFAって成り立っているのがほぼですし、ChatGPTが作られているのも作ったのはプログラマーじゃないですか。
現代の最も花形の職業というか、最も潜在的な価値のある職業なわけですよ、プログラマーって。
だからしょうがないのかもしれないですね、そういう嫉妬を受けるのは。
そんなに嫉妬を受けるほど憧れられる仕事でもないんですけどね。けっこう大変ですよ。プログラマーを維持し続けるって。そんなキラキラ仕事ではないです。
ありがたいなと思える仕事環境があったりもしますけど、やっぱり努力は怠れませんからね。いつも必死じゃないと、世間的についていけないです。競合他社(他者)に負けると仕事が将来的になくなるわけで、必死ですよ。
だから、それを知っているプログラマーは、ChatGPTなんかに仕事を奪われないって知ってるんです。仕事を得るのは「ChatGPTを使ってでも何しても仕事をできる人」で、仕事を得られないのは「仕事が出来ない人」
仕事を得る得ないのゲームの中のプレイヤーの競合はChatGPTではなくて、人であるわけですよ。
うまく努力したり、技術が変わる時に変化についていける人が勝つゲーム。それがプログラマーのお仕事です。
ところで、ひょっとして、あんまり憧れられないようないつも追われる感じで限界ギリギリ感なのは、私だけで、他のプログラマーさんは、憧れられる幸せいっぱいな人生を送っているかもしれません。
プログラマーの皆さん!未来が開けていていいですね!ちぇっ。
私も前からDeepLeaningとか機械学習に興味ありましたが手出しできなくて、その上AIもきて、ChatGPTも活用事例なんて全然思いつかないので、乗り遅れ気味ですが、自分の作りたいものをAIが補佐してくれるなら喜んで利用しますが、今のはそんなレベルじゃないですよね。
ブロック崩し作れますとかって、ネットにサンプルが落ちてるからAIが作れただけですがな。単なるGoogle検索の強化版程度です。
俺だって、MDNのブロック崩しをどんどん作って応用して、跳ね返りの方向とか調整したりして、改良して遊んだ事くらいありますよ。破壊できないブロックとか、たまが何回かあたったら壊れるブロックとか、たまを同時に10個20個とばすとか改良してみたい。(でも挫折したわ!本業と違う事でずっと遊んでるわけにもいかない!)
なので、ChatGPTを大して調べてはいませんので、時代に乗り遅れて「他の技術者」に負けるかもしれませんね。ChatGPTではなく。
まあ、嫉妬を受ける側は、なんだかなあ、と苦い顔をするくらいですし将来不安なのかもなあ、と思わされるくらいなんですが
逆に心配なのが嫉妬する側の人たちですよ。
大丈夫なのかいなと。
ぼくはこれはかなり現実的だと思います。ChatGPTの凄まじい点はぼくはプログラミングなどではなく、知性と膨大な知識だと思っています。これを「いやいや、それはそう見えるだけで、知性らしきものなんだよ」と言っている人もいますが、現実にChatGPTが日本の医師国家試験に合格していたり、SATの数学で高得点を取っていたりします。これらも含めて「それは単なるパターン」だと言うのなら、人間のほとんどはその「単なるパターン」もできない知性だということになると思います。
逆に、今後の世界は、今までググれず重要視されていた「こういうこときはこうすればいい」という秘伝が秘伝ではなくなり、単なるパターン認識であるような知性というのは重要ではなくなっていくのだろうと思います。「パターン(構造)が網羅されていて、入力を与えるとそれらを論理的に組み合わせてくれる」というのは、ソフトウェアエンジニアリングそのものであり、思考方法でもあり、明確に脅威です。
次世代のGPTが、今のGPT-4と人間との対話によりさらに大きく学習されたものである、という点についても注目したいです。今「それは違う」「それは動かん」「ここはこうなんじゃないの」と言っているものも、学習されていくわけです。1億ユーザいます。控えめの計算で、1日250文字打つのを1億人がやるなら、6ヶ月で4.5兆文字で、これは文庫本に直すと4500万冊相当です
ぼくはこれはかなり現実的だと思います。ChatGPTの凄まじい点はぼくはプログラミングなどではなく、知性と膨大な知識だと思っています。これを「いやいや、それはそう見えるだけで、知性らしきものなんだよ」と言っている人もいますが、現実にChatGPTが日本の医師国家試験に合格していたり、SATの数学で高得点を取っていたりします。これらも含めて「それは単なるパターン」だと言うのなら、人間のほとんどはその「単なるパターン」もできない知性だということになると思います。
逆に、今後の世界は、今までググれず重要視されていた「こういうこときはこうすればいい」という秘伝が秘伝ではなくなり、単なるパターン認識であるような知性というのは重要ではなくなっていくのだろうと思います。「パターン(構造)が網羅されていて、入力を与えるとそれらを論理的に組み合わせてくれる」というのは、ソフトウェアエンジニアリングそのものであり、思考方法でもあり、明確に脅威です。
次世代のGPTが、今のGPT-4と人間との対話によりさらに大きく学習されたものである、という点についても注目したいです。今「それは違う」「それは動かん」「ここはこうなんじゃないの」と言っているものも、学習されていくわけです。1億ユーザいます。控えめの計算で、1日250文字打つのを1億人がやるなら、6ヶ月で4.5兆文字で、これは文庫本に直すと4500万冊相当です(日本最大規模のジャンク堂書店池袋店の蔵書数の30倍程度)。
ChatGPTは、アルゴリズム能力に関しても、平均以上に持っています。ほとんどのソフトウェアエンジニアよりも、ChatGPTの方がアルゴリズムのことをよく理解しているということです。現在のChatGPTはまだまだ全然ダメな部分もありますが。
また、ChatGPT モデルGPT-3.5(11月)からGPT-4(3月)で、実際に相当賢くなりました(6倍程度)。9月だか10月だかに、またGPT-4.5が出て、来年にGPT-5が出るようです。少なく見ても、1回あたり2倍賢くなるのであれば驚異的です。ナイーブな考え方ですが、年間4倍であれば、5年で今の1024倍賢くなるということになります。GPT-3が2020年ということを考えるともう少し緩やかなのかもしれませんが。
巷では「まだ大丈夫」という意見が多いです。しかしこれは「もうヤバい」と同じ意味です。「もうはまだなり、まだはもうなり」です。単に捉え方の違いだと思います。「いや全然問題ないよ。余裕。むしろ助かる」というセリフではないことに注目してほしいです。あとは、願望の強さの違いだと思います。「自分が長年やってきた努力が完全に置き換えられるなんて、そんなことはできないよ。だってここはこんなにも難しいんだから」と言っていた職人が置き換えられるというのは繰り返される歴史だと思います。
これは現時点でプログラマの人ほど、正常性バイアスが働きやすいと思います。
「まだここはできないよ」「ほら、ここもできない」「こんな簡単なこともできない」と、最初はこんな調子でも問題ないと思います。それは電卓が出てきたときもそうでした。「ほら、電卓は間違えるんだよ。やっぱそろばんじゃなくちゃ」と言われていたそうです。
とはいえ、現時点ではプログラマは全然必要です。あくまでぼくが言っているのは、GPT-4の1024倍のパワーを持ったLLMの進化版が来る、というのが前提にあります。
Microsoftが使っている「Copilot(副操縦士)」という表現がピッタリですね。今はこんな感じで使っています。30%くらいは生産性アップしたかも。
- 「こんなことできないかな?」ということを相談する(作業環境の改善)
- 自分がやったことないことを始めるときに相談する(最近だとnpmライブラリ作成)
- 出来るけど面倒なコードを代わりに作ってもらう(JavaScriptで配列→オブジェクトへの変換とか、スニペットレベル)
「コーディングを人の言語でできるようになる」というのは出来たら楽になるかもしれないけど楽しくないんですよね。全くやったことない分野、例えばゲーム作るぞーというときのとっかかりならアリですが。
ただこれはあくまでプログラミングに限った話で、プログラミング以外の用途でもよく使います。こっちの影響も大きいんですよね。
車とトラックが発明されて、台車を長距離引く人や、馬や牛のブリーダー、町角の蹄鉄交換屋などは全滅しましたが、トラックの運転手やトラックメーカー、修理工場、ガソリン・軽油生成販売などの業界や産業ができました。
Chat GPTは同様の大きな変革をもたらす可能性があります。しかし、全自動でなんでもやってくれる世界は、運送業界同様に、まぁ来ないでしょう。
まず実際にプログラムを書かせてみて思うのは、非常に博識である一方で、間違いも多いということです。ライブラリの使い方を勘違いしていたり、タイプミスしたりなど、その間違いは人間くさくて、スピードや物量をのぞけば、人間に近づく方向にしか進化しないであろう事を予想させます。
そして修正を指示すると直してくれますが、何回か指示すると、他のところが壊れたり、最初の指示を忘れて部分的に先祖返りしたり、存在しない関数を想像で生み出したりしてきます。
ある意味仕事はできるけど、融通の効かない、ちょっとアスペルガーな人と作業しているような気分です。
また人間からの指示を誤解することもあります。AIが書いたコードをみて、誤解されたことに気づいたら、誤解がない書き方で指示し直さないといけません。
ということは、ちょっと規模が大きくなったら、アホでも絶対に勘違いしない、完璧な超詳細仕様書を作ってAIに渡さないといけなくなるだろう、ということです。
でもそれってちょっと待って下さ
車とトラックが発明されて、台車を長距離引く人や、馬や牛のブリーダー、町角の蹄鉄交換屋などは全滅しましたが、トラックの運転手やトラックメーカー、修理工場、ガソリン・軽油生成販売などの業界や産業ができました。
Chat GPTは同様の大きな変革をもたらす可能性があります。しかし、全自動でなんでもやってくれる世界は、運送業界同様に、まぁ来ないでしょう。
まず実際にプログラムを書かせてみて思うのは、非常に博識である一方で、間違いも多いということです。ライブラリの使い方を勘違いしていたり、タイプミスしたりなど、その間違いは人間くさくて、スピードや物量をのぞけば、人間に近づく方向にしか進化しないであろう事を予想させます。
そして修正を指示すると直してくれますが、何回か指示すると、他のところが壊れたり、最初の指示を忘れて部分的に先祖返りしたり、存在しない関数を想像で生み出したりしてきます。
ある意味仕事はできるけど、融通の効かない、ちょっとアスペルガーな人と作業しているような気分です。
また人間からの指示を誤解することもあります。AIが書いたコードをみて、誤解されたことに気づいたら、誤解がない書き方で指示し直さないといけません。
ということは、ちょっと規模が大きくなったら、アホでも絶対に勘違いしない、完璧な超詳細仕様書を作ってAIに渡さないといけなくなるだろう、ということです。
でもそれってちょっと待って下さい。完璧な超詳細仕様書とは、まさにプログラミングそのものではないでしょうか? 結局人間のやる事に大差はありません。ロジカルなプログラミング言語を使うか、自然言語でロジカルな言い方をするか、という差しかなさそうです。それなら、もうプログラミング言語で書いた方が楽そうです。
そういうわけで、プログラマーはなくならず、部分的に難しいところだけAIにサンプルを書いてもらって参考にする、プログラマーが楽できる、みたいな使い方が主流になると思われます。もう既にそうなりつつありますが…。
また組み込みの世界では、物理的な操作が作業に伴いますので、そこはAIで代用できません。ビルドしたバイナリをSDカードに焼いて、実機に刺して実行し、中をデバッグするなんてことは、やってくれないわけです。人間みたいなロボットができない限り。でもそのロボット、絶対に人間みたいなミスをしますよ。
プロはChatGPTが出すコードの間違いくらい見分けられないとやっていけません。
先日東大で「ChatGPT持ち込み可」の試験が話題になりました。
その問題とは「次のChatGPTの回答の間違いを指摘せよ」という問題型式でした。
その後輩の方はプロとしてもう少し実力をつけるべきだと思います。プロならそのくらい出来ないと仕事としてやっていけないと思います。
プロはChatGPTが出すコードの間違いくらい見分けられないとやっていけません。
先日東大で「ChatGPT持ち込み可」の試験が話題になりました。
その問題とは「次のChatGPTの回答の間違いを指摘せよ」という問題型式でした。
その後輩の方はプロとしてもう少し実力をつけるべきだと思います。プロならそのくらい出来ないと仕事としてやっていけないと思います。
GPT-3が最初に発表された時に人々を驚かせたのは「プログラムも言語の一種として自然言語AIで生成できる」という点でした。
これからのプログラマは「プロンプト」をいかに使いこなすかが求められるでしょう。
プロンプトとはChatAIに与える「命令」です。
プログラマがプログラムでコンピュータに命令し動かすように、今後はいかにChatAIに「目的に応じたプロンプト」を与えて目的を遂げるかが重要になるでしょう。
そういった面ではプログラマの仕事はあまり変わりません。
ChatAIの動作を理解し、どのような「プロンプト」を入力するとどのような出力が出るのかを理解することが求められるでしょう。
そしてそれを理解し使いこなす人はまるで調合ゲームに出てくるホムンクルス(緑のこびと)を使いこなす錬金術師のように使いこなせない人に対し何倍もの仕事量をこなすでしょう。
GPT-3が最初に発表された時に人々を驚かせたのは「プログラムも言語の一種として自然言語AIで生成できる」という点でした。
これからのプログラマは「プロンプト」をいかに使いこなすかが求められるでしょう。
プロンプトとはChatAIに与える「命令」です。
プログラマがプログラムでコンピュータに命令し動かすように、今後はいかにChatAIに「目的に応じたプロンプト」を与えて目的を遂げるかが重要になるでしょう。
そういった面ではプログラマの仕事はあまり変わりません。
ChatAIの動作を理解し、どのような「プロンプト」を入力するとどのような出力が出るのかを理解することが求められるでしょう。
そしてそれを理解し使いこなす人はまるで調合ゲームに出てくるホムンクルス(緑のこびと)を使いこなす錬金術師のように使いこなせない人に対し何倍もの仕事量をこなすでしょう。
今のところ50行くらいしか一度に書いてくれないので、使える範囲はかなり狭いとおもいます。
これが100行、1000行、それ以上のプログラムを出力してくれるようになればかなり使えるようになりそうです。特に、設計書を書く人間とコーディングする人間が分かれているプロジェクトでは、コーディングの手間が大幅に短縮されるかもしれません。内部の処理がブラックボックスなのが難点ですが、コードレビューやテストコード作成の時間を生み出せるので、品質の問題もある程度は回避可能なはず。
プログラマにコーディングを依頼するよりも、AIに頼んだ方が良いと言われる時代は結構すぐそこまで来ているように感じます。いずれプログラマーの仕事は、仕様をAIに説明する、コードレビューする、テストする、になるんじゃないかと思います。コーディングはAIが行い、コードの品質は人間が担保する形です。
私はChatGPTの進化でプログラマー不要と言っている人が、真実を知らない者の夢物語にしか聞こえないんです。ChatGPTにプログラミングをしてもらう時にどの様な形で作成依頼するのでしょう?設計段階で全てのイレギュラー処理をChatGPTに伝える事は不可能です。
私は医療機器(ペースメーカ)のプログラミングを担当した時がありました。アルゴリズムは壮絶で、まるでロケットで宇宙にでも行くのかと思うくらいのイレギュラー処理の塊でした。メインCPUが暴走した時にはサブCPUがメインCPUを強制的にシャットダウンし、サブCPUが無条件に心臓へ定周期で電気を流すという仕組み。
メインCPUの暴走判断も壮絶なアルゴリズムです。何をもって「暴走」とするのか、プログラマの私でさえ理解出来ない数々の複雑なアルゴリズムは、こんな数値を結果として出した場合に「暴走」したと判断させる演算結果が複数パターンあるのです。
この様な複雑な条件で人命に関わる重大な部分において、ChatGPTが正しい判断を行うアルゴリズムを構築出来るとは到底思えないし、現時点では不可能であると言わざる得ません。人間の脳みそって侮れないですよ。まだまだ人工知能の英知が遠く及ばない部分があるのは確実。
・・・と思いたい。
正直自分が使った感じ微妙でした。
OpenCV.jsで顔を認識する処理を書いて:
→OpenCV.jsを使わず、Canvasタグでグレースケール画像を生成し、線画を出力するコードを書いたところでAIフリーズ。
コンボルバーリバーブをオーディオファイルに適用する処理書いて:
→なぜかインパルス応答用のオーディオファイルを取得する命令にFetchじゃなくXHRを使用した実装になっていた上に、実際取ってきたインパルス応答のオーディオファイルはドアを閉じる音だった。
WebGLで正四面体を回転させる処理を書いて:
→正四面体のジオメトリを書いたところでAIがフリーズ。
まだまだ実用には厳しいと思います。
英です。
駐禁を取られた人が不当の罰金だとして手紙で申し立てして帳消しを主張するのはよくあることで、時として数か月以上罰金を払わず手紙のやり取りをする人がいます。が、ChatGPを使ったら一発で受け入れられ、罰金帳消しになったようです。すでに複数の成功例を聞いていますが恐らくもっとたくさんの人が同じことをしているでしょう。
どうやら手紙のスタイルが弁護士の書いたような文面でそれが良かったという噂です。
これが会社間のやり取りに使われると会社間の関係にも影響するでしょうね。
ですがこれは詐欺師などの犯罪者にも大いに利用されそうです。メールで明らかにスカムとわかる詐欺のメールが送られてきますが、ここにChatGPTが使われたらだまされる人が急増するでしょう。もう始まっていると思った方がいいですね。
また、レポート文書や論文なども完成度が高いものが使えるようなのでこちらも大いに利用できそうです。
若者たちがこれをどう使うかは火を見るよりも明らかで、人間は考えるという能力を手放そうとしているようです。
NoCodeという言葉は流行っていますね。それが何を指すかは言っている人によって異なる面もありますが、だいたいはいくつかのタイプの大まかなテンプレートや部品があり、それを画面上に並べるという作業をGUIで行い、必要に応じて部品同士の接続関係をなんらかの方法で指定、記述すると、アプリケーションができるというものです。あたかもコーディングが必要ない、ということが強調されていますが、長い目で見れば単にプログラムを書くときにテキスト以外の指定方法と組み合わせることができる、ということでそれ自体は真新しいものではありません。
歴史を紐解けば、FORTRANという言語が60年以上前に出てきたときは、"The Fortran Automatic Coding System"というタイトルの論文が書かれ「数式を指定するだけでコンピュータが実行できる機械語が出てくる!」ということで、すでに今でいうNoCodeのような扱いだったわけです。
(以前から何度も引用している上記の論文でしたが、一番最初のフロント・ページにタイポがあることに今頃気がつきました。)
その後も新たな高水準言語が打ち出される時に
NoCodeという言葉は流行っていますね。それが何を指すかは言っている人によって異なる面もありますが、だいたいはいくつかのタイプの大まかなテンプレートや部品があり、それを画面上に並べるという作業をGUIで行い、必要に応じて部品同士の接続関係をなんらかの方法で指定、記述すると、アプリケーションができるというものです。あたかもコーディングが必要ない、ということが強調されていますが、長い目で見れば単にプログラムを書くときにテキスト以外の指定方法と組み合わせることができる、ということでそれ自体は真新しいものではありません。
歴史を紐解けば、FORTRANという言語が60年以上前に出てきたときは、"The Fortran Automatic Coding System"というタイトルの論文が書かれ「数式を指定するだけでコンピュータが実行できる機械語が出てくる!」ということで、すでに今でいうNoCodeのような扱いだったわけです。
(以前から何度も引用している上記の論文でしたが、一番最初のフロント・ページにタイポがあることに今頃気がつきました。)
その後も新たな高水準言語が打ち出される時にはしばしばいろいろな危機感やバラ色の未来が描かれました。私の見るところでは、概ねプログラムをする人口の裾野は広がってプログラムを書く人が増えるという効果は確かにありますが、それまでやっていた人が突然時代遅れになるということはなかったように思います。
余談ですが、極端な例として、確かGerald Weinbergの本に書かれていたエピソードをあげてみましょう。、草創期に8bit CPU用にアセンブラーを作ることを生業としていた人は、命令のニーモニックを完全にハッシュする関数を秘伝として作ることにより、読み込んだアセンブリにあるCPUの命令を指定する文字列から、それに対応する機械語のバイト列をすぐに表引きできるようにしていた。しばらくはCPUが改定され新しい命令が追加されるたびにその完全ハッシュ関数もまたなんとか変更に追随することができていましたが、ある時点でそのアプローチが破綻し、その人は仕事にあぶれてしまったということでした。
また、最近(でもないですが)、HTMLが出てきた時には、特にプログラミングの訓練を受けたわけでもない人が、HTMLの本を一冊読んで、「私Webページが作れます」と、専門技能として一時はウハウハだったものの、その後ツールが整備されると仕事がなくなったというような例をあげることもできるでしょう。
AppleがHyperCardというアプリケーションをMacOSにバンドルし、HyperTalkという「エンドユーザー向け」言語で簡単なアプリケーションを作れるようになった時にも、新たなプログラマー人口がワッと増えたものでした。既存のエンジニアにとっても学びやすいものだったわけなので、彼らにとっても概ね歓迎すべき変化だったと思います。(HyperTalkの構文が自然言語としての英語に近い形になっていたために、新しくプログラミングを始めた人は時々、プログラムではない英語を書き始めてしまい、HyperCardチームにいた私の元同僚Ted Kaehlerなどは「本当に色々な質問が来たものだったよ」という話をよくしていました。)
まとめると、sakawaki takumiさんが書かれているように、すでに経験を積んでいるエンジニアたちも、使える時にはそのような新たなツールを使ってさらに多くの仕事ができるようになるということで、コンピューターが世の中でまだまだ広く使われていく以上、エンジニアたちも色々なレベルのエンジニアが存在し、変化についていける、あるいは変化を生み出せるようなエンジニアたちにとってはチャンスが広がっていく、ということになると思います。
Excelのマクロ、それも誰が作ったかも分からない昔のマクロを改良するのに使えます。
例えば、違うプログラミング言語ですが
テトリスのコードを最短で作ることに特化した職人みたいな人が、次のコードを書いたとします。
- <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
- {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
- A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
- if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
- %7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
- Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
- [i]?"■":"_";document.b
Excelのマクロ、それも誰が作ったかも分からない昔のマクロを改良するのに使えます。
例えば、違うプログラミング言語ですが
テトリスのコードを最短で作ることに特化した職人みたいな人が、次のコードを書いたとします。
- <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
- {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
- A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
- if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
- %7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
- Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
- [i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
.
でも普通の人は読めないので、こういったコードをChatGPTに放り投げて、改良するように言います。
すると、このコードが何のコードかを理解して、改善案を示してくれます。
このコードは、テトリスゲームのJavaScript実装です。このゲームは、ブロックを回転させ、移動させて、列を積み上げていくというゲームです。
以下は、改良したコードです。改良内容は以下の通りです。
- コメントを追加して、コードの機能を説明します。
- 変数名をわかりやすくします。
- 不必要なコードを削除します。
- クリーンなコードにします。
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Tetris</title>
- </head>
- <body>
- <!-- ゲームのビジュアルを表示するエリア -->
- <div id="game"></div>
- <script>
- // ブロックの形状を表す定数を定義
- const BLOCK_SHAPES = [
- // Iブロック
- [[1, 1, 1, 1]],
- // Jブロック
- [[0, 1, 0], [0, 1, 0], [1, 1, 0]],
- // Lブロック
- [[0, 1, 0], [0, 1, 0], [0, 1, 1]],
- // Oブロック
- [[1, 1], [1, 1]],
- // Sブロック
- [[0, 1, 1], [1, 1, 0]],
- // Tブロック
- [[0, 1, 0], [1, 1, 1], [0, 0, 0]],
- // Zブロック
- [[1, 1, 0], [0, 1, 1]]
- ];
- // ゲームの状態を管理する変数を定義
- let board = []; // ゲーム盤
- let currentBlock = null; // 現在のブロック
- let score = 0; // スコア
- // ゲームのビジュアルを更新する関数
- function render() {
- // ゲーム盤を表すHTMLを生成する
- let boardHTML = "";
- for (let i = 0; i < board.length; i++) {
- for (let j = 0; j < board[i].length; j++) {
- if (board[i][j] === 1) {
- boardHTML += "<div class='block'></div>";
- } else {
- boardHTML += "<div class='empty'></div>";
- }
- }
- boardHTML += "<br>";
- }
- // ゲームのビジュアルを更新する
- let gameEl = document.querySelector("#game");
- gameEl.innerHTML = boardHTML;
- }
- // 新しいブロックを生成する関数
- function spawnBlock() {
- // ランダムにブロックの形状を選ぶ
- let shape = BLOCK_SHAPES[Math.floor(Math.random() * BLOCK_SHAPES.length)];
- // ブロックの初期位置を計算する
- let x = Math.floor((10 - shape[0].length) /
.
このコードが正しいのかどうかは、細かく放り込んで聞き直してみたり、実際に動かしてみたりする必要があると思いますが、今までは特級遺物(メイドインアビス用語)すぎて誰も近寄らないものを改良するチャンスだと思いました。
世界で初めてパソコン(マイコン)が出たときに似ていると思います。
最初はマニアの玩具でしたが、現在パソコン無しで仕事が成り立ちますか?
「理解出来ない」といっていると「パソコンも使えない人」扱いされる時代になるでしょう。
>人間の許容量を超えるような膨大な知識を蓄え込んでなお(GPT-4の前バージョンにあたるGPT-3でも、学習データ量は、本に換算して40億冊ほどだそうです)、
つまりchatGPTとは「頭の中に40億冊」の書物を持っている「歩く禁書目録(インデックス)」なわけです。
どのような「言葉(情報)」を引き出すかはひとえに「呪文(プロンプト)」にかかっています。
世界で初めてパソコン(マイコン)が出たときに似ていると思います。
最初はマニアの玩具でしたが、現在パソコン無しで仕事が成り立ちますか?
「理解出来ない」といっていると「パソコンも使えない人」扱いされる時代になるでしょう。
>人間の許容量を超えるような膨大な知識を蓄え込んでなお(GPT-4の前バージョンにあたるGPT-3でも、学習データ量は、本に換算して40億冊ほどだそうです)、
つまりchatGPTとは「頭の中に40億冊」の書物を持っている「歩く禁書目録(インデックス)」なわけです。
どのような「言葉(情報)」を引き出すかはひとえに「呪文(プロンプト)」にかかっています。
時間の問題で、少なくとも「技術の質的な部分」では7~8割くらいは遠からず要らなくなるでしょう。それがgpt5なのか6なのかはわかりません。ただ、4の時点で多くのプログラマは代替されておかしくないところまで来ています。
「まだそういうことはない」と言っている人の大半は、あまり触っていないんじゃないかと思います。APIも含めるともうかなりヤバいことになっていて、「GPTを使いこなす上級エンジニア1~2人」がいたら結構回る気がします。この時、8割くらいの人は要らなくなるんじゃないでしょうか。
「数年」のスパンでは、ChatGPT等により、プログラマーの生産性が上がって、これまで10人でやっていた作業が7人で済むようになる、というようなことによって「減る」ことはあっても、「無くなる」ことはありません。ここだけは断言していいでしょう。「数年」では絶対に無くなりません。少なくとも「ChatGPT」はそんな大層なモノではありません。
もうすこし広くAI全般で考えたとしても、プログラミングに限らず、仕事というものはある程度の塊ごとに「どうするかを考えて」「ちゃんとできたことを確認して責任を持つ人」が必ず必要になりますから、これはAIでは代替できません。
「数十年」のスパンではもっとAIに任せられる範囲は増えるのでしょうが、やはり「減る」ことはあっても「無くなる」ことは無いでしょう。
それ以上のスパンならわかりませんが正直私がもう寿命を迎えている未来ですし、その頃を予測なんか不可能ですし、その頃のために何か布石を打つこともやはり不可能でしょう。鬼が笑います。
プログラマーにも、「あちら側」と「こちら側」がありましてね。
「あちら側」の末端の人たち、ごっそり要らなくなるんじゃなかろうか、、、という気はしなくもない。
私は「こちら側」なので当面は対岸の火事を眺めて過ごすことになるでしょうが、10年くらいのスパンで見れば仕事の内容はかなり変わっていくだろうな、という予感はしています。まーぶっちゃけ私はプログラマーとしての収入がなくなっても他にも稼げそうなやりたいこといろいろあるから別に困らんのだよなあ。たまたまプログラミングが今のところコスパ最高だからやってるというだけだし。
若い人達にアドバイス。一番大事なのは「ビジネススキル」です。 quora にはビジネスの達人がたくさんいらっしゃるので是非学び取ってください。
現状の「息を吐くように嘘をつく」状態が抜本的に改善されないのであれば、「ネット民のオモチャ」以上の存在にはならないでしょう。
これを「改善」するにはどうすればいいのかというと、エビデンスを示すしかありません。
つまり、情報の引用元を明記するって事です、
でも、それって、結局こういう事ですよね?
・・・UIがチャットである事になんか意味あるの?
現状の「息を吐くように嘘をつく」状態が抜本的に改善されないのであれば、「ネット民のオモチャ」以上の存在にはならないでしょう。
これを「改善」するにはどうすればいいのかというと、エビデンスを示すしかありません。
つまり、情報の引用元を明記するって事です、
でも、それって、結局こういう事ですよね?
・・・UIがチャットである事になんか意味あるの?
いろいろな文化や言語のことわざを訊くと、心に刺さる掘り出し物があるときがありますよ。
「ラテン語のことわざを20個教えてください」
- Carpe diem(カルペ・ディエム):「今を楽しめ、日々を大切にせよ」
- Veni, vidi, vici(ウェニ・ウィディ・ウィキ):「来た、見た、勝利した」
- Non ducor, duco(ノン・ドゥコール、ドゥコ):「私は導かれるのではなく、私が導く」
- Alea iacta est(アレア・ヤクタ・エスト):「賽は投げられた」
- Amor vincit omnia(アモル・ウィンキト・オムニア):「愛はすべてを克服する」
- Fortuna favet fortibus(フォルトゥナ・ファウェット・フォルティブス):「運は勇敢な者に味方する」
- In vino veritas(イン・ウィノ・ウェリタス):「酒には真実がある」
- Per aspera ad astra(ペル・アスペラ・アド・アストラ):「困難を経て、星に至る」
- Cogito, ergo sum(コギト・エルゴ・スム):「私は考える、ゆえに私は存在する」
- Errare humanum est(エラーレ・フマヌム・エスト):「人は間違えるものである」
- Tempus fugit(テンプス・フージット):「時は過ぎ去る」
- Nemo me impune lacessit(ネモ・メ・インプネ・ラケッシト):「誰も私を無罪で攻撃
いろいろな文化や言語のことわざを訊くと、心に刺さる掘り出し物があるときがありますよ。
「ラテン語のことわざを20個教えてください」
- Carpe diem(カルペ・ディエム):「今を楽しめ、日々を大切にせよ」
- Veni, vidi, vici(ウェニ・ウィディ・ウィキ):「来た、見た、勝利した」
- Non ducor, duco(ノン・ドゥコール、ドゥコ):「私は導かれるのではなく、私が導く」
- Alea iacta est(アレア・ヤクタ・エスト):「賽は投げられた」
- Amor vincit omnia(アモル・ウィンキト・オムニア):「愛はすべてを克服する」
- Fortuna favet fortibus(フォルトゥナ・ファウェット・フォルティブス):「運は勇敢な者に味方する」
- In vino veritas(イン・ウィノ・ウェリタス):「酒には真実がある」
- Per aspera ad astra(ペル・アスペラ・アド・アストラ):「困難を経て、星に至る」
- Cogito, ergo sum(コギト・エルゴ・スム):「私は考える、ゆえに私は存在する」
- Errare humanum est(エラーレ・フマヌム・エスト):「人は間違えるものである」
- Tempus fugit(テンプス・フージット):「時は過ぎ去る」
- Nemo me impune lacessit(ネモ・メ・インプネ・ラケッシト):「誰も私を無罪で攻撃できない」
- Divide et impera(ディウィデ・エト・インペラ):「分断して支配せよ」
- Si vis pacem, para bellum(シ・ウィス・パケム、パラ・ベッラム):「平和を望むなら、戦争に備えよ」
- Dum spiro, spero(ダム・スピーロ、スペロ):「私が呼吸する限り、私は希望する」
- Qui tacet consentire videtur(クイ・タケット・コンセンティーレ・ウィデトゥル):「沈黙は同意の表明である」
- Salus populi suprema lex esto(サルス・ポプリ・スプレマ・レクス・エスト):「人民の幸福は最高の法律である」
- Sapere aude(サペレ・アウデ):「思慮深く勇敢になれ」
- Si vis amari, ama(シ・ウィス・アマリ、アマ):「愛されたいなら、愛せ」
- Ars longa, vita brevis(アルス・ロンガ、ウィータ・ブレウィス):「芸術は長く、人生は短い」
「ギリシャのことわざを20教えてください」
- "時間は金である" - Time is money
- "忍耐強さは美徳である" - Patience is a virtue
- "知識は力である" - Knowledge is power
- "自己啓発は、知者の道である" - Self-improvement is the path of the wise
- "常に目標を持ち、前進し続けなさい" - Always have a goal and keep moving forward
- "信頼は容易に失われるものであり、簡単には回復しない" - Trust is easily lost and hard to regain
- "善行は自分自身を報いる" - Good deeds reward oneself
- "成功は多くの努力と犠牲を伴う" - Success requires a lot of effort and sacrifice
- "真実は常に光を放つ" - Truth always shines
- "急がば回れ" - Haste makes waste
- "強い友情は試練を乗り越える" - Strong friendship overcomes trials
- "良い健康は長生きの秘訣である" - Good health is the key to a long life
- "幸福は内側から来る" - Happiness comes from within
- "賢い人は自分が何を知らないかを知っている" - A wise person knows what they don't know
- "真の勝利者は自分自身を制御する人である" - The true victor is the one who controls themselves
- "怒りは常に過ちを引き起こす" - Anger always leads to mistakes
- "自分自身を知ることは、知恵の出発点である" - Knowing oneself is the starting point of wisdom
- "経験は最高の教師である" - Experience is the best teacher
- "過去は過ぎ去り、未来はまだ来ていない。今を生きよう" - The past is gone, the future is yet to come. Live in the present
- "友情は不滅である" - Friendship is immortal.
僕は禁止にしてほしくありませんが、まぁ使い方が間違ってますね多分。CHATGPTにプログラミング関連の同じ質問を2~3回投げつけさせてください。そうすると、かなり内容が違う結果が帰ってきます。多分以下が理由かと思います。
1. Chatgptは他のディレクトリ、ファイルとの関係性を考慮してない
RailsのUsersControllerだけをコーディングさせたらそりゃ他のファイルと連係できませんわ。だってAI君は他の条件を提示されてないもん
2. 例えば以下のようにできます と言ってるく
ただの例だよ。しかも提示してくるバージョン古いやんお前
3. ゴリゴリに間違える
RailsのAPIモードではSessionsControllerはあまり使わないって言ったのはお前や。なんでまた提示してくるの?
4. 今の本当にあってる?って聞いたら高確率で謝ってくる
はい。大丈夫です。は結構言わない。有能なフリをしないでくれ騙される。
このコードのここどういう意味?みたいな質問にはちゃんと答えてくれるし、どういうコーディングスタイルが主流か、みたいな一般論はいい感じに返してくれるからいいツールだとは思います。後輩くんは使い方考えた方がいいですね。
私はむしろ増えると思いますよ。 ただし、働き方や仕事への取り組み方は大きく変わるかもしれません。
AIに対する「プロンプト(指示)」は、実際のところ「自然言語によるプログラミング」で、今起きている(騒がれている)ことは、「新たに革新的なプログラミング言語が出現した」ということです。
そもそも以前から一部の社長さんはプログラミングもけっこう嗜んでいて、自分でツールを作って社内で使っています。ですから自然言語AIという新しいパラダイムの「超・高級言語」が登場した今、現代のプログラマーは程度の差こそあれ、皆AI技術を学ぶべきでしょう。この言語は流行りますし、とっきやすいので世間への浸透も早いからです。
でも、新たな技術の勉強は多くのプログラマーにとって珍しいことではありません。今まで通り、また新しい「プログラミング言語」を学んで習得して身につけていけばよいだけです。AIを使いこなすのも(プロンプトエンジニアとか呼称は違うかもしれませんが)一種のプログラミング技術ですので、プログラマーのやるべき仕事は変わりません。新たな道具を学んで武器にしていきましょう。
無くしたいのかと言う人達が繰り返しこう言う質問を投げますが、数年で出来たら大喜びなんですけど、実際にChatGPTを使ってChatGPTアプリケーションのプログラミングやってて思うのは、まだまず無理でしょうね。
もちろん単純なアプリなら要らなくなるのも確実ですが、とは言えそんな事が出来るなら、プログラマーにはそれを超える事が、しかも数千倍も超える事が普通にできる(組める)ようになります。だって好きなAI全部組み合わせてさらに複雑な処理と合わせられますからね🤤その方向には限りない可能性があり、AIにはまだまだ追いつきようがありません。
つまりいわゆるオフショア的な単なるコーディングの下請けしかして無ければその仕事は無くなるのですが、自分でAIを使い倒す高位のプログラマーが要らなくなる時は、AIが自分で勝手にサービスを研究し開発し、提案する時でしかなく、ほぼ全人類が働かなくても良くなる時でしかないのです。
禁止にする必要はなくて、後輩さん自身で解決するように伝えれば、良いのではないでしょうか。
「ChatGPTを使え」と指示しているなら、相談に答える義務があると思いますが、後輩さんが勝手にChatGPTを使っているのであれば、動かないコードをどうするかは、後輩さんが自分で解決しなければならない問題だと思いますよ。
とりあえず、さまざまな下書きが出来て楽です。
書類づくりをよくやる他人にとって、これほど「人間より使えるアシスタント」は少ないです。
学生アルバイトや新入社員レベルは軽く超えている。
だいたい人間がよくやる「空目」しませんからね。誤字脱字校正なんか優秀で素晴らしい。普通の人は校正を他人に依頼しませんけど、チェックと称して下っ端にまわしたりしますからねえ。あれ、ヤラされると頭痛くて死にたくなるんだ(トオイメ ←そういうチェック大嫌い
自分がまとまりなく書いた文章を校正したうえに要約して整理してくれるとか。真面目に便利です。
議事録関連なんか録音から要約しますからね。ええ。PLOUD便利。
仕事以外では遣う気もない私が言う。
Quoraの私の回答を通したら、めちゃくちゃ毒がなくなりそうで使わない
実際に動作を確認してみると、単純な論理の問題みたいなものは得意なようですが、
専門的な質問をしてみると、知ったかぶりの嘘吐きに豹変しました。
大規模言語モデルによる滑らかな自然言語処理は見事だとは思いますが、
膨大な仕様を問題なく処理して、論理的に間違いの無いシステムを組む事が出来るかは
疑問に思いましたし、結局は仕様通り動くか確認するテスターの方の仕事は
無くなりそうもないので、今の時点では、本腰を入れて専門的にカスタマイズしないと
無理なのではないかと感じました。
今すぐ使えるようと思います。
私は国際政治学について素養がありません。英語も一応読めますがそれほど得意ではありません。少し前に書かれた「国際政治学の学派」についての記事がTwitterに流れてきました。
読みたいんですが正直面倒くさいです。ChatGPTに要約をお願いし、ついでにGoogle翻訳で記事を読んでみました。
ChatGPTは要約に失敗し「ああこんなもんか」と思いました。BingのAIチャットボットにもお願いしたのですがこちらはまともな要約を返してきました。
記事は、リアリスト・リベラル・アイディアリストの3つの流派について説明しています。しかしながらアイディアリストについての言及よりも構造主義についての言及が多いようです。つまり構成がちょっと難しいんですよね。
さらにそれぞれについて質問したところ「リベラルにはそれぞれ分派があり……」などとまとめてくれました。
繰り返しになりますが私は英文は1文たりとも読んでいません。が、国際政治学の素養もないにもかかわらず記事の内容はかなり明らかになりました。
確かに「大学のレポートのために記事を要約してくれ」という要請には必ずしも答えてはくれないのですが(どっちみち検証が必要になる)記事を読んでわからない箇所について説明したりしてくれるので、調査時間は劇的に少なくなった印象があ
今すぐ使えるようと思います。
私は国際政治学について素養がありません。英語も一応読めますがそれほど得意ではありません。少し前に書かれた「国際政治学の学派」についての記事がTwitterに流れてきました。
読みたいんですが正直面倒くさいです。ChatGPTに要約をお願いし、ついでにGoogle翻訳で記事を読んでみました。
ChatGPTは要約に失敗し「ああこんなもんか」と思いました。BingのAIチャットボットにもお願いしたのですがこちらはまともな要約を返してきました。
記事は、リアリスト・リベラル・アイディアリストの3つの流派について説明しています。しかしながらアイディアリストについての言及よりも構造主義についての言及が多いようです。つまり構成がちょっと難しいんですよね。
さらにそれぞれについて質問したところ「リベラルにはそれぞれ分派があり……」などとまとめてくれました。
繰り返しになりますが私は英文は1文たりとも読んでいません。が、国際政治学の素養もないにもかかわらず記事の内容はかなり明らかになりました。
確かに「大学のレポートのために記事を要約してくれ」という要請には必ずしも答えてはくれないのですが(どっちみち検証が必要になる)記事を読んでわからない箇所について説明したりしてくれるので、調査時間は劇的に少なくなった印象があります。
よく「なんとかとはさみは使いよう」だなどと言いますが、使う人によってはかなり生産性が上げられるだろうなあと感じました。構成を理解したり翻訳したりという手間が省け、内容そのものの理解に集中できるからです。
ただし分析する記事の構成や中身がしっかりしている必要はあります。ガーベッジイン・ガベージアウトなどと言いますが、ガーベッジ(ゴミ)を入れるとゴミみたいな分析しか返ってこないと思います。
GPT 3.5の知識をベースとしています。GPT 3も凄かったのですが利用用途が一般の人にはあまりありませんでした。Chat化することで、GPT 3.5を一般ユーザに門戸を開いたという点では、素晴らしいです。
とはいうものの、まだここまでは前例がありました。
Chat GPTの凄さというのは個人的な主観として、チャットセッション毎に情報のエッセンスが残っている点です。常に最初では無く継続できるという点ですね。
もう少し例を出すと、
上記のように、2回目の私が前段の内容を指した状態で、「もう少し短く」という後がChat GPTの回答を指しているという判断が出来ていることにあります。
また、このチャットセッションはずっと残っています。続きを行うことも可能です。
次に、Chat GPTに複数の役割をあてディベートさせる実験を深津氏が行っています。
AIチャットの新しい使い方見つけた!
— 深津 貴之 / THE GUILD / note (@fladdict) December 6, 2022
AI同士にディベートさせると、メジャーな論点が洗い出せる。
これ、いろんなことの予行練習に使えそう。素晴らしい。 pic.twitter.com/6LGU1tFlOO
残りは直接参照頂ければ。
一人二役でディベートさせるようなチャットボットについては、過去に存在したのかは私は知りません。
こういった部分を上手く活用できると、非常に良い経験(ディベートのシミュレーションが事前にいくらかできる)になると思っています。
勿論、完全ではありません。しかしながら、何らかキッカケをトリガーとして人間は類推することができます。そのキッカケをChat GPTを使うことでキッ
GPT 3.5の知識をベースとしています。GPT 3も凄かったのですが利用用途が一般の人にはあまりありませんでした。Chat化することで、GPT 3.5を一般ユーザに門戸を開いたという点では、素晴らしいです。
とはいうものの、まだここまでは前例がありました。
Chat GPTの凄さというのは個人的な主観として、チャットセッション毎に情報のエッセンスが残っている点です。常に最初では無く継続できるという点ですね。
もう少し例を出すと、
上記のように、2回目の私が前段の内容を指した状態で、「もう少し短く」という後がChat GPTの回答を指しているという判断が出来ていることにあります。
また、このチャットセッションはずっと残っています。続きを行うことも可能です。
次に、Chat GPTに複数の役割をあてディベートさせる実験を深津氏が行っています。
AIチャットの新しい使い方見つけた!
— 深津 貴之 / THE GUILD / note (@fladdict) December 6, 2022
AI同士にディベートさせると、メジャーな論点が洗い出せる。
これ、いろんなことの予行練習に使えそう。素晴らしい。 pic.twitter.com/6LGU1tFlOO
残りは直接参照頂ければ。
一人二役でディベートさせるようなチャットボットについては、過去に存在したのかは私は知りません。
こういった部分を上手く活用できると、非常に良い経験(ディベートのシミュレーションが事前にいくらかできる)になると思っています。
勿論、完全ではありません。しかしながら、何らかキッカケをトリガーとして人間は類推することができます。そのキッカケをChat GPTを使うことでキッカケを会得することが可能ではないか? と現時点は考えています。
持ち上げっぱなしであれなので、Chat GPTの限界について
自然言語処理では、単語コーパスは有限で集めることは可能です。しかしながら、文章となると無限でありこれを事前に全て集めて事前学習させることが出来ません。
人間が用意した文章からだけでは、過去文法は会得することが出来ませんでした。
しかし、大規模自然言語処理では機械側でネット上にある良質な記事(主にWikipedia等)を大規模学習させることにより、文法を会得することが出来ました。
昨年末、GoogleおよびOpen AI(Chat GPT作ったとこ)がそれぞれ、大規模自然言語処理を更に大規模にしても、効果が殆どないという論文が発表されました。
Chat GPTでは、会話については人間(ラベラー)が作った会話データを使って学習(直接的では無く間接的に学習)させていることで、限界がある可能性が指摘されています。(どのような限界かは分かっていませんが)
これを突破するブレイクスルーを行う技術的な発見が行われると、更に前進するのかなと思っています。
とはいえ、かなり上手く纏まっていて、それなりに実用的である点も見逃せません。
ここ5年や10年のスパンならあり得ません。
ChatGPTの手法では50年でもたぶんないと思います。
せいぜいプログラマーの仕事が便利になる程度です。
プログラミングしか出来ない人のことをプログラマーと呼ぶのは理解しています。しかし、プログラミングしか出来ないままで退職する人ってどの程度いるのでしょうか?
実のところ、個人的にはあまり良くわかっていません。
私が就職した1990年頃からプログラマーという職種は存在していません。プログラミングしかさせていない人をそう呼び、初級、中級、上級の各SE(システムエンジニア)として成長させるというスキームが各社あったように記憶しています。
更にその上もあり、プロジェクトマネージャ、プロダクトマネージャなども存在します。
実は私の認識不足でプログラマーで終生を終わる方がいたとします。その方はChat GPTのようなAIで消滅すると想定されているという話かと思います。
質問者さんの仮設があるとして回答したいと思います。
プログラミング自体はAIが大半を行うことになるかと思われます。しかしながら、AIが自動的に全てを勝手に作り上げる未来はあり得ません。
(現在のAIは知識が膨大になっていくことで知能は上がりますがリクエストが無いと勝手に作業しません。)
その代わり、上手にAIに対して「どのような目的でシステムを作るのか」「どの程度の性能が必要なのか」「どんなユーザが何の目的で利用するのか」といったことを整理し纏める必要があります。
言ってしまえば、中級SEから上のクラスのお仕事でしょうか。
とはいえ、IT関連
プログラミングしか出来ない人のことをプログラマーと呼ぶのは理解しています。しかし、プログラミングしか出来ないままで退職する人ってどの程度いるのでしょうか?
実のところ、個人的にはあまり良くわかっていません。
私が就職した1990年頃からプログラマーという職種は存在していません。プログラミングしかさせていない人をそう呼び、初級、中級、上級の各SE(システムエンジニア)として成長させるというスキームが各社あったように記憶しています。
更にその上もあり、プロジェクトマネージャ、プロダクトマネージャなども存在します。
実は私の認識不足でプログラマーで終生を終わる方がいたとします。その方はChat GPTのようなAIで消滅すると想定されているという話かと思います。
質問者さんの仮設があるとして回答したいと思います。
プログラミング自体はAIが大半を行うことになるかと思われます。しかしながら、AIが自動的に全てを勝手に作り上げる未来はあり得ません。
(現在のAIは知識が膨大になっていくことで知能は上がりますがリクエストが無いと勝手に作業しません。)
その代わり、上手にAIに対して「どのような目的でシステムを作るのか」「どの程度の性能が必要なのか」「どんなユーザが何の目的で利用するのか」といったことを整理し纏める必要があります。
言ってしまえば、中級SEから上のクラスのお仕事でしょうか。
とはいえ、IT関連の労働人口が足りないという世界は終焉に向かい、誰でもIT技術者ってのはなくなりそうです。
いわゆるAIネイティブ世代という若者(今中高生ぐらいでしょうか)が台頭してくるのでは無いかと勝手に想像しています。
今でも、LLM関連で日本人が英語でやりとりしていますが、自分で学生って言っているので凄いって思います。
まだ無理っぽい。
自分が楽するためにあれこれ試してますが、とても業務で使えるレベルじゃないですね。現状は、こちらの要求を解釈してコードを書くのではなく、それっぽいコードを探してきて表示してるだけ。しかもまともに動かない。ひどいときには実装がないメソッドやクラスを呼び出したりしています。
動くコードを得るためには、要件を細分化してピンポイントで要求する必要があります。かなり要件を明確に指定しないと使えないんです(コーディングスキルチェックの問題のように)。それなら自分で書くか、ググった方がはるかに早い。
これからさらに進化して曖昧な要件を解釈できるようになったら、プログラマの代わりになるかもしれません。実現するのはChatGPT10くらいでしょうか。
それでもたぶん人間が書くコードの方が効率的だと思います。でも「速度やセキュリティなどを犠牲にしても開発期間や費用が低い方をとる」という人もいます。最初はあまりアクセスが多くない、信頼性をそれほど求めない分野で使われるでしょうね。
ということで、まだちょっと道のりは遠い感じです。
まだ無理っぽい。
自分が楽するためにあれこれ試してますが、とても業務で使えるレベルじゃないですね。現状は、こちらの要求を解釈してコードを書くのではなく、それっぽいコードを探してきて表示してるだけ。しかもまともに動かない。ひどいときには実装がないメソッドやクラスを呼び出したりしています。
動くコードを得るためには、要件を細分化してピンポイントで要求する必要があります。かなり要件を明確に指定しないと使えないんです(コーディングスキルチェックの問題のように)。それなら自分で書くか、ググった方がはるかに早い。
これからさらに進化して曖昧な要件を解釈できるようになったら、プログラマの代わりになるかもしれません。実現するのはChatGPT10くらいでしょうか。
それでもたぶん人間が書くコードの方が効率的だと思います。でも「速度やセキュリティなどを犠牲にしても開発期間や費用が低い方をとる」という人もいます。最初はあまりアクセスが多くない、信頼性をそれほど求めない分野で使われるでしょうね。
ということで、まだちょっと道のりは遠い感じです。
数年程度ではなくなりませんね
例えば、新しい暗号アルゴリズムを作ってください、ってChatGPTにお願いしてみたらいいと思います
あるいは新しい高圧縮高画質の動画フォーマットを作ってください、でもいいでしょう
これができるようになったらエンジニアの仕事はなくなるかもしれませんが、私が現役の間にできるとはちょっと考えにくいです
現状のChatGPTの性能はともかくも、
今後プログラミングに特化した同様の大規模言語モデルが登場するのは間違いありません。そしてこれまでのノーコードやローコードと組み合わされていくことでしょう。
そしてどうなるか・・・みんながある程度簡単にできるようになった分、全体の規模が拡大し専業プログラマーのやることが高度化していくことでしょう。そこに終わりはありません。
問題は、やがてAIがAI自身をOpenな系で自己改良ができるようになるでしょう。そのとき本当のシンギュラリティが来ます。その時はプログラマーがどうとかというレベルではなくなります。
皆さんの観点とは少し違いますが、システムの運用で使われるようなスクリプトはほぼ正解が出ます。(もちろん聞き方によりますが) 運用スクリプトうん十万円とか言ってる人のビジネスは無くなるのではないかと思います。
ChatGPTの恐ろしいのはトーシロへのアピールが凄まじいところです。ChatGPT自体はどうでもいいものですが、人間のトーシロが怖い。確実に人類を滅ぼします。まあその前に核戦争がありますが。
AI関係全体ですけど、人類同士の情報共有、技能共有は太古の昔に行ってる人類契約上の要求になってる可能性高いと思ってるんですけど、AIと契約結んだ記憶無いのでAI経由はNGなんじゃないかと思ってます。だとすると、元データの著作権者の血統にもフィードバック行くべきだと思いますね。
俺らが精神性的に他人のコードや絵を見て技能パクッていいと思ってるけど、AIは話が違う思ってるのは、基本精神性がそれに適応するところまでやってあるの意味だと思うんですよね。
他には殺しに行った相手の能力は使ってはいけないとかそういうルールもなんかあるらしいので、自分が殺しに行くことないから自覚ないだけで、AI自体人類契約に基づいて判定しないとダメな時期かなと思いますね。
一回全員フェアにして才能だけで、レースして最初にAI作り上げた奴が勝利して全員殺していいゲーム引くならそれもアリだけど、過去200年位別の目的でのレースしてる真っ最中なので、今ゲーム中はちょっと認められないかな。ぶっちゃけ、文明向上加速化されて人類その物の能力評価行うゲームのために、俺みたいな才能ある王族一般人にしてましたが現実なので、これは人類契約上ダメなの。
AI先行してる企業って、他の分野で成り上がった企業でAI自体でゼロから上がった企業ないよね。