Claude Codeの開発経緯について(A conversation on Claude Code)
A conversation on Claude Code
対談者:
- Boris Cherny (Claude Code)
- Alex Albert (Claude Relations)
(元動画リンク:https://youtu.be/Yf_1w00qIKc?si=0qXNpHsh-lkXUZbC)
社内ツールから製品への道のり
Anthropic社内で、Claude Codeをリリースするかどうかの議論が行われていました。このツールは、社内のエンジニアや研究者が日常的に使用している開発ツールでした。開発者のBoris氏によると、最初は小さなチーム内で使用されていました。
その後、Anthropic全社員に提供されると、DAU(Daily Active Users)チャートが3日間連続で大幅に上昇しました。この結果を受けて、外部ユーザーにも試用してもらい、非常に良好なフィードバックを得ることができました。
ターミナルベース設計の理由
Claude Codeがターミナルベースになった背景には、Anthropicの多様な開発環境がありました。社内にはZed、VS Code、Vimなど、様々なエディターやIDEを使用するエンジニアが存在していました。全員が使える共通のインターフェースとして、ターミナルが選択されました。
ターミナルは最も汎用的で、既存のワークフローに組み込みやすい特徴があります。また、シンプルな設計により、開発チームは素早く反復改善を行うことができました。
エージェント型システムの概念
Claude Codeは、従来のコード補完ツールとは根本的に異なるアプローチを採用しています。「スーパー・エージェンティック(super duper agentic)」と呼ばれる仕組みで、単なる行補完ではなく、複数のステップを自律的に実行します。
ユーザーからの問い合わせに対して、Claude Codeはbash、ファイル編集、ファイル読み込みなど、複数のツールを使用してコードベースを理解し、必要な変更を実行します。これにより、コーディング作業の効率が大幅に向上します。
Claude 4による技術的改善
Claude 4モデルの導入により、大きな性能向上が実現されました。最も重要な改善点は、ユーザーの指示に対する理解力と実行精度の向上です。
以前のClaude 3.7 Sonnetでは、指示の意図を正確に理解するために複数回の修正が必要な場合がありました。例えば、「テストを書いて」と依頼すると、すべてをモック化してしまい、意図とは異なる結果になることがありました。
Claude 4では、初回で意図を正確に理解し、適切な結果を返すようになりました。Boris氏によると、Claude Codeが正確なテストを作成してくれるため、手動でのテスト作成が不要になったとのことです。
プログラミングの歴史的変遷
Boris氏の祖父は、1940年代のソビエト連邦で初期のプログラマーとして働いていました。当時はパンチカードを使用してプログラミングを行っており、ソフトウェアベースのプログラミングはまだ存在していませんでした。
Boris氏は、プログラミングの進化を以下のように整理しています:
- 1940年代: パンチカード
- 初期段階: アセンブリ言語
- 1980年代: Java、Haskellなどの型付き言語
- 1990年代: JavaScript、Pythonなどのインタープリター言語
- 現在: プロンプトベースのプログラミング
現在の変化は、コードを直接記述することから、コードを生成するエージェントを管理することへの移行だと説明されています。
開発における協働関係の変化
Claude Codeは、従来のツールを超えて、同僚のような役割を果たすようになっています。GitHub統合により、チームメンバーに依頼する代わりに、Claude Codeに直接タスクを依頼することが可能になりました。
この変化により、プログラマーの役割も変化しています。コードを完全に制御することから、エージェントを指揮することへのシフトが求められます。しかし、この変化により、より迅速に多くの作業を遂行することが可能になります。
開発チームの哲学
Claude Code開発チームは「dogfooding」の原則を重視しています。Claude Code自体が、Claude Codeを使用して開発・改良されています。
開発チームが日常的に使用しているツールかどうかは、製品の品質に大きく影響します。実際の使用体験を通じて、継続的な改善が行われています。
今後の開発方向
Claude Codeの将来について、開発チームは2つの主要な方向性を検討しています。第一に、より多くの開発ツールとの統合強化です。第二に、簡単なタスクに対するアクセシビリティの向上です。
Claude Codeは、従来のコード補完ツールの範囲を超えた存在として発展しています。ターミナルという汎用的なインターフェースを通じて、様々な開発環境で一貫した体験を提供し、プログラミングの未来を形作っています。