概要
AI支援プログラミングに対する現場の懐疑論と現実的な効果についての考察。 LLM(大規模言語モデル)導入を推進する経営層と、現場開発者の温度差。 LLMの現状の活用法と、その実際のメリット・限界。 プログラミングにおける「職人技」と実用性のバランス。 AIによる業務自動化の波が開発者にも及ぶ現実と、その社会的影響。
AI支援プログラミングへの挑発的考察
- 経営層 が LLM(大規模言語モデル) 導入を強制する現状
- 一部 優秀な開発者 がAIを「NFTの次の流行」と見なす懐疑論
- 著者自身も長年ソフトウェア開発に従事した経験者
- LLMの議論は ソフトウェア開発 分野に限定、アートや音楽は対象外
- 現場の懐疑論 に対して、具体的な反論の必要性
LLM活用の現状と「真のAIコーディング」
- 単なる ChatGPTコピペ は本流ではない
- 現在のAIコーディングは エージェント 活用が主流
- エージェントはコードベースを自律的に探索・編集
- ファイル生成、テスト実行、ツール連携など多数の自動処理
- エージェント本体はシンプルなシステムコード
- 本質は「 Makefile的な自動化」であり、AI部分は一部のみ
- 旧来の手法と混同しないことが重要
LLMの利点と開発現場の変化
- 単調なコード や調査作業の大部分をLLMが担当
- Google検索 の回数が大幅に減少
- 疲労や惰性 に強いAIの特性
- 新規プロジェクト立ち上げ時の「面倒な作業」の自動化
- LLMによる「 ほぼ動く状態」までの高速到達
- 難解な作業もエージェントが長時間自動で対応可能
- 開発者はより「 本質的な作業」に集中
LLMコードの品質・責任と現場スキル
- LLM生成コードの 可読性・責任 は開発者自身に帰属
- LLMは「確率的」ではなく、 読めるコード を出力
- LLMの出力を 自分のスタイルに整える のは従来通り
- 「LLMのコードが読めない」= スキル問題
- LLMの コンテキストウィンドウ 拡張による大量コード対応
LLMの「幻覚(hallucination)」問題
- エージェント が自動で Lint・テスト を実行し、誤りを検出
- LLMが間違った関数を作っても自動で修正プロセスを繰り返す
- Zedなどの エージェントモード で作業完了通知
- 「幻覚」問題は ほぼ解決済み の課題
LLMコードの「低品質」論への反論
- LLMのコストは インターン以下
- シニア開発者の役割は「 能力の低いコーダーを活かすこと」
- LLMの品質は 使い方・ツール整備次第
- LLMは「タイピング・検索・テスト・デバッグ」の自動化が主
- 人間の「初稿」も決して完璧ではない現実
LLMと特定言語(Rust等)の相性問題
- LLMに合わない言語(Rust等)への 不満は投影
- LLMの活用性で言語選択が変わる可能性
- Go言語はLLMとの親和性が高い
- RustとLLMの相性が悪い場合は 単なる議論のすれ違い
プログラミングの「職人技」と実用性
- 職人的なこだわり は私的な趣味の範疇
- プロ開発者の本分は「 実用的な問題解決」
- 美しいコードは必須条件ではない
- 本質的作業を避けて「自己満足」に走る傾向は 要注意
- LLMは雑務を自動化し、本質的価値創造に集中できる環境を提供
「平凡さ(mediocrity)」の価値
- 平凡なコード の大量自動生成はむしろ有益
- すべてのコードが高品質である必要はない
- LLMは「品質の下限」を引き上げる効果
- LLMは人間より幅広いアルゴリズム知識を持つ場合も
- 「平凡なコード」でも人間の負担軽減に大きく貢献
AGI(汎用人工知能)論争への無関心
- AGI実現の可否は 実用議論と無関係
- 現在使えるもの、役立つものを評価する現場主義
AIによる雇用への影響
- オープンソース や自動化と同様、AIも仕事を奪う現実
- ソフトウェア業界も例外ではない
- AIによる業務自動化の波は全産業に及ぶ
- LLMで開発者の仕事が減る可能性も現実的な懸念
- 社会全体での適応が必要
AIと著作権・創作分野の課題(次章へ続く)
- AIは 視覚芸術分野 に対して特に深刻な脅威
- アーティストの実態とAIによる自動生成の現実
- (この項は次章で詳細に扱う)