- AIベースのプログラミングツールであるLLMは、すでにソフトウェア開発の現場で不可欠な地位を占めている
- 多くの知人はAIは一時的な流行だと信じているが、筆者は開発の領域ではすでに考えを改めるべき時だと強調する
- コーディングエージェントは反復的で退屈な作業を自動化し、開発者がより意味のある仕事に集中できるようにしてくれる
- AIが生成したコードの品質、所有権、ツールサポートなどをめぐる論争はあるが、その大半は既存の開発環境の問題を踏襲している程度にすぎない
- LLM導入に対する消極的な態度は適切ではなく、今後さらに重要な技術変化が近づいていることを示唆している
序論: AIとプログラミング、そして懐疑論
- 近ごろテック企業の経営陣がLLMツールの導入を強制する傾向があるが、これは誤った戦略である
- 筆者の周囲にいる頭の切れる開発者の一部は、AIをNFTのような一時的流行とみなし、これを真剣に受け止めていない
- しかし実際には、すでにLLMの導入によって開発領域に大きな変化が起きている
- 本文ではソフトウェア開発におけるLLMの意味に焦点を当て、芸術・音楽・文章執筆など他分野については触れない
LLMエージェントと現代的な使い方
水準を合わせる: 過去のLLM vs. 現在のエージェント
- 6か月〜2年前にChatGPTやCopilotを単純に活用していた頃とは異なる、進化したLLMエージェント環境が広がっている
- 今日の開発者はエージェントにコードベースを自由に探索・修正させ、それによってファイル作成、コンパイル、テスト、反復実行を自動化している
- コードツリーや外部ソースのコード提供、Unixツールベースの情報抽出、Gitとの相互作用、各種開発ツールの実行などをサポートする
- 実際のコード操作ロジック自体は単純なシステムコードである
- 昔のようにChatGPTでコードをコピペするだけでは、本質的な変化を体験していないのと同じだ
LLMの肯定的な効果
- ほとんどのプロジェクトで発生する単純な反復コードは、LLMなら容易に生成できる
- LLMは検索やドキュメント確認なしでも必要な情報を拾うのに長けており、疲労の蓄積による非効率から自由である
- 望む機能の開発に着手しづらかった理由が新しい言語・環境の参入障壁にあったなら、LLMはそれを大きく緩和してくれる
- 保守的なテストコードのリファクタリング、依存関係の処理など、開発における面倒な作業はLLMが代わりに処理できる
- 開発者は重要で創造的な領域に、より多くのエネルギーを注げる
「LLMが生成したコードを理解できない」という主張への反論
- チームでマージするコードは、直接読み、スタイルに合わせて修正するのが当然である
- LLMが生み出すコードは「アルゴリズム的に」予測可能であり、成果物を理解しレビューできる
- 反復的なコードレビュー能力が不足しているなら、人間の開発者が書いた雑然としたコードも消化できない可能性が高い
「AIの幻覚(hallucination)問題」への見方
- LLMエージェントはコードのlint、コンパイル、テストまで実行し、誤った情報を正して信頼性を確保する
- 幻覚の問題は、多くの環境ですでにある程度解決されている
- 効果的に活用するには、細かな監視よりも自動化プロセスへの信頼が必要である
「AIコードは実力が低い」という批判
- LLMサービスの費用はインターンの給与より安い(例: Cursor.ai 月額 $20)
- シニア開発者は、実力不足のインターンやLLMコードの生産性を高める役割を担う
- コーディングエージェント活用能力、ツーリング、プロンプト設計も新しい技術的熟練の領域である
- 「誰がどの作業を分担するのか」には混乱があるが、根本的に開発者は方向性、検証、判断に責任を持つ
「RustでAI性能が低い」論争
- 特定の言語やツールとの互換性の限界は、特定エコシステムの課題である
- GoのようなLLMフレンドリーな言語では、AIの活用度が非常に高い
- Rustとの相性問題はLLM全体の限界ではなく、言語ごとの最適化戦略が必要である
クラフトマンシップ(Craft)と実務プログラミング
- ソフトウェア開発の目的は実用的な問題解決である
- 不必要にコード品質へ執着する行為は「ヤクシェービング(yak-shaving)」であり、現実の業務では非効率として働く
- 反復的で面倒な作業はLLMに委ね、開発者は価値創出の区間に能力の焦点を合わせるべきである
AIコードの平凡さ("mediocrity")を受け入れる
- ほとんどのコードがたいしてすごくない水準であっても、実際には問題ない
- 重要な部分は品質を高め、そうでない部分はLLMによるコスト削減をむしろ利益として活用すべきである
- LLMコードは反復的な部分でより安全であり、アルゴリズム領域では人間より幅広いアプローチが可能である
「AGI(汎用人工知能)まではまだ遠い」という見方への意見
- AGI論争そのものには無関心で、実際に動くかどうかだけが重要である
- 現実的な性能と生産性向上が、目下の判断基準である
雇用代替をめぐる論争
- オープンソースの導入と同様に、LLMも職種の変化・消滅をもたらす技術である
- SW開発者も他産業と同じく自動化の対象であることを自覚しなければならない
- こうした変化が最終的に有益か有害かは不確かだが、変化そのものは不可避である
剽窃/著作権の問題
- AIは視覚芸術の世界に大きな脅威となっている
- 実際にLLMは産業品質を満たす成果物を大量に生成できる
- ソフトウェア開発者が剽窃問題を問題視するのは難しい
- これまでも開発者は著作権に鈍感であり、知的財産権の保護より共有と再生産を好んできた
- コードの一部再利用をめぐる論争は、一種の特殊な言い訳にすぎない
最新のLLM活用と変化の速度
- LLMベースの非同期エージェント活用、並列的な作業などによって生産性が大きく向上している
- 優れた開発者もLLMでコードレビューと補完を行い、静的ではない環境で実質的な効用を体験している
- 重要なインフラへのアクセスなど、信頼性が問題となる領域は依然として慎重に扱う必要がある
結論: 技術変化、そして懐疑論の克服
- 従来のAI懐疑派とは異なり、筆者は保守的な視点を保ちながらも実際の変化を肌で感じている
- ソフトウェア開発者が古びた反論から抜け出し、現実的な変化を受け入れるべき時点に来ている
- LLMとAIベースのプログラミングは、スマートフォンやインターネットがそうであったように、業界の根本構造の変化を導くと見込まれる
4件のコメント
使い捨てで使う簡単なスクリプトを書くときには、確かに便利です。時間をかなり節約できます
解決は必要だけれど多くの時間を投資できない場合にも役立ちます。ただ、まだ全体としては便利ではあるものの、人を完全に置き換えることはできません。今後どれほど発展するかは分かりませんが、現時点ではアシスタントとしてはそこそこ実用的なレベルです。
AI信奉者であれ懐疑論者であれ、極端だと距離を置きたくなります。
「特異点が来る」と叫び立てるのを見るたびに、本当にうんざりします。
Hacker Newsの意見
6か月前にLLMでコードを書こうとして失敗したのなら、それは本気でLLMを活用している大半の開発者のやり方とは違っていた、という話になる。ただ、私はこれまでずっと、この技術が革命的だとする声には懐疑的だった。6か月前にも、最新のLLMを使っていなければ時代遅れだ、正しく使えていない、と言われていたが、結局は当時のLLMがいまひとつだったことを皆が認める流れになっている。言い訳だけが繰り返される「AIオオカミ少年」現象のように思える。今回も作業生産性が飛躍的に上がると言われているが、どういう根拠で今の主張だけは本当だと信じられるのか疑問。あと6か月もすれば、また今まで使っていたLLM製品は大したことなかったと言い出すのではないかと予想している。
指数関数のグラフは、どの時点で見ても似たような曲線を描く。コンピューターは長年にわたって毎年ものすごく進歩してきたが、それは新しく買ったコンピューターがゴミだったからではなく、技術が本当に急速に発展してきたからだ。あなたが感じているこの現象、つまり「ずっと良くなり続けている」という疲労感そのものが、まさに革新的な進歩の結果だという見方の提示
0歳から30歳まで、6か月ごとに一人の人間に助けを求めたら、いつ感嘆するだろうか。相手や作業によって驚く時期は変わるだろうが、時間がたつほど、その能力に感心する人は増えていくはず。LLMの進歩も、まるで子どもの成長を見ているような速度だ。私も以前はLLMを使っていなかったが、o3、Gemini 2.5 Pro以降は常に活用している。最新モデルを実際に使って、それでもまだ驚かなかったとしても、3年以内には必ず感嘆することになると確信している
tptacekは6か月前にはこういう主張をしていなかった。LLMは時間とともに着実に進歩しており、ときには、それまで動かなかったものにまで突破口が生まれる。この直近6か月は、「エージェントベースのコード作成」が実際に動き始めた時期だ。「6か月ごとに良くなったと言うなら真面目に取り合わない」という姿勢は、技術をきちんと評価する能力を損なう危険がある
問題の本質は「変曲点」にあるという意見。単にChatGPTにコードを貼り付けて満足できない人もいれば、コードのコンテキストをすべて見られるエージェントによって、はるかに優れた効果を得ている人もいる。結局は特定のLLMだけでなく、ワークフローの違いが重要
Thomasの主張は好きだが、その中にも他人がよく犯す本質的な誤りが含まれていると思う。腕の立つプログラマーは、LLMをうまく使うためにも長い経験を積む必要があり、Thomas自身も時間をかけて専門性を獲得してきた。しかし、彼らはLLM支援なしで成長した最後の世代なのかもしれない。学校を出たばかりの初心者が、どうやって「雰囲気で真似するコーディング(vibe coding)」から抜け出して本当の実力を身につけるのか疑問だ。昔は手を動かして作ることで成長したが、今は全体設計と組み立てをまるごとロボットに任せ、実際の道具や素材がどう動くのかを学べない危険がある。屋根の荷重すら「感覚」でしか把握できなくなる問題の指摘
専門家がLLMのコードを読み、理解し、コードベースに統合できるときにこそ、AIエージェントの利点がはっきり表れるという意見。しかし、皆がAIでコーディングするようになったら、ますます複雑になるコードを読み、リスクを把握し、どこをどうテストすべきかを知り、コードベース全体の構造を頭の中に描ける本物の「エディター」をどう育てるのか、という疑問がある。現在エディターに必要なこうした能力は、長期間にわたって自分でコードを書いてはじめて身につく領域だ。初心者が思考をアウトソースしてしまえば、こうした力を育てる機会がない。熟練者はどこから生まれるのか分からない、という不安もある。教授の立場から見ると、宿題や課題がすでにLLMで何も考えずに通ってしまう状況になっていて、やるせない。新しい能力育成の方法が必要だと思うが、まだ思い浮かばないし、こういう世界で初心者がどうやって専門家へ成長するのか疑問
みんなが電卓ばかり使ったら数学はどう学ぶのか、という反論。学生にはまず十分に手で練習させ、本質を身につけさせたうえで、電卓のようにLLMを導入すべきだという主張
Isaac Asimovの短編小説 "Profession" を思い出す、という経験の共有。ほとんどの人が能力と職業をコンピューターから直接与えられ、そのおかげで仕事はうまくこなすが、革新や創造性はまったく育たない。むしろこの技術に適合しない一部の人だけが本当に学び続け、芸術の世界を発展させられる唯一の集団になる
私の経験ではLLMはペアプログラマーに近く、初心者にとってはシニアエンジニアのような存在だ。コードだけでなく、原理や過程をうまく説明してくれるチューターとしても優秀。シニアにとっては、コードレビュー、アイデアのブレインストーミング、ボイラープレート処理など、さまざまな利点がある。専門家の立場では、難しい1割の作業だけに自分で集中し、残りの単純作業はLLMに委ねられるので時間を節約できる。初心者が興味や好奇心もなくコードだけを書き写すなら、それはその開発者の問題であって、積極的に学ぼうとする人にとってLLMは最高レベルの学習リソースだ。その意味では、初心者にとって今は最も有利な時代
このスレッド全体が、「問題は存在しない ― あるにはあるが大したことではない ― お、実際にあるのか、じゃあ適応しよう」という古典的な心理段階を示しているように見える。本当に核心的な問題の一つに触れたと思う
私も、初心者がLLMに思考を完全依存すると実力が伸びにくい、という意見には共感する。ただ、自分はLLMを通じていつも新しいことを学んでいる。自分がぼんやりしか理解していないAPIに問題を出させ、その結果を読みながら概念を学び、たいていはコードを書き換えてリファクタリングする。数日前もsignalの内部動作が気になって、LLMに例を出してもらい、それを一緒に分析した。好奇心さえあれば、信じられないほど優秀なチューターになり得る。ジュニアはひたすら「雰囲気コーディング」をするのではなく、積極的に学ぼうとする姿勢が重要。そうでなければ自己責任だし、すでに後戻りできない現実の中でも、好奇心さえあれば成長の道は十分にある
実際、最近Claude 4エージェントのようなものを使って、大きなCコードベース(新機能、バグ修正)、小さなRustプロジェクト、小さなフロントエンド、基本的なAPIが文書化された新規フロントエンドなど、さまざまなケースを試した。すべてのケースで完全に失敗した。diffの受け取りもおかしく、ツールに誤った引数を渡し、基本機能すら失敗し、数百行単位で見当違いのリファクタリングをし、未完成のrefactorがそのまま残ってコードベースをめちゃくちゃにした。SvelteやsolidJSのようなデータ量の多いJSフレームワークでも結果はいまひとつ。人々が絶賛するエージェントの本当の強みが何なのか分からず、むしろマーケティングの誇張に感じる
プロンプトの書き方を尋ねる意見。普通は一つの機能を、より細かな小さな作業単位に分解してLLMに依頼すると、はるかにうまく動く。個別の作業(10〜200行以内)ならよくこなすが、それ以上になると、後続作業でも失望が続く。今のレベルは、賢いが経験のないインターンのような自律性だ。高難度の全体設計や計画は、依然として人間がやる必要がある
エージェントを宣伝する人たちも、実はスパゲティコードしか出しておらず、自分たちは生産性だけ上がったと言って気にしていないのでは、という仮説。実際の成功事例をツールや方法まで含めて具体的に公開する例はあまりなく、それもAIが代わりに文書化できるはずなのに、それすらしていない
多くのエージェント関連の記事が、まるで宣伝文のようだという主張。AI市場に金が集まりすぎていることもあり、過去のマーケティング事例も思い出して余計に信用できない。自分でもいろいろなエージェント製品を使ってみたが、実質的な改善は少ない。HNはむしろAIを恐れる悲観論者が多いので、議論が激しくなると、かえって問題はユーザー側にあるという空気すら生まれる。あるユーザーは「AIを本当に体験するには1000ドル単位で使わないと分からない」と主張していて、広告くさいと指摘されていた
小規模なコードや単一ファイル、50行以下の単位などに変更を限定してLLMに任せると、管理しやすくなる
90年代からコーディングを学んできた者として、今ではコンピューターに曖昧で不明確な入力を与えても有意味な結果が返ってくるという事実だけで驚異を感じる。人間レベルの曖昧さで、明確で実用的な出力を得られる世界は、SFのように思える
逆に、非常に明確な入力を与えても、それすらコンピューターにとって解きやすい問題へと曖昧に解釈されてしまうことが多い
私は、LLMの曖昧さこそがドキュメントとの対話用途で魅力的だと思う。検索語を何度も変えながら欲しい情報を探す必要がなく、全体として大きな時間節約になる
今が本当に驚くべき時代だという感嘆。週に1〜2回は現実感に圧倒される経験をしている
Star Trek: The Next Generationのファンだったので、エンタープライズ号のコンピューターとDataの違いを想像して驚いていた記憶がある。エンタープライズのコンピューターは、今日のAIのように知識整理、要約、作業実行などが可能で、Dataは個性を持つロボットという設定だった。Dataがユーモアや芸術など人間の感性領域で限界を抱えている点は、今日のAIアートにも似ている。初期エピソードの微妙な設定や展開も思い出される
私は、機械に明確な指示を与えて正確に欲しいものを得るという点に魅力を感じてこの業界に入った。Dijkstraは昔から、人間の言語の曖昧さ、そしてそれを克服するために生まれた「形式言語」の重要性を強調していた。結局2025年には、コンピューターと議論しながらフォームを整える「プロンプトエンジニアリング/雰囲気コーディング」の時代が来た、という自嘲気味の見方もある。EWD667: The Humble Programmer は読む価値があるという勧め
生成AIの無限の能力を主張する人たちは、実際の証拠を示せるのだろうか。GAIやエージェントが本当に強力なら、AIだけで会社を立ち上げ、短期間で非常に完成度の高いコードを大量に生み出す結果で証明できるはずだ。しかし実際には、そうした兆候はない。これまでで最も役立つ用途は、せいぜい人間が意味があると錯覚しそうなテキストやアートの生成だ。スタートアップが実務で使ってみた経験でも、ごくたまにAPI探索や便利な情報探しに使える程度だった。全体としては時間の無駄の方が大きかった。もう「本当に良い」という主張ではなく、AIが純粋に作り出した成果そのものを直接見せるべき段階だ
互いに見ているものが違うのだと思う。常に「実現可能な変更(労力に対して効果が見込める仕事)」と「バックログに放置される仕事」の間には閾値があったが、AIツールはその閾コストを下げ、より多くの作業を試せるようにする。だから「生産性5倍」と主張する側は、実際に処理されるコード量が増えた点を強調し、一方の懐疑派は、ビジネスの本質的価値は大きく変わっていないと見る。AI生産性のパラドックス も参考になるという勧め
具体的にどんな証拠を見たいのか、という問い。無限の能力を求めているのか、現実的な有用性の証明を求めているのかを明確にしてほしい、という意見。実際には誰も完全無欠の万能性など主張しておらず、限界と強みを正しく理解して使う人にとって有用だという点を強調している。最近の cloudflare/workers-oauth-provider のコミット履歴も例として示し、「少しでも役に立つ」ことには同意できるのではないか、と問いかける
みんな、実際にはすでにLLMが作ったコードを自分たちで使っている。LLM活用PRが実際のプロダクションに数か月単位で入り続けている、という経験の共有。もしあなたがまだ有用性を見いだせていないなら、正しい活用法をまだ学んでいないだけかもしれない、という助言も添えられる
LLMは大して効果がないと宣伝する人たちを見ていると、何かのマーケティングが機能している現場を見ているような気分になる。昔は信じていた会社まで最近はAI宣伝に偏っていて残念だ、という思い。本当に恩恵があるなら、まず自分で使ってみろという雰囲気
「ゴールドラッシュでつるはしを売る商人」というたとえ。道具そのものの効能を証明するより、人々に金脈があると信じ込ませるマーケティング構造を皮肉っている
GitHubコードのライセンス問題を無視する態度への批判。ある開発者は「著作権など気にするな」と言うが、プログラマー全員が著作権侵害を日常的に行う犯罪者だという前提は、誤った一般化だ。私を含め、多くの開発者は大規模な違法コピーとは無関係で、むしろcopyleftやオープンソースの精神を守ろうとしている。Sci-Hubを公共善と考えつつも、個々の開発者が意図したcopyleftも尊重すべきだという立場だ。著作権は単純に賛成か反対かで分かれるものではない。こうした多様性と文脈を無視して一括りに非難したり、ライセンス無視を正当化したりする論理こそ、怠惰な知的態度だ
プログラマーは法律、とくに米国式のコモンローについて十分に理解していないことが多い。法の伝統は長い時間をかけて、人間が合理的に解釈することを前提に記述されてきたし、AIツールが責任を分散・回避するよう設計されていたとしても、結局法律は責任を負うべき人間を見つけ出して処罰するだろう。AIブームが過ぎた後の現実は、1) 企業と国家が責任分散を試み、2) 副作用の事件が起こり(自動車事故、差別的アルゴリズム、データ流出など)、3) 裁判所が責任を人間に帰し、罰金や処罰を科し、4) 他の企業が危険を感じてAIを制限する、という流れになるはずだ。そうした流れの中で、AIツールは人間の責任という枠組みの中で生き残る運命にある
25年以上フリーソフトウェア開発者として活動してきて、さまざまなライセンスを楽しんできた。映画監督で視覚芸術家の配偶者もいるが、自分はAI関連コンテンツには一切手を出さず、ゴミだと思っている。関わりたくないという立場を明確に表明
Konwinski Prizeのように、オープンソースLLMがnovel Github issueの90%以上を解決できたら100万ドルを支払うチャレンジは興味深い。Konwinski Prize大会 参照。現時点では最高のモデルでも0.9ではなく0.09点にすぎず、実戦投入にはまだ遠いと見る。オープンソースが商用よりやや性能が低くても、なおLLMが独立してコードを書くのはまだ不可能に近い。ゴミを量産する面もあるが、評価や管理の必要性があるという意味では役に立つ
反復的なボイラープレートコーディングをAIが代行してくれても、今度はその退屈なAIコードレビューが繰り返されるだけで、面白くなくなり、所要時間も大差なく、理解もしにくい状況
AI開発を擁護する人たちは、結局コーディングよりコードレビューの方が好きなのだろう。個人の好みかもしれないが、それ自体が苦痛に感じられる
正確に言えば、大量のコードレビューは通常、自分で書くより時間がかからない。特にコードがテストを通る場合はそうで、テストコードもLLMで生成できるため、負担は軽減される
ClaudeやGeminiなどは、自分でコーディングするよりはるかに速く、2回以上見直したとしても、自分で書く時間より少なくて済む
以前は「ヤクの毛刈り」的な反復作業のためにコードを書いていたが、今では雑に刈られた「ヤク」をレビューする現実になった
全体として、より大きなエネルギー消費/炭素排出は避けられない
機械翻訳および音声認識分野の話。ほとんど聴覚障害に近い立場として、私はこの技術を一日中活用している。80年代のドラマを字幕なしでは楽しめなかったが、WhisperのようなLLMを使って映像から字幕を得られるようになり、以前は想像しかできなかったことが現実になった奇跡を実感している
最新の音声認識や翻訳のSOTAは、依然として単一タスク向けの特化モデルが優勢だが、その差は急速に縮まっており、LLMははるかに多様な作業をこなせる。(例として 音声認識リーダーボード 参照)、LLMは広い可能性を開いている
何年もの間、Dragonなどさまざまな音声認識を試してきたが、どれも驚きはあっても実用では不便だった。WhisperとLLMの組み合わせが、初めて実際の有用性をもたらした。まだ完璧ではないが、自分で手直しする作業は10分の1に減り、個人用ノートなら今では確認すらしないほど便利になった
まだ本当に高リスクな業務(例:海外での労働契約、警察への供述など)をLLM翻訳だけに頼ることはないと思う。昔から音声→テキストは存在していたし、技術の進歩は体感できるが、日常的で低リスクな用途にとどまり、SF小説のような星間交渉に使うレベルにはまだ遠いという判断
私も、最近の技術進歩は本当に子どもの頃にSFで見た約束を実現しつつあると感じる。数日前、見知らぬ街でレストランのメニューの写真を撮り、中国語の手書きを抽出し、英語に即座に翻訳し、注文したい料理の発音まで学んで注文できた。2年前までは不可能だったと断言できる
翻訳こそLLMの完璧な活用分野だと思う。LLMは社会的概念、文化的文脈、ポップカルチャー、希少なリファレンスまで幅広く踏まえ、複数の言語圏・文化圏に合わせたさまざまな訳文まで作れる。従来の翻訳よりすでにはるかに先を行っていると確信している