ウィンドサーフCEO:AIエージェントへの賭け、48時間でのピボット、そしてコーディングの未来

AGIに仕事を奪われたい
この記事は約39分で読めます。

23,058 文字

Windsurf CEO: Betting On AI Agents, Pivoting In 48 Hours, And The Future of Coding
Varun Mohan didn't set out to build one of the fastest-growing AI developer tools. He just knew his company had to chang...

スタートアップにとって真実だと思うことの一つは、常に自分自身を証明し続けなければならないということです。私たちが持つ洞察はすべて価値が減少していくものです。NVIDIAのような企業を見てください。もしNVIDIAが今後2年間イノベーションを起こさなければ、AMDが彼らを追い詰めるでしょう。だからこそ、私たちの洞察の多くが間違っていても全く問題ないと思っています。
もし私たちが継続的に実行すべき洞察を持たなければ、ゆっくりと死に向かっているだけです。「開発者」という概念はおそらく「ビルダー」と呼ばれるものに広がっていくでしょう。そして誰もがビルダーになると思います。ソフトウェアは非常に民主化されたものになるでしょう。
ライトコーンの新しいエピソードへようこそ。今日は特別なゲストがいます。バイブコーディングを文字通り生み出した人物の一人、ウィンドサーフの共同創業者兼CEOのヴェルンです。参加してくれてありがとう。
呼んでくれてありがとう。ウィンドサーフは今どうなっていますか?直感的には皆知っていると思いますが、実際どれくらいの規模になっていますか?
製品は100万人以上の開発者に使われ、現在数十万人のデイリーアクティブユーザーがいます。大規模なコードベースの修正から、ゼロから一へのアプリ構築まで、あらゆることに使用されています。そしてこの技術がどこへ向かうのか非常に楽しみにしています。
本題に入りましょう。どのように始めたのですか?
会社は実際4年前に始まりました。最初はウィンドサーフではなく、エキソファンクションという会社でした。当時はGPU仮想化の会社でした。以前、私と共同創業者は自動運転車やAR/VRに取り組んでいて、ディープラーニングが金融サービスから防衛、医療など多くの産業を変革すると信じていました。
ただタイミングは間違っていたかもしれません。私たちはこれらのディープラーニングワークロードを実行しやすくするシステムを構築しました。VMwareがコンピュータとCPUに対して行うことと同様のことをGPUに対して行いました。しかし2022年半ばになると、当時私たちは数社のために1万台以上のGPUを管理し、数百万ドルの収益を上げていましたが、OpenAIのText Davinciのようなモデルでトランスフォーマーが非常に人気になりました。
これが当時の私たちの小さなビジネスを根本的に混乱させると感じました。なぜなら、誰もがこのトランスフォーマー型のモデルを実行すると考えたからです。そして誰もが同じタイプのモデルアーキテクチャを実行する世界では、私たちがGPUインフラプロバイダーだと、コモディティ化されると思いました。誰もが同じことをするなら、私たちのアドバンテージは何になるのでしょうか?そこで、私たちは基本的に、この技術を活用して会社を完全に別のことに転換できないかと考えました。それは怖いことでした。
それは会社の存続をかけた瞬間でした。週末でそれを行いました。私と共同創業者は「これはうまくいかない」「どうやって会社を成長させるか分からない」という会話をしました。当時、私たちはGitHub Copilotの初期採用者でした。
月曜日に会社の残りのメンバーに伝え、その直後の月曜日からすぐにKodium(拡張機能製品)の作業を始めました。このピボットのストーリーの詳細を掘り下げたいのですが、特に後期段階でのピボットの詳細を聞くのは実際にはかなり珍しいことです。あなたたちがコーディアムへのピボットを決めた時点で、会社はどの程度進んでいましたか?何人いましたか?
会社についての興味深いことの一つは、YCの考え方を取り入れて、「ラーメン収益性」などのキーインサイトを受け入れていたことです。当時は数百万ドルの収益を上げていましたが、わずか8人のチームでした。
フリーキャッシュフローはポジティブでした。当時はゼロ金利政策の絶頂期でした。会社は1年半の歴史しかありませんでしたが、何らかの魔法で当時2800万ドルの資金を調達していました。私たちの考えでは、今うまくいっているように見えても、どうやってスケールさせるか分からなければ、とても速く変化する必要がありました。
注目すべきことは、会社を始めた時、多くの企業が独自のカスタムディープラーニングパイプラインを構築するだろうという仮説を立てていたことです。それは機能していました。しかし2022年に、突然一つのモデルがすべてを支配するというホッケースティックのような変化を見たのですね。
あなたは多くの未来を予見していましたが、その確信はどこから来たのですか?すでに7桁の収益を上げていました。シリーズAを調達できたはずです。それなのにそれをすべて捨てるという判断をしました。
実際、信じられないことに当時すでにシリーズAを調達していました。しかし本当にそうすべきだったかは別の問題です。その通りです。当時起きていたことの一つは、私たちが主に自動運転車企業と仕事をしていたことでした。彼らは当時最大級のディープラーニングワークロードを持っていました。そのワークロードは成長していましたが、私たちは根本的に、金融サービスや医療などの他の業界での自然言語ワークロードが急増すると賭けていました。
しかしこれらの生成モデルが多くのユースケースを処理するのを見た時、例えば以前は感情分類のためにBERTモデルをトレーニングしていましたが、古いバージョンのGPT-3を試した時点で、これが感情分類を殺すだろうと思いました。もはやこのタスクのためにカスタムモデルをトレーニングする理由はありません。私たちの仮説が間違っていたことを悟りました。これがスタートアップの難しさです。業界がどう進むかについての仮説を持ちますが、その仮説が間違っていて現場の情報が変わると、とても速く変化しなければなりません。
では何をすると決めたのですか?ピボットすると決めたのは、それが第一段階です。片足を入れて片足を出すのではなく、次のステップが何になるかを確信を持って決めたのですね。
会社の全員が興奮するようなものを選ぶ必要がありました。価値があると思っても人々が興奮しないものを選んでいたら、すぐに失敗していたでしょう。私たちはGitHub Copilotという製品の初期採用者として、それがこの技術の氷山の一角に過ぎないという意見を持っていました。会社の全員が開発者でした。一般的に開発ツール企業はそれほどうまくいきません。
しかし選択肢がない時は決断が非常に簡単です。どのみちゼロになる確率が高いのであれば、価値があると思うもので、全員が取り組む意欲を持てるものを選ぶべきです。今となってはみんな忘れていますが、GitHub Copilotが背景にある当時は、Copilotが勝つのは避けられないように感じました。GitHubの接続、Microsoftの配布、OpenAIなど、すべてを持っていました。
誰も競争できないように見えたのに、どうやって「ああ、私たちはCopilotを完全に打ち負かせる」という勇気を持ったのでしょうか?
ここには非合理的な楽観主義があります。以前も言いましたが、スタートアップには二つの相反する信念が必要です。非合理的な楽観主義がないと何もしません。悲観主義者と懐疑論者は人生で何も達成しません。そして妥協のない現実主義も必要です。事実が変われば、自分の考えも変えるということです。
非合理的な楽観主義によって成功するものと、現実的な会社であることを可能にするものは正反対なので、これは非常に難しいことです。非合理的な楽観主義で言えば、私たちはモデルを実行・トレーニングする方法を知っていました。最初の自動補完モデルを自分たちでトレーニングし、製品で実行して無料で提供しました。
正確なロードマップはなかったかもしれませんが、ここにはもっとやるべきことがあると感じました。それができなければ死ぬでしょうが、できると賭けてみる価値はありました。
初期バージョンはCopilotより優れていましたか?
私たちが出荷した最初のバージョンはGitHub Copilotよりも実質的に劣っていました。唯一の違いは無料だったことです。ピボット後2ヶ月以内にVS Code拡張機能を構築し、Hacker Newsでリリースしました。多くの主要機能が欠けていました。私たちが実行していたモデルはオープンソースモデルで、GitHub Copilotが実行していたモデルほど優れていませんでした。
しかしその後すぐに、トレーニングインフラが向上しました。独自のモデルをトレーニングし、2ヶ月以内にGitHub Copilotにさえなかった機能を持つようになりました。基本的な機能です。今から見れば最先端だったとは笑ってしまいますが、私たちのモデルはコードの途中を埋めることができました。
コードを書く時、カーソルの最後に追加するだけでなく、行の二つの部分の間を埋めることもできます。そのコードは非常に不完全で、元のモデルのトレーニングデータとは全く似ていません。私たちはこのユースケースに非常に対応できるようにモデルをトレーニングしました。
それにより、品質、レイテンシーの面で先行できました。数ヶ月以内に多くの詳細をコントロールできるようになりました。2023年初頭には、自動補完機能はCopilotよりもずっと優れていました。
それはあなたたちにとって全く新しい能力でしたか?GPUインフラを構築していたのに、最初のバージョンは既存のオープンソースモデルを取り、VS Code拡張機能に組み込み、二つを接続しただけですよね?その後すぐに、一からコーディングモデルをトレーニングする必要がありました。トランスフォーマーには詳しかったとしても、それを構築したことはなかったはずです。そのために、GitHubのデータをすべてダウンロードしてモデルをトレーニングする必要があったと思いますが、それをたった2ヶ月でどうやって解決したのですか?
素晴らしい質問です。まず、自分たちでモデルを実行できた理由は、当時独自の推論ランタイムを持っていたからです。これは元々GPUの仮想化企業だったことから来ています。そのおかげで、オープンソース製品によるゼロバージョンをすぐに出荷できました。
その直後、確かに以前このようなモデルをトレーニングしたことはありませんでした。しかし賢く、能力があり、勝つことに興奮している人々を雇いました。それを理解する必要がありました。他に選択肢はありません。そうしないと死んでしまいます。それによって決断が非常に簡単になります。
多くのデータをどう入手するか、どうやってスケールするか、このデータをどうクリーニングするか、コードが非常に不完全な場合にどう対応するか、これらを解決し、その後すぐにモデルを出荷しました。
それを8人程度のチームで2ヶ月でやり遂げたのですね。そしてその直後、独自のモデルを実行していたため、興味深い顧客を獲得し始めたのですね?
その通りです。当時製品は無料でした。そのため多くの開発者がVS CodeやJetBrains、Eclipse、Vimなど様々なIDEで製品を使い始めました。企業は製品を安全に実行するだけでなく、社内の非公開データに合わせたパーソナライズも望んでいました。
すぐにDellやJPモルガン・チェースなどの企業が顧客になり始めました。現在、これらの企業には数万人の開発者が社内で製品を使用しています。私たちは会社の焦点を、製品がこれらの非常に大規模なコードベースで動作することに確実になるよう設定しました。これらの企業の中には1億行以上のコードを持つものもあります。提案を高速にすることは一つですが、彼らのコードベースと環境にパーソナライズすることはほぼ必須でした。
ピボットして2ヶ月で構築し、リリースした後、数ヶ月以内にこれらの大企業を獲得したのですね。
そうです。もちろん、これらの企業との契約には時間がかかりますが、パイロットはその数ヶ月後、あるいは四半期後に始まりました。当時会社にはセールス担当者がいなかったので、創業チームが可能な限り多くのパイロットを実行しようとしていました。
VS Code拡張機能から他のすべてのIDEをサポートするように拡張したのはいつですか?
それは実際にすぐ後でした。どのように考えたのですか?VS Code開発者はたくさんいます。チームは小さかった。VS Codeのための素晴らしい体験の構築に集中するという議論もできたはずです。VS Code開発者の潜在市場のほんの一部しか獲得していない段階でした。しかしそうはせず、非常に早く水平方向に拡大し、すべてのIDEの拡張機能を構築しました。なぜですか?
企業と仕事をするなら、企業には多くの言語で書く開発者がいるという根本的な理由がありました。例えば、JPモルガン・チェースのような会社では、開発者の半分以上がJavaで書いており、それらの開発者はJetBrainsとIntelliJを使用します。
現在、世界中のJava開発者の70〜80%がIntelliJを使用しています。したがって、私たちは多くの企業を断る必要があり、多くの企業が私たちを事実上の解決策として使用できなくなります。私たちは会社内の多くの解決策の一つになってしまいます。
そのため、その決断をしましたが、幸いにも十分早くその決断をしたため、製品の構築方法のアーキテクチャが変わりました。つまり、すべてのIDEに対して製品の別バージョンを構築しているわけではなく、エディタごとに実際に存在する共有インフラストラクチャをたくさん持っています。
実際には、可能な限り多くのIDEをサポートするために書く必要があるコードはごくわずかです。これは初期の決断がこの移行をずっと容易にした例の一つです。
コーディアムからウィンドサーフへの移行についてはどうですか?
当時、今は2023年半ばくらいだと思いますが、非常に大きな企業と連携し始めました。次の1年で、ビジネスは企業からの収益が8桁を大きく超え、無料の個人向け製品もありました。
しかしこの業界についての大きなことの一つは、空間が本当に速く動くということだと思います。私たちは常に機能していないものに賭けています。実際に会社で行う賭けのほとんどは機能せず、私たちがやっていることの50%だけが実際に機能していると嬉しいです。
もし私たちがやっていることの100%が機能しているなら、それは非常に悪い兆候だと思います。なぜならそれはおそらく3つのうちの1つを意味するからです。最初のことは、十分に努力していないということです。
2つ目は、ある種の傲慢さがあるということです。つまり、現場の事実にかかわらず、自分たちがすることはすべて正しいと信じています。そして3つ目のキーポイントは、将来がどこに向かうかを教えてくれる方法で仮説をテストしていないということです。実際に能力と技術の最前線にいないのです。
実際、昨年の初めに、エージェントが非常に巨大になると信じ、当時プロトタイプを持っていましたが、それらは機能しませんでした。しかし、大規模なコードベースを理解する、開発者の意図を理解する、コードベースに迅速に編集を加えるなど、エージェントを機能させるために重要になると感じていた異なる部分を構築していました。
私たちにはこれらのツールを効率的に呼び出せるモデルがありませんでした。そして明らかに昨年半ばには、GPT-3.5のような登場によってそれが完全に変わりました。それによって私たちは基本的に「エージェント機能を持っているけれど、VS Codeで開発者に見せられる上限は限られている」と言いました。
開発者がソフトウェアを書くことより、AIが出力するソフトウェアをレビューすることに多くの時間を費やすことになると考えました。私たちは心からテクノロジー企業だと思いますし、製品企業でもありますが、製品はテクノロジーに役立つものだと思います。つまり、人々が技術を体験できるように、製品をできるだけ良くしたいのです。
VS Codeではそれができないと感じたので、昨年半ばに「実際に独自のIDEを持つ必要がある」と決めました。それがウィンドサーフを作ったきっかけです。
そのためにVS Codeをフォークしたのですね。VS Codeには全く新しい一連の機能があり、この非常に複雑なVS Codeベースで開発する方法を学ぶ必要がありました。
そうです、それを理解する必要がありました。これも、プロジェクト開始から3ヶ月以内にウィンドサーフを出荷したもう一つの例です。すべてのオペレーティングシステムで出荷しました。
何が起きましたか?すぐに成功したのですか、それとも長い間気づかれませんでしたか?
かなり早く成功したと思います。初期採用者の間での成功のスピードは非常に高かったです。明らかにいくつかの粗い部分があり、そのため人々はすぐにプラットフォームに来て去りました。
しかし、エージェントの能力を向上させ、パッシブな体験の能力を向上させるにつれて(パッシブタブの体験も過去数ヶ月で大幅に向上しました)、人々が製品についてより多く話すだけでなく、より高い率で製品に留まるようになったことに気づきました。
ウィンドサーフの出荷に何人が働きましたか?1、2ヶ月で完了したのですか?
数ヶ月、3ヶ月以内です。これはGPU仮想化製品からAIコード製品に移行するような根本的に異なるパラダイムではないので、会社の存続をかけた瞬間とは言えませんが、取り組める人は誰でも以前やっていたことを中断して、すぐに取り組む必要がありました。
当時、どれくらいの規模だったのですか?
エンジニアリングチームはまだ25人未満だったと思います。
これは驚きです。興味深いことに、実際には従業員の観点から見ると、そんなに少なくはありませんでした。かなり大きなマーケティングチームがありました。AIの分野では少し変わっていて、私たちは最大級のフォーチュン500企業に製品を販売していました。
それはクレジットカードでスワイプしてもらうだけでは非常に難しいです。多くのサポートが必要で、技術が適切に採用されることを確認する必要があります。これは単に製品を提供して成長を見るのとは非常に異なります。エンジニアリングの観点からは、常に比較的スリムに運営してきましたが、市場の関心のため、マーケティングに多くの人がいました。
その職能に入るべき理想的な人は誰ですか?前線に配備されたい優れたエンジニアですか?
二つの要素があります。アカウントエグゼクティブがいます。これらは一般的に、能力に対して非常に好奇心旺盛で興奮している人々を探します。実際、彼らはソフトウェアと技術を愛するリーダーに製品を提供しているので、空き時間にウィンドサーフを使用する人々です。
技術についてまったく無知な場合、役に立ちません。そして、技術に手を汚し、顧客が技術から最大限の価値を得られるようにする、あなたが言ったようなデプロイされたエンジニアのような役割もあります。
興味深いのは、みんながウィンドサーフを使用しているので、技術的でないAE(アカウントエグゼクティブ)でさえバイブコーディングのチャンピオンになっていると聞こえます。
そうです、会社で最大のウィンドサーフユーザーの一人は、技術的でないパートナーシップをリードする人物です。彼は実際に会社内での多くの販売ツールの購入を置き換えました。
これは、ウィンドサーフがドメインエキスパートに力を与えているものの一つです。過去では、彼がプロダクトマネージャーに話し、プロダクトマネージャーがエンジニアに話し、そのエンジニアが大きなバックログを持っているという状況でした。
これは明らかに製品を即座に良くするものではないので、優先順位が低くなりますが、今や彼はこれらのアプリを構築する力を得ています。彼はプログラミングのバックグラウンドをまったく持っていますか?
興味深いですね。これはTwitter上での現在の論争の一つです。あなたは実際にプログラミングの知識がなくてもバイブコードができるのかという議論です。
私たちがやっていることの一つは、これらのアプリをデプロイする必要がある場合、これらのアプリが安全でデプロイされていることを確認することに焦点を当てている人がいることです。しかし、その人のレバレッジの量は馬鹿げています。
彼がこれらすべてのアプリを構築するのではなく、ゼロバージョンは実際に会社内の技術的でないドメインエキスパートによって構築されることができます。
Kodiumの立ち上げでは、マイクロソフトやGitHubなどの巨大な既存企業と正面から対決しました。IDEの立ち上げでは、当時のホットスタートアップであるカーサーと正面から対決しました。社内ではどのように考えていましたか?
これは私たちの会社について変わったことかもしれませんが、私たちの会社では他の会社が何をするかによってモラルが影響されることはありません。もし10人の従業員でピボットし、アイデアを完全に捨てることが会社にとって普通のことなら、それは可能ではありません。
第二に、私たちの分野で関連する企業の集合は常に変動しています。2023年の初めに戻れば、誰もがGitHub Copilotが誰もが使用する製品だと思い、構築する意味がないと思っていたでしょう。
その年の半ばには、Devinが登場し、誰もがDevinがすべてを解決すると言いました。彼らは今も良い仕事をしていると思います。そしてその後、明らかにカーサーは本当に素晴らしい仕事をしています。
私たちにとって最も重要なのは、良い長期戦略を持ち、その長期戦略に向かって実行しながら、詳細に柔軟であるかということです。そうしている限り、戦う機会があると思います。
競合の製品についても学びますか?
はい、頭を砂に埋めて、自分たちの製品が素晴らしいと言いたくありません。特にウィンドサーフに取り組む前、会社は収益の観点から非常に速く成長していたことを考えると、それはとても簡単にできることです。
フルIDEについてどのような意見や好みを持っていましたか?カーサーとは異なる点は何でしたか?カーサーは明らかに非常に人気のある製品ですが、製品レベルで「実際にこのように構築したい」と思った理由は何ですか?
素晴らしい質問です。まず、ウィンドサーフの作業を開始した時、すべての製品は基本的にチャットとこの自動補完機能でした。それがGitHub Copilotやカーサーが当時持っていたものだと思います。
私たちはエージェントが技術の行き先だという非常に意見のあるスタンスを取りました。私たちは最初のエージェンティックエディタでした。最大の気づきは、誰もがすべてに@メンションをするというパラダイムを信じていなかったことです。これは、GoogleやGoogleが製品を大幅に改善する前の検索エンジンのアンチパターンのように思えました。つまり、検索できるあらゆる種類の異なるバケットを持つランディングページのようなものです。
しかしGoogleは非常にクリーンな検索ボックスを出しました。当時でもGoogleでは、「and」や「or」、「site:リンク」などを書けばより良い回答が得られました。そして今はもっと良くなっています。
私たちは、ソフトウェアはどんどん構築しやすくなるという信念を持っていました。他のプレイヤーが製品を非常に設定可能にしているのを見たとき、それは現在の技術には良いと思いましたが、将来的には不要になるものだと考えました。
そこで、開発者の意図を理解するためにコードベースを深く理解する方法、コードベースに対して非常に迅速に変更を加える方法などの機能に投資しました。「すべてにタグ付けする読み取り専用システムを持つ代わりに、非常に迅速に変更を加えることができたらどうなるか」というアプローチを取りました。
それが私たちが当時最初にやったことです。今これが明らかな決断だったかと聞かれれば、今では非常に明らかに見えますが、これがスタートアップにとって真実だと思うことの一つです。常に自分自身を証明し続けなければならないのです。
私たちが持つすべての洞察は価値が減少していく洞察です。技術の面で企業が勝つ理由は、1年前にテクノロジーの洞察を持っていたからではありません。実際には、繰り返し存在し続ける複合的な技術的優位性です。
これについて最も興奮する例は、NVIDIAのような企業です。もしNVIDIAが今後2年間イノベーションを起こさなければ、AMDが彼らを追い詰めるでしょう。そうなれば、NVIDIAは60〜70%の粗利益率を達成できなくなります。
最初に良い洞察を持つことで、市場から学び、時間とともにその優位性を複合させることができます。それだけが持続可能なものです。
モートは名詞と考えられていますが、実際には動詞のようなものです。時間とともに変化する可能性があるものです。
会社に言っていることの一つは、継続的に洞察を持ち、実行していなければ、ゆっくりと死に向かっているだけだということです。そのため、私たちの洞察の多くが間違っていても全く問題ないと思っています。
あなたの旅を振り返ると、これらの技術的賭けの多くが実際に複合し、ウィンドサーフが何になったかに繋がったのは興味深いことです。GPUデプロイメントとVMware最適化に非常に優れていたことが、他の製品よりも高速な自動補完を実現するのに役立ちました。
また、企業向けにこれらのプラグインをすべて構築し、大規模なコードベースの読み取りに非常に優れていたという側面もあります。そして、多くの製品とOC企業と協力している中で、何か異なることをしました。
多くのコード生成ツールはベクトルデータベースを使用していますが、あなたたちは非常に異なることをしましたね?
その通りです。人気になったのは「RAG(検索拡張生成)」という用語です。
RAGに反対だったわけではありませんね?
RAGに反対だったかどうかはわかりません。RAGは明らかに意味があります。何かを取得し、その取得に基づいて何かを生成したいと思います。
そのアイデアは正しいです。すべては検索拡張生成です。しかし人々が少し意見過多になったのは、RAGの実装方法です。それはベクトルデータベースを検索するものでなければならないと。ベクトルデータベースはツールキットの一つのツールです。
ユーザーが最終的に望むことを考えると、彼らは素晴らしい回答と素晴らしいエージェントを望んでいます。それが彼らが実際に望むものです。そしてそれをどのように実現するのか?コンテキストに可能な限り関連性の高いものが含まれていることを確認する必要があります。
私たちが最終的に行ったのは、コードの最も関連性の高いスニペットでコンテキストをパックするためのシステムのシリーズを持つことでした。その方法は、キーワード検索、RAG、抽象構文木解析の組み合わせであり、その上にGPUインフラストラクチャを使用して、コードベースの大きな塊をリアルタイムでランク付けするというものでした。
これが、ユーザーに最高のコンテキストを見つけるための最良の方法だとわかりました。これの動機は、人々が奇妙な質問を持っているからです。彼らはこのAPIのすべてのバージョンを別のAPIにアップグレードするという大規模なコードベースの質問を持っているかもしれません。
埋め込み検索が10個のうち5個しか見つけなければ、それは非常に役立つ機能ではありません。そのため、精度とリコールができるだけ高くなるようにする必要がありました。つまり、最良の解決策にたどり着くために一連のテクノロジーを使用しました。
多くのAIスタートアップが構築され、問題領域に何が機能するかについて知的なショートカットを取りすぎているということがありますが、あなたは第一原理から取り組みましたね。つまり、解析などを行うはるかに複雑なシステムを構築しましたね。
ここで議論すると面白いかもしれないことの一つは、私たちの多くが自動運転車に取り組んで始めたということです。それが重要な理由は、これらは「ヨロ(You Only Live Once)」できないシステムだからです。
つまり、ソフトウェアを構築してそれを実行させるのではなく、本当に良い評価が必要です。会社では複雑さを追求しているのではなく、機能するものを追求しています。では、なぜシステムが今はるかに複雑になっているのかという質問になりますが、それは本当に良い評価システムを構築したからです。
評価はどのように機能しますか?
コードの評価は実際に本当にクールです。基本的なアイデアは、コードは実行できるという特性を活用できるということです。
リアルタイムのユーザーデータだけでなく、多くのオープンソースプロジェクトを取り、テストが添付されたこれらのオープンソースプロジェクトのコミットを見つけることができます。
これに基づいて多くのクールなことができます。コミットの意図を取り、ユニットテストではないすべてのコードを削除し、「変更を加える必要がある部分を取得できますか?それらの変更を加える良い意図を持っていますか?そして変更を加えた後、テストは合格しますか?」と見ることができます。
そのタスクを行うことができ、タスクをマスクすることもできます。タスクをマスクすることで、それはより多くのGoogleタスクのようになります。Googleタスクとは、意図を予測しようとするものです。
つまり、たとえば変更の3分の1だけを入れても意図が伝わらない場合、テストに合格するために残りを埋めることができますか?これを切り分ける方法はたくさんあり、それぞれを細かく分解できます。
「検索精度は?意図精度は?テスト合格精度は?」などを測定できます。そしてそれから登るべき丘ができます。私はこれがこれらのAIアプリにたくさんの複雑さを追加する前に重要だと思います。
実際に登れる厳格な丘を作る必要があります。そうでなければ、闇の中で撃っているだけです。AST解析が不要なら、なぜ追加するのでしょうか?実際、不要であれば素晴らしいことです。
私たちのコードに多くの複雑なものを追加したくありません。実際、最も影響力のある最もシンプルなコードが欲しいです。したがって、評価は会社でこれらの投資の多くを行うために本当に重要です。
あなたが行う開発のどれくらいが、評価のスコアを向上させることによって駆動されているのか、あるいは「バイブベース」なのか、つまり皆さん自身がウィンドサーフを使用していて、常にユーザーからフィードバックを得ていて、これが機能すると感じているのか、そして評価は他のものを台無しにしていないかを確認するためのものなのでしょうか?
両方の要素がありますが、明らかにいくつかの種類のシステムでは、評価はバイブよりも重要です。例えば、コードの大きな塊を取り、それを分割し、数百のGPUに並列で渡し、1秒で結果を与えるシステムでは、これがはるかに優れているかどうかについての直感を持つのは非常に難しいです。これは非常に複雑な検索の問題です。
一方、バイブの観点から価値のある、はるかに簡単なこともあります。コードベースでオープンファイルを見るとどうなるか?これは評価するのが難しいことです。なぜなら評価では、ユーザーがリアルタイムで何をしているのかわからないからです。
これは、製品が市場にあることが私たちに多く役立つ場合の一つです。製品の使用方法に関する多くのユーザーデータを取得し、製品をはるかに良くすることができます。つまり、おそらくバイブから始まり、その後評価を構築できます。基本的には両方の要素があります。
インターネット上では「バイブコードはおもちゃのアプリだけのもの」という話がたくさんありますが、ウィンドサーフは実際に本番の大規模なコードベースに使用されています。パワーユーザーがより本格的なエンジニアリングにどのように使用しているか教えてください。
これは興味深いことで、会社の多くの人たちは、おそらく世界の残りの部分のようにChatGPTから tremendous な価値を得ませんでした。それはChatGPTが役立たない製品だからではなく、ChatGPTは非常に役立つ製品です。実際には、多くの人々がすでにStack Overflowのようなものを使用していたからです。
Stack OverflowはChatGPTより悪いバージョンですが、それは彼らがすでに使い方を知っていたものでした。そのため、チャットにほとんど頼らずに済んでいました。
しかし基本的に最近起きたことは、エージェントが時間とともにより大きな規模の変更を加えているということです。私たちの会社の開発者たちは今、この製品の起伏を感じています。
つまり、十分な意図を提供しなければ、実際に必要以上のコードを変更してしまうのです。これは現在のツールの実際の問題です。しかし彼らは起伏を理解し、今では初めてタスクがあると、ウィンドサーフに入力します。
彼らの最初のことは実際にエディタに入力することではなく、意図を入れて実際に変更を加えることです。彼らは今、サーバーへのソフトウェアのデプロイなど、ウィンドサーフ内で完全に構築されたワークフローで非常に興味深いことを行っています。
多くの定型作業と繰り返しのタスクが会社内で完全に排除されました。これが可能な理由は、数百万行のコードを持つコードベースを非常に効果的に操作できるからです。
視聴者にいくつかのヒントを提供するとしたら、ウィンドサーフを適切に使用するユーザーはどのようにこの意図を提供して、変更がより外科的になるようにすべきですか?エージェントがこれらの広範な変更を作成しているとおっしゃいましたが、それが起こるのを見たことがあります。
しかし、これらの正確な変更をどのように得ますか?何をしますか?システムにどのように供給しますか?どうやって達人になりますか?大文字で叫ぶのですか?
いいえ、これは少し信頼を持ってシステムに少し失敗させる必要があるものの一つだと思います。これは少し怖いことです。多くの人々はこれらのツールをすぐに書き捨てます。
明らかに、私たちの会社の誰もツールを書き捨てることはないでしょう。彼らはツールを自分たちで構築しているからです。人々の期待は非常に高く、それが主なフィードバックだと思います。
実際、私たちの製品はこれらのより大きな変更に対して、変更の90%を正しく行うかもしれませんが、10%が間違っていれば人々はツール全体を書き捨てます。その時点で、おそらく正しいことは変更を元に戻すことです。変更を元に戻す機能があります。
または、継続してそれがどこに行くのか見ることです。そして最も重要な側面は、できるだけ頻繁にコードをコミットすることだと思います。それが大きなヒントです。
20の変更を加え、その上に自分自身でいくつかの変更を加え、それを元に戻すことができない状況に陥り、最終的に非常にイライラすることは避けたいのです。
そのことを考えると、AIコーディングパラダイムでgitの動作方法を変更する必要があるかどうか疑問に思いました。常にgit commitを行うことが正しい動きなのか、あるいはより深いインフラの変更が必要かどうか考えたことがありますか?
常に考えています。私たちが常に考えているのは、将来的には多くのエージェントがコードベース上で並列に実行されるということです。それにはいくつかのトレードオフがあります。
2つのエージェントが同時に同じコードを修正した場合、何が起きているのか知るのは難しいです。もう一つの難しさは、異なるエージェントが独立して作業している異なるブランチを同時にチェックアウトすることが難しいことです。
たくさんのマージコンフリクトが発生しますね。
そうです、多くのマージコンフリクトがあります。しかし、これは実際のソフトウェア開発もそのようなものです。多くのエンジニアがコードベースで作業する場合、彼らは皆同時にコードベースをいじっています。それはそれほど特別なことではありません。
gitは素晴らしいツールです。それはおそらく、gitをこの製品の表面に機能するようにスキンする方法の問題です。
例えば、gitにはワークツリーというものがあり、同じディレクトリ内にリポジトリの多くのワークツリーとバージョンを持つことができます。そしておそらく、これらのエージェントの多くが異なるワークツリーで作業することができます。
あるいは、ブランチの概念を公開する代わりに、ユーザーのメインブランチに繰り返し適用できるブランチを自分で維持することもできます。
会社でエージェントが本当に優れていると考える理由の一つは、起きたすべてのことに対して統一されたタイムラインを持とうとしていることです。
統一されたタイムラインは、開発者が行ったことだけでなく、開発者が行ったことにエージェントが行ったことを加えたものです。
実際、私たちの製品では、エディタやターミナルで何かを行うと、それらすべてが取り込まれ、意図は実際にAIを使用したときにAIが知るような方法で追跡されます。
ある意味、エージェントは完全に異なるタイムラインで操作するのではなく、高頻度でマージされるようなものを好みます。
これは未解決の問題です。私たちは正確な答えを持っているとは思いません。
将来的にウィンドサーフをどのように変えると考えていますか?どのように進化するでしょうか?
バイブコーディングはある種の流行だと思っている人が多くいるかもしれませんが、それは時間とともにますます能力が高まると思います。誰かが「これは複雑なユースケースでは機能しない」と言うのを聞くと、それは何かを言っているように感じます。
これらのAIが年々どのように向上しているかを見ると、それは実に驚くべきことです。例を挙げると、AMCという数学オリンピックがあり、私は高校でそれをやっていました。
私は自分がどれだけうまくやるかにとても興奮していました。私の最高スコアは14に近いところでした。これは非常に高いスコアです。
しかし狂ったことに、これはAIシステムがそれほど良くならないと思っていたものの一つでした。昨年の初めには、おそらく5未満でしたが、今やOpenAIの平均は14.5から15です。
基本的に、これを先に投影し続ける必要があります。それは狂っていきます。ソフトウェア開発ライフサイクルのあらゆる部分で、コードの作成、レビュー、テスト、デバッグ、設計において、AIはまもなく10倍のレバレッジを追加することになります。
それは人々が想像するよりもはるかに速く起こるでしょう。
現在のエンジニアリングチームに戻りますが、バージョンアップグレードや退屈な定型タスクに対処する必要がなくなったら、彼らは余分な時間を何に使っているのか気になります。
私たちの会社と、おそらくこの分野で構築しているすべてのスタートアップについての一つのことは、技術が到達できる天井がとても高いということです。非常に高いです。
もし開発者が定型作業に費やす時間が少なくなれば、彼らは機能するかどうか確信がないことに対して仮説をテストするのにより多くの時間を費やすことができます。
ある意味、エンジニアリングはより研究のような文化になります。仮説を非常に速くテストするものです。それには高いサイクルタイムが付随します。物事を実装し、評価を構築し、ユーザーとテストする必要がありますが、それが製品をはるかに良くするものです。
それは今後採用するエンジニアのタイプが変わるということですか?別のものを探していますか?
私たちが採用するエンジニアについては、間違っていてもいいと思う、非常に高いエージェンシーを持つ人、大胆な人を探しています。
奇妙なことに、それがスタートアップにとって変わったかどうかはわかりません。スタートアップは、定型コードをすぐに書くために会社に参加する人を採用すべきではありません。
ある意味で、これは目標ではありませんが、スタートアップは非常に醜いコードであっても成功することができます。それはスタートアップが失敗する理由ではありません。スタートアップが失敗する理由は、ユーザーにとって差別化された良い製品を構築しなかったからです。
それが最終的に失敗した理由です。
これはすべて真実ですが、実際には常に一定の作業馬が必要であり、特定のことを達成する必要があります。昔はこれはAndroidアプリの構築のようなものでした。喜んでやる人がほとんどいなかったので、誰かを雇ってやってもらう必要がありました。
エンジニアリングのビジョンでは、それはもはや組織内で持つべき有用なスキルではないということですか?AIが無限の作業馬だからです。それは公平ですか?
おそらく、多くの人がやりたがらないソフトウェアの本当にニッチな側面は、一部の人を除いて、はるかに民主化されます。少なくとも当面は、それが多くの深さを持っていない限りです。
例えば、「新しいバージョンを使用するようにシステムを変更する必要があります」という場合、バージョン変更に深く取り組んだ人がいたとしても、会社内でそれだけに焦点を当てた人はいないと思います。
人をどのように面接しますか?
私たちはかなり厳格で高い技術的基準を持っていると思います。これには、AIを使用して問題を解決できるインタビューを提供することが含まれます。これは人々がこれらのツールを嫌っているかどうかを確認するためです。
まだそのような開発者もいます。明らかにそうであれば、私たちはおそらく一緒に働く間違った会社でしょう。
同時に、AIを与えずに彼らが考えるのを見たいという対面でのインタビューもあります。誰かがネストされたforループを書く必要があるとき、ChatGPTに行く必要があるのは悪いことです。なぜなら、それは問題解決スキルの良い代理であると感じるからです。
問題解決スキルは高いレベルでまだプレミアムにあるべき貴重なスキルです。
多くの会社が抱えていて私たちも経験した課題の一つは、ウィンドサーフが非常に優れているため、人々にウィンドサーフを与えると、ウィンドサーフがワンショットでできない面接の質問を考えるのが難しいということです。
質問をウィンドサーフにコピー&ペーストして入力するだけで、誰でもできてしまうので、実際には何も評価していないことになります。
その通りです。今やGPT-4 Miniのようなものが解決できない問題はほとんどありません。競技プログラミングを見ると、それはすでに独自のリーグにあります。
面白いのは、面接は本質的に孤立した問題だということです。問題を理解するのにとても多くの理解が必要なら、問題を説明できないでしょう。
それはLLMに完璧です。孤立した問題を与え、コードを非常に速くテストして実行できます。その通りです。アルゴリズムの面接だけを行い、AIを使用させると、本当に何もテストしていないことになります。
それは、アルゴリズムの質問から離れて、AIを使用できるのに実際に適した、はるかに難しい質問を尋ねるということですか?
システム設計とアルゴリズム関連の両方の質問がありますが、これらはかなりオープンエンドな質問です。正しい答えがない場合があります。最終的にトレードオフを作ることができます。
私たちがやりたいのは、人々がどのように考えるかを見ることです。異なるトレードオフや制約を与えられた場合に、知的好奇心を検証しようとしています。
誰かが最終的に「なぜかわからない」と言うのは、私たちが知的好奇心や良い問題解決スキルを示すと感じる深さに達している限り、全く問題ありません。誰かが好奇心旺盛で学びたいと思っているとき、それはとても明らかです。
次の考えは、直感に反するかもしれませんが、あなたはこれらすべてのAIコーディングツールの構築の最前線にいます。それはあなたの採用計画にまったく影響していません。それどころか、実際には実行するためにはるかに多くのエンジニアが必要です。もっと教えてください。
それは問題が非常に高い天井を持っているということに帰着すると思います。私たちが本当にやりたいことがたくさんあります。会社のミッションは、技術とアプリを構築するのにかかる時間を99%削減することです。
それを達成するには多くの作業が必要です。確かに、私たちの会社の各人は1年前よりもはるかに生産的です。しかし、それを達成するためには、それは巨大なタスクです。
開発体験のより多くの部分をターゲットにする必要があります。現在、コード作成プロセスとコードのナビゲーションプロセスに多くの支援をしていますが、設計プロセス、デプロイプロセス、デバッグプロセスにはあまり触れていません。現在のデバッグプロセスはかなり基本的です。さまざまな部分があります。
100単位の時間があるとすると、私たちは斧を持っており、その時間の40または50をカットしたかもしれませんが、まだ切り取る必要があるスニペットがたくさんあります。
ウィンドサーフを使用しているとき、異なるテクノロジーの間の非常に遅いブリッジであることが多く、データをあちこちにコピー&ペーストしています。すべての部分が非常に高速になったため、今ではそれらの間の接着剤のようですが、私が接着剤でありながら、はるかに遅いです。
少し話題を外れた奇妙な質問をしてもいいですか?どうぞ。
私たちのチームのピートが先日、プロンプトについての素晴らしいエッセイを発表し、ユーザーにシステムプロンプトへのアクセスを許可すべきだと主張しました。
彼が考案したもう一つのことで、私たちがYC内部ですべて使用しているのは、記録システム、つまりPostgresデータベースへの直接読み取りアクセスを持つ新しいエージェントインフラストラクチャです。
これを使用する過程で、コード生成がはるかに良くなり、この会話に基づいて、それが10倍、100倍良くなるとカウントできると思います。パッケージソフトウェアを構築する代わりに、必要に応じてエージェントが基本的に構築するジャストインタイムソフトウェアはどうでしょうか?
それはソフトウェアとSaaSの本質を変えますか?私たち全員とウィンドサーフはどうなりますか?
わかりません。この「開発者」という概念はおそらく「ビルダー」と呼ばれるものに広がり、誰もがビルダーになると思います。彼らはどれだけ深く掘り下げてものを構築したいかを決定できます。
おそらく現在の開発者バージョンは、より短期間でより複雑なものを構築できるほど深く掘り下げることができますが、そうですね、ソフトウェアは非常に民主化されたものになると思います。
AIアシスタントに「私が消費したカロリー量を追跡するものを構築して」と頼んだときに何が起こるかを想像する未来を想像します。
なぜ非常にカスタムアプリがこれを行うのでしょうか?おそらくARグラスからのすべての入力を取り、カスタムピースのソフトウェアが出てきて、あなたがすべての消費しているカロリーに関してオントラックかどうかを教えるタスクを持つアプリです。
それはあなた自身のための非常にカスタムなソフトウェアであり、調整し続けることができます。そのような未来を想像できます。効果的に誰もが構築していますが、人々は自分たちが構築しているものがソフトウェアだとは知りません。彼らは単に自分たちのための機能と技術を構築しているだけです。
全くコードを書く方法を知らない人々もウィンドサーフを使用していますか?
実際にかなり多くのユーザーがそうです。
興味深いですね。彼らはどのようにウィンドサーフに出会ったのでしょうか?プログラマーが使い方を見せた会社で働いていたのでしょうか?
ウィンドサーフをより新しいスーパーパワーとして使用するプロフェッショナル開発者市場を対象としているのか、ゲイリーが話していたような技術的でないユーザー市場を対象としているのか、どちらを考えていますか?
私たちもこれに驚きました。私たちの製品はIDEですが、実際には開発者の無視できない一部がエディタを開いたことがなく、単に私たちのエージェント(カスケードと呼ばれています)で生活しています。
ブラウザプレビューがあるので、彼らはブラウザプレビューを開き、クリックして変更を加えます。利点は、コードを理解しているため、リポジトリに戻ってコードが非常に複雑になったとき、開発者またはビルダーが残したところから実際に拾い上げ、彼らがいたところから続けることができることです。
ただし、そのユースケースに対して大幅に最適化したわけではありません。実際にそこで起こっていることがどれほど多いか、本当に驚くべきことです。
長期的には、これが両方の視聴者をターゲットにする1つの製品になるのか、それとも実際には異なる視聴者のための異なる製品があるのか、つまりコードを見て詳細を知りたい真剣な開発者に焦点を当てたウィンドサーフがあり、コードを全く見たくない完全に非技術的な人々のための他の製品があるのか、どう思いますか?
長期的にどうなるかはわかりません。より統一されるようになるような気がします。しかし、スタートアップとして私が言うことの一つは、多くの人がいても、社内で集中できることには限界があります。
ですから、私たちにとって、開発者のための最高の体験を構築する方法と、非開発者のためのたくさんの機能を持つ体験を構築する方法の両方に焦点を当てることはありません。
しかし、この技術構築のアイデアがコードをよりよく理解するようになれば、非開発者にも素晴らしい体験を提供できるだろうと想像せざるを得ません。
しかし、依存関係の道がどうなるかはわかりません。スペース内の多くの企業が非開発者からコードを編集する能力をサポートするようになると思います。すでにこれを見始めていると思います。境界線がぼやけ始めています。
少なくとも評価のためにはそれを気にするでしょうね。
そうです、評価のためにはそれを気にする必要があります。純粋な非開発者製品にとって私が想像するのが難しい点は、コードを理解していない場合、どの丘を登っているのでしょうか?製品がどんどん良くなっていることをどうやって知るのですか?
それは開かれた質問です。基本モデルがより良くなることに完全に依存していますか?それは問題ありませんが、製品は基本モデルの上に非常に軽いレイヤーになると想像すべきです。それは怖い場所です。すべての異なる軸で競争されることを意味します。
一般的にそれについてどう考えますか?このポッドキャストで多く話したことの一つは、「GPTラッパーミーム」が完全に消え去ったということです。
ただし、研究所からの大きなリリースがあるたびに少し戻ってきて、みんなが「OpenAIがすべてを食べてしまう」と少し心配しています。それについてどう考えていますか?
私はこれを考えるとき、会社は前に述べたように動く目標です。つまり、今日私たちがコミットされたソフトウェアの80〜90%を生成しているとしたら、新しいモデルが出たときに、私たちはゲームをアップグレードする必要があります。
同じステージにいることはできません。おそらくコミットされたコードの95%を生成する必要があります。私たちの機会は、基盤モデルがある場所と100%の間のギャップです。
両者の間にギャップがあるところで、引き続き体験を提供できる限り、ギャップはあると思います。体験にわずかでも人間がループ内にいる限り、ギャップがあります。私たちは物事を構築していくことができますが、それは常に変化する目標です。
新しいモデルが出てきたとき、基盤モデル自体が提供するベースラインが倍になるかもしれません。私たちがベースモデルの上に提供するアルファも倍増する必要があります。
基盤モデルを取り、それが90%を提供すると仮定しましょう。時間を90%削減します。それは実際に、私たちがさらに1〜2%のパーセンテージポイントを提供できれば、新しいベースラインの上に20%の利益がもたらされることを意味します。
90が92や93になるとき。新しいベースラインが90になるため、これはまだ非常に価値があります。基本的に私たちが操作する方法は、可能な限り多くの追加価値を提供する方法です。そして私たちがそれに目を向けている限り、うまくいくと思います。
AIコーディングの分野で働いているスタートアップにどのようなアドバイスをしますか?たくさんありますね。新しいスタートアップに開かれる機会は何だと思いますか?
私は非常に興味深いと思うものをたくさん見てきました。私たちがこれらのテクノロジーを本当に採用したとは思いませんが、ソフトウェアを構築する方法にはさまざまな部分があり、さまざまな種類のワークロードがあります。
スペース内の多くのスタートアップで「私たちはこの一つのことを本当にうまくやる」というものをあまり見ていません。例を挙げます。これらのJava移行を本当にうまくやります。
信じられないことに、この分野を見ると、人々がこれに費やす額はおそらく数十億ドルに達します。それは巨大な分野です。何から何への移行ですか?
例えば、これは実際に少し狂っています。JVM 7から8への移行、あるいはRailsのバージョンさえも、それ以上です。
多くの企業がCOBOLを書いています。驚くべきことに、IRSのソフトウェアのほとんどはCOBOLで書かれています。
2000年代初頭にはCOBOLからJavaへの移行を試みたようです。それは50億ドル以上のプロジェクトだったと思います。驚くべきことに、それは起こりませんでした。
今ではワンショットでできると思いますか?
ワンショットでできるかどうかはわかりませんが、冗談です。しかし、それらのタスクを非常にうまく実行できると想像してください。それは経済的に非常に価値のあるタスクです。
私たちは会社内でこのような事に集中する能力を持っていないことは明らかです。そこにうまくやれば、とても興味深い分野です。
二つ目のキーポイントは、開発者がやることで製品を良くするものではないが重要なことがたくさんあることです。例えば、アラートやソフトウェアのバグの自動解決などです。
それも膨大な支出額であり、その分野で最高クラスの製品がどのようなものかを見てみたいです。誰かがそれについて本当に詳しく調べれば、素晴らしい製品を構築できると確信しています。しかし、驚くほど成功したものを聞いたことはありません。
これらは両方とも本当に素晴らしい洞察です。私がそれらについて好きなことの一つは、2つのスタートアップだけの機会ではないということです。それぞれはバケットであり、100の大企業が入る可能性があります。
実際に、S21からBloopという会社があり、エージェントでこれらのCOBOLからJavaへの移行を行っています。
それは素晴らしいです。それは非常に複雑な問題です。しかし、30年以上存在する企業に話せば、これはおそらく彼らに年間数億ドルのコストをかけているものです。
この旅を振り返って、ウィンドサーフを作ってくれたことに私たちは本当に感謝しています。あなたは今、社会全体をスーパーチャージしています。
5年前のあなた、つまりこれをすべて始める前のあなたに何を言いますか?
私が言う最大のことは、合理的だと思うよりもはるかに速く考えを変えることです。自分のアイデアに何度も何度も恋をするのはとても簡単です。そうしないと何もしないでしょう。
しかし、できるだけ早くピボットし、ピボットを名誉の徽章として扱ってください。ほとんどの人は物事について考えを変える勇気がなく、みんなに言っていたことを失敗するよりも、考えを変え、大胆な一歩を踏み出して成功する方が良いでしょう。
ヴァン、今日は参加してくれてありがとう。また次回お会いしましょう。

コメント

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