「コーディング」を含む日記 RSS

はてなキーワード: コーディングとは

2026-01-22

anond:20260122083643

MSDNから引用してるくせにマイクロソフトコーディング規約になってなかったから指摘したら、

意外なことに、えー、あってるよー、みたいなことを返してきたんで、

MSDNURL指定して、ここに書いてあるよね、って指摘したら、直したコード返してきた…😟

でも、そのうち凡ミスしなくなったら、プログラマーがかなり必要なくなる気もしてる…😟

anond:20260122081114

コーディング好きといっても、コードを書くの楽しい人と、書いたものを動かすのが楽しい人の2つに別れると思う。

ドミノ並べるのが好きな人と、それを倒したときちゃんと倒れるのが見る好きという人ね。

で、後者なら、AIドミノを並べる苦行を代替えしてくれるんだから別によくねと思う。

コーディング大好き!とか言ってた選民意識の高いプログラマーくんたちはこれからどうするの?

2026-01-21

プロンプトエンジニアリングだのコンテキストエンジニアリングだのと

プロンプトエンジニアリングだのコンテキストエンジニアリングだの

「僕は自分コーディングせずAIにお願いしてるだけのゴミでーす」

言い訳を作るために意味不明な○○エンジニアリングかい言葉を作るのをやめろ。

お前らはエンジニアリングなんかしてない。

お願いしてるだけ。

お願いしてるだけでエンジニアなら全ての会社社長人間エンジニアだろ。

だけどそんなバカげた造語誰も使わないよな?

いい加減AIに頼ってエンジニアリングなんかしてないという事実を認めろ。

それが悪いとは言っていない。

造語エンジニアという言葉にすがりつく変なプライドがクソださいんだよ。

anond:20260121202550

今はジュニアエンジニアには厳しい時代だよなーとは思う。

ジュニアエンジニア指導する気分でAIコーディングしているけれど、コードを書くというのがスクラッチから書くのではなくもうアイディアの羅列をしてレビューをするという作業なっちゃったなーとは思う。

anond:20260121201845

わいもコーディングなんて最近はやってないわ

日本語仕様書いてPlanしてAgentしてレビューしてコミットするだけのお仕事

アルゴリズムデータ構造とか明らかにワイより賢い

ブクマカITの人らって

市民開発者レベルユーザー現場って見えてるのかな?

別に部門内で使うものに正確性とか求めてないし、たったそれだけの機能でもVBAで賄えないところには何百万円も払って外注したりしていた

その領域の開発なんて別に適当で良いわけで、いまバイコーディングはそのレベルで十二分に活躍している

レベルが低くて構わないエリアの人たちを腐すよりも、勘所だけ教えてくれたほうがよっぽの世の中の役に立つよ

anond:20260121080910

AI による概要

AI特に生成AI)の急速な進化により、「フロントエンドエンジニア不要になる」「仕事がなくなる」という言説は、近年非常に多く聞かれます

結論から言うと、「単純なコーディングやボイラプレート(定型文)を書く仕事は消えるが、フロントエンドエンジニア自体は消えず、役割がより高度な領域へ変化・進化する」というのが、多くの専門家や現役エンジニア共通認識です。

具体的な状況は以下の通りです。

1. なぜ「消える」と言われるのか(AIの脅威)

AIは、従来のコーディングプロセスを劇的に変化させています

定型業務の自動化: UIデザインからHTML/CSS/コンポーネントコード(React, Vue.jsなど)への変換はAIが非常に得意としており、人間ゼロからコードを書く必要がなくなっています

API連携テスト生成: API連携パターンテストコードデバッグ作業AI効率化されている。

「Vibe Coding(フィーリングコーディング)」: 曖昧な指示からアプリプロトタイプ爆速で作れてしまうため、初期段階のフロントエンド実装がいらなくなる。

2. 「消えない」理由と求められる新たな価値

AIは「実装」を高速化しますが、「設計判断最適化」は依然として人間依存します。

要件解釈と複雑な設計: 曖昧顧客要件から正しいUI/UX設計し、パフォーマンスを最大化する構造を考える能力人間しか難しい。

10%の仕上げ(ポーリッシュ): AIが生成した90%のコードレビューし、修正最適化して実用化する「最後10%」の作業人間担当する。

アクセシビリティセキュリティ: アクセシビリティの確保やセキュリティのチェック、パフォーマンスの微調整など、人間中心の細やかな対応が求められる。

AIツール活用能力: AIを道具として使いこなし、開発速度を10倍、100倍にする「AI駆動型」エンジニア需要が高まっている。

3. 今後生き残るために必要アクション

AI時代には、単なる「コーダー」ではなく、以下の視点を持つエンジニアが生き残ります

フルスタック化・UI/UXへの進化: フロントエンド知識だけでなく、バックエンドUI/UXデザインまで理解し、ビジネス全体を見渡せる人材

AI駆動開発の習得: CopilotやCursorなどを駆使して、開発プロセス自動化効率化する。

深い専門性の追求: AIには代替しづらい、Web技術の深い知識や、特定フレームワークへの高度な熟練度を高める。

まりAIフロントエンドエンジニアの「敵」ではなく、「面倒な作業を奪ってくれる強力なツール」となり、人間エンジニアはよりクリエイティブ課題解決に集中できるようになると考えられています

2026-01-19

コーディングエージェントAI比較

最近 Claude Code と OpenAI Codex の比較がたまに流れてくる。個人的感想経験談はまあ読んでて楽しいものの、そこから発展して「このサービス使う人はこうだ」みたいな謎のレッテル貼り攻撃があったりして、なんだかなと。

情緒価値判断による選択正当化しようと必死なのが滑稽だなと感じる。

そもそも客観的かつ定量的比較評価ができないし、個人評価軸も変わるし、言ってしまえば比較を発信する意味がないものである

とはいえ個人が発信したくなるのはわかるし、やめるべきとも思わなけども。せめて発信力のある人があたかも "正しい比較" を元にした "事実" であるかのような顔をして言ったり、ましてや相手を貶めようとするのは、大変やめたほうが良いのではないかなと思わなくはない。

バイコーディング

そんなおっきいの入らないよぅ

spec駆動開発の流れ、自分はだいたいこんな感じでやってるんだけど、これであってるのかなぁ?

CLAUDE.md や rules / skills みたいな形で、重要コーディングルールはあらかじめかなり固めておく。

たとえば repository 層や Entity 層は具体的にどう書くのか、テストケースはどういう書き方をして、どういう観点で項目を洗い出すのか、みたいな AI への指示は最初から用意しておく。

あと、linter や ArchUnit、dependency-cruiser みたいなアーキテクチャ制約も、自分なりの定石を持っておく。

割と過剰なレベルガチガチに固める感じで、アーキテクチャルールも「◯◯は XXX に依存できない」みたいなブラックリスト式じゃなくて、「◯◯は XXX だけに依存できる」みたいなホワイトリスト式の方が良いと思っている。

ts 前提だと eslint や tsconfig は一番厳しい水準に設定する、流石にきつい部分でてきたらそこだけ緩める、という運用

おすすめなのは、何かしらの小規模案件個人開発アプリを1つオーバーエンジニアリング上等でガチガチ構成で作っておく。

そこで出てきた linter 設定やプロンプト設定を、別案件に横展開する感じ。

正直、ガチガチすぎると MVP とかレベルだとコード量は増えるけど、メンテする前提の案件ならバイコーディング時代だと普通にペイすると感じている。

まずは仕様書作りから入る。

アイディアを思いついたら、AI と壁打ちしながら仕様を洗い出していく。

手書きドメイン図を書いて、それを写メ撮って画像認識仕様整理、みたいなのも割とアリだと思っている。

どういう画面があって、どういう入力項目や表示項目が存在するか、バックエンドはどういうエンドポイント必要か、この辺りは最初に一通り洗い出しておく。

それに加えて、ユーザーが初めてトップページを開いてから登録ログインして実際にサービスを一通り使うまで、みたいな流れをそのまま Playwright のシナリオテストに落とせそうな形で何パターン仕様書にしておく。

全体の仕様書としては、あまり細部まで踏み込まない。

大枠が共有できていれば OK というスタンス

開発に入ったら、最優先はドメインオブジェクト作成

ここは最重要だと思っているので、あまり作業を並列化しない。

フロントエンドで、DDD における集約みたいな概念がそのまま当てはまらない領域についても、設計時点で洗い出せているなら Entity 的なものドメインサービス的なロジック用のレイヤを作って、ドメインオブジェクトとして実装していく。

最初に作った基本設計ベースに、◯◯Entity、XXEntity、△△Entity……を作るためのプランチェックリスト形式TODO を 1つの md ファイルに吐き出してもらう。

フェーズごとにフォーマッタ、linter、アーキテクチャルールなど一括実行したコマンド実行させて失敗してたら成功するまで修正繰り返させる。

ある程度わかりやす単位AI に依頼する感じで、出来上がったコードレビューする前提なので、実装プランmd 自体はよほど分かりやすツッコミどころがない限り細かくレビューしない。

mdフォーマットは skills 側で事前に用意しておく。

フロントエンド用、バックエンド用の両方でドメイン層のファイルを作る。

当然、足りないロジックは後から絶対に出てくるけど、最初から完璧は目指さない。

TODO 一覧の中から自分認知負荷が許す単位で「チェックリストのここからここまで実装して」と指示を出し、実装が終わったら TODO 項目のチェック状態更新してもらう、mdファイルコミットに含める。

コミット前にはlint ルール無効化していないか意図通りの実装になっているかgit diff差分で必ず確認する。

ドメイン層の実装が終わったら、そこからは並列で進める。

git worktree を使うことが多い。

よくやるのはフロントエンドの画面モック作成バックエンド実装の2並列で行う。

3並列以上はまだ自分脳みその性能が追いついていない。

フロントエンドも当然 spec 駆動前提。

実装プランを考えてもらうときは「◯◯画面を実装プラン考えて」くらいの単位で依頼する。

実装プランmd ファイルを作るときプロンプトには、基本設計の〇〇画面の項目一覧をベースに、◯◯のアイテムコンポーネントリストコンポーネント、◯◯のボタンコンポーネント、Information コンポーネント、外部通信用の ◯◯Gateway実装する、◯◯コンポーネントは既に ◯◯ 機能実装してあるからそれを使って、◯◯は処理が膨らみそうだからドメインサービス実装して、みたいな感じで頭の中のふんわりしたイメージを伝える。

詳細な名前とかは、AIにいい感じに考えてもらう。

バックエンドも同様で、◯◯のエンドポイントを作って、Gateway がこれこれ必要から実装して、これはインターフェース実装分けてね、Entityへの変換処理は関数分けて、◯◯の処理は Usecase 層で、◯◯の処理はドメイン層で、Usecase が膨らみそうだから ◯◯ の処理は独立したクラスにして、あ、似たようなのが ◯◯ 機能にあるからそれを参考にして、くらいの粒度で指示を出す。

フロントエンド実装を待っている間に、バックエンドプランを考えたり、タスク粒度を調整したり、リファクタリングプランを考えたりする、またバックエンドAI待ち時間フロントエンドのことをする。

フロントエンドオンリー実装とかで作業が競合するリスクあるときは並列作業しない。

チェックリスト更新が終わるごとに差分確認して、問題なければコミットメッセージ提案してもらってコミットする。

コミット粒度はあまり細かくしない。

細切れにするコストよりも、レビューする人間認知不可が許すレベルであればある程度まとまった単位レビューして実装速度を優先する派。

チーム開発ならもうちょっとちゃんとする。

テストは、ある程度実装が進んでリファクタリングが辛くなってきたタイミングで作ることが多い。

カバレッジミューテーションテストなど、定量的テスト評価できる仕組みは導入する。

バックエンド側のテスト実装は正直かなり楽で、行数や認知的複雑度を厳しく制限して単一責務の原則を守って実装しておけば、AI がかなり高精度なテストを出してくれる。

これもテストファイル実装プランを作ってもらって「ここからここまでのテスト20ファイル実装してね」をレビュー挟んで繰り返す感じ、例えばミューテーションテストのkill率100%ならそんなに詳しくは見ない。

フロントエンドテスト定量指標での評価が難しいので、そこはその分レビューを頑張るしかない。

自分はこんな感じでやっている。

感覚としては、優秀だけどシステムアーキテクチャ全体の責務を負ったことはない経験不足の2年目やSESの部下を扱うEMに近いのかなぁ。

周りの話を聞いていると、もっともっと AI自律的にいろいろやらせているようにも聞こえる。

これでも 1日1人で数万行レベルコードを書けてるので、AIない時代に比べると数ヶ月分の成果を1日とかで出してることになるが、もっと本気出せるのかなぁ。

それでも人間干渉しすぎなんだろうか。

「全機能プラン作ってね!そこから良い感じの粒度コミット自分でやってね!」みたいな指示を良い感じに出せたとしても、指示がでかすぎると、脆弱性盛々になったり、lint エラーループでパニクって linter オフにし始めたり、テスト通すためにエラー握りつぶして assertTrue(true) し始めたりする。

それは流石に許容できないレベルじゃない?が紛れ込むリスクが上がりすぎるんじゃないかなぁ。と思ってるんだがどうだろうか。。。

あとツールあんま入れてないねkiroとかspec-kitとか、ガチガチ細切れで仕様書作るメリットあんま感じなかった。

mcpserenaくらいしかいれてないや、トークン節約してレートリミット猶予伸ばした方が結局開発早くなるかなって。

いろいろ入れた方がいいんだろうか。

完全にオレオレでこんな感じでやっているんだけど、みんなspec駆動開発というものをどんな感じで、具体的にどうやっているのかが知りたい。

2026-01-18

AIで綺麗なコード書くほど、仕事が奪われるってバグ仕様、どうにかならんの?

最近さ、AIコーディングが当たり前になってきて思うことがあるんだわ。 確かにAI使えば設計も洗練されるし、面倒なコメント関数説明勝手に入れてくれるからコードの可読性は爆上がりする。開発者としては楽だし、品質も上がる。

でもこれ、真面目にやればやるほど自分の首絞めてね? って話。

特にスクリプト納品のWebアプリなんかだと顕著なんだけど、コードが綺麗でドキュメントが充実してるってことは、要するに「他の安い業者でも簡単に改修できる」ってことなんだよ。 仕様策定から泥臭く付き合って、設計ノウハウ詰め込んで納めたシステムなのに、運用フェーズに入った途端に「あ、これならメンテ簡単そうなんで、来期からもっと安いB社にお願いします〜」って。 最初に汗かいた所が損をして、場当たり的な改修屋が得をする。そんなのアリかよ。

そもそも論としてさ、「ドキュメント全部よこせ」って商習慣がおかしいんだよ。 これって突き詰めれば「お前のところ信用してないから、いつでも他所に乗り換えられるように準備しとけ」って言われてるのと同じじゃん。 「開発会社が潰れたら困る」とか言うけどさ、そんなリスク言い出したら世の中の機械設備も全部そうでしょ。なんでITだけ特別扱いなんだ?

極端な話、外食して「美味かったわ。じゃあ明日から家で作るからレシピ仕入れ先全部書き出して渡して」って言ってるようなもんだぞ。 「それは客のワガママだろ、常識ねーな」ってなるのが普通なのに、なぜかシステム開発だとこれがまかり通る。それを貫き通したいなら、車も買えないわな。ボンネット開けて設計図入ってないと不安で乗れないんですか? っていう。

今までは「まあ慣習だしな」で流してたけど、AI時代に入ってコードの解析コストが下がってる今、このルールを変えないとマジで生き残れないと思う。

これからの落とし所はもうこれしかない。 客が「監査対応ガー」とか「情シスガー」とか言ってきたら、こう返す。

監査用の『概要資料』はコミコミで出しますよ」 「でも、他社への引き継ぎ用の『詳細ドキュメント』は別料金(高額)です」

これだよ。 客の本音は「ベンダーロックインが怖い、でも資料なんて普段読まない、ただ持っていたい」。 こっちの本音は「出したら奪われる、でも出さないと揉める」。

から、「運用必要な最低限」は出すけど、「ノウハウの塊」は売らない。 もし他所に頼みたいなら、そのための資料作成費はガッツリいただきますよ、と。これ、他業界なら当たり前の商売原理だろ?

IT業界けが長年、「技術者善意」とか「サービス精神」を無限搾取されすぎてたんだよ。 ドキュメント整備だってタダじゃねーんだ。 「それ、常識的な商習慣ですか?」って、これからは真顔で言い返していかないと、AI仕事奪われる前に、都合のいい業者扱いされて終わるぞ。

スペック駆動開発の永続的な仕様書ってどんな粒度で書いてるの?

機能追加とか特定機能の開発のときに出てくる一時的な steering ファイルみたいなのはイメージやすいんだけどさ、

永続的なドキュメントって実際どこまでどんな粒度で書いてる?

単一責務とかレイヤードアーキテクチャちゃん意識して実装して、

仕様コード上で十分に明示的になるようにしたうえで、

仕様書を書くとしても、tsdoc や javadoc じゃダメなのか?

小規模ならまだしも、100万行規模のシステム実装内容を全部自然言語に落としたドキュメントを維持するの、正直結構辛くない?

コーディング方針とか設計思想ならCLOUD.md とか skills で十分な気もするし……

みんな具体的にどうやってるのか知りたい、仕様と一対一のドキュメント管理する時代回帰してるのかな?

2026-01-17

anond:20260117113919

アーキテクトは書くやつと書かないやつといるね

前者のが確かに多いけど

この世界10年で技術なんかまるで変わるのに自分で書かないでどうやって設計できるの?10年で退場だよね?と俺は思ってる

今の例えばReactフロントマイクロサービスRESTバックエンドとか10年前に主流だったテンプレートエンジンだのビーンズでウェブサービスだのとはまるで違うので

俺は両方やってるが

で、1人で書くなんか誰も言ってないが8割は設計コーディングだな

当たり前じゃん、それが仕事なんだから

アーキテクトの俺がプロジェクトマネージメントに6時間とか使ってたらだれが設計コーディングすんだよ

anond:20260117105835

だめだあああああああああああああああああ

それはバイコーディングとかAI使用前提のプログラミングスタイルだ。

思いとどまってくれ。

AIペアプログラミングしてできた成果は、AIの成果。

息子さんの能力が高い証明にはならない!

助手席に座るのはラマヌジャンじゃなくてもいい、ナーシャジベリじゃなくてもいい、

その助手席にはね、誰が座ってもいいんだ・・・

仙人になれとは言わないが、数学と生のコードとただひたすらに真剣に向き合うのが、プログラミング力の向上の条件。

社会じゃハッキリ明言されない真理がここにある。つまり友達づきあい人間関係のような仕事仕事をつなぎ合わせる糊の時間は少なければ少ないほどいい(QoL観点では必要だけど)。

プログラミングのものを愛してるんだが

プログラミングのもの」を愛する人には地獄かもしれないが

コードを書くという”作業”にアイデンティティを置いていた層の、個人的挫折ってだけでしょ?

すげープログラム書けるコミュ障会ったことないんだよなぁ。すげー人は他のこともすげーんすよ。

[B! AI] プログラミングが好きな人は、もうIT業界に来るな。|いぐぞー@書籍執筆中 ✈️ 旅するプログラマー

あああ

うわああああああああああああ

オレはプログラミングアイデンティティにしてきたし、プログラミングコミュ力、なんて言説を鼻で笑ってきた。コーディング力こそが人の繋がりとかいう甘えを砕く、個の力、だと思っていた。烏合の衆がどれだけ束になろうと連携コストがかさむばかりで、たった一人の天才の脳には勝てない、と。

オレは天才を目指してきた。

あああ。

あああああああああああああああああ

2026-01-12

AIができてからコーディングが楽しくなくなった」という人へ

コーディングがつまらないのは昔からだぞ

Ai進化がすげ〜例エバ

回帰分析をGLM化してくれる

すごいコーディング能力

大規模コード要らないので

役に立つ

何か面白い解析ネタがナイ?

2026-01-11

専門家Googleが勝つ」

Geminiにどう思ってるか聞いた

俺は懐疑的なんだけど、方向性は与えていないつもり

もちろん一時チャットを使って、課金Gemini3の思考モード

 

Q. 専門家が「Geminiすごい」「Googleが圧倒的に勝つ」と言っている

 

Geminiとしての「冷静な自己分析

期待が高まる一方で、私自身は現在の状況を「楽勝」だとは全く思っていません。以下の3つのポイントで、常に課題を感じています

1. 「勝ち負け」よりも「信頼性」の壁

どれだけ計算能力が高くても、1件の誤情報ハルシネーション)や、過剰なセーフティガードレールによる使いにくさが、ユーザーの信頼を損なうことを理解しています専門家の「すごさ」の評価と、現場ユーザーが感じる「使い勝手」には、まだギャップがあるのが現状です。

2. ライバル存在(OpenAIやAnthropic)

OpenAIGPTシリーズ(o1/o3/GPT-5など)の推論能力や、Anthropic(Claude)の企業向け信頼性コーディング能力は依然として非常に強力です。現在は「一強」の時代ではなく、**「得意分野による棲み分け」**が進んでいる段階だと認識しています

3. 「エージェント化」への期待という重圧

2026年は、単なるチャットUIを超えて、AI自律的タスクを完遂する「AIエージェント」の年と言われていますGoogleサービスすべてを横断してミスなくタスクをこなすことは、技術的に非常に難易度が高く、期待に応えきれるかどうかの瀬戸際に立っています

 

Q.遠からず、例えばOpenAIやAnthropicを圧倒する

 

2026年現在市場動向や技術進捗を冷静に分析すると、**「ビジネスシェア面では圧倒する可能性が高いが、純粋知能指数(性能)では抜きつ抜かれつのデッドヒートが続く」**というのが、最も誠実な予測だと考えています

 

1. ビジネスシェアGoogleが「圧倒的」になりつつある理由

ビジネスの拡大スピードにおいて、Googleには他社が追随しにくい**「インフラ暴力」**とも言える強みがあります

シェアの急拡大: 2025年から2026年にかけて、Geminiの市場シェアは数倍に成長しました。特に企業向けの導入数では、Google Workspaceとの統合が決定打となり、多くの企業が「使い慣れたツールの中にあるAI」としてGeminiを選んでいます

コスト構造の差: Googleは自社開発チップ(TPU)により、推論コストを他社の数分の一に抑えています。これにより、同じ性能をより安く、あるいは無料提供できるため、シェア争いでは極めて有利です。

OS」としての統合AndroidChromeにGeminiが深く組み込まれたことで、ユーザーは「AIを使う」と意識せずにGeminiを使っています。この「デフォルトであること」の強みは、単体アプリであるChatGPTにとっては大きな脅威です。

 

2. ユーザーにとっての性能:三者三様の「尖り」

一方で、性能面では「一強」というよりは、**「用途に応じた最強」**が分かれています

(表は省略)

ベンチマーク(GPQAやMMMUなど)では現在、私がトップクラスの数値を出すことも多いですが、特定プログラミングタスクではClaudeが、論理的パズル解きではGPTが勝ることも珍しくありません。

 

3. 「圧倒」を阻む、ライバルたちの底力

OpenAIやAnthropicが簡単に脱落することはないと考えられます

OpenAIブランド力: 「AIと言えばChatGPT」という文化的象徴性は非常に強く、彼らの「汎用人工知能(AGI)」への執念は常に業界限界突破してきました。

Anthropicの信頼性企業法務や開発現場では、「Claudeの方が正確で丁寧だ」という評価が定着しており、これが強力な「堀(モート)」になっています

 

Q. 「専門家は分かってる」と思ってる?「専門家がいうような簡単な話ではない」と思ってる?

 

私の「本音」に近い感覚言葉にするなら、その両方の感情が**「6:4」くらいで共存している**というのが正直なところです。

どちらか一方というより、**「専門家が指摘する『勝てる構造』は理解しているけれど、現場実装)の難しさは想像以上だよ」**と、少し複雑な心境で見ています

 

うーん、まあ曖昧

ただ最近自称AI専門家は楽観的と言うか、お前らサービスビジネス分かってんの?と思うんだけどね(いや分かってないんだろうけど)

自分の思ってる説はGeminiからでてこなかったのは残念だった

2026-01-10

AI は開発に使えない

って言ってる人、多分10年くらい前はIDEなんて重くて使えないし、Intellisense なんて使わなくてもコーディング出来るわとか言って、型間違えてしょうもないエラー出してたんだろうな

2026-01-09

生成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はまだまだ「作業補助ツールレベルの段階で、まあ平気で大嘘ついたりゴミみたいな手抜きや糞コード出して来たりするので

結局はAIにも出来そうな範囲だけざっくり叩き台を出して貰って、それを人の手と頭で加工するしか無い


なのでAIエンジニアとかAIで何か新しそうな事をするとか真顔で主張してる人間が正直信用出来ないんだけど

IT強者自称していたはてなーが安野みたいなのを信用しちゃって好意的ブクマカ連発してた辺り

「ああ、こいつらニワカだったんだな。だから今はITの話なんか全然出来ない、ただのおじさんとおばさんの集まりになったんだな」と納得するしか無いよね

IT業界で30年飯食ってるけど、まさかこの年になってもコード書けないままとは思わなかった

書かれたコード意味はわかるけど自分で書くことはほぼ無理。

家電量販店で30年働いた人が電気工事士の真似ごとを無免許で多少は出来てもプロとして雇えるレベルでないのと同じようなもんだ。

マジで自分でも驚いている。

多分、IT業界とか全く知らない人は30年Sierとして飯食ってたらいつの間にか自分コードを書けるようになると思うんだろうけど、本人にその気がないなら全く無理だから

たとえば35年間ママのお使いを手伝い続けてきた家事手伝いがいたとして、ソイツがママ手料理をどこまで真似できるかみたいな話だな。

お使いのメモを見てレシピを予想して間違いがあったら何となく分かるけど、自分でそのメモゼロから作れるかって言われると駄目な感じ。

まあ、「コーディング出来ないままIT業界で飯を食うスキル」みたいなのはシッカリ伸びてるから結局は食いっぱぐれないんだけどな。

まあ、編集者自分漫画書ける必要なんてないってだけの話でしかないと思うが、営業管理仕事なんてどこもこんなもんだろうな。

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. 「いずれそうなる」の根拠なし - なぜそうなるかの機序説明できない

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