Claude Code に関する対談

Anthropic・Claude・ダリオアモデイ
この記事は約19分で読めます。

この書き起こしは、Anthropic の Alex と Boris による Claude Code に関する対談である。Claude Code はターミナル内で動作するエージェント型のコーディングツールで、従来のコード補完とは異なり、開発者の指示に基づいてファイル探索から編集まで自動的に実行する。元々は Anthropic 社内で使用されていたツールが一般公開されたもので、Claude 4 モデルの登場により精度が大幅に向上し、GitHub Actions との統合も可能となっている。対談では Claude.md ファイルによる記憶機能や、ソフトウェア開発における「コードを書く」から「エージェントを指揮する」へのパラダイムシフトについても言及されている。

これは秘伝のソースなのでしょうか。本当に人々に提供したいのでしょうか。なぜなら、これは Anthropic の全員が毎日使っているのと同じツールなのですから。

こんにちは、私は Alex です。Anthropic で Claude リレーションを担当しています。

そして私は Boris です。技術スタッフの一員で、Claude Code の作成者です。

今日は Claude Code についてお話しします。

Boris さん、まず Claude Code とは何か、そしてどのようにして生まれたのかを教えてください。

Claude Code はターミナルでエージェント型コーディングを行う方法です。新しいツールを採用する必要も、新しい ID を使う必要も、特定のウェブサイトを使う必要もありません。エージェント型コーディングそのものであり、あなたが作業する場所でどこでも機能します

これは実際に、Anthropic のエンジニアと研究者が仕事を成し遂げるためにツールを使う方法から生まれました。人々は実にさまざまなスタックを持っているからです。とても奇妙なことに、誰もが使う標準的なスタックというものが存在しません。Zed ID を使う人もいれば、VS Code を使う人もいます。そして「僕の Vim は絶対に手放さない。冷たくなった僕の手からこじ開けてくれ」という人もいます。

私たちは誰にでも機能するものを作りたかったのです。それでターミナルにたどり着きました。

なるほど、ターミナルはすべてのインターフェースの中で最も汎用的で、柔軟性があり、すでに誰の作業フローにも組み込まれているということですね。

まさにそうです。そして偶然にも最もシンプルでもあります。非常にシンプルなので、非常に高速で反復できます。振り返ってみると良いことでしたが、最初からの意図ではありませんでした。

興味深いですね。もし私が新しい開発者で Claude Code を使いたい場合、実際にこの製品を動作させるにはどうすれば良いのでしょうか。

とても簡単です。NPM からダウンロードするだけです。npm install -g @anthropic-ai/claude-code で、少し呪文のようですが。ダウンロードして、システムに Node.js が必要で、多くの人が持っているものです。それだけです。開いて、あとはすべて案内してくれます。

すごいですね。ターミナルに「Claude」と入力してエンターを押すだけで、Claude が残りのプロセスを案内してくれて、話しかけるだけでコーディングを開始してくれるということですね。

まさにその通りです。インストールして、Claude を実行するだけです。Claude はどのターミナルでも動作します。おっしゃったように、iTerm2 でも Apple ターミナルでも、使っているどのターミナルでも、SSH セッションや TMUX セッション内でも動作します。

実際に、人々が Claude Code を使う最も人気のある方法の一つはID ターミナル内です。例えば VS Code ターミナル内で Claude を実行すると、より強力になります。ターミナルでファイル編集を見る代わりに、IDE 自体で美しく大きく見ることができます。

興味深いですね。

また、その IDE からより多くのシグナルを使って Claude をより賢くしていますが、体験は同じで、ターミナルで Claude を実行するだけです。

多くのことがありますが、詳しく聞く前に、Claude Code を 2 月にリリースしました。

はい。

3 か月強が経ちました。どうでしたか。コミュニティからの反応はどうでしたか。

もう狂気じみていて、予想外でした。しかし、リリース前はリリースすべきかどうか確信が持てませんでした。これは社内では、エンジニアと研究者を非常に生産的にするツールで、議論していました。これは秘伝のソースなのでしょうか。本当に人々に提供したいのでしょうか。なぜなら、これは Anthropic の全員が毎日使っているのと同じツールなのですから。

正しい判断だったと思います。人々をより生産的にし、人々が気に入っているからです。

リリースしなければならないと確信した瞬間はいつでしたか。

小さなグループから始まり、コアチームの数人だけが使っていました。ある時点で、全 Anthropic 従業員に提供しました。DAU チャート、つまり従業員を見るデイリーアクティブがあって、3 日間まっすぐに垂直でした

すごいですね。

「これは狂気だ。これはヒットだ」と思いました。ある時点で、私たちが狂っているのか、これは有用なのかを確認するために、外部の数人に提供しました。すべてのフィードバックが非常にポジティブで、かなり明らかでした。

つまり、まず Anthropic 内で本当に火がつき、すべてのエンジニア、すべての研究者が自ら使っていて、それで世界に出すべきことが非常に明らかになったということですね。

はい、そうです。そしてそれが私たちがこれを開発した大きな方法でもあります。Claude Code は Claude Code を使って書かれています。Claude Code のコーディングのほぼすべてが Claude Code を使って書かれ、書き直され、書き直されています。私たちはドッグフーディングを非常に重視しています。とても重要なことで、明らかにドッグフーディングされた製品を使うとき、それを感じることができます。

私が毎日使う製品では、これはチームがいつも使っているものだ、これはそうではない、ということを感じることができます。私たちはこれを、手に取って試したときに明らかで、たくさんの愛情が注がれ、私たち自身が使っているものだと分かる製品の一つにしたかったのです。

現在、理想的な Claude Code の顧客は誰だと思いますか。誰が Claude Code を使っていますか。どのようなタイプの人でしょうか。どのようなタイプの開発者でしょうか。

Claude Code はかなり高価だということが最大の要因だと思います。週末にコーディングしているなら、少し試すことができます。API キーを取得して 5 ドル入れれば、試すことができます。しかし、より本格的な作業に使いたい場合、月に 50 ドル、100 ドル、200 ドルかかります。大きな幅があります。何に使っているかによります。

しかし、一般的には月 50 ドル程度を想定してください。多くの企業が使っており、大企業にいる場合、非常に良い適合になる傾向があります。大きなコードベースで素晴らしい働きをします。インデックス作成のステップもありません。追加で設定することもありません。実行するだけで、あらゆる言語のほぼすべての大きなコードベースで箱から出してすぐに動作します。

Claude Max との統合について教えてください。これはどう機能するのでしょうか。

私たちが発見したことの一つは、人々が API キーを使ってこれに支払っているとき、使用量を少し心配していました。望むほど使っていませんでした。そこで、Claude Code を Claude Max の一部として出荷しました。Max サブスクリプションに支払います。

月 100 ドルか 200 ドルで、価格帯を選択でき、異なる使用制限があります。そしてほぼ無制限の Claude Code が得られます。実用的には、レート制限に引っかかることはありません。引っかかる人はほとんどいません。無制限の Claude Code です。

すごいですね。Claude.ai と Claude Code アカウント間で統一されて、一つのサブスクリプションパッケージになっているということですね。

まさにそうです。

もし私が開発者で Claude Code を使っていて、コンピューター上で作業しているコードベースがあって、ターミナルに入って「Claude」と入力してエンターを押したら、次に何が起こりますか。

Claude が仕事を始めます。

ツールを使い、出て行って作業をします。多くのステップを踏みます。これまで ID でコーディングアシスタントしか使ったことがなく、アシスタントが行うことが行の補完や数行の補完のような経験に慣れている場合、これはまったく違います。超、超エージェント的です。

Claude はあなたのクエリを理解し、ダッシュ、ファイル編集などの利用可能なすべてのツールを使って、コードベースを探索し、ファイルを読み、必要なコンテキストを取得し、そしてファイルを編集し、あなたが望む変更を行います。

すごいですね。これは過去 20 年や 30 年間のコーディングの方法と比べて、新しい形態のコーディングかもしれませんね。

私にとって、コーディングの旅は古くまで遡ります。長い間コーディングしていますが、私の祖父は実際にソビエト連邦で 1940 年代頃の最初のコンピュータープログラマーの一人でした。

すごいですね。

彼はパンチカードを使ってプログラミングしていました。ソフトウェアでのプログラミングはまだ存在していなかったからです。彼がしていたことは、これらの大きなパンチカードを取って、アメリカには当時の ID のようなこの IBM のものがあって、それを使ってこれらの紙のパンチカードをプログラムしていました。それが彼のプログラミング方法で、毎晩これらを家に持ち帰っていました。

私の母は、私が育つ間に、母がクレヨンでこれらに絵を描いていたという話をしてくれました。母にとって、それが成長体験の一部でした。それ以来、プログラミングは進化しています。パンチカードから始まり、アセンブリがあって、最初の高級言語である COBOL と FORTRAN がありました

そして 80 年代には Java とこれらの型付き言語、Haskell に入り、それは本当にエキサイティングでした。90 年代には JavaScript と Python に入りました。これらは多くの安全性を提供しながらも解釈される言語です。プログラミング言語とプログラミング言語を使う体験が歩調を合わせて進化していると考えています。

Java が登場し始めた頃、例えば Eclipse IDE を見ることができ、最初のタイプヘッド機能を持っていました。文字を入力すると、ドロップダウンが表示され、これかこれかこれを意味するのかという考えでした。人間として、もうコードを読む必要がなくなったので、信じられませんでした。

これを進化として見ています。言語はある程度横ばいになったと思います。すべての現代言語は似たファミリーに属します。言語の大きなファミリーがいくつかあり、一見すると非常に似ています。しかし、体験は今本当に進化していて、パンチカードやアセンブリ、さらにはコードを扱う必要がなく、プロンプトを扱い、モデルがコーディング部分を理解します。これはプログラマーとして私にとって非常にエキサイティングです。

素晴らしいですね。基本的にパンチカードからプロンプトへ移行したということですね。その点についてはいくつか質問がありますが、その前にモデルの側面について少し話したいと思います。つい最近まで、Claude Code は主に Claude 3.7 Sonnet によって動かされていました。今、Claude 4 モデルが Claude Code の内部で動いているということで、これは何を解き放ち、どこに向かっていると思いますか。

モデルが出る数か月前から、内部で試し始めていました。どれほど有能に感じるかに顎が落ちたことを覚えています。解き放たれる新しいユースケースがたくさんあると思います。

ターミナルで Claude Code を同期的に使用するとき、大きな変化の一つはClaude があなたの指示を保持するのがはるかに上手になったことです。プロンプトや Claude.md で何かを指示すると、それを実行し、それに固執する傾向があります。これは大きな変化です。3.7 は野獣のようでした。素晴らしいコーディングモデルでしたが、操縦するのが困難でした。テストを書こうとすると、すべてのテストをモックしてしまい、「いや、そういう意味じゃない」と言うことになります。通常、一度か二度言えば理解しますが、非常に強力だったので価値がありました。

今この新世代の 4 モデルでは、もうそれをする必要がないように感じます。通常、最初の一回で望むことを実行します。Opus は、私の意図を本当によく理解するだけでなく、以前のモデルができなかった多くのことを一発で実行できる Sonnet より一段階上のレベルに感じます。

例えば、数か月間ユニットテストを書いていません。Opus が私のテストを書いてくれるからです。ほぼ毎回、最初に一発で完璧に実行してくれます。これはターミナルでかなり有用です。少しハンズオフにできます。最もクールなユースケースの一つは、GitHub Actions やタスクを与えて、モデルが自分でやって、最初に正しい結果で戻ってくる他の環境で実行することです。それは素晴らしい感じです。

GitHub Actions で、GitHub 内で @Claude して、バックグラウンドでタスクに取り組ませ、結果と新しい PR を持って戻らせることができるということですね。

まさにそうです。

ターミナルで普通に Claude を開き、Claude を実行するだけで、/install GitHub Action を実行すると、このインストールステップを案内してくれます。いくつかのステップがあります。すべて自動です。ボタンを一つか二つクリックするだけで、GitHub リポジトリに Claude アプリをインストールしてくれます。

体験はとてもクールです。どの issue でも Claude をメンションできます。@Claude だけです。毎日 PR で使っています。同僚がプルリクエストを出して、「これを修正してもらえますか」と聞く代わりに、「@Claude、これを修正して」と言うだけで、修正してくれます。

すごいですね。

「テストを書いてもらえますか」と聞く代わりに、それをしなければならないときはいつも少し罪悪感を感じますが、「@Claude、テストを書いて」と言うだけです。もう問題ではありません

それは私には信じられないように感じます。それはまったく新しいプログラミングの側面で、基本的に常にオンデマンドのプログラマーを引き込んで、コンピューター上ではなくバックグラウンドで動作してこれらの問題を修正してもらうことができるということですね。

はい、そうです。同僚プログラマーと相互作用するようにモデルと相互作用することの始まりだと思います。同僚をメンションする代わりに、Claude をメンションするでしょう。

バックグラウンドでこれらすべての Claude Code を管理するモデルに移行するとき、これはソフトウェアエンジニアリングをどう変えるのでしょうか。

少し精神的なシフトが必要だと思います。コードをコントロールすることを本当に愛する人がいて、手書きでコードを書くことに慣れている場合、今、業界はコードを書くエージェントを指揮する場所にシフトしていると思います。手書きでコードを書くよりもコードをレビューすることに関するものです。

人々はこの移行に対処しなければならないと思いますし、プログラマーとして、非常にエキサイティングだと思います。はるかに高速で、はるかに多くのことができるからです。まだ手書きでコードを書かなければならないことがありますが、今はそれを恐れています。Claude がとても上手だからです。

興味深いですね。

モデルがより有能になるにつれて、複雑なデータモデルであったり、システムコンポーネント間の相互作用のような非常に洗練されたもの、プロンプトで入力するのが困難なものが原因で手書きでコードを書かなければならないこれらの窓は、ますます後退し続け、ますます多くのプログラミングがエージェントの指揮についてになると思います。

あなたのワークフローのタイプについてもう少し詳しく知りたいと思います。IDE 統合から、ターミナルでの Claude Code そのもの、GitHub でのこれらのバックグラウンドアクションまで、これらすべての組み合わせを現在どのように使用していますか。

私が行う作業には二種類あると思います。本当に簡単なものがあります。例えば、テストを書いたり、小さなバグ修正をしたりすることです。通常、GitHub issues で Claude に頼みます。

もう一つは、通常いくつかの Claude を並行して実行していることです。コードベースのいくつかのチェックアウトがあり、これらのターミナルタブの一つで Claude に何かを頼みます。Shift-Enter を押して自動受入モードに入り、数分後に戻ってくると、Claude が完了したときにターミナル通知を受け取ります。

おお、すごいですね。

もう少し関与しなければならない二番目の種類の作業があり、これはまだエンジニアリングの大部分だと思います。ほとんどのエンジニアリングは、まだ一発ではできず、まだ困難です。

そこで私がすることは、ID ターミナルで Claude を実行し、何かを頼み、ある時点で行き詰まったり、コードが完璧でなかったりします。そこで IDE で編集して、最後の仕上げの編集を行い…

つまり、タスクの難易度と Claude とのやり取りの場所を比較したスペクトラムのようなものがあるということですね。

はい、そうです。この種のツールを初めて使い始めるときには学習期間があります。人々が時々することの一つは、あまりにも多くのことに使おうとして、あまりにも難しいものを与えて、詰まってしまい、結果に満足しないことです。これは、Claude に何ができるか、何を一発でできるか、何を二発でできるか、その相互作用はどのようなものかを内部で較正するために誰もが通らなければならない学習です。

残念ながら、モデルごとに変わるので、一度実行するだけではできません。新しいリリースがあるたびに、能力が成長し、Claude が最初により多くのことを正しく実行できるようになるので、毎回少しずつ多くを求めることができます。

そうですね。コード以外でも一般的に気づいているのは、これらのモデルが非常に高速に変化し、改善しているので、6 か月前にモデルを試してタスクに対して却下した場合、現在でもそのフレームを仮定するのは正しくないということです。

ほぼ毎回直感をリセットしなければなりません

まさにその通りです。

開発者や Anthropic 内の人々からの使用方法について、他のヒントやコツで見ているもの、人々が Claude Code でやっているクールなことは何ですか。

Anthropic の内外のパワーユーザーが始めていることで私が見た最大のことは、コーディングを始める前に Claude に計画を立てるよう求めることです。

人々が Claude Code を初めて使い始めるときに時々することは、「この本当に大きくて複雑な機能を書いて」と言って、彼らが心に描いた方法で実行されないときにイライラすることです。あなたがやりたいことと Claude がやりたいことを整合させる本当に良い方法は、計画を立てて、まず確認してもらうよう求めることです。

時々明示的に言います。「解決したい問題はこれです。コーディングする前に、アイデアをブレインストーミングして、アプローチ方法のアイデアリストを作って、まだコードは書かないで」と。Claude はオプション 1、オプション 2、オプション 3 を提示してくれます。「オプション 1 と 3 が良さそうです。組み合わせましょう。今、コーディングを始めることができます」と言うかもしれません。一般的に聞くのがかなり上手です。

これをさらに次のレベルに持っていくもう一つは、Claude に拡張思考を使うよう求めることで、これは Claude が既にいくらかのコンテキストを持っている場合に最もよく機能します。Claude がまだコンテキストを持っていない場合はあまりうまく機能せず、ただ考えるだけです。

人間と同じようなものですよね。いくらでも考えることができますが、コードを読んで入るまでは、実際に何をしているかを知ることはできません。Claude も同じで、まずファイルを読むよう求め、一時停止し、それから考えてアイデアをブレインストーミングするよう求め、それからコーディングするよう求めます。

興味深いですね。ツールを呼び出し、結果について考え、次に何をする必要があるかを考え、それから別のツールを呼び出してその往復を続けるそのインターリーブされたアプローチですね。

まさにその通りです。実際に内部ベンチマークでもこれを見ています。異なる種類の評価の内部ベンチマークを行うとき、一般的に、最初にコンテキストを取得し、それから考え、それからツールを使って編集し、Bash などを使うと、結果ははるかに良くなります。ユーザーとしても同じように感じます。

Claude.md ファイルについて教えてください。これらは非常に強力に見えます。

Claude.md は何にでも使います。Claude の記憶です。チーム全体で共有したい Claude への指示です。すべてのプロジェクトで共有したい指示です。非常に強力です。さまざまな種類の Claude.md があります。

最もシンプルな種類は Claude.md と呼ばれるファイルで、リポジトリのルートに置きます。

ただのマークダウンファイルですね。

ただのマークダウンファイルです。CLAUDE は大文字で、md は小文字です。そのフォルダで Claude を開始すると、Claude が自動的に読み取ります。自動的にコンテキストに読み込まれ、Claude に毎回してもらいたい任意の種類の指示、頻繁に実行してもらいたい Bash コマンドや、変更を行うときや大きなアーキテクチャ決定を行うときに本当に知っておくべきファイル、MCP サーバー、そのようなものは何でも Claude.md に入れます。

二番目の種類の Claude.md があり、これはチェックインして、チームと共有したいものです。一度書いて、チーム全体の皆と共有したいので、人々が自分で書く必要がありません。

興味深いですね。

二番目の種類の Claude.md はあなただけのもので、Claude.local.md と呼ばれます。

これも同じ場所に置き、あなただけのものです。チームとは共有しません。無視することができるので、チェックインしません。三番目はグローバル Claude.md で、ホームディレクトリの .Claude フォルダに置きます。ほとんどの人は実際にこれを使いませんが、必要なら、Claude 間で共有したい任意の種類の指示をそこに置くことができます。

最後に、コードベース内の任意のディレクトリの任意のネストされたファイルに Claude.md を置くことができます。

おお、すごいですね。

Claude は関連すると思われるときに自動的に引き込み、コードベースのその部分での作業に関する指示を取得します。

これらは、コーディングスタイルや Claude とのやり取り方法、あなたについて知るべきこと、作業の好み方など、特定の指示や好みでも、何でも良いということですね。

まさにその通りです。

時々、会話中に Claude が本当に良いことや本当に悪いことをするのを見ると、ハッシュ記号を押します。これでメモリモードに入り、Claude に「これを記憶して」と伝えます。指示の場合もあります。例えば、「コード変更をするときはいつも、リンターの周りで」と伝えると、それを適切なメモリファイルに組み込んでくれます。

興味深いですね。もっとそれをする必要があると思います。Claude Code の次は何ですか。

二つの方向を考えています。一つは、Claude をすべてのツールとさらによく機能させる方法です。すべてのターミナルで動作することから始まりました。今は多くの ID で動作し、多くの CI システムでも動作します。

次に何があるかを考えています。使用するすべてのツールで動作することを確実にし、Claude がそれらの使用方法を知り、ツールとネイティブに動作するようにすることです。二番目は、ターミナルを開きたくないような簡単なタスクで Claude をより良くする方法です。チャットアプリや何かで Claude をタグ付けして、GitHub で行うのと同じ方法で問題を修正してもらうことができたらどうでしょうか。

これはどういう意味で、使用感が良いものは何でしょうか。ここでたくさんの選択肢を試しています。ユーザーに提供する前に、本当に良い感じであることを確認したいのです。

それはエキサイティングですね。Claude Code がどこにでもあるのを見たいので、楽しみにしています。Boris さん、対談をありがとうございました。

ありがとうございました。

コメント

タイトルとURLをコピーしました