世界を動かす技術を、日本語で。

自動プログラミング

2026年1月31日原文(antirez.com)

概要

  • AI支援によるソフトウェア開発 を「Automatic Programming」と呼称
  • 人間の直感や設計 がAIの出力結果に大きな影響を与える点を強調
  • Vibe coding はAI任せで人間の関与が最小限な手法
  • Automatic Programming は高品質かつ制作者のビジョンに基づく開発
  • AI生成コードの所有権や誇り についての考察

Automatic Programmingとは何か

  • AI支援 を活用したソフトウェア開発プロセスを「Automatic Programming」と定義
  • 近い将来、これは単なる「ソフトウェア開発」の標準手法となる予測
  • 同じ大規模言語モデル(LLM) でも、人間の 直感設計力継続的な舵取り によって生成結果が大きく変化
  • AI任せの開発 を「Vibe coding」と区別
    • Vibe codingは 大まかな要件 のみをAIに伝え、AIが即興でコードを生成
    • 人間は基本的に 問題点の報告期待外れの指摘 のみを行う傾向

Vibe codingとAutomatic Programmingの違い

  • Vibe coding :AI主導で人間の関与がほぼない開発手法
    • 民主化 されたソフトウェア生産の一形態
    • 使いどころはあるが、品質や設計へのこだわりは薄い
  • Automatic Programming :人間の明確なビジョンや設計が反映される開発手法
    • 高品質 かつ 制作者の意図 を強く反映
    • AIアシスト を受けつつも、要件定義や細部の設計に人間が深く関与

AI生成コードの所有権と誇り

  • LLMの学習データ は人間による集合知の産物
  • AI生成コード は利用者自身の成果物とみなして良い
  • 自分のアウトプット として誇りを持つべき理由
    • Redis の例:技術的には新規性が少なくても、 ビジョンやアイデア が価値を生み出す
    • プログラミングは自動化 されつつあるが、 ビジョンの自動化 はまだ実現していない現状

まとめ

  • Automatic Programming は、AIと人間の協働による新しいソフトウェア開発の形
  • 人間のビジョン設計力 が最終的な成果物の質を決定
  • AI生成物の所有権 や誇りを持つことが重要
  • Vibe coding と区別し、意図的な開発を心がける姿勢

Hackerたちの意見

これは典型的な偽の二項対立だね。バイブコーディング、自動コーディング、コーディングは明らかにスペクトラム上にあるし、プロジェクトの中でそのすべての色合いを使えるんだよ。

AIは、いろんな方法で演奏できる楽器みたいなもので、スタイルや強度も様々だね。言ってみれば、スペックストラミングって感じかな。

要するに: 「ユーザーはLLMの出力を自分のものとして主張すべきだ。理由はこうだ。LLMはツールであり、ツールは使う人のスキルによって使い方が変わる。ツールの出力(LLMを含む)はユーザーのスキルの関数であり、したがってその出力はユーザーに帰属する。」さらに、ツール、特にLLMを積極的かつ意識的に使うべきだ。頭をオフにして出力を無批判に受け入れるべきじゃない。進めながら反復して改善していくべきだと思う。著者がスキルの程度の違いを種類の違いに不適切に変換しているように見えるのには同意するよ。

誰かが「バイブした」とか「クロードが何かをくれた」って言うのを聞くたびに、すごく「初稿」っぽいコードを読むことになるんじゃないかって思っちゃう。コードを送るときにそれを所有する必要があるって話をたくさんする人からもそう感じる。人々は、自分の作品に使ったツールのせいで謝るのをやめるべきだよ。もっと良い作品を作れば、謝る必要もないし、他の人の時間を無駄にすることもない。特に、そういうツールがあってクリーンアップが楽になるはずなのにね(理論上は)!

そうだね。それに、彼らは期待値を上げて、より良いバイブコードのアプリを提供するために努力すべきだと思う。自動化も絡むだろうしね。

問題は、建築やコードの品質を気にせずにデザインを進められるようになってしまったことだね。

「事前学習は、実際には私たちの共同の贈り物だと思う」って言うけど、多くの影響力のあるオープンソースプログラマーが、自分のコードをこういうモデルの訓練に使ってほしくないって明言してるのに、この表現は良くないと思う。彼らの「贈り物」じゃなくて、無理やり奪われたものだよ。 > 「私はプログラマーで、自動プログラミングを使ってる。こうして生成したコードは俺のものだ。俺のコード、俺の出力、俺の作品。俺も、君も誇りに思っていい。LLMが生成したコードの中には、以前読んだ本や技術ブログの内容をそのままコピーしたものをすぐに認識できるものもあった(例えば、同じ意味、似たようなコメント構造や変数名)。法的に義務がなくても、アイデアやコードの出所をクレジットするのは最低限のことだよ。LLMはコードを完全に自分のものとして洗練させるだけだからね。

どんなオープンソースの貢献も、それ以前のものから切り離すことはできないと思う。私たちはみんな巨人の肩の上に立っているからね。すべての開発者は、先人から学び、既存のプロジェクトからパターンやコードを適応させているんだ。

「この表現は良くないと思う。多くの影響力のあるオープンソースプログラマーが、自分のコードをこういうモデルの訓練に使ってほしくないって明言してるのに。」それは、創造者たちの運命だよ。カフカは、自分の作品が死後に焼かれることを望んでいたって明言してた。だから、グレゴールの妹とのぎこちないやり取りを読んでいるとき、あなたは文字通り、他人のプライベートな思考を消費していることになる。彼はそれを誰とも共有したくないと言っていたのにね。それでも人々はカフカの「文学への貢献」について話すけど、ほとんどの人はそれを読むべきかどうかすら考えないんだよね。

クイックソートを実装するとき、コメントにホーアの名前を書く?

この視点が理解できない。プログラマーは他の知的財産の例をバカにすることが多く、中には完全に無視する人もいる。Google対Oracleの裁判を読んだことがあるけど、OracleがGoogleを訴えたのは、配列のインデックスの範囲をチェックするための約9行のコードを盗んだってことだった。AI企業が悪いってことなのかな?これは何兆もの価値を生み出し、情報を民主化する変革的な技術で、すべてはVCマネーによって補助されてる。オープンソースで高尚な目的を持ってると主張する人が、これに反対する理由は何だろう?自分のリポジトリがスターをもらえなくなるから?誰も自分のくだらないスタックオーバーフローの回答を読まなくなるから? https://en.wikipedia.org/wiki/Google_LLC_v.Oracle_America,....

知的財産は絶対的なものじゃなくて、他の財産と同じように収用されることもあるよ。

Hacker Newsで議論の続きを見る