因為 OpenAI 30 億美元的收購報價,Windsurf 成為近期最受關(guān)注的 AI 編程公司。
2021 年成立的 Windsurf(前身為 Codeium),最初是一家 ToB 的 GPU 虛擬化平臺,并且已經(jīng)實現(xiàn)了百萬美元級別的收入。但在見識到大模型的能力后,創(chuàng)始人 Varun Mohan 意識到,大模型讓基礎(chǔ)設(shè)施端的優(yōu)勢不再明顯,應(yīng)用端才是未來。
切入 AI 編程賽道后,一開始是作為 VS Code 的插件,到后來自己做 IDE,Windsurf 走上了一條和 Cursor 不同的 AI Coding 之路。
今年 4 月,公司 ARR 收入約為 1 億美元,相比一月份的 4000 萬,收入翻倍。而在本輪籌集超過 2.43 億美元的資金后,Windsurf 的估值達到了 28.5 億美元。
為什么在有現(xiàn)金流之后還果斷轉(zhuǎn)向 AI 編程賽道,為什么要自己做 IDE,以及 Windsurf 和其他 AI 編程產(chǎn)品的差異在哪里?關(guān)于這些問題,創(chuàng)始人 Varun Mohan 最近在接受科技播客 Lenny's Podcast 采訪時,就這些問題進行了深聊。
TLDR
Varun Mohan 分享在創(chuàng)業(yè)過程中的經(jīng)驗,如果創(chuàng)業(yè)者在為一個具有巨大潛力的目標努力,但同時又在一個不再相信有價值的方向上投入精力,那么肯定會失敗。
隨著 AI 技術(shù)的發(fā)展,AI 很可能會承擔(dān) 90%甚至更多部分的代碼編寫工作。開發(fā)者的角色將發(fā)生轉(zhuǎn)變,更多地側(cè)重于審查和調(diào)整 AI 生成的代碼,而不是從零開始編寫代碼。讓開發(fā)者能夠更高效地進行「審查」工作,是 Windsurf 產(chǎn)品開發(fā)的核心原因。
未來工程師的角色將更加側(cè)重于識別:我們需要解決的最重要的商業(yè)問題是什么?我們的產(chǎn)品或應(yīng)用需要具備哪些核心功能?然后基于這些判斷,進行優(yōu)先級排序,做出正確的技術(shù)決策,并最終將這些決策付諸實踐。
Windsurf 的核心優(yōu)勢在于解決理解大型代碼庫的核心問題,基于此前在基礎(chǔ)設(shè)施領(lǐng)域的積累,Windsurf 構(gòu)建了專有模型,能夠并行處理大量的代碼庫。
Windsurf 在基礎(chǔ)模型方面的策略是:在必要的地方構(gòu)建和訓(xùn)練自己的模型,在通用模型表現(xiàn)更好的地方直接集成使用。
企業(yè)銷售是非常重要的組成部分。公司早期未招聘過銷售人員,由 Varun Mohan 自己負責(zé)銷售產(chǎn)品。Varun Mohan 認為,「如果我自己都難以通過銷售來獲取增量收入,不知道如何將這個流程規(guī)?;?,如何將公司的收入從數(shù)百萬推向數(shù)億,甚至數(shù)十億?」
Founder Park 正在搭建開發(fā)者社群,邀請積極嘗試、測試新模型、新技術(shù)的開發(fā)者、創(chuàng)業(yè)者們加入,請掃碼詳細填寫你的產(chǎn)品/項目信息,通過審核后工作人員會拉你入群~
進群之后,你有機會得到:
高濃度的主流模型(如 DeepSeek 等)開發(fā)交流;
資源對接,與 API、云廠商、模型廠商直接交流反饋的機會;
好用、有趣的產(chǎn)品/案例,F(xiàn)ounder Park 會主動做宣傳。
01
收入數(shù)百萬的時候轉(zhuǎn)型做 AI 編程
主持人:簡單分享一下 Codeium 的歷史,以及 Windsurf 是如何從 Codeium 發(fā)展而來的?
Varun Mohan:公司的創(chuàng)立大約是在四年前,在四年前,AI 編程這個概念并不像現(xiàn)在這樣普及,ChatGPT 還沒有發(fā)布。那時我們實際上專注于 GPU 虛擬化(一種允許多個用戶共享 GPU 資源的技術(shù))和編譯器軟件。我之前在自動駕駛領(lǐng)域工作,而我的聯(lián)合創(chuàng)始人 Douglas Chen 是我從中學(xué)時代就認識的朋友,他當(dāng)時在 Meta 從事 AR/VR 相關(guān)工作。
當(dāng)時我們認為,深度學(xué)習(xí)技術(shù)將影響眾多行業(yè),不僅限于自動駕駛,還會波及金融、國防、醫(yī)療等各個領(lǐng)域。我們覺得構(gòu)建這些深度學(xué)習(xí)應(yīng)用是一項非常艱巨的任務(wù),因此,我們提供了一套解決方案,讓用戶能夠在沒有配備 GPU 的普通電腦上運行這些復(fù)雜的應(yīng)用,而我們則負責(zé)處理所有的底層復(fù)雜工作,確保這些工作負載能夠在 GPU 上高效、順利地運行,并能夠?qū)ζ溥M行優(yōu)化以提升效率。
到 2022 年年中,我們的收入已達數(shù)百萬美元,管理著上萬臺 GPU,團隊共八人,且已實現(xiàn)正向的現(xiàn)金流。但隨著大語言模型變得越來越強大,我們逐漸意識到,我們當(dāng)時所做的很多工作可能價值不再那么顯著了。
那時我們團隊只有八個人,但我們腦中浮現(xiàn)出一個想法:「未來還會有人花費時間和精力去訓(xùn)練那些高度定制化的情感分類模型嗎?還是說他們會直接向 GPT-N 模型提問,詢問這段文本表達的是正面情緒還是負面情緒?」答案很可能傾向于后者。
在每個人都能輕松運行 AI 模型的情況下,一個基礎(chǔ)設(shè)施公司如何才能建立差異化優(yōu)勢呢?因為最終大家都會使用類似的基礎(chǔ)設(shè)施。因此,我們決定將生成式 AI 視為下一個重大的浪潮,就像當(dāng)年的互聯(lián)網(wǎng)一樣,我們應(yīng)該致力于構(gòu)建下一個具有里程碑意義的應(yīng)用,就像 Google 和 Amazon 那樣。
于是,我們對自身的基礎(chǔ)設(shè)施進行了垂直整合,并基于此開始構(gòu)建當(dāng)時的 Codeium。那時我們是 GitHub Copilot 的早期用戶,堅信編程領(lǐng)域在未來幾年內(nèi)會發(fā)生翻天覆地的變化。所以,我們利用自己的基礎(chǔ)設(shè)施,大規(guī)模運行我們自己的模型,甚至還訓(xùn)練了自己的模型。最開始,我們的功能非?;A(chǔ),僅僅是一個純粹的代碼自動補全模型,當(dāng)用戶輸入代碼時,我們會自動補全接下來的幾行。
而且我們完全免費地向所有開發(fā)者提供這款產(chǎn)品,并支持了所有主流的集成開發(fā)環(huán)境(IDE),包括 VSCode、JetBrains、Eclipse、Visual Studio、Vim、Emacs 等。我們之所以能夠做到免費,得益于我們在基礎(chǔ)設(shè)施方面的深厚積累,這使我們能夠極大地優(yōu)化這些工作負載(workload)。
接著,很多大型企業(yè)也表達了與我們合作的意愿,于是我們建立了企業(yè)端的合作模式,與像戴爾、摩根大通這樣的公司展開合作。對于這些大型企業(yè)而言,他們關(guān)注的不僅僅是「能否自動補全代碼,或者能否與代碼庫進行智能交互」,更核心的需求在于「你們能否提供一個安全可靠、并且能夠針對公司內(nèi)部私有數(shù)據(jù)進行個性化定制的產(chǎn)品?」
因此,我們對基礎(chǔ)設(shè)施進行了調(diào)整,并投入了大量的資源,來確保我們能夠深入理解這些大公司的代碼庫。這項工作我們在大約六個月前一直在持續(xù)推進。不過,我們現(xiàn)在停止了這些工作,因為大約六個月前我們意識到,我們所使用的 IDE 已經(jīng)成為了發(fā)展的瓶頸。
以 VSCode 為例,這是一款非常流行的 IDE,但它在展示和集成我們設(shè)想的AI能力方面已經(jīng)達到了極限。
于是,我們決定對 VSCode 進行分支,從其基礎(chǔ)上構(gòu)建一個新的 IDE,并加入一些全新的「主動性」功能。近幾年來,模型的能力呈現(xiàn)指數(shù)級增長,現(xiàn)在正是我們將這些能力充分發(fā)揮的時候。雖然省略了很多細節(jié),但大致的演進過程就是這樣,我們現(xiàn)在正處于這個新階段。
主持人:對于AI的未來,尤其是 AI 工具的技術(shù)棧,你認為 AI 的價值會主要體現(xiàn)在哪些環(huán)節(jié)?
Varun Mohan:首先我想從創(chuàng)業(yè)的角度分享一個可能對大家有所啟發(fā)的事實——你最初認為最正確的創(chuàng)業(yè)方向,往往并非最終成功的方向。對于創(chuàng)業(yè)者來說,接受這個事實其實是非常困難的。作為創(chuàng)始人,你必須保持極度的樂觀,堅信你正在做的事情至關(guān)重要。如果不這樣想,又何必投入精力去做呢?如果某個方向如此顯而易見,那大型公司早就行動了。
但與此同時,你也必須保持清醒和現(xiàn)實的態(tài)度,因為很多非傳統(tǒng)的想法最終都被證明是不可行的。所以,你需要在一條微妙的界限上找到平衡:一方面,要堅定地為你認定的未來而努力;另一方面,也要隨時接納新的信息,并在必要時修正甚至放棄之前的信念。
以我們最初專注于基礎(chǔ)設(shè)施為例,我們起初假設(shè)不同的模型架構(gòu)會呈現(xiàn)出高度多樣化的趨勢。因為我之前有自動駕駛領(lǐng)域的背景,接觸過各種不同類型的模型架構(gòu),例如卷積神經(jīng)網(wǎng)絡(luò) (CNN)、圖神經(jīng)網(wǎng)絡(luò) (GNN)、循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN)、LSTM (Long Short-Term Memory)等。
我們當(dāng)時處理的架構(gòu)種類多達幾十種,當(dāng)時我們覺得這些架構(gòu)的復(fù)雜性太高了,如果有人能有效地管理和降低這些架構(gòu)的復(fù)雜差異,必然會產(chǎn)生巨大的價值。然而,到了 2023 年年中,幾乎所有的研究和應(yīng)用似乎都朝著 Transformer 模型方向發(fā)展。那時,我們的最初假設(shè)就被證明是錯誤的。
所以現(xiàn)在我們認為,純粹在基礎(chǔ)設(shè)施層能夠積累的價值可能不會太多,至少這是我們目前的判斷。真正能夠建立差異化優(yōu)勢的地方應(yīng)該在于其他層面。
那么,這個能夠?qū)崿F(xiàn)差異化的地方在哪里呢?我們認為應(yīng)用層具有非常深的潛力,可以在這里打造獨特性。例如,我們可以為開發(fā)者創(chuàng)造更卓越的用戶體驗和工作流程。我們堅信,在這方面幾乎沒有上限,我們能夠持續(xù)改善開發(fā)者的工作體驗。
主持人:你提到的第二點,我認為也非常引人入勝,就是你們?nèi)绾螐囊粋€已經(jīng)取得成效的業(yè)務(wù)模式進行轉(zhuǎn)型。當(dāng)時你們已經(jīng)實現(xiàn)了盈利,產(chǎn)品也受到了用戶的喜愛,年收入已經(jīng)達到數(shù)百萬美元,然而你們卻決定徹底改變方向。
在這個過程中,你們在選擇正確發(fā)展路徑方面學(xué)到了哪些經(jīng)驗?我聽到一個非常重要的啟示是,一旦你們對最初的假設(shè)產(chǎn)生了懷疑,或許就應(yīng)該認真考慮放棄原有方向,轉(zhuǎn)而嘗試新的思路。
Varun Mohan:我覺得我們現(xiàn)在的思維方式是,我們接受自己會犯很多錯誤。這是必然的。
那確實是一個至關(guān)重要的時刻,因為我們當(dāng)時的決定某種程度上是把公司的未來押上了賭注。我們向投資人表示,「我們現(xiàn)在正在盈利。」我們當(dāng)時已經(jīng)籌集了 2800 萬美元的資金,但我們依然決定徹底轉(zhuǎn)型,完全放棄了之前的業(yè)務(wù)方向。我們幾乎是「一夜之間」就做出了這個決定。
這不是那種我們會說「也許再等等一個季度、兩個季度」的情況。因為我們深知,對于初創(chuàng)公司而言,專注是決定成敗的關(guān)鍵。如果你在為一個你認為具有巨大潛力的目標努力,但同時又在一個你不再相信有價值的方向上投入精力,那么你肯定會失敗。這個道理是非常清晰的。
不過,我認為關(guān)鍵在于你必須認識到,你很有可能會犯錯。一旦你集中精力去驗證這些核心假設(shè),就不會對自己的想法產(chǎn)生過度的執(zhí)著。擁有好的想法固然重要,但你絕對不能過度沉迷于其中。
而且,你必須確保你的團隊是一個極度追求真理的團隊。公司里很多人都經(jīng)歷過自己的想法被反復(fù)驗證甚至證偽的過程。就像我們現(xiàn)在做 Windsurf 一樣,這雖然并非一次完全的業(yè)務(wù)轉(zhuǎn)型,但這對于公司而言無疑是一個重大的戰(zhàn)略決策。你需要做出一些大膽的嘗試,有時候你會發(fā)現(xiàn)自己錯了,有時候你會發(fā)現(xiàn)自己對了。
但如果你擁有一個團隊,即使做出了錯誤的決定,大家的士氣也不會因此低落,這才是最理想的狀態(tài)。這樣一來,你就擁有了無限的可能性。
另外我想分享的一點是,今年我們團隊的工程產(chǎn)出將超過公司自成立以來的總和。這幾乎意味著每一年對我們來說都代表著一個全新的機會,一個徹底檢驗假設(shè)的可能性。也許最初的假設(shè)是錯誤的,但誰又能保證自己總是比別人在更多的事情上做得更正確呢?
02
核心是讓開發(fā)者更好「審」代碼,
而不是寫代碼
主持人:Windsurf 究竟是什么?如何讓大家更簡單易懂地理解它?
Varun Mohan:簡而言之,Windsurf 是一個集成開發(fā)環(huán)境(IDE),旨在幫助開發(fā)者構(gòu)建軟件和應(yīng)用。有意思的一點是,許多使用我們產(chǎn)品的用戶可能并不清楚什么是 IDE,我們稍后再深入探討。
那么,我們?yōu)槭裁匆珠_發(fā) Windsurf 呢?實際上,最開始我們計劃構(gòu)建這個產(chǎn)品時,很多人可能會問,為什么不直接在現(xiàn)有的 IDE(例如 Visual Studio Code)上進行開發(fā)呢?
簡單來說,隨著 AI 能力的持續(xù)增強,我們認為技術(shù)構(gòu)建的方式將會發(fā)生根本性的改變。傳統(tǒng)的純文本編輯器已經(jīng)不足以滿足未來的需求了。過去,開發(fā)者在 IDE 中編寫代碼,IDE 提供一些基礎(chǔ)反饋,比如「你的代碼有 bug」或者「編譯錯誤」,僅此而已。然而,如今的 IDE 能夠做的事情遠不止這些。它可以自動化地修改大量的代碼,甚至直接生成代碼片段。
我們意識到,伴隨AI技術(shù)的發(fā)展,AI 很可能會承擔(dān) 90%甚至更多的代碼編寫工作。屆時,開發(fā)者的角色將發(fā)生轉(zhuǎn)變,更多地側(cè)重于審查和調(diào)整 AI 生成的代碼,而非從零開始編寫。我們認為,基于這個新的 AI 時代背景,開發(fā)者的工作流程勢必會發(fā)生變化。因此,我們在 Windsurf 中進行了一系列優(yōu)化調(diào)整,旨在讓開發(fā)者能夠更高效地進行這些「審查」工作,這是我們開發(fā)這款產(chǎn)品的核心原因。
舉個簡單的例子,我們之前有一個代碼自動補全功能,可以補全一小段代碼。但是現(xiàn)在,我們在 Windsurf Tab 中引入了代碼重構(gòu)的功能,幾乎可以實現(xiàn)內(nèi)聯(lián)式的重構(gòu)。為了實現(xiàn)這一功能,我們在 Windsurf 中定制了一套用戶界面。但在 VSCode 中,由于 API 限制,我們只能通過動態(tài)生成圖片并將其放置在光標附近來展示代碼修改。當(dāng)我們將這一功能遷移到 Windsurf 平臺,我們的采納率就提升了三倍。
這極大地增強了我們的信心。我們深知,技術(shù)本身的先進性固然重要,但如果我們的用戶無法充分利用我們的技術(shù)獲取價值,那么我們就必須重新審視一個問題:「我們是否確實需要一套全新的界面和交互方式?」這就是 Windsurf 項目誕生的初衷。
主持人:所以,你們做出的重大戰(zhàn)略決策,是基于這樣的判斷:雖然可以從一開始就在大家熟悉的現(xiàn)有 IDE 上開展工作,但最終發(fā)現(xiàn)這條路徑存在局限性,「我們需要做一些突破性的事情,讓用戶愿意切換到一個全新的、能夠帶來更大效益的 IDE。」 我覺得這可能是很多人沒有充分認識到的,說服開發(fā)者去嘗試和采納一個全新的工具,其風(fēng)險是非常巨大的,畢竟對于工程師而言,這是一個非常重要的職業(yè)決定。
Varun Mohan:確實如此。需要澄清的一點是,我們很多開發(fā)者用戶目前仍然在使用 VS Code。同時,也有不少使用 Java、C++ 等語言的開發(fā)者,他們可能更傾向于 JetBrains 系列的 IDE,比如 IntelliJ。對于我們來說,我們未來仍會繼續(xù)在這些主流平臺上進行開發(fā)和維護。
但是,我們確實認為,像 VS Code 這樣的一些主流 IDE,在用戶界面方面限制了我們能夠為客戶提供的能力。尤其是 VS Code,它的 API 相對有限,無法很好地支持我們希望實現(xiàn)和展示的高級功能。
主持人:Windsurf 目前的增長情況如何?大家經(jīng)常聽到競爭對手公布各種令人驚嘆的數(shù)據(jù),請你分享一些 Windsurf 的相關(guān)數(shù)據(jù)。
Varun Mohan:我們的產(chǎn)品發(fā)布至今大約四個月,在這段時間內(nèi),已經(jīng)有超過一百萬名開發(fā)者嘗試了我們的產(chǎn)品。目前,我們的月活躍用戶數(shù)達到了數(shù)十萬。
03
未來工程師的核心能力是去找到重要的問題
主持人:你認為未來幾年內(nèi),軟件編碼的方式將發(fā)生怎樣的變化?與現(xiàn)在相比,會有哪些不同?
Varun Mohan:我認為我們可以將工程師的工作大致劃分為三個層面:首先是確定「我應(yīng)該解決什么問題?」,其次是思考「我應(yīng)該如何解決它?」,最后才是實際的「解決它」這個執(zhí)行過程。
在這個領(lǐng)域,大家應(yīng)該越來越清晰地認識到,在解決問題的過程中,特別是那些「我知道怎么做」并直接付諸實踐的任務(wù),絕大部分甚至可能全部都將由 AI 來處理。事實上,隨著 AI 對代碼庫的深入理解,它甚至能夠協(xié)助解決「如何解決它」這個問題。
如果你能夠深入理解一個組織的環(huán)境,并對代碼庫有透徹地了解,那么找到最佳解決方案的路徑也會變得越來越明確。所以,我認為,未來工程師的角色將更加側(cè)重于識別我們需要解決的最重要的商業(yè)問題是什么?我們的產(chǎn)品或應(yīng)用需要具備哪些核心功能?然后基于這些判斷,進行優(yōu)先級排序,做出正確的技術(shù)決策,并最終將這些決策付諸實踐。我認為工程師的工作正在朝這個方向發(fā)展。
那么,這是否意味著計算機科學(xué)變得不再必要了呢?我認為這個觀點可能有些被夸大了。因為即使是如今開發(fā)全棧應(yīng)用的工程師,在幾年前,他們可能也學(xué)習(xí)過操作系統(tǒng)課程。理論上講,他們并不會在日常工作中頻繁地操作操作系統(tǒng)內(nèi)核調(diào)度程序。但這些底層原理有助于他們理解為什么自己的應(yīng)用運行緩慢以及幫助他們判斷某些設(shè)計決策為何比其他的更具優(yōu)勢,這些知識讓他們比其他工程師更具優(yōu)勢。
我認為,理解底層原理能夠讓一位優(yōu)秀的工程師變得更加卓越。但同樣重要的是,AI 的發(fā)展也使得那些之前沒有系統(tǒng)學(xué)習(xí)過這些底層知識的人,依然有機會構(gòu)建出色的產(chǎn)品。這是當(dāng)前發(fā)展帶來的另一個顯著變化。
此外,我們有很多更深遠的計劃,遠不止于在 Windsurf 中進行簡單的點擊修改組件。其中一部分令人興奮的功能就體現(xiàn)在 AI 的應(yīng)用上。
我們有一套 AI 代碼審查流程,就像我之前提到的那樣。AI 當(dāng)前的作用已經(jīng)發(fā)生了顯著變化,它現(xiàn)在不再僅僅是協(xié)助用戶進行一些簡單的修改,而是能夠修改大量的代碼。在這種新的工作模式下,開發(fā)者的核心職責(zé)就變成了審查 AI 生成的大部分代碼。
如果我想修改其中的一部分,比如我不喜歡變量名叫做title
,我想把它改成Title String
,那么我可以直接進行修改。如果我希望進行這樣的修改,只需指示 AI 繼續(xù)執(zhí)行即可。
有意思的地方在于,Windsurf 不僅了解 AI 完成了哪些操作,它也清楚用戶進行了哪些修改。我們的目標是讓整個過程像一個無縫的流式操作一樣,用戶執(zhí)行的每一個步驟,AI 都能夠感知并預(yù)測用戶的意圖。比如,AI 現(xiàn)在提示說:「我注意到接口屬性title
已經(jīng)被更改為Title String
?!?然后它會自動去修改代碼庫中所有使用了title
的地方,將其更新為Title String
。
因此,即使我作為一名開發(fā)者,想要進行一些細微的修改,AI 也能夠在我的操作路徑上快速地完成這些更改。試想一下,如果你需要進行一次代碼重構(gòu)或遷移,而只需修改代碼的某一部分,你只需要告訴 AI 繼續(xù)執(zhí)行,其余的工作它都會自動完成。而且由于 AI 對整個代碼庫有深入的理解,它能夠精準地找到所有需要修改的位置并完成相應(yīng)的操作。
當(dāng)然,現(xiàn)在當(dāng)我重新加載應(yīng)用時,應(yīng)用程序沒有任何錯誤,依然能夠正常運行和加載。我甚至可以指示它執(zhí)行一些更有趣的任務(wù),比如讓這個應(yīng)用變得「復(fù)古」。雖然我也不太確定「復(fù)古」具體意味著什么,但我可以嘗試一下。它就會根據(jù)我的要求做出相應(yīng)的修改。
總之,AI 不僅能夠在應(yīng)用程序的層面進行操作,還能深入到用戶的代碼空間中進行修改,從而彌合了應(yīng)用層面和代碼層面之間的差距。這使得 Windsurf 不僅能夠幫助那些完全不了解編程的用戶構(gòu)建應(yīng)用程序,也能為開發(fā)者,特別是那些仍然習(xí)慣于親手編寫代碼的開發(fā)者提供極大的幫助。
04
差異化優(yōu)勢:
能處理百萬行的代碼庫
主持人:Windsurf 與 Cursor 的主要區(qū)別在哪里?你如何看待 Windsurf 在這個領(lǐng)域的長期競爭策略?
Varun Mohan:我可以從幾個方面來回答這個問題。在產(chǎn)品層面,我們投入了大量的精力來確保我們能夠高質(zhì)量地理解極其龐大的代碼庫,這是因為我們從公司成立初期就與像戴爾(Dell)、摩根大通(JPMorgan Chase)這樣的大型企業(yè)展開了合作。以戴爾為例,其代碼庫的單個代碼倉庫可能就超過一億行。因此,如何快速理解這些龐大代碼庫的內(nèi)容并進行大規(guī)模的代碼修改,是我們花費了大量時間攻克的難題。
為了實現(xiàn)這一目標,我們實際上構(gòu)建了自己專屬的模型,它能夠并行處理大量的代碼庫,通過成千上萬顆 GPU 對其進行分析,并對代碼片段進行智能排序,從而精準識別出最關(guān)鍵的部分,以便能夠?qū)τ脩籼岢龅娜魏侮P(guān)于代碼庫的問題作出響應(yīng)。因此,我們憑借在基礎(chǔ)設(shè)施領(lǐng)域的深厚積累,構(gòu)建了大型分布式系統(tǒng)來支撐這項能力。這是 Windsurf 的一個核心差異化優(yōu)勢。
主持人:我覺得大家可能低估了這項技術(shù)的重要性。舉個例子,我們之前曾邀請過 Bolt 和 Lovable 的創(chuàng)始人來訪談,他們的產(chǎn)品是從零開始構(gòu)建的,這類工具可以為你編寫全新的代碼。
但是,如果是在像 Airbnb 或 Uber 這樣的大型公司,你面對的是一個擁有數(shù)百萬行代碼的龐大代碼庫,要真正理解代碼的結(jié)構(gòu)、它的運行機制,以及在哪些地方進行修改而不會破壞現(xiàn)有系統(tǒng),這無疑是一項極其艱巨的任務(wù)。所以,我理解你的意思是,Windsurf 的一個重要優(yōu)勢在于你們從一開始就解決了理解大型代碼庫這個核心問題,而 Cursor 等其他競爭對手則在逐步追趕這一能力。
Varun Mohan:完全正確。這確實是我們投入了大量時間精力的一個關(guān)鍵領(lǐng)域,即深入理解代碼庫的實際運作方式。此外,我們特別關(guān)注的另一個重點是代碼庫中所有與用戶交互相關(guān)的部分。
Varun Mohan:第二個關(guān)鍵區(qū)別在于,我們并不僅僅局限于提供像 Windsurf 這樣的單一工具,實際上我們非常重視并大力支持像 JetBrains 系列這樣的集成開發(fā)環(huán)境(IDE)。JetBrains 和 IntelliJ 的用戶群體覆蓋了大約 70% 到 80% 的 Java 開發(fā)者,我們認為沒有必要去構(gòu)建一個與 JetBrains 直接競爭的產(chǎn)品,因為 JetBrains 本身具有非常好的可擴展性。相比之下,VSCode 在這方面的表現(xiàn)則相對不足。
對我們而言,我們的目標不僅僅是滿足那些愿意切換到我們 Windsurf IDE 的用戶,而是希望能夠為每一位開發(fā)者提供一種靈活多樣的使用體驗。這意味著,即使 Java 開發(fā)者仍然習(xí)慣使用 JetBrains,我們也愿意提供全面的支持。
我們與許多大型企業(yè)建立了合作關(guān)系,在這些企業(yè)中,擁有超過 10,000 名開發(fā)者,其中超過 50% 的開發(fā)者使用 JetBrains。這是一個非常龐大的市場群體。而且,JetBrains 本身是一家年收入過億的私營公司,這說明其市場份額和影響力是巨大的。這是另一個關(guān)鍵點,我們希望開發(fā)者能夠在他們最熟悉、最習(xí)慣的平臺上進行工作,并且能夠無縫地融入他們的現(xiàn)有工作流程。
主持人:我理解你的意思,你們并非強制要求開發(fā)者適應(yīng)新的平臺,而是提供一種更靈活的解決方案,讓他們可以在自己偏好的工具中也能充分利用 Windsurf 的能力。
Varun Mohan:是的。第三個關(guān)鍵點,尤其是對于企業(yè)客戶而言,我們支持許多對安全性要求極高的環(huán)境。我們已經(jīng)獲得了 FedRAMP 認證,這意味著我們可以為大型政府機構(gòu)提供服務(wù)。此外,我們還提供混合模式的產(chǎn)品部署,這意味著所有的代碼索引和存儲實際上都可以部署在客戶的本地租戶環(huán)境中。對于許多公司來說,代碼是其最重要的知識產(chǎn)權(quán)之一,因此數(shù)據(jù)安全和隱私保護至關(guān)重要。
從大型企業(yè)的角度來看,我們多年來積累的經(jīng)驗和處理過的復(fù)雜問題,使我們能夠提供符合他們嚴苛要求的企業(yè)級產(chǎn)品和服務(wù)。這部分能力也是我們在早期進入市場時積累的歷史經(jīng)驗所帶來的獨特優(yōu)勢。
05
Claude 負責(zé)規(guī)劃,
多模型配合執(zhí)行
主持人:Windsurf 使用的模型是 Sonnet 嗎?
Varun Mohan:是的。我們的系統(tǒng)使用一個「規(guī)劃模型」。目前來看,Anthropic 的 Claude-Sonnet 是一個非常優(yōu)秀的規(guī)劃模型,同時 OpenAI 的 GPT-4 模型的能力也不錯。「規(guī)劃模型」負責(zé)高層次規(guī)劃,同時我們在內(nèi)部運行其他必要的模型來執(zhí)行高質(zhì)量的檢索和具體操作。處理上億行代碼的代碼庫并發(fā)送給通用大模型是不現(xiàn)實的,因為技術(shù)上(token 限制)、成本和延遲都不允許。因此,我們在內(nèi)部構(gòu)建并訓(xùn)練了定制模型,在開源基礎(chǔ)上優(yōu)化,它們能快速高效地修改代碼庫,在更多代碼上下文中做決策,相比通用模型有明顯優(yōu)勢。我們的策略是:在必要的地方構(gòu)建和訓(xùn)練自己的模型,在通用模型表現(xiàn)更好的地方則直接集成使用。
主持人:你們自己訓(xùn)練的那些模型,是基于其他機構(gòu)發(fā)布的開源模型嗎?
Varun Mohan:是的,部分基于開源模型。但負責(zé)檢索、代碼自動補全和代碼編輯等核心功能的部分模型完全是我們內(nèi)部獨立訓(xùn)練的,我們專注于最擅長的領(lǐng)域并做到極致。
主持人:這個問題可能有點偏技術(shù),你們在訓(xùn)練模型時,是否有任何特別之處或獨特的方法?
Varun Mohan:一個特別之處在于我們從用戶那里獲取了極其豐富的數(shù)據(jù),包括用戶偏好和實時操作反饋(例如接受或拒絕自動補全、保存修改等)。特別是用戶在編寫代碼時的「進行中」代碼數(shù)據(jù),這與互聯(lián)網(wǎng)上的已完成代碼不同,這使我們能訓(xùn)練出在代碼不完整狀態(tài)下依然能準確補全和修改的模型,這是通用模型不常處理的情況。我們擅長處理復(fù)雜中間狀態(tài)的代碼庫,并且通過用戶行為數(shù)據(jù)理解代碼演變模式。
主持人:這也成為了在這個領(lǐng)域最終能夠勝出的公司的一個重要競爭優(yōu)勢。如果你們處于領(lǐng)先地位,就能夠比其他競爭對手收集到更多、更獨特的數(shù)據(jù)。
Varun Mohan:是的,能夠深入理解代碼庫是關(guān)鍵,否則能力停留在表層,很難建立差異化競爭優(yōu)勢。
主持人:你這里指的是作為一家公司而言嗎?
Varun Mohan:對,作為一家公司。
主持人:那作為一個用戶而言呢?
Varun Mohan:我感覺這個領(lǐng)域的競爭會非常激烈,最終不同產(chǎn)品的區(qū)分度可能體現(xiàn)在能否持續(xù)地保持領(lǐng)先優(yōu)勢。
主持人:因為如果他們只是簡單地在 Sonnet 的基礎(chǔ)上進行一些包裝或二次開發(fā),其能力與其他的 Sonnet 封裝器相差無幾,那就沒有明顯的差異化,也缺乏堅實的競爭壁壘。
Varun Mohan:這取決于具體應(yīng)用,如果是處理非?;A(chǔ)的網(wǎng)頁元素,可能直接使用前沿通用模型就足夠了。
主持人:另外,我認為對于大家理解 Windsurf 非常重要。你此前提到過在 Windsurf 中,你需要從一個已有的基礎(chǔ)代碼庫開始,而不是將其視為一個完全抽象的「從零到一」的應(yīng)用構(gòu)建工具。它實際上是一個集成開發(fā)環(huán)境,你在其中進行代碼編寫,需要安裝依賴庫。
Varun Mohan:對,這一點很重要。許多開發(fā)者偏好本地開發(fā)環(huán)境,尤其處理需要本地系統(tǒng)依賴(如 GPU 驅(qū)動)的復(fù)雜應(yīng)用時。對此,我們提供這種靈活性,允許開發(fā)者在習(xí)慣的環(huán)境中工作。本地開發(fā)和基于 IDE 的模式已存在幾十年,未來幾年也不會消失。
06
關(guān)鍵的決策,
要為 6 個月后做準備
主持人:在打造 Windsurf 的過程中,或者在 AI 行業(yè)摸爬滾打的過程中,你學(xué)到的最反直覺的一件事是什么?
Varun Mohan:我覺得有一件很有意思的事情是,大家在網(wǎng)絡(luò)上對我們短期內(nèi)取得的進展表現(xiàn)出極大的熱情,比如我們每周發(fā)布的新功能,或者每隔幾周進行的產(chǎn)品更新。
但實際上,我們公司內(nèi)部的許多關(guān)鍵決策,都是在為未來三個月、六個月、甚至九個月后的發(fā)展做準備。我們公司的目標是,每隔 6 到 12 個月就對現(xiàn)有產(chǎn)品進行一次徹底的「自我革新」。每過 6 到 12 個月,我們現(xiàn)有的產(chǎn)品形態(tài)應(yīng)該看起來有點落伍。
所以,這里就存在一個看似矛盾的現(xiàn)象:一方面,你希望在市場上有成熟的產(chǎn)品,能夠逐步迭代,聽取用戶的反饋,持續(xù)改進。但另一方面,我們作為首批推出完整 IDE 產(chǎn)品的公司,是從顛覆性的產(chǎn)品革新方向出發(fā)的。
然而,如果我們不持續(xù)地進行自我顛覆和演進,那么現(xiàn)有產(chǎn)品的價值很快就會貶值,我們必須不斷地重新證明自己的價值,可能需要我們在用戶尚未明確提出需求的領(lǐng)域進行創(chuàng)新。因此,在公司內(nèi)部,始終存在著一種矛盾:進行增量式改進感覺更安全,例如添加一個新按鈕,或者用戶反饋說「我希望這個下拉菜單能實現(xiàn) X 功能」。但這些改進并非我們最終取勝的關(guān)鍵原因,它們只是一些基礎(chǔ)功能,我們可以做也可以不做。
但最終決定我們能否取得成功的,是那些具有長遠影響、甚至?xí)嵏铂F(xiàn)有產(chǎn)品形態(tài)的方向,這種矛盾很微妙。增量改進是重要的,同時也不能完全忽視用戶的聲音,因為用戶是我們的基礎(chǔ)。
主持人:這讓我想起了最近一位播客嘉賓 Captions.AI 聯(lián)合創(chuàng)始人 Gaurav Misra 的分享,說他們公司有兩個路線圖:一個是「真實路線圖」,完全基于功能需求、用戶反饋和數(shù)據(jù)來制定;另一個是「秘密路線圖」,完全不考慮用戶的直接反饋或數(shù)據(jù),而是基于他們團隊自身對技術(shù)趨勢的判斷和預(yù)測,大膽押注未來的發(fā)展方向。
Varun Mohan:是的,沒錯。
主持人:Anthropic 的 Dario 曾預(yù)測,未來 90% 的代碼將由AI編寫。然而,你們公司現(xiàn)在卻在大規(guī)模地招聘工程師。你認為是否會有一個臨界點,屆時你們對工程師的需求會顯著減少?
Varun Mohan:我認為核心的問題在于,通過增加更多的工程師,我們能否獲得更大的邊際價值提升?
首先,我需要澄清一點:即使AI能夠編寫 90%的代碼,這并不意味著工程師的生產(chǎn)力將提高十倍。因為工程師的工作不僅僅局限于編寫代碼。他們還需要進行代碼審查、測試、調(diào)試、系統(tǒng)設(shè)計、部署,甚至在代碼庫中進行導(dǎo)航和理解。工程師所做的工作內(nèi)容非常廣泛,不僅僅是簡單的代碼編寫。
在并行計算領(lǐng)域有一個著名的法則,叫做 Amdahl 定律(Amdahl's Law)。它的基本含義是,如果你的任務(wù)可以分解成不同的部分,其中一部分是串行的「關(guān)鍵路徑」,那么即使你將可并行化的部分無限加速,整個任務(wù)的完成時間也存在一個上限,由那個串行的關(guān)鍵路徑?jīng)Q定。簡單來說,比如你完成一項任務(wù)總共需要 100 個時間單位,其中 30 個單位是用來寫代碼的。即使我能將這 30 個單位的時間縮短到 3 個單位,你最多也只能將總時間從 100 個單位減少到 73 個單位,整體效率提升最多是 27%。
所以,我們確實看到了生產(chǎn)力提高了 30%,甚至接近 40%。但從我們希望解決的目標來看,即便公司擁有 200 名工程師,可能仍然不足以實現(xiàn)。因此,問題的關(guān)鍵在于,每個工程師通過 AI 工具能夠帶來多少額外的生產(chǎn)力提升?
再舉一個例子,如果你去看像摩根大通這樣的大型金融機構(gòu),他們的首席信息官(CIO)每年在軟件方面的預(yù)算高達 170 億美元,擁有超過 5 萬名工程師。如果你告訴她:「這些工程師現(xiàn)在能夠構(gòu)建更多技術(shù)了?!惯@才是 Windsurf 真正帶來的價值。摩根大通或其他公司會進行這樣的計算,即構(gòu)建技術(shù)的投資回報率提高了。AI 技術(shù)提高了技術(shù)投資的回報率,意味著他們應(yīng)該投入更多的資源,并且在短期內(nèi)可能需要更多的工程師。這種情況并非適用于所有公司,確實有一些公司對技術(shù)的需求有限,或停留在某個發(fā)展瓶頸。但哪些對技術(shù)需求極為龐大的公司而言,「AI 賦能的工程師」意味著他們會繼續(xù)招聘更多的工程師。
07
「如果創(chuàng)始人都沒法把產(chǎn)品賣出去,
又怎么指望銷售去賣」
主持人:目前,你們的工程團隊有多少人?
Varun Mohan:目前我們公司大約有 160 名員工,工程團隊有 50 多人。
主持人:除了工程團隊,公司還有哪些規(guī)模較大的部門或職能?
Varun Mohan:我們有市場團隊。
主持人:你們起初像大多數(shù)初創(chuàng)公司一樣,沒有專門的銷售團隊。但后來你們意識到這是一個巨大的市場機會,并為此做出了顯著的調(diào)整?,F(xiàn)在,你們擁有一個規(guī)模相當(dāng)大的銷售和市場團隊,這在你們公司的發(fā)展歷程中是一個非常突出的特點。
Varun Mohan:對,實際上這個決定我們在公司早期就做出了。大約在一年前我們就聘請了銷售副總裁,而現(xiàn)在我們的市場團隊已經(jīng)超過 80 人了,這在公司內(nèi)部是一個規(guī)模相當(dāng)可觀的職能部門。
在公司剛成立時,我們有一些天使投資人是具有豐富運營經(jīng)驗的市場銷售專家。比如 Carlos Delatorre,他曾是 MongoDB 的首席營收官(CRO)。對我們而言,我們從未對企業(yè)銷售或銷售本身持負面看法。我認為這可能是技術(shù)型創(chuàng)始人常常存在的誤解,他們可能覺得銷售是流程中一個不必要的「壞」環(huán)節(jié),一切都應(yīng)該通過產(chǎn)品驅(qū)動實現(xiàn)增長。
我認為事情并非非黑即白,企業(yè)銷售是非常重要的組成部分。但可能是因為當(dāng)時我們是一家專注于 GPU 虛擬化的基礎(chǔ)設(shè)施公司,所以我們早期從未招聘過銷售人員,因為我自己就是負責(zé)銷售產(chǎn)品的那個人。
回想起來,如果我自己都難以通過銷售來獲取增量收入,我不知道如何將這個流程規(guī)模化,如何將公司的收入從數(shù)百萬推向數(shù)億,甚至數(shù)十億。所以,如果我自己都不清楚如何完成這項任務(wù),又怎能招聘一名銷售人員,期望他來做到呢?另一方面,到了 Codeium 這個發(fā)展階段,許多大型企業(yè)很快就主動聯(lián)系到我們。
在 2023 年年中,我們開始正式對外銷售產(chǎn)品,并與多家企業(yè)同時開展了并行試點項目。很快我們就意識到,在這個領(lǐng)域需要建立一套針對大型企業(yè)客戶的銷售機制。因此,在 2023 年年底,我們就聘請了銷售副總裁。隨后,我們迅速擴大了銷售團隊的規(guī)模。對我們來說,如果你希望將產(chǎn)品銷售給財富 500 強企業(yè),僅僅依靠用戶在線刷卡購買幾乎是不可能實現(xiàn)的。
主持人:在團隊結(jié)構(gòu)、工程管理、產(chǎn)品設(shè)計等方面,你們是否有別于其他公司之處,或者嘗試過哪些特別成功的方法,亦或是經(jīng)歷過哪些完全失敗的嘗試?
Varun Mohan:我們公司內(nèi)部有一個非常有意思的決策,那就是核心工程團隊中沒有設(shè)置純粹的「產(chǎn)品經(jīng)理」職位。這主要是因為我們的產(chǎn)品是專門為開發(fā)者群體打造的,而我們團隊成員自己就是開發(fā)者。我們深信,我們作為開發(fā)者的直覺和經(jīng)驗對于產(chǎn)品的決策具有重要價值。如果我們的直覺不起作用,那么可能我們招聘的員工就不夠匹配。所以從某種意義上講,我們的開發(fā)者也在承擔(dān)著一部分傳統(tǒng)產(chǎn)品經(jīng)理的角色。
但另一方面,對于企業(yè)級業(yè)務(wù)來說,我們確實與許多大型企業(yè)有合作,很多時候客戶提出的需求是我們工程師自身難以直接體會的?!割愃朴谛枰?FedRAMP 認證」這類需求絕大多數(shù)都是由客戶主動提出的。
因此,我們也有一部分員工正在向產(chǎn)品戰(zhàn)略類角色進行轉(zhuǎn)型,他們負責(zé)深入理解客戶的需求,同時結(jié)合我們的技術(shù)能力,幫助我們構(gòu)建出能夠規(guī)?;瘧?yīng)用的產(chǎn)品。所以,整體而言,我認為我們在組織結(jié)構(gòu)方面是比較獨特的,這主要歸因于我們的產(chǎn)品面向開發(fā)者群體,并且許多產(chǎn)品決策是基于開發(fā)者的直覺進行的。此外,正如你所說,我們的工程團隊結(jié)構(gòu)也比較扁平化。我們奉行「兩塊披薩團隊(Two-Pizza Team)」的原則,將團隊規(guī)模控制在較小的范圍內(nèi)。因為我覺得如果團隊規(guī)模過大,團隊負責(zé)人就無法深入地了解技術(shù)細節(jié)。
而且,在這樣一個技術(shù)發(fā)展日新月異的行業(yè)中,領(lǐng)導(dǎo)者如果不能深刻理解技術(shù),并且不親自參與實際的開發(fā)工作,這實際上是非常危險的。這也是我們做出的另一個重要決策,團隊的靈活性非常高,如果我們決定某個項目的優(yōu)先級發(fā)生了變化,我們會非常迅速地調(diào)整團隊結(jié)構(gòu)。這一點在我們公司是高度集中規(guī)劃和執(zhí)行的。
主持人:你剛才提到公司大約有 150 名員工,請問目前有多少位產(chǎn)品經(jīng)理呢?
Varun Mohan:在產(chǎn)品戰(zhàn)略這個領(lǐng)域,我們目前有三個人擔(dān)任這個角色。
主持人:我明白了。所以他們的正式頭銜是「產(chǎn)品戰(zhàn)略經(jīng)理」,而非傳統(tǒng)的「產(chǎn)品經(jīng)理」?
Varun Mohan:沒錯。
主持人:有意思。那么大概是 50 名工程師,80 多名銷售人員,再加上其他部門?
Varun Mohan:對的。我們還有一些其他職能部門,例如招聘、財務(wù)以及市場營銷等。
08
親自去用,
了解模型的能力邊界很重要
主持人:有沒有一些試用Windsurf 的小貼士,幫助用戶更高效地利用這款工具?
Varun Mohan:第一個建議是,用戶需要保持一定的耐心,同時在發(fā)出指令時要盡量明確。當(dāng)你讓應(yīng)用程序進行修改時,它可能會生成很多你不需要的或不相關(guān)的更改。防止這種情況發(fā)生的最好方法就是盡可能地具體和明確地描述你的需求。我建議用戶在剛開始使用時,先從小的代碼修改任務(wù)入手。如果你的項目包含一個非常大的目錄,不要一開始就嘗試讓 Windsurf 重構(gòu)整個目錄,因為一旦出現(xiàn)偏差,可能會影響到二十多個文件。
從這個角度來看,用戶會隨著使用逐漸掌握產(chǎn)品的「能力邊界」和「表現(xiàn)模式」。我喜歡用代碼自動補全功能來做類比,當(dāng)你使用代碼自動補全功能時,有時它建議的內(nèi)容可能只有 30%是你真正想要的,這聽起來或許會讓人覺得有些沮喪或不便。但實際上,并不會覺得特別煩人,因為你已經(jīng)學(xué)會了如何篩選,知道在 70%的情況下你可以忽略它的建議。而當(dāng)你采納它的建議時,你清楚它能帶來價值。而且,你還會提前預(yù)判,如果你輸入的指令非常復(fù)雜,你會預(yù)期到「這次自動補全可能不會完全符合我的要求」。
所以,我認為這就像是需要理解和掌握產(chǎn)品的「高峰」和「低谷」一樣。每隔三個月,產(chǎn)品的各項功能都會持續(xù)得到改進和重新評估,與之前相比會變得更加智能和好用。因此,我認為保持耐心和明確指令是用戶在使用 Windsurf 初期需要掌握的兩個關(guān)鍵技巧。
主持人:我覺得你剛才強調(diào)的一點非常重要,那就是用戶需要花時間去了解模型的能力范圍,例如需要提供多具體的指令,或者它能處理多抽象的任務(wù)。隨著使用經(jīng)驗的積累,用戶會逐漸建立起對模型能力的直覺判斷。
結(jié)束之前,有沒有什么最后想和聽眾分享的,或者有什么智慧之言?
Varun Mohan:說實話,我可以給出一些關(guān)于這個行業(yè)的預(yù)測,可能大部分都會錯。我覺得最好的辦法就是親自去嘗試這些工具,動手用這些產(chǎn)品。我覺得未來一年,會有大量的「alpha」機會,任何能最大限度利用這些工具的人都會領(lǐng)先一步。
想象一下,你的同事中有多少人甚至都不知道這些工具的存在,也不知道它們能做什么,這會讓他們的工作效率大打折扣。盡可能快地動手去試,去用它們。
主持人:你說的「動手去試」,意思是下載 Windsurf,開始編程,要求它幫你構(gòu)建東西嗎?
Varun Mohan:對,構(gòu)建應(yīng)用。你甚至可以用它來制作原型、修改現(xiàn)有的代碼庫。你可能會成為團隊里的倍增器,做出別人從沒想到的貢獻。想象一下,如果你是一個產(chǎn)品經(jīng)理,能夠快速地修改代碼庫并自己推動變更,那你可能會獲得工程師們的極大尊重,也能做更多的事情。我覺得到那時,可以說,你幾乎就沒有上限了。

熱門跟貼