AI開発者の分裂:LLM時代における『作る』の再定義
AI開発者の分裂:LLM時代における『作る』の再定義
委託と作成の間の心理的ギャップ
プロジェクトを開始する行為は、それを作成する行為とは同じではない。 多くの開発者にとって、手書きで書かれたソフトウェアと、LLMによってリクエストに応じて生成されたソフトウェアの間には、満足感において深い違いがある。AIは生産性を向上させ、長期間放置されていたプロジェクトの完了を可能にするが、職人技や低レベルの問題解決に関連する誇りを奪うこともある。
この区別はソフトウェアに特有ではない。請負業者にデッキの建設を依頼するのと、自分でデッキを建てるのとの違いを映している。どちらの場合も完成した製品は存在するが、プロセスから得られる内面的な満足感は根本的に異なる。開発者がAIエージェントを使ってコードを生成するとき、彼らは創造者ではなく、マネージャーまたはクライアントとして行動している。
"コンパイラパラドックス": どこが線引きなのか?
ツールと surrogate creator( surrogate creator はそのまま? maybe "代替創造者")の間の境界はしばしばぼやけているが、通常は翻訳の予測可能性と透明性にかかっている。
高レベル言語のようにCで書くことは、コンパイラに機械コードを書かせる「お願い」の一形態とも言えるかもしれない。しかし、これは一般的に「作成」と見なされる。なぜなら、ソースコードと実行可能ファイルの間の関係は数学的に正確かつ決定的だからである。
LLMをコンパイラとして使用する場合—for example、Cコードをx86_64アセンブリに変換する—結果はしばしば機能的で印象的である。しかし、「作成」している感覚は残る。なぜなら、意図がプログラマーが理解できる言語で明示的に定義されているからである。緊張が生じるのは、入力が正確な技術仕様から不正確な人間言語(プロンプト)に移行するときである。そのとき、プロセスはツール(ハンマーやコンパイラのような)を使用することから、レポートを管理することへとシフトする。
"Vibe Coding"と生産性の視点
AI支援開発へのシフト、しばしば "Vibe Coding" と呼ばれるものは、最終製品を重視する人々とプロセスを重視する人々の間に溝を生む。
最終製品のための主張
一部の開発者は、ソフトウェアの目的は問題を解決することであり、コーディングの行為を行うことではないと主張する。この視点から、AIは力の倍増器となり、時間的制約により存在し得なかったツールの創造を可能にする。
"コーディングは決して主要な目標ではなかった。常に完成した最終製品を作り出す手段だった…私のVibe Codingされたギタータブエディタには、他のソフトウェアにはない私が必要としていた機能があり、私が抱えていた実際の問題を解決している。"
工芸のための主張
逆に、他の人々は、コーディングの手作業プロセスこそが実際の学習と認知的成長が行われる場所だと主張する。実装をAIにアウトソーシングすると、ニュアンスのある理解の喪失と、入力の変化が観察可能な挙動にどのように影響するかを推論する能力の低下を招く。
"コンパイラが出力する実行可能ファイルが意図した通りに動作しない場合、99.99%のケースではこれは完全に私の責任だ…これは、VibeCodedプログラムとそれらを作成するために使用されたプロンプトの関係には、遠く及ばないほど当てはまらない。"
AI時代における価値の再定義
AIが技術的実行の障壁を下げるにつれ、ソフトウェアの価値はコードを書く能力から、味、ビジョン、判断を適用する能力へとシフトする可能性がある。
現代における "作成" は、映画を監督するか、建物を設計するかのようになってきているという主張が増えている。建築家は毎レンガを敷かないが、それでもその建物は彼らの創造物である。この枠組みにおいて、人間の貢献は以下にある:
- ビジョン: 何が存在すべきかを定義する。
- 判断: 出力が正しく高品質であるかを決定する。
- コミュニケーション: 望む目標に到達するためにAIを効果的に導く。
しかし、伝統的な "ハッカー" にとって、このシフトは創造者と機械の間の親密なつながりの喪失を意味し、構築の喜びから結果への満足への移行を表している。
Sources
- HNMaking