AI懐疑派の友人たち、みんなおかしいよ!
引用元:https://news.ycombinator.com/item?id=44163063
最初、この記事マジで的を射てると思ったんだよね、LLM使ったコーディングについて数ヶ月考えてきてわかったことがよく表れてるから。最初はめっちゃ懐疑的だった。Claude Codeが出た時、まるでスーパーパワーみたいでマジでハマっちゃったんだよ、スロット中毒みたいに。でも、実際にコード読んでみたら、信じられないほどクソだった。それで前の懐疑的な気持ちに戻っちゃったんだ、多分前よりひどくね。
それから何か変わった。色々試すようになったんだ。命令するのをやめて、バーチャルなゴムのアヒルみたいに使うようになった。それが huge difference だったね。
まだ、好き勝手にやらせたら絶対 rubbish だよ。だから”vibe coding”は basically “vibe debt”だと思うんだ、ほとんどの人(多分あんま詳しくない人)が思ってるようには動かないから。
でも、 collaborator として扱ったら、 massive brain だけど instinct とか nous がない idiot savant みたいに、いや、もっといい例えは、しっかり control が必要な mech suit [0] みたいに扱ったら、 interesting なことが起きるんだ。
今は Claude Code と一緒に仕事するのが productive なだけじゃなくて、 right guidance をすれば pretty good code も produce できるようになった。 tests もいっぱい書いてるよ。それから、進捗と一緒に intent を文書化させる方法も開発したんだ。これが自分にも、将来の人間 reader にも、そしてcrucially、 old code を revisiting する時の model 自身にも役立ってる。
何が俺を fascinate させるかって、これらの comments がどれだけ negative かってことなんだよ—どれだけ多くの人が、これが doomsday みたいなもんじゃなくて software engineers にとって net positive になりうる可能性に closed off してるかってこと。
Photoshop は graphic artists を殺した?film は theatre を殺した?別にそうじゃないよね。 things changed、 sure。 “better”だった? counterfactual はないから、誰にもわかんない。でも change は inevitable だった。
何が clear かっていうと、この tech はここに now あるんだ。それに complaining するのは、 terminals が出てきた時に punch cards の loss を mourning してるのと bit like だね。
[0]: https://matthewsinclair.com/blog/0178-why-llm-powered-progra…
> Photoshop は graphic artists を殺した?
いいえ、AI が殺しました。
> Then I actually read the code.
これ、俺の経験と一緒だよ。みんな LLM の output に impress されてるみたいだけど、実際にcomprehend するまではね。この illusion を break out させる一番 quick な方法は、自分の expertise について LLM と chat させてみること。すぐに errors に気づき始めるからさ。
これ、この記事が clear にしてるように、俺が alert で receptive to なconcern だね。 visual なもの全部の production は LLM から ban すべきだ。俺は vote するよ。ただ、 Mermaid charts と Graphviz diagrams はまだ generate できるようにしてくれよ、そうすれば developers には still apply するから。
問題を解決するのが上手いほど、AI assistants を less use するんだ。新しい language か framework を try する時に使うかな。Busy code を generate しなきゃいけないのも AI では difficult。だって necessary context を AI assistant のために formalize しなきゃいけないんだけど、unsure result のくせにそれが exhausting なんだよね。だから、 just simpler に自分で quickly 書いた方がいいのかも。
comments が negative なのも understand できるよ。だって so much AI hype があって、yet practical applications がそんなに too many ないんだから。Or at least good practical applications。その hype の Some は justified だけど、Some は not。俺は image\video\audio synthesis hype の方が tbh interesting だったな。
Test cases は quite helpful だし、comments も decent だね。でも often prompting は programming something より complex なんだ。And you can never be sure if any answer は usable なんだ。
graphic design に unique なことって何がそんな extraordinary care に値するの?replacement 領域に近づく technology は just ban すべきなの? Graphviz diagrams で生計を立ててる人々、 real or imagined はどうなるのさ?
俺が思うに、ここで起きていることの1つは sort of stone soup effect だね。[1]
Ptacek の point の core は、 last 6 months で everything が changed ってこと。You と俺は多分 agree してると思うけど、 off-the-shelf LLMs の code での use は kinda garbage だった。And 俺は彼が knocking してる scepticism (” stochastic parrots ”)は in fact then は accurate だったと expect するよ。
でも、それによって a lot of people ( and money )が rush in して something useful を make しようと try し始めたんだ。 stone soup story みたいに、 a lot of other technology が the pot に added されて、 now something solid 、 a proper meal の direction に moving してる。でも、 excitement と investment を考えると、 things が stabilize するまで at least a few years はかかるだろうね。 only at that point can we be sure about how much the stone が the soup に really added したか。
another counterfactual で we’ll never know のは、 if people が a few billion dollars を code tool improvement に dumped してたら what kinds of tooling が we would have gotten なのか、 LLMs なしで、 with, say, a lot of more conventional ML tooling はどうか。 the tools we get は much better だった? Much worse? About the same だけど strengths and weaknesses が different? Impossible to say。
So 俺は still skeptical of the hype だ。 After all, the hype は basically the same as 6 months ago, even though now the boosters は the products of 6 months ago が sucked ことを admit できる。But 俺は we’re in the middle of a revolution of developer tooling だと believe できる。 Even so, 俺は content to wait だね。 We don’t know the long term effects on a code base。 We don’t know what these tools が 6 months 後に will look like か。 俺は happy to check in again then だね、そこで I fully expect to be again told: “ If you were trying and failing to use an LLM for code 6 months ago †, you’re not doing what most serious LLM-assisted coders are doing. ” At least until then, 俺は my membership in the Boring Technology Club を renewing してるよ: https://boringtechnology.club/
[1] https://en.wikipedia.org/wiki/Stone_Soup
LLMは世界の知識を圧縮した現代の図書館みたいなもんだよ。自分の知識がそれに勝ると思うのはちょっとなあ。LLMの答えを疑うなら、自分で確かめなきゃ。本もGoogleも完璧じゃないんだからさ。
記事のさ、”半年で全部変わった”ってとこは違うと思うな。2年前だってLLMはすごかった。自分に合う使い方を見つけるのが肝心なんだよ。俺は時間かかったけど、AIで未経験のとこでも新しい仕事できたぜ。https://news.ycombinator.com/item?id=44164846 ←これ見て。@tptacekとか@kentonvみたいにAI売ってない respectable people(立派な人たち)がそう言うなら、もっと見てもいいかもね。
マジで?記事はさ、アートは特別だって理由もなく言って、プログラマーは著作権なんかどうでもよくて、だから痛い目見ろ、みたいな感じ?「Artificial intelligence is profoundly — and probably unfairly — threatening to visual artists」ってのも、根拠なく決めつけてる気がするんだよね。
LLMはイラストとかデザインの定型的な仕事をすぐにとって代わって、表現を counterfeit(偽造)するんだ。coding agent(コーディングエージェント)がSQLとかtree traversal(ツリー走査)を書くのとは違うよ。大事なのは、アーティストは著作権守ろうとしてきたけど、Software developer(ソフトウェア開発者)はずっとそうじゃなかったこと。あと、LLMがIPRをviolating(侵害)してるって主張には同意しないな。俺は16年も前から nerd piracy culture(オタクの海賊文化)とか mightmakesright arguments(力こそ正義の議論)にはdiscomfort(不快感)を示してきた。ここで俺の意見は受け入れられないだろうけど、俺はbona fides here(ここで信頼)を得てる。 search bar(検索バー)で確かめてくれ。
”prompting(プロンプト作成)は programming(プログラミング)より complex(複雑)だ”ってのには反対だな。complex(複雑)なのか、それとも考えること全部が一つの sentence(文)とか paragraph(段落)に詰まってるだけ?俺からすると、programming(プログラミング)は問題を分解して code(コード)にする作業。code lines(コード行)自体は楽だけど、問題の details(詳細)は code writing(コード)後でしか分かんない。AIに書かせるなら先に問題を definition(定義)しなきゃ。それは more design(もっと設計)と upfront thinking(事前の思考)が必要で、agile development(アジャイル開発)とかで開発コミュニティは20年くらい避けてきたことだよ。TDDみたいなのは definition(定義)を早めるけど、selfdiscipline(自己規律)があるのは少数派だと思う。(disclaimer: 俺はAIあんま使わないし、会社も agentic coding(エージェントコーディング)はまだ考えてないから、chat style(チャット形式)か inline code suggestions(インラインコード提案)だけ)
”respectable people(立派な人たち)が言うなら~”って話だけど、hype cycle(ハイプサイクル)の間は social proof(社会的な証明)はあんまアテにならないぜ。チューリップバブルだってそうだった。賢い人でもハマる。人は自分を fool(だます)のが超得意なんだ。すごい賢い人が主要な religion(宗教)信じてるけど、全員正しいわけないだろ。それに、ここではAI売ることでfortune(財産)やfuture(未来)がかかってる talented people(才能ある人たち)がたくさんいるんだぜ。君が自分に合うもの見つけたのは良いことだ。でも俺はさ、essential oils(エッセンシャルオイル)からfunctional programming(関数型プログラミング)まで、すごい効くって信じ込んでる人に大勢会ってきた。彼らにはそうなのかもね。でも俺はさ、hype cycle(ハイプサイクル)が終わってからplateau of productivity(生産性の安定期)が来るのを待つ方が合ってるんだよ。君が使い方見つけるのに使ったmonths(数ヶ月)は、俺が既に効くって分かってるものに使うmonths(数ヶ月)なんだ。
ついでに言うとさ、AIが専門職にとってruinous(破滅的)かもしれないって考えをdismiss(軽視)してるわけじゃないんだ。アプリ作りが super easy(超簡単)になるからって、opportunities(機会)が増えるだけ、なんて自動的に思うわけじゃない。ただ、専門職のinterests(利益)がcontrol(コントロール)するとは思わないだけなんだよ。travel agents(旅行代理店)だってinterests(利益)があっただろ!
ポイントはね、普通の task(タスク)を手で code(コード)書くと1~2 weeks(週間)かかるけど、prompts(プロンプト)とかagents(エージェント)を properly(適切に)set up(設定)すれば couple of hours(数時間)でできること。君が指摘したみたいに、code quality(コード品質)、lack of tests(テスト不足)、tech debt(技術的負債)みたいな issue(問題)は出るし、そこは carefully(注意深く)prompts(プロンプト)作ったりcode(コード)review(レビュー)しなきゃだけど、結局は significant time saving(かなりの時間節約)になるよ。
AIが人間の作品で学習して代替しようとしてる点が問題だよ。ライセンスされた作品で学習すべきだったんじゃない? 今まではそうだったんだし。
もたもたしてる間にさ、競争相手はもうAIで生産性2倍になってるよ。
マネージャーとして学んだのは「任せる」のが一番大事で難しいってこと。自分でやる方が楽だけど、時間かけて人に教えて任せるとチーム力は爆上がりする。LLMも同じ感じ。生意気なインターンを育てるくらい大変だけど、使いこなせたら生産性爆上げできるよ。
大げさ大げさ大げさ! もっとデータ出してよ。
どんなデータが欲しいって? 俺はPRを倍の複雑さで倍出してるよ。何週間もかかってた変更が数分で終わるんだぜ。APIのエンドポイント50個を1週間で作った。前は20個で1ヶ月かかってたのにさ。
promptingの難しい点は、英語みたいな人間の言語がプログラミング言語ほど厳密じゃないこと。アイデアはコードの方がずっと簡潔に書ける。コード読んでプロトタイプ作る方が楽だし。だからpromptingは一輪車を4人で運ぶみたいに非効率に感じるんだよね。
いや、違うね。それはソフト作りをコーディングだと思ってるからだよ。最初はそうかもだけど、慣れると大事なのは“問題の正しいメンタルモデル”を作ることだって気づく。コーディングなんて一番時間かからないんだよ。AIがそこだけ“救っても”、数日分の作業が丸ごと消えるわけじゃないさ。
デザインの仕事がAIに奪われて何が問題? Graphvizの利用者やJS初心者、馬車の御者にも同じこと言える?
AIがクリエイティブ表現を“偽造”ってどういう意味? ChatGPTはそんなこと言ってないし、みんなAIが数学的に画像生成してるって知ってるだろ。LLMが文章作るみたいに絵も作ってるだけ。
もっと大事なのは、アーティストは著作権を守ろうとしてるけど、開発者はそうじゃないって言うけど?プログラマーはライセンスにうるさいし、Copyleftなんて著作権を厳守するんだぜ。アーティストだって著作権期間に文句言ってるし。一部のプログラマーだけ見てIPR反対派って言うのはおかしいよ。
結局、promptingやテスト用に共通のデザイン/コード仕様言語ができると思うな。AI向けじゃなくても、人間が理解するには正確な意味を伝える言葉が必要になるだろうから。
それって人間も同じじゃない?毎日クソなコードも読むけど、年収10万ドル~20万ドルの人がすぐ理想的なコード書けないからって文句言ったりしないよ。LLMより人間のコード直す方がずっと大変だしね。たった20ドルでその手間が10%でも減らせるなら、超お買い得だろ。
そうそう。プログラマーってライセンスにはめっちゃこだわるよね。コードに関してはさ。
この記事、LLMの一番ヤバいとこ、つまり依存性について全然触れてないじゃん。ローカルで動かせなきゃ、結局リモートの中央集権システムに完全に頼ることになる。そこを牛耳る奴らが、値段釣り上げたり、出力をこっそり変えたり、入力データを勝手に使ったり、最悪サービスやめたりもできるんだよ。この記事は「最新最高のLLMだけが使える」って言ってるけど(この議論半年前に見た)、ローカルで動かすなんて無理じゃん(ローカルでLLM一個動かすのに384GBのRAMが必要って話も聞いた)。自由なFree Softwareが好きな俺たちからしたら、マジで退化だよ。
自分のPCでGoogle動かせないけどさ、でも完全に頼り切ってるよ。
この依存性の話、ネット回線とかクラウドとかOSとか、色々同じこと言えるよね。
あんたの仕事ってGoogleの検索結果返すことなの?ここで言ってるのはね、ホストされてるLLMを使わないとコーディングっていうメインの仕事ができない開発者は、第三者に完全に依存してるってことなんだよ。
もっとコメントを表示(1)
そうなんだよね、しかももっとタチが悪い:もしLLMが世界をヤバくするかもって思うなら、自分でホストしてないLLMは絶対に使っちゃダメ。だって、君が使った情報がLLM作った奴らに使われて、LLMをもっと良く(悪く?)してるんだからさ。
Mac Studioってさ、512GBのユニファイドメモリ(CPUとGPUで共有)ついてて、これで結構ヤバいモデルいくつか動かせるんだよね。
20年でメモリって32倍になったらしいから、2045年には16TBとかメモリ積んだPCができるかも。
そしたらマジで色々できるようになるはず。もしその頃1TBでも足りないとしても(もっといいアーキテクチャとかデータ表現とかで)。
俺は投稿者じゃないけどさ:
*携帯会社は抜きにしても、うちの近所にはISPが最低5社ある。マジでヤバくなったら、近所の図書館に行って静かに陣取ってWiFi使えるし。
*個人的にはクラウドは必要ないけど、クラウドに縛られない仕事は色々やってきた。主要なクラウドサービスはみんな、計算も保存もネットも提供してるから、特定の会社の機能にわざと縛られなきゃ、好きなサービスを選び放題なんだ。
*俺はLinux使ってる。これで十分でしょ。
目覚ませよ、Pythonの標準ライブラリ以外、何も使わないって言うなら話は別だけど、もうとっくに色んなものに依存してるんだってば。Maven Centralが消えたり、プロキシ設定ミスったり、ローカルキャッシュがぶっ壊れたら?はい、お終い。SpringとかDaggerとかQuarkusとか、お前のプログラム動かしてるサードパーティのクソは全部消える。JSとかRustのライブラリだって何百万とあるけど、あれも同じことだろ。
うん、£10,000もするんでしょ。それに帯域幅が足りてない512GBのメモリだし。まあ、それでも今どきのnvidiaが出してるやつよりはマシかもね(GPUラックはメモリの処理速度が断然速いとしてもさ)。
Googleなしでどれだけプログラミングできる?
この20年、試したことすらないと思うよ。
独立性が大事ってのは分かる。でもね、まずそんな時代はとっくの昔に終わったし、次に君が依存してるサービスは一社だけじゃない。一つダメになっても、他の代替サービスがいくつかあるんだから。
正直、384GBのRAMって意外と手頃だと思うんだよね。
月200~300ドルでも3年で7000ドルだし。
それに数年後にはGPUみたいなハードウェアチップベースのモデル、AiPUみたいなのが出てきて、AIチップを交換できるようになるんじゃないかと期待してるよ。
Ollamaバックエンドで動く小さい「coder」LLMとRooCodeみたいな拡張機能、それに大量のMCPツールを使えば、90%以上のコーディングができるぜ。実際、MCPは画期的すぎて、俺はコーディングAIの核だと思ってるんだ。大規模モデルは巨大すぎるし、知識は変わり続ける。小さい14bモデル(場合によっては8bでも!)にMCP検索ツールや知識グラフ、いいフロントエンドを組み合わせるのがベスト。現在のコンテキストに基づいて自己学習させよう。これ全部、Costcoで1000ドルくらいのゲーミングPCでも動くんだ。クラウドよりめちゃくちゃ遅いけど、とにかく動くし、何かは得られるはずだ。
少なくとも5社以上の本気で独立したプレイヤーがいる競争市場でよかったね。
「384GBのRAMはリーズナブル」「月200~300ドルは3年で7000ドル」
って言うけどさ、現在の信じられないような改善スピードを考えると、クラウドベースのモデルは実際にはたぶん50倍くらい良くなるだろうね。その間、君は同じシステムを使い続けることになるんだから。
同じ議論は検索エンジンにも言えると思うよ。
ほとんどの人はそれについてあまり心配してないよね。
FOSSベースの開発でさえ、結局は囲い込まれたプラットフォームに依存してるんだよ。
GitHubがダウンするたびに明らかだよね。
いやホントのところ、MシリーズCPUのメモリ増設が高いのは、メモリがチップ上にあって、同程度のPCハードウェアより帯域幅がずっと広いからなんだ。
場合によっては、nVidia GPUよりMシリーズのMac Minisを買う方が費用対効果がいいこともあるよ。
ちょうど今週、あるライブラリが非推奨になったんだ。
もちろんオープンソースだよ。
その非推奨化に対する俺の対応は?自分でメンテする?いや違うね、別のライブラリを探すんだ。
結局、常に何かに依存してるんだよ…。
まあ、結局インターネット接続だって自分でホストできないしね :)
「自分でホストしてないLLMを使うなってのは、LLM開発者が利用情報を使ってるから、って言うけど。それって、海水を汲み出すみたいにムダなことじゃね?」
それはちょっと飛躍しすぎだと思うな。もしLLMが世界を悪くするって思うなら、それに対処するために色々な行動が取れるはずだよ。
だからローカルモデルってすごく大事なんだよ、パワーは劣るとしてもね。「最先端」と「多くのワークフローで十分使えるレベル」の差はどんどん縮まってるんだ。
でも代替手段はたくさんあるよ。Googleが検索とかOffice製品とかメールで独占してるわけじゃないし。生活からGoogleをかなり排除することって、そんなに難しくないんだ。
コードがいきなりどこかに行っちゃうわけじゃないでしょ?もしLLMがなくなっても、困るけど、どうにもならないってわけじゃないよ。
サードパーティに依存してない開発者の仕事なんて、どれだけあるの?
じゃあ、君の環境について詳しく教えてくれない?
- 通信会社とかISPは選べるって言うけど、多くの人はそうじゃない。
* どんなソフト書いてお金稼いでるの?
* 君の環境、外部のインフラが最新じゃなくても大丈夫なの?
LLMコーディングツールに依存するのは大した問題じゃないと思うよ。簡単にベンダーを変えられるし、独占されるまではオープンなモデルが十分使えることを願うよ。
AIツールに依存するのが怖くても、みんな何が起きてるか把握しておくべきだよ。今は変化がすごく早いから、LLMにどんな反対意見があっても、数ヶ月後には無効になってるかもね。
本当にすごいと思うのは、コンピューターにあいまいな指示を出しても意味のある結果が得られるってことだよ。90年代にプログラミングを学んだ者としては、コンピューターに人間の言葉で漠然とした指示を出して、だいたい思い通りになるなんてSFだと思ってたんだ。
マジで驚きだよ。少なくとも週に1x~2x回は、これが現実なんだってことに衝撃を受けてるんだ。
今日歯医者に行って、歯磨き粉を変えてみたらって言われたんだ。SLSが入ってると口内炎ができるんだけど、SLSフリーのだとフッ素も入ってないのが多いんだよね。ChatGPTにSLSフリーでフッ素入りの歯磨き粉を聞いたら、最初の提案はSLS入り、次の提案はフッ素なしだったよ。うん、僕らが住む世界は驚きだね。上層部は僕らのコードベースをこれらのツールに任せたいみたいだけどさ。
どのモデルとプロンプトを使ったの?僕は「find me a toothpaste that is both SLS free and has fluoride」ってプロンプトを使ったら、GPT-4o(URL0参照)もo4-mini-high(URL1参照)も最初の答えで正確なのが出たよ。4oは新しい「show products inline」機能を使ってて、それぞれの製品に飛びやすくて確認しやすかったよ。(この機能が収益化でウェブ製品をダメにするかもって心配は置いといてさ。)
URL0: https://chatgpt.com/share/683e3807-0bf8-800a-8bab-5089e4af51…
URL1: https://chatgpt.com/share/683e3558-6738-800a-a8fb-3adc20b69d…
バベッジの古い言葉があるんだ。>’Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’って質問に、「そんな質問を引き起こす思考の混乱の種類は正しく理解できない」ってやつ。これは2世紀もの間、明らかに馬鹿げた質問だった。でも、そういう質問をした人たちが時代の先を行く先見の明のある人だったってことみたいだね。コードを尋ねるとき、最も馬鹿げた、あいまいな、時には間違った方法でも、適切な文脈さえあれば、実際に欲しかったものにかなり近いものが得られるのは、ある種印象的だよ。ただし、可能な限り正確に尋ねても、全く見当違いなものが返ってくる問題もまだあるけどね。
問題は、同じプロンプトでも良い結果が出たり悪い結果が出たりすることだよ。「プロンプトをもっとうまく使え」っていうのは、AIのhallucinationに対する言い訳に過ぎないことが多いんだ。良いプロンプトはもちろん役立つけど、多くの場合、技術がまだそこまで来てないってことなんだよ。
もっとコメントを表示(2)
人間/コンピューターのインターフェースにおける根本的な変化だよね。多くのアプリケーションでは、複雑なUIを学ぶより、シンプルなチャットウィンドウで自然言語を入力させる方がずっといい。ターミナルを開いて「rm 〜/Desktop/*。png」って打つ代わりに、「デスクトップのスクリーンショットを全部削除して」って言えるようになりたいな。
最初から正しい答えを求めて、少し努力すれば(自分で探すよりはまだ楽なのに)手に入ることが分かっていても、それが得られないと諦めるなら、それってユーザー側の問題だと思わない?
正直に質問してるのに、最初の答えが間違ってるってどうやってわかるの?
LLMってすごい技術だけど、使いこなすの超むずいよね。あれに全部置き換えられるとか言ってるけど、現実にはスキルいるか、そもそも動かないことも多いし。すごい例はあるけど、ほとんどの人が作ってるのはゴミじゃん?FUDとFOMOで煽られてるだけだわ。
最初に話始めた人が自分で間違ってるって確認したんだろ?だから自分で確認すればいいんだよ。もし間違ってたらLLMに教えてやるか、別のLLM使えばいい。自分でググるより多分早いって。
そのコードが正しいってどうやってわかるのさ?
正確な入力しても、LLMは簡単に解ける他のものとして曖昧に解釈しちゃうんだよなー。
”LLMが一回ミスったからもう使わない”ってのは、まさにTFAが批判してるどうでもいいFUDだよ。このツールをうまく使って、限界に対処することを学ばないやつは、数ヶ月、いや数週間でマジで置いてけぼり食うって。どれだけ役に立つか考えたらヤバいのに。
それ、面白そうだね。でも「デスクトップのスクショ全部消して」なんて使い方、全然やりたくないんだよね。
朝飯食う時、バナナに「自分で皮むいて口に飛び込め」なんて言わないだろ?直接掴んで食うじゃん。指示するんじゃなくて、体の一部みたいに直感的に操作したいんだよ。意図とPCの間に英語を入れたくない。言いたいんじゃなくて、やりたいんだ。
「するだろう」じゃなくて「するかも」じゃない?もし毎回LLMが簡単な方へ解釈間違えるなら、ツールの使い方ちゃんと学んだ方がいいかもね。(言いたいことをはっきり言うことにイラつく人もいるみたいだけど)それって人でもLLMでもプログラミングでも超大事だよ。
「かも」ね、そりゃ。んで、俺の経験だと、自分でサクッとできないことをLLMに頼む時は、マジで大体そうなるわ。
Star Trek: The Next Generation大好きだったんだ。EnterpriseのコンピューターとDataのこと考えるのが最高で。コンピューターは今のAIに似てて、知識まとめたり操作したりできた。
Dataは感情ゼロって設定だったけど、すげーロボットっぽくて、アートとかコメディとかは苦手。今のAIアートみたいだよね。
ちょっとした話だけど、初期の書き方だとコンピューターが何でも知ってたり、Dataが感情ないのにエモいこと言ったりして、ちょっとヘンだったけどね。
プログラムはさ、君の思った通りに動くんだって。マジでゼロ努力で使い捨てレベルだけど、価値あるコード山ほど書けるんだ。デザイン探索とかリファクタリングとかにね。
この例は良いけどさ、LLMの検証ってめっちゃ大変で、使う意味なくなること多いよ。特に研究論文の要約とか。Perplexity使ったけど、重要な論文見落として結論間違えるんだ。結局自分で全部調べ直す羽目になる。それならPubMedとかarxivとかで自分で検索した方がマシ。LLMに「明確さ」がないのが根本問題で、Transformerじゃ無理だと思うな。数年試しても変わってないし。
LLMって、超あいまいな入力でも結構いけるんだぜ。昔のTV番組とか特定のエピソードを探すとき、めっちゃアバウトな情報でも驚くほど見つけてくれたんだ。「なんか80年代か90年代、いや2000年代かも…人が何かしたりしなかったりする番組で…」みたいな感じでもだよ。
この数ヶ月、大規模プロジェクトで「vibe coding」ってのをやってるんだけど、マジでやばい。毎日衝撃的。一人で数ヶ月でコード50万行とか書けちゃうんだぜ。ただ全部できるわけじゃないし、精度はまだ低い。エラーとか設計も微妙だったり。一番良い使い方は、まずLLMにプロジェクトの骨組み作らせて、そこから自分で手直ししていく方法みたい。
みんな経験違うけど、俺にとっては記事が言う通り、LLMは「退屈な作業」に使うのが失敗が少ないんだ。知らないことやるより、知ってるけど面倒なタスクを任せる方がいい。そうすれば、もっと大変で大事なコーディングに集中できるからね。LLMには分かりやすく指示出すようにしてるよ。
コンピュータに正確な指示出して、望むものを正確に得るためにこの仕事についたんだ。Dijkstraも半世紀前に言ってたけど、曖昧な入力なんて馬鹿げてる。形式的な記号を使う規律こそ重要なんだ。2025年のprompt engineeringとかvibe codingってさ、形式言語を作ったのに、またコンピュータと曖昧な言葉で言い争う羽目になってるじゃんか。マジで逆行してるって。
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667…
LLMが書いたコードが期待通りに動くか、どうやって確かめるの?自分で全部コード書いて、全体のつながりも頭に入ってる時でさえ、検証ってめっちゃ大変なのにさ。コードのこと知らなくなる方が、どうやったら検証が楽になるのか全く分かんないよ。
会社がさ、LLMを経理部に入れさせないのには理由があるんだよ。
もう2年も毎日ChatGPT使ってるんだけど、たまに現実味なくなるんだよね。「生きてる間にこんなの見れるなんて」って。俺まだ39なのに、死ぬ間際、病院のテレビでニュースとして見るもんだと思ってたわ。