この動画では、AnthropicのClaudeチーム関係者であるAlexとClaud Code開発者のBorisが、AI支援コーディングの現状と未来について詳しく議論している。過去1年間でコーディング環境が劇的に変化し、従来のIDEでのテキスト直接操作から、エージェントを活用した自動化へと移行していることが解説される。Claude Codeの開発経緯、内部でのフィードバック収集方法、拡張性の向上、そして今後6〜12ヶ月でエンジニアの働き方がどう変化するかについて、実践的な視点から語られている。

Claude Codeによるエージェントコーディングの未来
私がプログラミングを始めて学んだ頃を振り返ると、中学校の数学の授業で後ろの席に座って、小さなTI-83 Plusの電卓を持っていた子供でした。BASICでプログラムを組んでいたんです。なぜなら、ある時点で数学のテストの答えを実際に電卓にプログラムして入れることができることに気づいたからです。
こんにちは、私はAlexです。AnthropicでClaude Relations を率いています。今日はClaude Codeとソフトウェアエンジニアリングの未来について話をします。同僚のBorisも一緒です。
私はBorisです。Anthropicの技術スタッフの一員で、Claude Codeの開発者です。
この12ヶ月で多くのことが起こり、物事は非常に、非常に速く動いています。特にコーディング領域においては顕著です。毎日ニュースを追いかけているわけではない方々や、最新情報に追いついている方々でも、私自身も時々困難を感じることがありますが、ここで何が起こったのか、そして現在どこに立っているのかを教えていただけますか?
そうですね、1年前のコーディングは今日のものとは全く違っていました。1年前、コードを書きたければ、IDEがあって、IDEに何らかの自動補完機能があって、それからチャットアプリのようなものがあって、コードを少し行ったり来たりコピー&ペーストしたりしていました。それが最先端で、それがコーディングにおけるAIでした。
そして、1年ほど前からエージェントが実際にコーディングで真剣に使われるものとして現れ始めたのを見るようになったと思います。それはワークフローの一部なんです。ギミックやプロトタイプではありません。実際に開発をする際の内部ループの一部なんです。
この1年間で最も変化したことは、今やコードを書く時にエージェントを使い、もはやIDEで直接テキストを操作しなくなったということです。それは単にタブの話ではありません。モデルがあなたのためにコードを書いてくれるということなんです。私たちが見始めているのは、直接テキストを操作することから、モデルにテキスト操作をしてもらうことへのシフトです。これを将来に向けて投影すると、これは私たちが歩んでいる軌道の一種で、これが未来に向けて継続していくということです。
なるほど、Webアプリ内でコードをコピー&ペーストして、非常に的を絞った編集をしていた状態から、もっとハンズオフになって、エージェントに何をしてほしいかを伝え、大量の編集を行うことを信頼し、時には全体のアプリを自分で作成することさえあるということですね。
その通りです。これは1年前にはできなかったことで、人々は最も長い間AIにコーディングをさせようとし、様々な方法でコーディングをどんどん自動化しようとしてきました。しかし、それは実際にはうまくいきませんでした。おそらくいくつかの理由があります。一つは、モデルが十分に良くなかった、二つ目は、モデルの上にある足場、つまりスキャフォールディングが十分に良くなかったということです。
Claude Codeを最初にローンチした時、昨年末の最初のバージョンでは、まだSonnet 3.5を使っていたと思います。これは3.6でも、新しいSonnet 3.5と呼んでいるものでもありませんでした。
アップグレードされたSonnetですね。
そうです。それすらも使っていませんでした。それでもある程度は動いたんです。私のコードの10%くらいに使っていたでしょうか。それでも、ローンチした時のことを覚えています。コアチームにそれを渡しました。当時はチームには私と他数名だけでした。
ある朝オフィスに歩いて行った時のことを覚えています。自分の机に向かう途中で、何人かのエンジニアが座っていました。その中にRobertがいて、他にも数人のエンジニアがいました。私が歩いて行くと、初めて彼らのスクリーンにClaude Codeが映っているのを見ました。前日に渡したばかりなのに、もう彼らは使っていたのです。それは本当にクレイジーなことでした。
モデルはそれほど良くありませんでした。ハーネスもそれほど良くありませんでした。しかし、この初期バージョンでも、すでに少し有用でした。この1年間に起こったことは、モデルがエージェントコーディングにおいて格段に良くなったということです。それは3.7、そして今では4.0とOpus 4.1で実現されています。ハーネスもずっと良くなりました。明らかに、ハーネスはClaude Codeですが、モデルとやり取りする方法として、モデルを直接使うことはできません。ハーネスを使わなければなりません。
それは馬に乗るようなもので、何らかのサドルが必要なのです。そのサドルが馬に乗る時に大きな違いを生むのです。私は乗馬をしませんが。
その比喩は気に入りました。Claudeが馬で、エンジニアとしてそれを特定の方向に向かわせようとし、それを導こうとしており、正しく操縦するためには何らかのスキャフォールディングが必要だということですね。この場合のハーネスは、私たちが与えているツールから、モデルのコンテキストの処理方法まで、すべてを含んでいるということで間違いありませんね。
その通りです。Claude Codeのすべてです。モデルはAPIの後ろにあるもので、Claude Codeは、システムプロンプト、コンテキスト管理、ツール、MCPサーバーをプラグインする能力、設定、権限などです。これらすべてがモデルとインターフェースします。モデルはすべてのコンテキスト、このようなもののすべての出力を見て、パフォーマンスに大きな違いをもたらします。
この1年間で、モデルのために正確にどのように構築するかを学びました。モデルはClaude Codeだけでなく、AnthropicモデルをエージェントコーディングツールとしてAI支援コーディングを構築するのに使っているさまざまな製品と共進化してきました。
モデルの共進化について
その話をもう少し詳しくお聞かせください。共進化と言った時、それは私たちがトレーニングで意図的に行っていることなのでしょうか、それとも製品機能自体を改良する中で、モデルもこのような種類のことが上手になっていくのでしょうか?
それは非常に有機的です。AnthropicではみんながClaude Codeを使っています。それは研究者も含みます。毎日、モデルを構築している人々が、自分の仕事をするためにモデルを使っているのです。その一環として、モデルで到達する自然な限界のようなものが見えてくると思います。
例えば、モデルが特定の種類の編集を行うのが非常に下手だとします。時々Claude Codeを使っていると、「文字列の置換に失敗しました」「文字列の置換に失敗しました」といったメッセージを見ることがあります。これはモデルの能力であり、そこから学ぶことで改善できます。
別の例として、もう少し高レベルなものでは、モデルを30分間自由にやらせると、3.5では1分程度はある程度うまくいき、軌道に乗り続けることができました。新しいモデルでは、モデルが自律的に動作できる時間がどんどん長くなっています。これは本当に経験に基づいています。モデルを使うことで、人間として軌道修正して操縦しなければならない箇所が見えてきます。それから学んで、それをモデルに組み込み、モデル自体がよりうまく行うように教えることができます。
新しいモデルを評価する際、実行するバイブチェックテストのようなものがありますか?それとも、ハーネスで何かを改善する新機能をロールアウトする場合、パフォーマンスが向上しているかどうかを個人的にどのように評価しますか?
私はその日の自分の仕事をただやります。
興味深いですね。
そうです。私の完璧な一日は、一日中ただコードを書くことです。モデルが何であれ、私たちがテストしている新しいものが何であれ、それを使ってコードを書いて、パイプがどうかを見ます。特定にやることはありません。
なるほど、日常業務で実際にどのように機能するかを見るということですね。
その通りです。日常業務では、あらゆることをします。新しいコードを書いたり、バグを修正したり、フィードバックに応答するためにSlackメッセージやGitHub issueを読んだりします。モデルは、こうしたことをますます多くできるようになっています。実際、もしモデルを常に一つのことにだけ使っていたら、MCPを通じてコンテキストを引き込むことや、Slackメッセージを読むことのような、これらの新しい能力の一部を見逃してしまうでしょう。あるいは、Sentryログを自動的に引き込むことができるため、自動的にものをデバッグすることなどです。
最も現実的な評価が、ある意味で最良の評価なのですね。その場合、実際に使うことが最良の結果をもたらします。
Claude Codeを構築する際、製品の評価を構築するために本当に一生懸命努力しました。何らかのベンチマークを持つために、システムプロンプトを変更した時などに、モデルが良くなっているかどうかを知るためにです。これを少しは持っていますが、評価を構築するのは本当に困難です。断然最大のシグナルはバイブです。より賢く感じるかどうかです。使用する範囲のタスクが非常に広いためです。
実際、これは開発者から常に聞かれる質問で、プロンプトテストと反復の方法についてもっとガイダンスがあることを求めています。異なる製品に対して作成しようと試みたさまざまな種類の評価がありますが、Claude Codeに関しては、どんなハードコードされた評価セットよりも、このタイトなフィードバックループがより即座のシグナルを与えてくれるということです。
人々はAIからもっと良い答えを聞きたがっているのかもしれません。でも、すべてバイブなんです。この時点で、モデルはSWE-benchのような評価で非常に良い成績を出しています。私たちはより困難な評価を見つけようとしています。今では少し飽和の少ないT-benchのようなものがあります。しかし、ソフトウェアエンジニアリングの複雑さをすべて捉える合成評価を見つけるのは本当に困難だと思います。
フィードバックループの設計
内部でそのフィードバックループを設定するために、私たちが独特に行ったことがあると思いますか?Claude Codeは、私が見た中で最高のドッグフーディングサイクルを持つ製品のような気がします。
最初は、他の製品を作る時と同じ方法で構築しました。ユーザーの声を聞いて、ユーザーの声を聞くことを可能な限り簡単にするということです。一つの要素として、Claude Codeを構築した時、Slackに単一のフィードバックチャンネルがありました。誰かがフィードバックをする時はいつでも、私はそこに誘導して、「そこに投稿してください」と言っていました。
人々は時々少し躊躇していたように感じます。なぜなら、時々フィードバックをする時、誰も聞いていないことを期待し、それがブラックホールのような、虚空に向かっているような感じになるからです。私たちが本当に正しく行った一つのことは、最初から、誰かがフィードバックをくれた時はいつでも、私は可能な限り速くそれを修正しようとしていたことです。時々オフィスに行って、3時間か2時間かを費やして、可能な限り多くのバグを通して、可能な限り速く修正し、そして毎回コメントを返して人々に修正されたことを伝えていました。
これが彼らに継続してフィードバックをくれることを促しました。今日に至るまで、内部のClaude Codeフィードバックチャンネルは消火ホースのようで、止まることがありません。
本当にその通りです。初期の頃を覚えていますが、今でも、そこに入って何かを投稿すると、すぐにあなたが絵文字リアクションをしたり、より多くの説明や質問を求めたりして、自分のフィードバックが聞かれているという実感があります。そして、将来もっとフィードバックを投稿することにインセンティブを感じられるようになります。
正直なところ、私は自分が何をしているのか分からないからです。AIに関して本当に何をしているのか知っている人はいません。私たちはそれを構築しながらこの事象を発見している途中なのです。最良の指標はユーザーが望むものです。だから聞かなければなりません。
話題を少し変えて、Claude Codeの製品としての現在の状態はどうですか?最新の機能は何ですか?何に興奮していますか?現在人々がそれを使って行っていることで見ているものはありますか?
Claude Codeは最初から、可能な限りシンプルなものとして、そして可能な限りハック可能なものとして構築されました。ハック可能性は私たちが大いに開発してきたものであり、私が本当に興奮していることです。
最初、Claude Codeをハックする方法は、CLAUDE.mdファイルに追加することでした。それが元の拡張ポイントでした。CLAUDE.mdは、ご存知のように、ルートディレクトリに置くことができ、子ディレクトリにも置くことができるファイルです。それを置くことができる異なる場所があります。それはClaude Codeに与える追加のコンテキストで、あなたのリポジトリと共に行きます。多くの場合、コードベースにチェックインします。つまり、コードに関する少し多くの情報のようなものです。
しかし、時間が経つにつれて、多くの拡張ポイントを追加してきました。現在では非常に洗練された設定システムと権限システムがあります。今ではフックがあり、これはDixonが構築しました。Dixonは私たちのチームのエンジニアで、「この方法で拡張したい」「これにフックしたい、これにフックしたい」といったさまざまなユーザーの要求が入ってくるのを見て、非常に拡張性の高いフックシステムを構築しました。
MCPは明らかに素晴らしい拡張ポイントです。現在、スラッシュコマンドとサブエージェントがあります。ユーザー定義スラッシュコマンドは私たちが大いに投資してきたものです。アイデアはそれがワークフローだということです。マークダウンファイルのようなものです。コードに置いて、よく再利用できるものです。
例えば、私はコミットを作成するためのスラッシュコマンドを持っています。そこには指示があります。良いgitコミットの書き方です。git commitのBashコマンドを事前に許可しているので、毎回それを受け入れる必要がなく、モデルがただそれを実行できます。スラッシュコマンドは本当に興味深いと思います。エージェントはスラッシュコマンドの異なる見方のようなものです。スラッシュコマンドのようなものですが、フォークされたコンテキストウィンドウを持っています。
エージェントとスラッシュコマンドを同じものの二つの側面として考えることができます。これも非常にエキサイティングです。Claude Codeを拡張するもう一つの方法なのです。未来を見る時、その多くはClaude Codeをもっと拡張する方法、他の人々が上に構築することをより簡単にする方法、SDKを人々にとってより有用にする方法についてです。
コーディングエージェントを構築したい場合にコードに有用ですが、他のことにも使用できます。エージェントが必要な何でも、SDKを使うことができます。これらが私が最も興奮していることです。明らかに、これらすべては、モデルをより自律的にし、より長期間動作させ、指示により良く従わせ、物事をより良く記憶させるために行っている他のすべての作業の恩恵を受けます。道程のすべてが恩恵を受けるのです。
6〜12ヶ月後の働き方の変化
6〜12ヶ月後にClaude Code、あるいはその何らかの形を使っている私の作業は、実際にはどのようなものになるでしょうか?一日中PRをレビューしているのでしょうか、それとも日常の内訳はどうなるのでしょうか?
もっとハンズオンなコーディングの組み合わせになると思います。それがなくなるとは思いません。しかし、異なって見えるかもしれません。今日のハンズオンコーディングは直接テキストを操作することですが、未来ではClaudeを使ってテキスト操作をしてもらうことかもしれません。
それから、Claudeが積極的に何かを行い、Claudeがそれをレビューすることさえある、あまり直接的でないコーディングという別のバケットがあると思います。そして、これが望む変更かどうかを決定するのがあなたの仕事です。12か24ヶ月後には、ゴールについて、そしてそれが行う必要があるこれらの高レベルなことについて考えるClaudeを見始めると思います。そこに入る具体的なタスクについてではなく。
エンジニアとして、来月やりたいことについて考えるのと同じ方法で、その方向に向けて小さな変更をしていくのです。おそらくClaudeも同じことを経験するでしょう。
ある程度、これらの抽象レベルのスタックをどんどん上がっていくということですね。Claudeにファイルへの個別の変更を加えさせることから、Claudeに全体のPRへの変更を加えさせることへ、Claudeにアプリの構築やその他何でもゴールについて考えさせることまで。
そうです。
興味深いです。エンジニアとしてそれを聞いていると、非常に短期間で多くのことが変化し、特に私の役割と何をすべきかについて変化するようです。そのような世界に備え、適応しようとしている人々に対するあなたのアドバイスは何でしょうか?彼らが学ぶべきことや開発すべきスキルについて教えてください。
エンジニアへのアドバイス
私がプログラミングを最初に学び始めた頃を思い返します。中学校の数学の授業で後ろに座っていた子供で、小さなTI-83 Plus電卓を持っていました。透明なグレーのもので、回路が少し見えました。BASICでプログラムを組んでいました。なぜなら、ある時点で数学のテストの答えを実際に電卓にプログラムして入れることができることに気づいたからです。それでより良い成績を得ることができました。
ハックできることの内臓的な感覚のようなものがありました。作れるプログラムが一つあるかもしれないというアイデア、電卓に入ってコードを書き、再起動して本当に素早く使用できるというこの種のフィードバックサイクルは本当に素晴らしいものでした。以前は決してできなかったものを構築することを可能にしてくれました。そして、始めることがとても簡単でした。
その世界と、エージェントコーディング以前の世界の違いについて考えます。そこではスタックが非常に、非常に複雑になってしまいました。JavaScriptのウェブサイトを作りたければ、ReactとおそらくNext.js、それから3つの異なるビルドシステムとデプロイシステムについて学ばなければなりませんでした。とても複雑でした。
エージェントについて本当にクールなことの一つは、それらがこれを変えていることです。コーディングエージェントによって、始めることが本当に簡単になります。アイデアがあれば、ただそれを構築できます。それは詳細についてよりも、今やアイデアについてずっと多くのことになります。なぜなら、Claude Codeのように、コードを何度でも書き直すことができるからです。
Claude Code自体、私たちは常に書き直しています。これはコーディングエージェントが可能にすることだと思います。コード自体はもはや貴重ではありません。それを書くことにはまだ芸術があり、時々手でコードを書きます。チームのエンジニアの一人であるLenaは、週末に時々まだ手でC++を書くという話をしていました。楽しいからです。
コーダーとして、これを行うことは本当に喜ばしいことです。しかし、プロセスについてというよりも、作るもの、それを作ることについてますます多くなっていくと思います。今日コードを学んでいる人々への私のアドバイスは、まだ技芸を学ばなければならないということです。
まだコードを学び、言語、コンパイラ、ランタイム、ウェブアプリの構築方法、プログラムの構築方法、システム設計を学ばなければなりません。すべてのものを知っている必要がありますが、同時により創造的になり始めてください。スタートアップのアイデアや製品のアイデアがあれば、以前にはできなかった方法で今すぐそれを構築できます。
これが何を意味するかは本当に理解していませんが、それによって解放されようとしている多くの可能性があります。
それは素晴らしいです。素晴らしいアドバイスだと思います。アイデアが突然、ほぼ数分の時間で実行に移せるものになるのですね。以前はバックログに永遠に残っているかもしれないものでした。
Claude Code使用のベストプラクティス
終わる前に、Claude Codeの開発者として、Claude Codeを使用するためのベストプラクティスと、何かコツやトリックがあれば教えてください。
私が勧める最も大きなことは、二つのトリックがあります。一つ目に勧めることは、Claude Codeが全く初めてで、以前に使ったことがない場合、コードを書くためにそれを使わないでください。クレイジーに聞こえると思いますが。
説明してください、説明してください。
でも自分を止めなければなりません。コードを書くためにまだそれを使わないでください。始めることは、コードベースについて質問することです。新しいロガーを追加したい場合、どうやってそれを行うのかと質問することができます。そして、Claude Codeにコードベースを探索させて、あなたのために解明してもらうのです。
あるいは、なぜこの関数はこのようにデザインされているのか?Claude Codeは入ってGit履歴を見て、そのようなことについてあなたに答えることができます。
Claude Codeにコードベースについて質問し、まだコードは書かないでください。この方法でClaude Codeを使うことに慣れ、あなたのためにリサーチを行うエージェントというアイデアに慣れてから、コードを書くためにそれを使い始めてください。
二つ目は、Claude Codeを使ってコードを書く時、どのような種類の作業をしたいか、そしてタスクがどの程度大きいかを考えることです。本当に簡単なものについては、私の心の中では、簡単、中程度、困難という3つのカテゴリがあります、非常にざっくりと。
簡単なタスクは、Claudeがワンショットで書けるもの、一つのプロンプトでほぼ正しく書けるものです。今日では、GitHubに行って問題に@Claudeをタグ付けして、ClaudeにPRを書いてもらいます。これが私の簡単なタスクのやり方です。ターミナルを空けておけるからです。これに時間を使わなくて済みます。
中程度のタスクでは、ターミナルで開始し、プランモードで開始します。Shift + Tabでプランに入り、まずClaudeと計画について合意します。計画について良く感じたら、自動受諾に入って実装してもらいます。
本当に困難なタスクでは、私がまだドライバーシートにいて、Claudeはより多くのツールです。それとペアを組んでいます。しかし、本当に運転席にいるのは私であり、このためのClaudeではありません。
Claudeを使ってコードベースの調査を行ったり、いくつかのアイデアのプロトタイプを作ったり、システムの境界と何がうまく機能するかを理解するためにいくつかのオプションをバイブコーディングしたりするかもしれません。しかし、実装はまだ主に私が行います。
Claudeがユニットテストを書いてくれるかもしれませんが、コーディングは主に私が行っています。二つ目のアドバイスは、あなたが行っているタスクが何かを考え、それを行うためのClaude Codeの正しい使い方は何かを考えることだと思います。
素晴らしいコツですね。本当に、時間をいただきありがとうございました、Boris。これは素晴らしかったです。ありがとうございました。
ありがとう、Alex。


コメント