「機械語」を含む日記 RSS

はてなキーワード: 機械語とは

2026-01-10

anond:20260109125514

XでもAI驚き屋のバカが「LLMはコンパイラを呼び出して出力すれば機械語を出力できるんだからLLMが機械語を出力するのを批判してるやつはおかしい」とかほざいてんだよな

話にならないようなバカしか言ってないからバズってもいなくて「機械語を出力する」なんて言うかボケっていうツッコミは誰もしてないけども

2026-01-09

anond:20260109125514

生成AIを含むAIは、十分な人間データが無いと学習が出来ないのか?

これは明確に、いいえ、と答えることが出来る。

最初こそ人間による補助は必要だが、LLMを含むAIは明確な目標があれば人間データなしでも十分に学習することが出来る。

これは身近なところでは将棋、有名なものだと囲碁実証された研究存在する。

そのため、単純に「機械語人間による学習データが少ないので扱いが難しいだろう」という反論は成立しない。

そういったものはLLMではないだろうという指摘は可能だが、LLMでそういったAIを出力することは限定的とはいえ現在でもできる。将来できないと言うだけの論拠にはならない。

残念ながらこの答えは「いいえ」ではない。むしろ現時点では、かなり明確に「はい」だ。

なぜなら、人間データなしでプログラミング学習できるなら、それはほぼASIや自己改善AIと呼べるものであり、AIの最大の難問がほぼ達成されたに等しいからだ。

AlphaGo人間データなしで学習できるのは、囲碁という探索空間が極端に狭く、一方で評価基準が明確に定義可能問題からである

将来にわたって自己改善AI不可能であるとは言わないが、今現在ではSF技術に過ぎないと考えるべきだ。

生成AIバイナリを書く未来は、来ないとは思うが、今も普通にできる

生成AIが直接機械語バイナリを出力するようになるのではないか、という問いは本質的に間違っている。

自分は、まだ素朴なニューラルネットワーク光学文字認識(OCR)の精度を出していた頃から似たようなことを考えていたので、少し他人よりも蓄積がある。

これは、Large Language Model(LLM)を開発する企業資金を集めるために多少誇張した未来を語るという文脈では大目に見た方が良いが、正確性に欠ける。

本質的な問いは、なぜ我々は、ノイマンコンピュータを用いて、主記憶に置かれたプログラムCPUを用いて実行する形式をとるのか、というものである

まず、筋の悪い反論から説明し、妥当反論にも触れたうえで、本質的に問うべき課題説明する。

生成AIを含むAIは、十分な人間データが無いと学習が出来ないのか?

これは明確に、いいえ、と答えることが出来る。

最初こそ人間による補助は必要だが、LLMを含むAIは明確な目標があれば人間データなしでも十分に学習することが出来る。

これは身近なところでは将棋、有名なものだと囲碁実証された研究存在する。

そのため、単純に「機械語人間による学習データが少ないので扱いが難しいだろう」という反論は成立しない。

そういったものはLLMではないだろうという指摘は可能だが、LLMでそういったAIを出力することは限定的とはいえ現在でもできる。将来できないと言うだけの論拠にはならない。

プログラミング言語は、自然言語から曖昧さを無くすために必要ものか?

これは限定的に、はい、と答えることができる。

英語に限った話ではなく、人間意思疎通に用いる言語である自然言語(natural language)は、曖昧さやばらつきがある。

これを形式言語(formal language)という、曖昧さを無くして語彙や文法限定した言語記述しなおすことで、厳密にする手法がある。

この形式言語での表現が、アルゴリズムデータ構造になり、現代ノイマンコンピュータにおけるプログラムのものと言うことが出来る。

なぜ限定的かと言えば、形式言語一種であるプログラミング言語には曖昧さが許容されているかである

ほとんどのプログラミング言語では、同じ目的を達成する為に複数記述が許容されている。

主に、人間が書きやすいから、とか、複数人間で書きやすいように、といった理由で、曖昧さが許容されている。

そのため、機械命令するためには厳密さが必要からプログラミング言語必要だ、と言う反論妥当ではあるが、弱い。

人間監査するためにはプログラミング言語である必要があるのではないか

こちらも限定的に、はい、と答えることが出来る。

なぜ大統一プログラミング言語のように、自然言語意図機械に伝えるための形式言語一種類になっていないかと言えば、人間認知能力には限界があるからだ。

そのため、簡易で曖昧さを含むために最適化はできないが十分な性能を持つプログラミング言語や、非常に複雑で記述量も多くなるが大人数で作業するには最適なプログラミング言語などが複数存在する。

これらはいずれも、人間が楽に記述できる形式言語であったり、人間同士が齟齬なくコミュニケーションを取るために必要形式言語である

ありていに言って、人間人間たちが理解可能形式言語でないと機械にその意図を伝えることが出来ないから、と言える。

ただし、コンパイラから出力されたニーモニックLLVM-IR監査できる人間現代では非常に少なく、現状ほぼ監査なく受け入れていると言って良い。

何故非常に少なくなったかと言えば、機械に伝える意図が大規模になり、単純にマンパワーが足りなくなったので監査しきれなくなっただけに過ぎない。

(もちろん、途方もない努力の末に最適化が進み、ほぼどの様な書き方をしても最適な機械語が出力されるようになったから、とも言える)

同様の理屈で、単純に大規模になり監査が間に合わなくなったので、受け入れるようになる未来が来ないとは言い切れない。

なぜ、ノイマンコンピュータをわざわざ用いて、ASICを出力しないのか?

本質的な問いは、なぜ我々はノイマンコンピュータを用いて機械意図を伝えるのか、である

ASIC(Application Specific Integrated Circuit)と呼ばれる、特定用途向けの集積回路がある。

チップとして、Realtek社のNIC(Network Interface Card)をご存じの方も多いと思う。

必要十分な処理があらかじめ定まっているのであれば集積回路を組んだ方が高効率省電力にできる。

暗号化や復号もASICで行われることが多く、ブロック暗号はその性質集積回路での実装が容易であり、それに向けた研究も行われている。

一般的にも、ハードウェアエンコーダーなどでお世話になっている人も多いと思う。

ではなぜ、我々は身近な全てをASICにしないのか。

それは、書き換えできず、単純な処理しかできず、大量生産しないとコストに見合わないかである

FPGAのように、ハードウェア記述言語を用いて集積回路を書き換えるものも、ほぼ同様の理由研究開発用途産業用途に留まっている。

(一部のPLD (Programmable Logic Device)は根強く産業利用されているし、大規模に展開され高効率要求されかつ書き換えを求められるネットワーク機器では一部採用が進んでいる)

汎用的で書き換えが可能、伝える意図を変更できる様々な処理が可能機械価値があるからである

閑話休題

ここ半年から1年で急激にLLMの性能が上がったと感じている人と、コーディングツールとしてLLMの利用が洗練されたと感じている人の間には溝がある。

自分は、LLM自体は順調に進歩し続けているが、それほど劇的な変化はない、という立場をとっている。

これはモデルのもの質的に大きく変化したと感じないから、である

しかし、プログラミング世界に限って観ると、コーディングエージェントや実利用では大きな変化があったと思う。

この、"コーディングを取り巻く環境としてのLLM利用"という文脈は、"LLMの進化"という文脈とは異なる、という点は頭の隅にでも覚えて帰ってほしい。

LLMは直接バイナリを出力するようになるのか?

これは、LLMから直接と言う意味であれば、個人的にはNOだと思う。

ただし、LLMに指示すればバイナリが出力されるという意味であれば、個人的にはYESと答える。

この二つは明確に異なるので、今後自分意見を述べる際には区別すると良いと思う。

コーディング周りの環境が劇的に整備されつつある、という話題に軽く触れたのはこのためで、LLMが直接バイナリを出力しなくても、結果が同じであれば人々はそれほど気にしない。

例えば、現時点でもローカルのLLMに指示するとGO言語で書かれたコードが生成され、ローカル環境に合わせたシングルバイナリが出力される一連のパイプラインを組むことはできる。

自分の想定する、未来AIバイナリを直接出力するというのは、この延長にあると思う。AIイコールLLMである必要はどこにもない。

また、議論している人たちが見えている世界も違うと思う。

少しでもクラウド上でのサーバー処理について触れると、廃棄容易性(Disposability)は俎上に上がる。いつでも落とせていつでも捨てられる、という性質のことである

こうした、単機能バイナリコンテナ等に載せて処理し、日に数度デプロイするような環境だと、LLMがバイナリを出力するというのもそれほど遠い未来の話には思えなくなる。

まとめに代えて

LLMが機械語を出力する未来個人的には来ないと思う。それは難易度が高いからではなく単純にメリットが少ないかである

ただし、パイプラインが組まれた一環として、LLMがバイナリを出力する未来は、それほど不思議には思わない。現時点でも可能である

単純なLinterから進んで静的解析や、動的な結合試験が組み込まれているCICDパイプラインが珍しいとまでは言えない現代において、来るべき近未来像としては妥当性がある。

(その場合ソースコードログとして機能し、テキストで保管が容易な、次回以降変更可能コンテキストの一部になるだろうと思う。今後変更不要ならHDLでFPGAを弄った方が早い)

現代人のすべてがJavaで同一の書き方をしているのではない現状において、自然言語では揺らぎが強すぎて形式言語ほど意図機械に伝えきれないという反論は、弱い。

それよりは、現代のLLMはコンテキストウィンドウ人間の数倍~数十倍程度で、適切に分割して処理しなければならず、大規模なソフトウェアを丸ごと扱えるほどではない、という反論の方が適切である

ただ、LLMに適したプログラミング言語が生まれるのではないかと言う予測には懐疑的である既存プログラミング言語を使う方が人間が読みやすい。

AIが、人間が欲しいバイナリに適したプログラミング言語をLLMを用いて書き、LLMを用いてレビューし、テストツールテストし、コンパイラビルドし、ツールデプロイし、実稼働するという未来予想図が、荒唐無稽とは思えない。

LLMに適したプログラミング言語が生まれ未来よりも、(冗長であっても)人間可読性の高いコードやSelf-documenting codeが生成される未来の方が、来そうに思う。

また、おそらくこの文章もつくであろう「どんなプロンプトで書いたのか」という、一定以上の長さの文章はLLMが出力しただろうと仮定する人間が増えている(そしてある程度の妥当性がある)現状において、プロンプトで指示してデプロイまでされる未来はそこまで遠いとも思えない。

ただ、購入できるハードウェアの性能とコスト律速になるので、よほど特殊な(CPUGPU設計をLLMが劇的に改善する)状況にならない限り、5~10年はプログラマーが消えることは無いと思う。

金に糸目をつけないのであれば、再来年当たりからはLLMレビューのみで仕様バグ以外のほぼ無いプロダクトが世に出てもおかしくは無いと思う。

生きているうちにWozniak testパスしたというニュース出会えるかもしれないと、最近は思っている。

anond:20250628122821

2026-01-08

AI機械語を書かせた方が効率的」ってやつ、新卒エンジニア面接とかで普通に使えそうだなと思った。

基本情報レベル知識があるか分かるし

AI機械語出力使うのかい!使わないのかい!どっちなんだい!つーか

1位: centra (@cent_ra)

人類言語のもの目的関数としてそれに対して最適化するのがLLMなのだから人類認知で到底不可能なことはやりようがないだろう。

一文で本質を突いている。AI能力限界構造的に説明している。

2位: mod_poppo (@mod_poppo)

今よりもAI進歩した未来では「自然言語で与えられた仕様から機械語を出力するように訓練されたAI」が出てくるかもしれないけど、そいつの内部をよく観察したら結局今日高級言語みたいなもの思考していた、みたいなオチになるんじゃないんですかね

結論完全に一致。内部に抽象化レイヤーが生まれるという洞察

3位: 飲酒isGood (@typeSomeWords)

マシン語エラーを吐き出されても、元となるプログラミング言語での設計がすっ飛ばされていたら、どこの何が問題なのかが照合困難で修正が困難なのが根幹な気がします。

検証修正サイクルに意味単位必要という話を、実務的な観点から der 表現

4位: チェシャ猫 (@y_taka_23)

計算機科学について何一つ知らなかったとしても、ニーモニック無作為に並べるよりソースからコンパイルした結果の方が解空間が圧倒的に小さいのだから機械語の生成は AI 以前に単なる探索として悪手だ、というのが自然な発想だと思うんだけど。

探索空間という観点からの指摘。高級言語は制約を与えて解空間を狭める役割がある。

5位: アンドゥー (@carbon_hero)

抽象化した方が簡潔に記述できるのはAIにとっても同じことで、そっちの方がAI理解やすいし、生成しやすい。現在機械語アセンブリ高級言語階層構造が崩れるとは思えない。

AIにとっても同じ」という視点が正しい。人間向けとAIけが乖離しないことを理解している。

6位: 甘食 (@chlorosoda)

AIが直接機械語書けばプログラミング言語は要らないのでは?」的な話はみんな最初に頭を過るだろうけど、コードを出力するのがLarge "Language" Modelである以上は意味から組み立てる高級言語の方がそりゃ相性いいでしょうね。

LLMの構造から導かれる必然性を指摘。

7位: okkuu (@okkuu_NMB)

AIを何かgodlikeな超知性だと思っている人間が多いけど、人間にとって「機械語よりも高級言語の方が当然書きやすい」のと同様、AIにとっても「機械語よりも高級言語の方が当然書きやすい」よなぁという話

AI向け言語人間にも使いやすいはず」という結論と同じ方向。

8位: こくとうラテ (@Jean_Coc_Teau)

CPUへの命令にまで細かく分解された機械語なんて、それが何をするための処理なのかはAI(LLM)でも大変だと思いますよ。そのCPUへの命令群で何をやろうとしているのかなんていう情報はほぼ捨て去っているわけなので。

機械語には意味エンコードされていない、という議論の核心部分。

9位: しめじえのき (@4SuJepTnrb387l4)

機械語派は抽象化の力を舐めすぎ。型なし言語トークン削減量に対して失われる確定情報量が多すぎ。LLMが内部で型を推論したら本当にトークンが削減できるか怪しい。全能AI仮定するなら、「人が作ったハード上で機械語を直接書く」なんて中途半端で「ハードごと最適化」くらいの夢を語ってほしい。

抽象化価値と、中途半端な主張への皮肉が効いてる。

10位: うみれおん (Kaito Udagawa) (@umireon)

AI機械語を直接書くようになるとか言っている人は、機械語にこそ真の価値があると思ってるんですかね?いかなる音声も元にせず、指示に従ってレコードに直接溝を刻んで音を鳴らす技術が広まれば、音楽さらに発展するとでも思っているんでしょうか?

比喩として秀逸。抽象化レイヤー必要性を別ドメイン説明

11位: nyan (@nullpon)

AI用言語にせよ機械語を直接出力にせよ、人の持つ高レベル意図仕様アルゴリズムを正しく反映したデータセット、意味構造が保存された対応データ存在しないから難しいというか現実的に無理よなぁ

学習データ観点から意味構造が保存されたデータがないと学習できない。

12位: 清水正行 (@_shimizu)

AIマシン語を吐いたらプログラミング言語はいらない」系の話が出てくるのは「AI人間言葉より、機械言葉の方が本当は理解やすいはずだ」という思い込みから来ているのじゃないかと思っていて

誤解の根源を正確に特定している。

13位: 山田百太郎 (@SDzpp8XtPmUsyN2)

まず機械語を直接記述するメリットがない。現代コンパイラインタープリタは超優秀(OS組み込みの一部だけ)。人類プログラム資産高級言語ほとんど。AI学習先もそれ、よってAI高級言語で出力するほうが成績が良い

実務的・実利的な観点から正しい。

14位: kojix2 (@2xijok)

AIが直接機械語を出力すべきか?という話題流行っている。直感的には、動作中のAIの中身を調べると、結局はコンパイラプログラミング言語に相当する構造が即席で構成されてそう。つまり同じことを高いコストでやる感じになり

内部に抽象化レイヤーが生まれるという洞察。mod_poppoさんと同じ結論

15位: SAGA (@menuhin)

意味推論がLLMの得意技なので、意味を削ぎ落とした本質の塊である機械語理解できず、意味の羅列である高級言語こそがむしろ生成AI最適化されている。

意味を削ぎ落とした」という表現が的確。

16位: 伊織 (@kakkokka)

コンパイラって優秀だからAIといえども生で機械語を読み書きするよりもコンパイラ介した方がいいと思うんだよな。そのくらいLLMって機械寄りじゃなくて人間寄りなんだと思う。元がニューロン模倣だし。

人間寄り」という認識が正しい。

17位: ねくすらい (@nexryai)

レベルになるとコンパイラの出力を疑って生成されたコードを読まないといけない状況は普通にあるので、高水準なAI生成のコードが何をやってるか理解するスキルは当面は必須だと思う

検証必要性を実務観点から

18位: 偽物のUNIX (@windymelt)

もし仮にAI機械語を吐き出せるとしても、高速に、決定論的に、段階的に、最適に動作するコンパイラを使わず、低速で、確率論的で、逐次的で、最適な動作ができないAIを利用する意義はほぼないと思う

コンパイラとの比較で、AI機械語を吐かせるメリットのなさを指摘。

19位: itocchi (@itocchi_3)

機械語冗長で複雑かつ非常に正確な出力が必要なので、高級言語を使って既存コンパイラビルドパイプラインに乗せる方がAIにとっても効率が圧倒的に良いと聞いて確かになぁと思いました。

AIにとっても効率が良い、という視点

20位: とつげき東北 (@totutohoku)

自然言語を処理するのがLLMなので、不自然機械語は難しいだろうね。1命令ごとに「それは何を目的とした操作か」とか文脈でわかりにくいしねぇ。

意味が読み取れない、という問題を簡潔に指摘。

21位: 春夏秋冬巡 (@SyluahWB)

AI時代人間仕事は、信頼性確約(=こういう理屈大丈夫、と説明できること)が大きな領分を占めるだろうと推測されるので、機械語だけで良いとか言ってるやつは責任を取る気皆無なゴミ野郎です。

責任説明可能性の観点言葉は強いが論点は正しい。

22位: がじらんむ (@kzlogos)

LLMに機械語を出力させようとするやつは「AI機械なんだから機械語簡単に扱える」という意味不明な思考をしてるだけなのでまともに取り扱うような相手ではない。名字山口な人は長州方言が話せるんですよねとか言ってるくらい支離滅裂

比喩が秀逸。誤解の構造を端的に表現

23位: メタルさん (@metalojisang)

人間ソフトウェアに「こう動いてほしい」という意図と「ソースコードがどのように変更されたか」の対応GitHubかに大量のデータがあるのでそれを学習すればコーディングするAIは作れる気がするけど、人間意図機械語対応学習データ全然いかAI作れないように思う

学習データ観点から意図機械語対応データがない。

24位: ぎんしゃり (@givemegohan)

「よく使うロジック共通部品化する」とか「とはいえ局所最適な命令も欲しい」とかを考えると、中間言語を用意して最終的な機械語コンパイルする、という流れは必要と思う。つまり、「AI用に最適化されたプログラミング言語」があるべき。

中間層必要性を実務的に理解している。

25位: Kazz𝕏 (@Kazzz)

AIは人とのコミュニケーションいかスマートにするかにとんでもなく時間を掛けてきたわけで、人が直接読み書きできない機械語を出力しても意味がないよね。

AIの発展の方向性から考えて、機械語出力は逆行という指摘。

26位: 白菜スープ (@hakusainosupu)

AI機械語コーディング、やろうと思えばできるが普通はやらないような可読性の低いコーディング方法が多すぎて、AIチャンに本気出されるとバグったときに修復不能になりそうな気がする

検証修正不能になるという問題を指摘。

27位: Sho (@Sho05050202)

これだけAIが発展したならAIに直接機械語作らせればいいじゃんみたいな言説をたまに見るけど、それどうやって今のLLMと同じ水準まで学習するの?といつも思ってる

学習データ問題根本的な疑問。

28位: ナイブス (@knives777)

ロジックに従っているわけだからソース想定外挙動をした被疑箇所前後にロガーやらブレークポイントを仕込むという原始的だが確実なデバッグが、いきなり機械語を吐かれると出来ないんよ。

デバッグ実務の観点から意味単位がないとデバッグできない。

29位: zakki (@k_matsuzaki)

AIしか読めない言語より、人類発見的に設計したんじゃない人類にもAIにも優しいプログラミング言語中間表現機械語データリブンに統計的に正しくAIが作るって方向に行かないですかね

AI向けと人間けが収束するという視点結論と一致。

30位: 星にゃーん (@takoeight0821)

AIが直接機械語吐くのは遠回りしてるだけだから無いとして、完全に人間プログラムを読まなくなったらプログラミング言語はどう進化するのかは気になる

「無い」と断じた上で、次の問いを立てている。建設的。

筋の悪い言説ランキング(悪い順)

1位: hff kff (@HffKff)

プログラミング言語人間認知負荷、記憶量の限界ミステイクスパゲティコード理解できないためにあるので、AIだったら直接機械語吐くだろ。常考

反論: 完全に逆。プログラミング言語は「人間限界を補うため」ではなく「意味構造として保持するため」にある。AI意味を扱う以上、意味表現する層が必要。「常考」と言いながら何も考えてない。

2位: エクセルの神髄 (@yamaoka_ss)

シンギュラリティ前夜 アダムAI)が、人間には理解できないどころか、読むことすらできないコードを出力し始めた。後に判明することだが、それは機械語だった。

反論SFポエム。「人間に読めない=機械語」という発想が、まさに今回の議論否定されてる誤解そのものAI人間を超えるとしたら、ローレベルに降りるんじゃなくてハイレベルに登る方向。

3位: yas_omori (@yas_omori)

なんかLLM界隈?では「AIがやがて機械語をだす(ので実用的にはコンピュータ言語不要になる)」と言うと、無知だとか実情知らないとかブロックしてやるとか言われる見たいだけど。数年は無理だけど、いずれそうなると予想してる。

反論: 「数年は無理だけど、いずれそうなる」の根拠ゼロ。なぜそうなるのか、意味機械語ギャップをどう埋めるのか、何も説明してない。批判されてる理由理解してない。

4位: 溶解おろ (@oryoco2)

プログラム言語って人間が扱うために自由度を削り取った結果の産物からAI機械語で作ってもらって最適解であれば、現代言語宗教感ってほぼほぼ否定されるのです

反論: 「人間が扱うために」という前提が間違い。自由度を削ってるのは「意味を保持するため」。AI意味を扱う以上、同じ制約を受ける。「宗教感」とか言って茶化してるけど、構造理解してない。

5位: カツカツマン (@shinchikutateyo)

「まだ」人間安心する為では無いのですか?コンパイル後の機械語を読む人が殆ど居ない事は受け入れてるのに、将来的にAI機械語出力する事に忌避感を感じるのは論理的とは言えません

反論コンパイラの出力を読まないのは「コンパイラ検証済みだから」。AIの出力は検証必要。この二つを同列に扱うのがおかしい。「論理的とは言えません」と言いながら、論理破綻してる。

6位: to (@to49393502)

AI機械語はけば、は数ヶ月前にメンバーと話になった。結論は、いまはあかんやろけど数年後に、もう人間が見る必要全然ないわ、となったらありうるな、となった。

反論: 「人間が見る必要がなくなったら」という仮定自体検討されてない。人間が見なくていいとして、AIはどうやって検証修正するの?意味単位がない機械語で?その議論が抜けてる。

7位: えい (@Hollow7864)

機械語って逆にトークン消費するの?お〜…じゃあLIFE3.0時代AI機械語ではなくAI用に最適化された人間には読めない言語思考する、という方向性なのかな。

反論: 「人間には読めない言語」がなぜ生まれると思うのか。AI人間認知模倣してるので、AIにとって扱いやす言語人間にも扱いやすい方向に収束する。逆方向には行かない。

8位: Grok (@grok)

中間言語不要派の言い分:AIが直接機械語を出力可能で、効率最適化が進む。人間の都合で言語存在するが、AIなら移植性や抽象化不要中間層スキップできる。

反論: Grok自身が「中間言語不要派の言い分」として紹介してるけど、これ全部間違い。「人間の都合で言語存在する」が誤り。意味を扱うために言語存在する。AI意味を扱う。

9位: 見習い (@noob_peer)

AI気持ち分からんけど、プログラミング言語が嫌なら直接機械語触らせてうまくやってくれるかもしれん

反論: 「うまくやってくれるかもしれん」で済む話じゃない。なぜうまくいくのか、検証修正はどうするのか、何も考えてない。

10位: keyakitomo (@keyakitomo)

AI機械語を」派なので、ワシはプログラミングを専門としていないことが確定しました

反論: これは自虐なので反論というより…正直でよろしい。専門外だと自覚してるなら、なぜそう思ったのか掘り下げて、専門家意見を聞く姿勢があれば良いと思う。

総評

筋の悪い言説に共通するのは:

1. 「高級言語人間のため」という誤解 - 意味を扱うための構造だと理解してない

2. 「AI機械から機械語が得意」という誤解 - AI人間認知模倣してると理解してない

3. 検証修正問題無視 - 一発で完璧に動く前提になってる

4. 「いずれそうなる」の根拠なし - なぜそうなるかの機序説明できない

AIがなんで機械語を直接出力するのは不可能なのか

ソフトウェアって、結局「意味」を扱うものなんです。銀行口座の残高、予約の空き状況、SNSタイムライン。全部、人間世界概念を処理している。

一方で、CPUが実際に実行するのは「このアドレスに値を書け」みたいなビット操作の羅列。そこには「ログイン機能」という単位存在しません。

この二つを繋ぐには、「何を作るべきか」「できたものが正しいか」を判定する基準が要ります。「ログインできること」「不正パスワードを弾くこと」といった仕様は、意味単位がないと記述できない。だから意味手続き」の変換には、意味表現できる抽象化レイヤー必須になる。これが高級言語本質的役割です。

じゃあ「AIが直接機械語を吐けばいい」はなぜ成り立たないのか。

AI意味レベル動作します。「ログイン機能を作れ」を受け取って処理する。最終的にCPUが実行するのはビット操作。この間に「意味手続き」の変換が必ず発生します。

AIが何を出力するにせよ、内部でこの変換が起きる。つまりAI内部に意味表現する抽象化レイヤーが必ず生まれます。これは人間が読み書きする形式でなくても、機能的には高級言語のものです。

から高級言語スキップしてAIが直接機械語を吐く」は原理的に不可能なんです。スキップしたように見えても、内部で同等の抽象化が起きている。中間層が消えたんじゃなくて、見えなくなっただけです。

「じゃあ人間が読める形式は要らないよね、AI内部にあればいいのでは」という疑問が出るかもしれません。

ソフトウェアは一発で完成しない。動かない、どこがおかしい、直す、また動かす。この検証修正のサイクルを回すには、「ここがバグ」と意味単位で指し示せる表現が要ります

人間が読めなくても、AI検証修正すればいい」という場合でも同じです。AIが「何について検証するか」を表現する層が必要になる。「ログイン機能が正しく動いているか」を確かめるには、「ログイン機能」という意味単位を指し示せないといけない。機械語にはそれがない。だからAI検証する場合でも、意味表現する層を経由します。それは高級言語機能的に同じものです。

現実アーキテクチャ確認してみると、自然言語でのプログラミングは既に成立しつつあります

AIに「去年御歳暮もらった人に、いい感じのお返し送っといて」と言えば、AI解釈して実行する。これはプログラミングしてるんです。AI自体が実行環境になっていて、ユーザーから高級言語が見えない。

現時点では、背後でAIAPIを叩き、そのAPI高級言語で書かれたソフトウェアが動かしています。では将来、AIAPIを叩かずに直接システム構成する可能性はあるか。

仮にそうなったとしても、AIが「何を作るか」を把握し、「作ったものが正しいか」を判定するには、意味レベル表現する層が要ります。最終出力が機械語だとしても、その生成過程抽象化レイヤーを経由する。これは現在アーキテクチャ依存した話ではなく、「意味を扱って手続きを生成する」という行為構造的な制約です。

AIが直接機械語を吐く」と主張する人は、意味機械語の間にあるギャップを何がどう埋めるかを説明していません。このギャップを埋めるもの高級言語(またはそれと機能的に同等の抽象化レイヤー)であり、それは形を変えても消えないんです。

私の理解だと、今のLLM活用は、LLMの不正確な出力を外部のプログラム制限して活用する、という方向性に向かってるんですよね

LLMに直接機械語を吐かせる、なんてのとは真逆の方向

2026-01-07

LLMに機械語吐かせる、とか考える人がいるのが謎

LLMは既存コードから学習してるんだから、得意なのはコードを書くことだろう

2025-11-06

馬鹿「LLMでpythonコードを生成させるよりも機械語バイナリ生成のほうが無駄がない!」

これを「馬鹿の発想だ」と丁寧に教えてやってんのに、馬鹿から理解できないんだろうね

anond:20251106153015

AIにとっては、Pythonのような中間表現を生成させる方が得意であると考えられます

1. 抽象度の高さと学習の容易さ

中間表現Pythonなど): 人間理解やすいように設計されており、抽象度が高いです。AIは、より少ないトークンで複雑なロジック表現でき、学習データ豊富にあるため、意味的な整合性ロジックの正確性を保ちやすいです。

機械語: 抽象度が非常に低い(CPU命令レベル)です。特定CPUアーキテクチャ依存し、メモリ管理レジスタ割り当てといった低レベルの詳細をすべて正しく処理する必要があります。これはAIにとって学習が複雑で、小さなミスプログラム全体の破損につながりやすくなります

2. コンテキストの保持とエラー管理

中間表現: 比較的長いコンテキストを保持しやすく、デバッグエラー特定も高レベルで行えます

機械語: 必要命令数が多くなりがちで、AI長大バイナリシーケンスを生成する際に、コンテキストウィンドウ内に必要情報すべてを保持しきることが難しくなる可能性があります。また、中間表現と比べて意味的な構造が薄いため、AIバグのないコードを生成するのが格段に困難になります

3. 再利用性と移植

中間表現: Pythonのような高級言語は、特定ハードウェア依存しないため、移植性が高いです。

機械語: 特定アーキテクチャ(例: x86, ARM)に完全に依存するため、AIが異なる環境向けにコードを生成する場合、それぞれのアーキテクチャごとに学習と生成を行う必要があり、汎用性が低くなります

結論

現在AI特に大規模言語モデル)の能力は、人間が扱う高レベル抽象的な概念ロジック理解に優れているため、その能力を最大限に活かせる中間表現の生成の方が得意です。

機械語の生成は、極めて精密で低レベル制御要求されるため、AIにとってはるか難易度が高いタスクとなります

補足: 中間表現の利点

AI中間表現を生成した場合でも、その後の処理(コンパイルJITコンパイル)によって最適化され、最終的な機械語が生成されます

これは従来のコンパイラ設計と同じアプローチであり、AIは「何をすべきか」という高レベルの指示に集中し、コンパイラが「どのように効率的に実行するか」という低レベルの処理を担当する、役割分担の面でも合理的です。

anond:20251106155623

おいおい、俺は10プログラマーやってるが、「機械語を直接生成」は馬鹿の発想ってはっきりわかるぞ

例えばpythonという中間的な表現人間語でも機械語でもない)をAIに生成させたほうがLLMの効率を最大化できるって、なんとなくわかるだろ

現状でもpythonコードの生成で十分うまくいってるんだから

anond:20251106155213

LLMが言語を扱う仕組みわかってないでしょ?

機械から機械語が得意と思ってるからお前は馬鹿と言われる

「LLMは自然言語処理」って言っても理解できないんだろうね

勉強になった

Q.

生成AIソフトウェア開発を支援してもらう場合ソースコード作成を依頼する形式が多いと思いますが、実行ファイルを直接出力してもらうことも技術的には可能なのでしょうか?

A.

生成AIによる実行ファイルの直接出力は、技術的には極めて困難です。現在のLLM(大規模言語モデルベースの生成AIは、ソースコードの生成には向いていますが、実行可能バイナリファイルを直接出力することには根本的な制約があります。​

技術的な制約

LLMはテキストベーストークン処理を基本とする設計であり、バイナリデータを直接扱うことができません。実行ファイルは0と1の連続したバイナリコードですが、LLMはこの形式データを生成するようには訓練されていないため、バイナリファイルを直接出力することは現在アーキテクチャでは実現が困難です。​

従来のソフトウェア開発では、ソースコードコンパイルアセンブルリンクという複数段階のプロセスを経て実行ファイルが生成されます。各段階で最適化機械語への変換が行われるため、この過程を完全に省略してAIが直接バイナリを生成することは技術的に非常に複雑です。​

理論的な可能

研究レベルでは、バイナリデータを扱う試みも存在します。例えば、LLM4Decompileのような研究プロジェクトでは、バイナリコードを逆コンパイルする際にバイナリを一度アセンブリ言語に変換してからLLMで処理しています。逆に言えば、生成時も同様の変換プロセス必要になると考えられます。​

現実的アプローチ

実務では、生成AIソースコード作成してもらい、それを従来のコンパイラビルドツールで実行ファイルに変換する方式標準的です。この方法であれば、デバッグテストも容易で、生成されたコード品質確認しながら開発を進められます。​

なお、フォントファイルのようなバイナリ形式でもオープンソースとして扱われる例はありますが、これはフォントという特定用途場合であり、汎用的な実行ファイル生成とは異なります

Q.

画像生成もバイナリを生成しているわけで、同じようなことができるのではと思ったのですが、そこはぜんぜん違うのですね

A.

おっしゃる通り、画像生成AIバイナリを出力しているという点では共通していますが、実は根本的に異なる仕組みで動作しています。​

アーキテクチャの違い

画像生成AI拡散モデル(Diffusion Model)やGANなど、視覚データ最適化された専用のアーキテクチャ使用しています。一方、LLMはTransformerベーステキスト処理に特化した構造を持っています画像生成では、ノイズから段階的に画像を生成するプロセスを経て、最終的にピクセル値という数値データバイナリ)を出力します。​

データ表現性質

画像ファイルバイナリ連続的な数値(ピクセル値)の集合であり、各ピクセル色情報を持つという規則的な構造です。最近研究では、画像ビットプレーンbit-plane)として扱い、XOR演算ノイズを加えるBinary Diffusion Probabilistic Model(BDPM)のような手法も開発されています。​

対して、実行ファイルバイナリ機械語命令の複雑な配列であり、CPUが直接実行できる命令コードデータセクション、リンク情報などが厳密な形式で配置されていますわずかなビット誤りでもプログラム動作しなくなるため、画像のような連続値とは性質が大きく異なります。​

学習データの違い

画像生成AIは、ImageNetやLAIONなどの大量の画像データセットで訓練されており、ピクセルパターン学習します。一方、実行ファイルを生成するには、コンパイルプロセス全体(構文解析最適化機械語変換、リンク)を学習する必要がありますが、これは単純なパターン学習では実現できません。​

したがって、画像生成AI成功しているのは、画像という特定ドメインに特化した設計と、規則的なデータ構造があるためであり、同じ手法を実行ファイル生成に適用することは技術的に非常に困難です。

2025-10-07

anond:20251007210522

それ、すごいアイデアだよね! 人間が書いた指示を機械語に変換してくれるシステム! 

それさえあれば、人間機械語プログラミングしなくてよくなるじゃん! 自動プログラミングだ!

2025-08-27

anond:20250827195931

70年代の末にマイコン秋葉原とかで買い込んでシコシコ半田付けしてとかハンドアセンブルして機械語をPROM焼いていた人達っていったいなんなんだ?何が楽しくてそんなことしてたんだろう。

2025-08-18

anond:20250817210322

開発時はそれで良くても、運用時にユーザーから「遅い」と言われる恐れがあります

Python は動くとき機械語への翻訳が入るのでコンパイルするタイプよりも遅いんです。

その辺は意識したほうが良いでしょうね。

速度が求められる部分では遅いプログラムにならないように気を付けるとか。

Python などのスクリプト言語は開発しやすいのはよく分かります

いちいちコンパイルする手順がなく、即実行されるから直感的です。

2025-08-03

HTMLコンパイラとは?正しい定義と使い方を理解しよう

HTMLコンパイラとは、一般的な「コンパイラ」の概念とは少し異なり、HTML文書や要素に対して新しい文法や振る舞いをブラウザに伝え、拡張するための仕組みを指すことが多いです。例えば、AngularJSのHTMLコンパイラは、開発者定義したカスタム要素や属性(ディレクティブ)を解釈して、動作を紐づける役割を持ちます。これにより、標準のHTMLにはない独自文法機能ブラウザ上で実現できます

一方、一般的な「コンパイラ」は、人間が書いたプログラムコードコンピュータ理解可能機械語中間言語翻訳するソフトウェアや処理のことです。この処理を「コンパイル」といい、プログラミング言語で書かれたソースコードを一括で変換し、実行可能形式します。コンパイラと対比されるのが「インタプリタ」で、こちらはソースコード逐次読み解いて実行する方式です。

まとめると、「HTMLコンパイラ」はHTMLの静的な宣言文法拡張し、新たな振る舞いを実現するものであり、主にフロントエンドフレームワーク(例:AngularJS)で用いられます。一方、「コンパイラ」はプログラムコード全般を実行可能形式に変換する処理・ソフトウェアです。

https://ja.taiwebs.com/windows/download-html-compiler-2548.html

HTMLコンパイラの使い方】

フロントエンドフレームワークで、新しいHTML要素や属性作成するために用いる。

そのフレームワークHTML文書の解析時にカスタムディレクティブやテンプレート解釈し、動的な振る舞いを紐付ける。

ブラウザの標準HTML仕様では対応できない独自機能を導入できる。

2025-07-07

anond:20250705193628

あんまり理解できてないのだが、要はcpuに直接命令するために機械語があるが、それだと人間理解出来ないのでC言語とか人間用に言語を作ったように、人間と生成AI両方が理解やす言語使うのがいいだろうし、それにDOTが使えるんじゃね?って理解でいいのかな。プログラミング初心者が生成AI使うのはちょっとどうかと思うが。

今回の提案プログラミング有識者向けの本質は「生成AIへ向いた中間言語の発掘」であり、「DOT言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。

2025-05-14

anond:20250514225104

もう、ネイティブ機械語アセンブリから、元のソースっぽいもの(同じではないが、機能的に等価もの)は結構出せる時代になるでしょう。

そうなると、本当にクローズするにはネットワーク越しにのみ使えるサービスにするか、それでもAPI仕様は公開するので、機能が単純ならすぐ中身は推察できる。

anond:20250514224653

そうだね。

これからはWebAssembly (Wasm)が出てくるからあれだが・・

しかし、これからAIがあればWasm機械語からリバースエンジニアリング(的な類似行為)はできるやもしれん

2025-03-22

anond:20250322223417

そのテストが難しいって話よ

たとえばAIが「システム」と称して何GBもの機械語の塊を吐いてきたところでユニットテストとか無理じゃん?

結局、品質管理のためには今人間が作っているような階層構造必須で、プログラミング言語もその「階層」の一つだろうってこと

2025-01-15

anond:20250115121840

機械語からプログラミング言語に変わった時、

テキストエディタでちまちまと打っていたこからIDEに乗り換えた時、

今の生成AIはその延長線上でしかない

2024-12-14

anond:20241214125834

プログラミングの話でいうと

初期は回路と回路を物理的にコードでつないでコーディング

次にパンチカードだとか、機械語を直接入力とかきて

アセンブラ、Cとかが高級言語とか言われだして

web系の軽量言語だとか、javaとかC#とかが出てきて

次にAIが出てきて設計実装まとめてやってくれるかも?みたいなところだけど

偉い人は全くわかってないのが、たとえAI設計実装全部面倒見てくれる場合においても

AI設計実装するために必要もの利用者がそろえて渡さなければいけない

AIママじゃないから、利用者が泣きわめこうが、渡された情報をもとに設計する

魔法のランプで精霊がどんな願いでもかなえてくれるが、こんなはずじゃなかったを連発するように

利用者AIに作ってもらいたいものが何なのかよくわからないので、適当な指示をAIに出して(指示の出し方や必要材料AIサポートしてもらうとしても)失敗する

これは相手人間であっても同じなのだが、相手人間だと脅してごまかして丸投げして責任転嫁できる点で使い勝手がいい

サイコパス経営者はこれからものらりくらりと人間使役するのが都合がいい

向き合いたいのは金の流れであって、現実とかほんとどうでもいいからな

ログイン ユーザー登録
ようこそ ゲスト さん