AI論争

「コードを読む」:ハシモト氏が警鐘を鳴らすAIコードレビューの境界線

Mitchell Hashimoto氏の「コードを読む」というXの投稿を巡り、AI生成コードの検証責任や、開発者の役割がコードの執筆からレビューへと移行する現状についてエンジニア間で議論が交わされています。本記事では、モック開発の実態や、「エージェント精神病」と称されたレンダラー実験を検証します。

投稿日 2026/7/11

2026年7月11日時点の情報。本分析記事は、開発者のワークフローの移行、エージェント型コーディングに関する議論、およびソフトウェアの検証手法を追跡するために四半期ごとに更新されます。


主要なポイント

  • 議論の契機: 自身の開発におけるAI活用の評価基準をX(旧Twitter)で問われたGhostty開発者のMitchell Hashimoto氏は、「コードを読む」と一言で回答しました。
  • 実際のワークフロー: 本番用コードをAIに自動生成させるのではなく、Hashimoto氏はLLMを一時的なモック(動く試作品)の作成にのみ使用し、最終的なコードはゼロからすべて手書きで再構築しています。
  • 「エージェント精神病」への警告: ループ実行されたAIエージェントが「描画処理時間を88msから2msへ短縮し、メモリ割り当てを15万から500へ減らした」と報告した際、同氏は安易な信頼を戒め、Go言語でロジックを手書きして動作を検証しました。
  • エンジニアの役割の変化: 一連の議論は、開発者の職務が「コードを書くこと」から、確率論的なマシン出力を検証する「編集・査読」へとシフトしている現状を浮き彫りにしています。

ソフトウェアエンジニアリングコミュニティでは、日々の開発ワークフローに人工知能(AI)をどのように組み込むべきかを巡り、大きな意見の相違が生じています。人間の介入なしに自動でコードを書き、プルリクエストを送信する「自律型エージェント」を推奨する声がある一方で、あるバイラルなやり取りをきっかけに、手動による検証の必要性へと再び注目が集まっています。

議論の火種:「成功をどう測定するのか?」

発端は、ターミナルエミュレータ「Ghostty」の作者であり、HashiCorpの共同創業者でもあるMitchell Hashimoto氏が、ソフトウェア開発におけるLLMの使用方法についてX上で回答したことでした。あるユーザーが、AIモデルが出力したコードの品質をどのように測定し、どのようにバグを検知しているのかと質問したところ、Hashimoto氏は極めてシンプルに答えました。

「コードを読む。」

このわずか2ワードの回答は、Hacker News、Reddit、そしてX上で大きな波紋を呼びました。多くのエンジニアにとって、この言葉は「生成モデルがどれほど高度化しようとも、最終的な動作検証の責任を負うのは人間である」という冷徹な事実を再認識させるものとなりました。

この懐疑的なアプローチは、以前にHashimoto氏がオープンソースコミュニティにおける無検証の自動コード送信を告発した、Mitchell Hashimoto氏が暴露したオープンソースAIスロップパイプライン の検証と完全に一致しています。

使い捨てのスケッチブックとしてのAI:ハシモト氏の実際のワークフロー

ネット上の一部では、Hashimoto氏が複数のAIモデルを連携させた複雑な自動化スタックで製品コードを書いているかのように誤解されることもありますが、同氏の実際のアプローチは極めて現実的です。最近のインタビューで、同氏は自身のAI使用について、生産体制に組み込まれた自動システムではなく、単なる「使い捨ての高速プロトタイピング」ツールであると説明しています。

Hashimoto氏は、LLMを使って「出力結果が完全にゴミであるような、雑なデモ(sloppified demos)」を素早く構築すると述べています。目的はそれをそのまま本番に投入することではなく、「特定の機能案や設計方針が、試してみる価値があるかどうか」を即座に検証することにあります。

デモで方向性の正しさが確認された場合、同氏はAIが生成したコードを容赦なくすべて破棄し、最初から自分の手で丁寧に実装を書き直します。この手法は、AIを自動化された「コード工場」ではなく、アイデアを書き留める「デジタルスケッチブック」として位置づけており、人間のメンテナがコードベースの細部まで完全に把握したクリーンな状態を保つことができます。

自動最適化の限界:「エージェント精神病」という警告

マシンが生成したコードを盲信することの危険性を示すため、Hashimoto氏はソフトウェアレンダラーの最適化実験を共有しました。同氏は、自動コーディングエージェントをループ処理で実行し、自身のコードベースの最適化を試みました。

エージェントは驚異的な結果を報告し、フレーム描画時間を88msから2ms(約44倍の高速化)へ短縮し、メモリ割り当てを約15万回からわずか500回へと激減させました。しかし、この素晴らしい数値を目にしたHashimoto氏は、歓喜するどころか強い不信感を抱き、この現象を「エージェント精神病(agent psychosis)」と呼びました。

同氏の投稿は、エージェントが提示する都合の良い数値を、内部構造を精査せずに鵜呑みにすることへの明確な警告となりました。実際、同氏はエージェントの処理が本当に論理的に正しいかを確かめるため、同じ制約下でレンダラーをGo言語で手書きしてロジックを自ら検証しました。

この実験は、現在のAIコーディングアシスタントの致命的な限界を浮き彫りにしています。AIは、一般的な最適化パターンを瞬時に適用する「タイピング加速装置」としては極めて優秀ですが、論理的な欠陥やサイレントエラーを出さずに、第一原理に基づいて高性能なアーキテクチャを一から設計する思考力は備えていません。

コードを読む度合い:開発者の3つのアーキタイプ

「コードを読む」論争に対する反応から、コードの検証レベルは単純な二者択一ではないことが分かります。現在、開発現場のワークフローは主に以下の3つのアプローチに整理されつつあります。

1. 「バイブコーディング」による探索

初期段階のプロトタイプ作成や、簡単な社内ユーティリティツールなどでは、コードを厳密に読む必要性は低くなります。バイブコーディング (vibe coding) を実践する開発者は、コード品質よりも動作速度やユーザーからの初期フィードバックを最優先します。これは、Hashimoto氏の「アイデアを試したらコードを捨てる」というアプローチの探索フェーズと合致します。

2. すべての行の手動検証

基幹システムや、ターミナルエミュレータ、セキュリティに直結するソフトウェアなどでは、エンジニアは1行残らずコードを検証する必要があります。パフォーマンスが極めて重視される環境では、未検証の自動生成コードが紛れ込むと、後からのデバッグが極めて困難な予測不能の挙動を引き起こすためです。メモリ割り当てや実行スレッドの制御は、人間にしか委ねられません。

3. ハーネス主導の中間アプローチ

多くの開発者が採用し始めているのが、構造やAPIの型定義を人間が設計し、その結合ロジック(ハーネス)を手書きした上で、内部の個別関数のみをAIに自動生成させるハイブリッド手法です。

このアプローチでは、トークン消費とコストのバランスを考慮し、米国の開発者たちが中国製AIモデルを導入 するように、最適化された複数モデルの組み合わせが活用されます。

コンパイラ比較の誤謬

AI生成コードを読まないことを正当化する論理として、「LLMはコンパイラと同じである」という主張がしばしばなされます。コンパイラが出力する機械語やアセンブリを人間がいちいち読まないのだから、LLMが出力するソースコードも読む必要はないという意見です。

しかし、多くの開発者はこの比較が根本的に誤っていると反論します。コンパイラは決定論的(deterministic)なツールであり、定義された文法規則に従ってソースコードを忠実に変換します。対照的に、LLMは確率論的(probabilistic)なエンジンであり、学習データから推測される「最もそれらしいテキスト」を出力するに過ぎません。そのため、本質的にハルシネーション(幻覚)やバグを含みやすく、これらをコンパイラと同等に扱うことはシステムの安全性に致命的なリスクをもたらします。米国のAIベンダーによる Claude Fable 5の従量クレジット制への移行 など、APIの価格構造が変化する中でも、開発者はAIによる高速化が「長期的な技術負債と保守コスト」に見合うかどうかを常に検証しなければなりません。


FAQ

「コードを読む」論争とは何ですか?

AIが生成したコードを人間が検証することなく本番環境に自動展開する手法に対し、人間のエンジニアが手動でソースコードを読み、論理チェックを行う重要性を主張する開発者間の議論です。

Mitchell Hashimoto氏は本番コードの執筆にAIを使用していますか?

いいえ。Hashimoto氏は一時的な機能検証や試作(雑なデモ)の作成にのみAIを使用し、本番環境向けのコードはすべて手書きで書き直しています。

なぜAIをコンパイラに例えるのは間違っているのですか?

コンパイラは厳密な規則に基づいて動作する決定論的ツールですが、LLMは確率に基づいて文章を予測する確率論的エンジンであり、誤ったコードをそれらしく出力するリスクが常にあるためです。

ハシモト氏の「エージェント精神病(agent psychosis)」警告とは何ですか?

AIエージェントが描画速度を驚異的に向上させたと報告した際、内部の処理を精査せずにその数値を信用することを戒めた警告です。同氏はロジックの正しさを保証するため、自身で同じ処理をGo言語で実装し直して検証を行いました。


情報源

著者について

Ether Exter は、AIモデルの性能評価と実験に5年の実績を持つAIアナリストです。実用性に基づく中立的な視点で最新モデルの評価を行っています。Xアカウント: @EtherExperiment

記事の続き

おすすめ記事