手書きコードからAI管理のソフトウェアへ:DHHがClaudeを使ってPythonライブラリを書き換え

1年前、Railsの創設者であるDavid Heinemeier Hansson(DHH)は、手書きコードの楽しさを最も積極的に擁護する開発者の一人でした。今、彼の立場は大きく異なっています。

发布于 2026年8月17日generalGEO 评分: 07 次阅读
手書きコードからAI管理のソフトウェアへ:DHHがClaudeを使ってPythonライブラリを書き換え

手書きコードからAI管理型ソフトウェアへ:DHHがClaudeでPythonライブラリを書き換え

はじめに

1年前、Rails創設者のDavid Heinemeier Hansson(DHH)は、手書きコードの楽しさを守る著名な開発者の一人だった。

今や彼の立場は大きく変わった。

Claude CodeやCodexとより長く接した後、DHHは最近Claude Fable 5を使ってPythonライブラリTerminalTextEffectsをRustで書き換えた。ソース記事によると、このプロジェクトは約1100万トークンを消費し、主に無人監視のエージェントワークフローで完了した。

結果は注目に値する:起動時間は87ミリ秒から2ミリ秒に短縮され、レンダリング速度は約9.6倍向上したと報告されている。

この実験はまた、より大きな疑問を提起した。経験豊富なプログラマーが大規模な書き換えタスクをAIエージェントに委ね、ほぼ直接介入することなく実用的な結果を得られるのであれば、5年後にプログラマーは一体何をすればよいのだろうか?

キーボードをAIに渡して引退?

DHHの昨年の立場との対比は明らかだ。

2025年5月、彼は**「プログラミングは感覚であるべきだ!」**を発表し、AIはペアプログラマーに近い存在であるべきだと主張した:APIを調べたり、質問に答えたり、特定の問題を解決するのに適しているが、コードを書くという行為そのものを置き換えるべきではない。

ソース記事はより強い立場を引用している:開発者が最終的にキーボードを完全にAIに渡さざるを得なくなるなら、DHHは引退を選ぶと述べたという。

Lex Fridmanとの6時間の対談で、DHHはAIが繰り返しコードを生成する際に「筋肉記憶」を失う感覚についても語った。

その一例がLinuxディストリビューションの構築に関するものだ。彼はAIに同じBash条件文を何度も生成させたが、自分で実際にその文を触っていないため、内心では本当に学んだとは感じなかった。

これは彼により深い問いをもたらした:AI支援プログラミングは、開発者がソフトウェア工学を学ぶ方法を徐々に弱めていくのだろうか?

しかしソース記事によると、2026年4月までに彼の立場はエージェント優先のワークフローへと移行した。

現在、彼は公にこう問いかけている:キーボードが主要なインターフェースではなくなったとき、ソフトウェア開発はどのような姿になるのか?

Claude Fable 5がPythonライブラリを解体しRustで再構築

DHHが選んだプロジェクトはTerminalTextEffects(TTE)、端末視覚効果エンジンで、コマンドラインアプリケーションとしてもPythonライブラリとしても使用できる。

TTEはテキストの移動、色、グラデーション、アニメーション、その他の端末視覚効果を提供する。公開リポジトリではこれを端末視覚効果エンジンと説明し、CLIとPythonライブラリの両方の使用方法を文書化している。

ソース記事によると、DHHはClaudeにこのプロジェクトをRustで書き換えるよう依頼した。

その結果生まれたRustプロジェクトはttfxという名前で、DHHのOmarchy組織の下に置かれている。記事によると、新バージョンは37種類のエフェクトを実行でき、約3MBの実行可能ファイルとしてパッケージ化されており、Pythonランタイムは不要だ。

報告された実行時間は約3時間11分

Rust実装には約21,000行の主要コードが含まれており、元のPythonバージョンの規模に近い。

コードベース。

ワークフローも従来の「AI自動補完」とは根本的に異なる。

ソース記事では、8つのエージェントが独立したブランチで並行して作業したと述べられている。それぞれがコードを読み、実装を生成し、コンパイル結果を確認し、テストを実行し、失敗を修正して、次のラウンドに進む。

この意味で、「一発で完了」という表現は、AIが単一の生成で全てを生み出したことを意味するわけではない。DHHがタスクを委譲し、エージェント自身に開発サイクルを担わせたことを指している。

Codexにも同じタスクが与えられた

DHHはCodexでもこの実験を繰り返した。

ソース記事によると、1つのプロンプトで別の強力な結果を生み出すのに十分だった。ただし、Codexバージョンは約30%長くかかり、コストは約43ドル、約290元だったと報告されている。

この比較は価値がある。なぜなら、「AIプログラミングは魔法か、さもなければ悲惨か」という単純化された見方から注意をそらすからだ。

異なる2つのプログラミングエージェントが同じ広範なタスクを与えられ、速度、コスト、ワークフロー行動に差異がありながらも、実用的な結果を生み出すことができる。

Anthropicチームもこの実験に注目した。

報告によると、Claude Codeの創作者Boris Chernyがこの結果に公に応答し、Anthropicの研究者ThariqはDHHに、この書き換えにどれだけの計画やワークフロー設計を投入したかを尋ねた。

DHHの回答はおそらく最も驚くべき部分だ。

彼は基本的にClaudeに計画を立てさせ、その後は放っておいたと述べた。

精巧に設計された事前構築ワークフローも、手動で定義されたマイルストーンの長いリストも、継続的な介入による誘導もなかった。

このアプローチは、意図的にハンズオフの姿勢を取っている。

一発で完了することは盲目的であることを意味しない

ここに重要な区別がある。

完全に自律的なコーディングタスクでも、エージェントが成功の基準を判断するのに十分な情報を持っていることに依存する。

ソース記事によると、DHHはまずClaudeに計画を立てるよう依頼し、その後エージェントに実行、テスト、反復を任せた。

これは、次の10行のコードを生成するよう自動補完システムに要求するよりも、ソフトウェアエンジニアリングプロジェクトの委任に近い。

このエージェント型開発スタイルは主に以下に依存する:

  • 理解可能な構造を持つコードリポジトリ。
  • 強力な自動テストスイート。
  • 明確なビルドおよび実行コマンド。
  • ブランチの作成と変更のマージ機能。
  • 失敗を確認して再試行できるエージェント。

これらの基盤がなければ、「一発で完了」する自動化ははるかに信頼性が低くなる。

より大きなデモ:Bunの百万行移行

TerminalTextEffectsはまだ比較的小規模なプロジェクトだ。

そこでソース記事はより大きなケースを指し示している:Bun、Jarred Sumnerによって作成されたJavaScriptランタイム。

Bunは歴史的にZigを中心に構築されてきた。2026年、そのコードベースはRustへの大規模な移行を経験し、AIコーディングエージェントが広範囲に使用された。

ソース記事はこの作業を約百万行の移行として説明し、2週間未満で完了したとしている。

その後の公開記録は、BunのRust書き換えがメインリポジトリに統合されたことを確認している。GitHub上の書き換えに関するプルリクエストは2026年5月14日にマージされ、この移行により従来のZig優先のビルドパスがRust優先のアーキテクチャに置き換えられた。

移行は単純な「AIがBunを書き換えた」よりもはるかに緻密だ。

Jarred Sumnerの公開された説明(Simon Willisonが要約)は、動的なタスク分解、ドライラン、対抗的レビュー、反復的な検証を含む複雑な主体性ワークフローを示している。

これは意味のある区別だ。

大規模なAI支援ソフトウェア移行には、依然として相当なエンジニアリングアーキテクチャが必要である。違いは、周辺システムが十分に設計されれば、実装作業の大部分をエージェントに委任できるようになったことだ。

コードの限界費用はゼロに向かっている

ソース記事はこれらの例からより大きな結論を導き出している。

コーディングエージェントの能力が向上するにつれて、別の実装を生成する限界費用は低下し続ける。

コード生成はますます安価になっている。

テスト、リファクタリング、言語間の移植、欠陥に対する反復は、ますますエージェントによって並行して実行できるようになっている。

これはソフトウェア開発のコスト構造を変える。

問題はもはや単に:

このコードを書くためにどれだけの開発者を雇えるか?

ではなくなっている。

ますます次のようになっている:

1人の開発者が、どれだけの有用なソフトウェアタスクをAIエージェントのチームに委任できるか?

これがAI支援プログラミングからAI管理型ソフトウェア開発への移行である。

次世代のプログラマーはドラゴンの調教師のようになるかもしれない

明白な恐怖は、直接コードを書いたり読んだりする人が減れば、プログラマーは消滅するということだ。

ソース記事は、この結論は単純すぎると考えている。

「誰もコードを手書きしない」ことは「プログラマーがいない」ことを意味しない。

仕事の内容が変わることはあり得る。

1日の大半を行単位で機能を実装することに費やす代わりに、開発者はより多くの時間を以下に費やすかもしれない:

  1. 構築すべき内容の定義。
  2. 制約とインターフェースの設定。
  3. テスト体系の設計。
  4. アーキテクチャとトレードオフの検討。
  5. AIが生成したコードが実際に正しいかどうかの確認。
  6. 何を自動化すべきか、何を自動化すべきでないかの決定。

このモデルでは、希少なスキルはもはや構文を打ち込むことではない。

何を構築する価値があるのか、そして正しい振る舞いが実際に何を意味するのかを知ることである。

AIがコードを書くとき、何が価値を持つのか?

実装がますます安価になるにつれて、他のスキルがより価値を持つようになる。

プロダクト判断力

どの問題を解決する価値があるのかを決める人は依然として必要だ。AI

10個の実装を素早く生成することはできますが、それによってどの問題にビジネス価値があるのか、どのトレードオフが重要か、あるいはどの機能を優先して構築すべきかが分かるわけではありません。

システム設計

エージェントは関数やクラスを書くことができますが、より大きなシステムには依然として境界、インターフェース、データモデル、デプロイ規則、信頼性要件が必要です。

テスト

AIが生成できるコードが増えれば増えるほど、自動テストの重要性は高まります。

強力な検証レイヤーがなければ、コーディング速度を上げることは、バグが発生する可能性のあるコード量を増やすだけです。

技術的な方向性

エージェントにどのような制約を守らせるかを誰かが指示しなければなりません。

これには、パフォーマンス予算、互換性要件、セキュリティ境界、依存関係、そして長期的な保守目標が含まれます。

言い換えれば、人間の役割は抽象度のレベルで上方へ移動します。

未来はコーディングそのものよりも、むしろ

導くことについて

ソース記事の例は、プログラミングの別の定義を指し示しています。

開発者は依然としてコードを深く理解する必要があるかもしれませんが、主要な成果物はもはや必ずしもソースファイル自体ではありません。

成果物とは、正しいソフトウェアを出現させるための要件、制約、テスト、そして判断のシステムです。

だからこそ、手作業でのコーディングが中心でなくなっても、経験豊富なエンジニアには価値があり続ける可能性があります。

アーキテクチャ、障害モード、ユーザーニーズ、システム動作を理解している人は、自律型コーディングエージェントを指揮する能力に長けています。

よくある質問

DHHは本当にAIでPythonライブラリを書き換えたのですか?

ソース記事によると、その通りです。Railsの創設者であるDavid Heinemeier Hansson氏は、Claude Fable 5を使用し、高度に放任的なマルチエージェントワークフローを通じて、TerminalTextEffectsをPythonからRustに書き換えました。

TerminalTextEffectsとは何ですか?

TerminalTextEffects(略称TTE)は、ターミナル向け視覚効果エンジンであり、Pythonライブラリとしても利用できます。公開ドキュメントには、テキストの移動、色、グラデーション、アニメーション、その他のターミナル視覚処理のエフェクトが説明されています。

Rustへの書き換えは、通常のAIコーディングとどう違うのですか?

ソース記事では、複数のエージェントが独立したブランチで作業し、コードをコンパイルし、テストを実行し、失敗を修正し、結果をマージしたと説明されています。重要な違いは、AIが散発的なコード行を提案するだけでなく、開発サイクルの大部分を処理したことです。

Codexも書き換えを完了しましたか?

ソース記事によると、DHH氏はCodexにも同じような広範なタスクを割り当て、こちらも優れた結果を得ました。所要時間は約30%長く、コストは約43ドルだったとされています。

BunもAIエージェントで書き換えられましたか?

はい。Bunの大規模なZigからRustへの書き換えは、多数のAIエージェントの支援を受けて行われ、書き換え後のRust優先のコードは2026年5月にメインリポジトリにマージされました。

AIがコードの大半を書くなら、プログラマーは消えてしまいますか?

必ずしもそうではありません。考えられる変化は、プログラマーが実装の詳細を入力する時間を減らし、要件、制約、アーキテクチャ、テスト、受け入れ基準の定義に時間を費やすようになることです。

AIコーディングワークフローにおいて、最も重要なスキルは何ですか?

強力なシステム設計、テスト、デバッグ、プロダクトの判断力、そして明確な制約を定義する能力が特に重要になります。AIが生成したコードをレビューし検証する方法を知ることも極めて重要です。

関連ツール

  • Claude Code:Anthropicのエージェント型コーディング環境。リポジトリレベルのソフトウェア開発作業向け。
  • OpenAI Codex:OpenAIのコーディングエージェント。複数ステップのソフトウェア開発タスク向け。
  • TerminalTextEffects:ソース記事で議論されているPythonターミナルエフェクトプロジェクト。
  • Bun:2026年にZigからRustへの大規模な書き換えを完了したJavaScriptランタイム。
  • Rust:TTEとBunの実装の書き換えに使用されたシステムプログラミング言語。

関連リンク

ドキュメント](https://chrisbuilds.github.io/terminaltexteffects/):プロジェクトの使用・開発ドキュメント。

まとめ

DHHによるTerminalTextEffectsの実験は、AIプログラミングエージェントがソフトウェア作業の単位をどのように変えることができるかを示す有益な例です。開発者はAIに一度に1つの関数を書かせるのではなく、リファクタリングや移行作業全体をエージェントのチームに委任することが増えています。

Bunの書き換えは、より大規模なスケールで同じ方向性を示しています。リポジトリ、テスト、ツール、ワークフローが十分に強力であれば、AIは現在、広範で複数ステップのソフトウェアエンジニアリング作業に参加できるのです。

最大の変化は、AIがより多くのコードを書くようになったことではなく、プログラマーの仕事がコードを書くことから、コードが実現すべき目標を定義し、それが実際に目標を達成したことを証明することに移行したことかもしれません。