斷供競(jìng)品前,Claude早已聯(lián)手Cursor?共創(chuàng)播客曝光:AI編程瓶頸在代碼檢查!CTO揭秘如何用Cursor開發(fā)Cursor
原創(chuàng) 精選編譯 | 伊風(fēng)
事情的發(fā)展越來(lái)越有趣了。
Anthropic 在斷供 WindSurf 模型接入時(shí)公開表態(tài):把 Claude 賣給 OpenAI 的產(chǎn)品,確實(shí)“感覺很怪”。這番話,讓不少用戶直接為 WindSurf 判了“技術(shù)死刑”。
但更出人意料的是——早在 Claude 4 發(fā)布前,Anthropic 就已經(jīng)和 Cursor 攜手做了一期技術(shù)播客。
再加上 Claude 4 發(fā)布當(dāng)天,WindSurf 就失去了模型接入權(quán)限……這些時(shí)機(jī)一疊加,不免讓人多想:
難道繼 AI 公司紛紛投靠大廠后,AI 編程產(chǎn)品也得“選邊站”?
現(xiàn)在,這期播客已經(jīng)可以觀看了。拋開這些商業(yè)角力的八卦不談,這期播客在技術(shù)維度上絕對(duì)是干貨拉滿!
一邊是被認(rèn)為在編程能力上遙遙領(lǐng)先的 Claude,另一邊是當(dāng)下最受歡迎的 AI 編程工具 Cursor,四位核心成員坐在一起,聊透了“AI 正如何重塑軟件開發(fā)”。
圖片
左起:
Jacob,Cursor 研究員,負(fù)責(zé)機(jī)器學(xué)習(xí)和檢索系統(tǒng)
Aman,Cursor CTO&聯(lián)合創(chuàng)始人,在 Cursor 做機(jī)器學(xué)習(xí)相關(guān)工作
Lucas,Cursor研究員,在 Cursor 主要負(fù)責(zé) AI 編程系統(tǒng)方面的工作
Alex,Anthropic Claude 的開發(fā)者關(guān)系團(tuán)隊(duì)負(fù)責(zé)人
這場(chǎng)對(duì)談不僅涉及技術(shù)演進(jìn)和產(chǎn)品理念,更直面一個(gè)核心問題:
當(dāng) AI 能“寫代碼”,開發(fā)者還需要什么能力?
話不多說(shuō),先來(lái)畫個(gè)重點(diǎn):
- Claude 3.5 Sonnet 是一個(gè)明顯的轉(zhuǎn)折點(diǎn),它讓AI編程從單一的自動(dòng)補(bǔ)全,走向了多文件、長(zhǎng)上下文等復(fù)雜任務(wù)。
- Claude內(nèi)部是這么平衡模型代碼能力與其他能力的:代碼不是唯一方向,但研究人員發(fā)現(xiàn),當(dāng)模型在代碼上表現(xiàn)得更好時(shí),它們?cè)趶?fù)雜推理、多步驟任務(wù)、agent-style 的交互上也會(huì)同步提升。
- Cursor內(nèi)部堅(jiān)持使用Cursor做研發(fā),這樣能最快地試驗(yàn)新功能,如果不work就立即放棄,不用等用戶數(shù)據(jù)的反饋。
- Cursor致力開發(fā)的“Background Agent(后臺(tái)代理)”,可以直接處理完整的 PR(拉取請(qǐng)求),未來(lái)我們會(huì)支持同時(shí)操作三四個(gè)變更,隨時(shí)放后臺(tái)、拉前臺(tái)。
- AI編程接下來(lái)的最大瓶頸將是“代碼驗(yàn)證”。因?yàn)槟P鸵呀?jīng)非常擅長(zhǎng)生成大量代碼,但開發(fā)者目前已經(jīng)將70% 花在代碼檢查上。
- AI編程可能將促使一類“更高抽象層級(jí)工作的軟件工程師”——他們并不掌握太多底層知識(shí),卻依然能高效地開發(fā)。
- AI編程的強(qiáng)大,反而讓開發(fā)者的角色更重要了:你需要判斷這段代碼應(yīng)該做什么,你需要有判斷力、品味,你要能引導(dǎo)軟件向正確方向發(fā)展。
以下是經(jīng)過整理的播客全文,enjoy:
模型帶給Cursor新的可能
主持人 Anthropic Alex:
這次我們既會(huì)聊 Cursor 本身,也會(huì)聊你們?nèi)绾闻c Claude 集成。今年對(duì) Cursor 來(lái)說(shuō)可謂爆發(fā)式的一年,關(guān)注 AI 行業(yè)的人都知道——Cursor 在一年內(nèi)實(shí)現(xiàn)了超 3 億美元營(yíng)收,這太瘋狂了!現(xiàn)在已經(jīng)有數(shù)百萬(wàn)開發(fā)者在使用 Cursor。在你們看來(lái),今天的 Cursor 和一年前相比,最大的變化是什么?
CTO Aman:
我覺得主要有幾件大事發(fā)生。語(yǔ)言模型從一開始就有很大潛力,而 Cursor 算是最早一批真正把這些能力發(fā)揮出來(lái)的公司,尤其是在編碼領(lǐng)域。
與此同時(shí),模型本身的能力也在大幅提升。比如 Claude 3.5 Sonnet 就是一個(gè)明顯的轉(zhuǎn)折點(diǎn),它讓“代碼生成”變得不再只是自動(dòng)補(bǔ)全,而是可以處理多文件、上下文更深的任務(wù)。在那之前,我們主要做的還是像 tab 補(bǔ)全、局部編輯這些事情。
但當(dāng)我們把 Sonnet 3.5 的推理能力和我們自己開發(fā)的檢索模型結(jié)合起來(lái),再應(yīng)用到整個(gè)代碼編輯流程中時(shí),就打開了“跨文件編輯”這個(gè)新維度。我認(rèn)為那是 Cursor 用戶量激增的真正關(guān)鍵點(diǎn)。從那之后,我們一方面跟隨模型能力的提升,另一方面也不斷優(yōu)化底層邏輯,把模型的潛力發(fā)揮到極致。
主持人 Anthropic Alex:
這條進(jìn)化路徑是自然演化的,還是說(shuō)當(dāng)你們第一次用上 Sonnet 3.5 時(shí)立刻意識(shí)到“哇,我們現(xiàn)在可以做以前做不到的事了”?這個(gè)轉(zhuǎn)變過程是怎樣的?
CTO Aman:
其實(shí)是漸進(jìn)的。每次模型升級(jí)后,我們都能在使用中隱約感受到它變得更聰明,但那種改變不是立刻就爆發(fā)的。老實(shí)說(shuō),我們自己有時(shí)候都不太擅長(zhǎng)“品嘗”這些模型的質(zhì)量,因?yàn)槲覀兪褂盟鼈兊姆绞剑驼鎸?shí)用戶場(chǎng)景差異挺大。
我們是在反復(fù)試錯(cuò)中,逐步看到某些模型更擅長(zhǎng)推理、更能處理通用編碼任務(wù),慢慢摸索出一些可以“真正跑起來(lái)”的功能。Sonnet 是第一個(gè)讓我們能讓“跨文件交互”真正跑通的模型。后來(lái)我們又在“工具調(diào)用”和“像 Agent 一樣嵌入編輯器”的方向上,繼續(xù)推進(jìn)。
主持人 Anthropic Alex:
明白了。新模型能力的提升,會(huì)帶來(lái)新的探索機(jī)會(huì),然后你們?cè)侔堰@些驗(yàn)證過的能力轉(zhuǎn)化為產(chǎn)品功能,回饋到 Cursor 里。
CTO Aman:
是的,完全可以這么理解。
如何用Cursor開發(fā)Cursor?
主持人 Anthropic Alex:
那也就引出下一個(gè)問題——我聽說(shuō)你們團(tuán)隊(duì)是在“用 Cursor 開發(fā) Cursor”,形成了一個(gè)自我改進(jìn)的反饋閉環(huán)。你能說(shuō)說(shuō)這在日常中是怎么運(yùn)作的嗎?
Lukas:
其實(shí)這很依賴于每個(gè)員工的具體工作內(nèi)容,也跟他在負(fù)責(zé)的產(chǎn)品模塊所處階段有關(guān)。
比如說(shuō)你要從頭鋪設(shè)一個(gè)新模塊,就很適合用 Agent 功能快速生成基本結(jié)構(gòu);如果是在調(diào) bug,那就很適合用 Claude 這樣的思考型模型;如果是小改動(dòng),tab 補(bǔ)全就很好用。對(duì)陌生代碼庫(kù),QA 和檢索能力就很關(guān)鍵——而 3.5 和 4 系列模型在“代碼結(jié)構(gòu)研究”這塊表現(xiàn)都特別出色。
主持人 Anthropic Alex:
也就是說(shuō),在探索代碼時(shí),這些工具能幫助你搞清結(jié)構(gòu),而你們?cè)谑褂眠^程中發(fā)現(xiàn)某個(gè)點(diǎn)做得不夠好,就會(huì)反過來(lái)改進(jìn)產(chǎn)品?
Lukas:
對(duì),我們很多功能其實(shí)就是解決自己遇到的痛點(diǎn)。內(nèi)部試用時(shí),誰(shuí)卡住了,就會(huì)去想“能不能做一個(gè)什么功能來(lái)解決它”。我們鼓勵(lì)每個(gè)人都去嘗試添加功能,用完后馬上內(nèi)部反饋,再?zèng)Q定是否推廣。
主持人 Anthropic Alex:
那你覺得,從“更高視角”來(lái)看,這種“做自己最核心用戶”的狀態(tài),是一種競(jìng)爭(zhēng)優(yōu)勢(shì)嗎?
CTO Aman:
絕對(duì)是。我們能非常快地試驗(yàn)新功能,做出一個(gè)東西,發(fā)現(xiàn)不好用,立刻扔掉都可以,不用等用戶數(shù)據(jù)來(lái)反饋。內(nèi)部就能立刻判斷:“這玩意不行。” 所以整個(gè)迭代速度快得多。
而且從我們公司內(nèi)部來(lái)看,其實(shí)每個(gè)人用 AI 的方式差別也很大。
主要看你在做什么樣的工作。如果你對(duì)某塊代碼庫(kù)非常熟悉,你腦中已經(jīng)有了結(jié)構(gòu)圖,這時(shí)候直接敲代碼可能反而更快,而 tab 補(bǔ)全就能幫你大幅提速。
但如果你進(jìn)入一個(gè)不熟悉的模塊,或要寫大量重復(fù)邏輯,這些都可以交給模型處理。包括一些基礎(chǔ)推理任務(wù)也能靠模型完成。
像 Lucas 進(jìn)入 Linear(一個(gè)新代碼庫(kù))時(shí)就是這樣,你會(huì)感受到模型帶來(lái)的那種“階躍式提速”。而隨著模型越來(lái)越好,Cursor 也越來(lái)越能在“你狀態(tài)在線”時(shí)幫你加速,在“你迷路時(shí)”幫你找路。
主持人 Anthropic Alex:
聽起來(lái),這些功能的適配性也像是一個(gè)“使用光譜”——越熟悉的時(shí)候用自動(dòng)補(bǔ)全,越陌生時(shí)就更依賴模型的主動(dòng)幫助。
CTO Aman:
是的,可以把這個(gè)功能的“使用光譜”想象成一端是“Tab 補(bǔ)全”,適合你完全掌控、明確知道自己在做什么的時(shí)候;再往前是“Command+K”編輯某個(gè)具體區(qū)域,甚至整個(gè)文件;更進(jìn)一步是“Agent”——它已經(jīng)能處理多個(gè)文件的編輯;而最末端的,就是我們最近一直在開發(fā)的“Background Agent(后臺(tái)代理)”,它可以直接處理完整的 PR(拉取請(qǐng)求),非常強(qiáng)大。
主持人 Anthropic Alex:
你們最近剛發(fā)布了 Background Agent 的預(yù)覽版,能介紹一下它是什么嗎?
CTO Aman:
現(xiàn)在模型在完成端到端任務(wù)上確實(shí)越來(lái)越強(qiáng),但還沒達(dá)到 100%,短期內(nèi)也不會(huì)。這種情況下,加速開發(fā)者的方式,是允許他們并行處理任務(wù),而不是像以前那樣完全“放在后臺(tái)跑”,然后出來(lái)一個(gè) PR,去 GitHub 審閱。如果這個(gè) PR 只有 90% 完成度,那你就得接管后續(xù)的修改,這時(shí)就需要借助 Cursor 的特性,快速在前臺(tái)和后臺(tái)之間切換。這種流暢切換真的很關(guān)鍵?,F(xiàn)在還只是這個(gè)功能的早期階段,我可以想象,未來(lái)我們會(huì)支持同時(shí)操作三四個(gè)變更,隨時(shí)放后臺(tái)、拉前臺(tái),非常有趣,可能會(huì)改變大家使用 Cursor 和開發(fā)軟件的方式。
Lukas:
從更廣義的角度看,Background Agent 其實(shí)是一種新的“計(jì)算原語(yǔ)”(primitive),它可以用在很多地方。目前的交互方式比較直接,就是你輸入提示詞后,它就可以在后臺(tái)獨(dú)立運(yùn)行并迭代。但未來(lái)我們還會(huì)有更多集成方式,支持各種觸發(fā)場(chǎng)景,我覺得這是個(gè)有很多產(chǎn)品潛力的方向。
主持人 Anthropic Alex:
那它是不是把代碼庫(kù)放進(jìn)一個(gè)虛擬機(jī)里?這個(gè)“轉(zhuǎn)移”到底是怎么發(fā)生的?
Lukas:
沒錯(cuò),我們會(huì)啟動(dòng)一個(gè)獨(dú)立環(huán)境(VM),預(yù)裝好所有開發(fā)環(huán)境工具,Agent 可以直接使用它們。包括所有 VS Code 插件,它可以看到 linter 報(bào)錯(cuò)等。
AI編程的下一步是“代碼檢查”
主持人 Anthropic Alex:
現(xiàn)在我們確實(shí)看到越來(lái)越多的“異步任務(wù)”、“后臺(tái)任務(wù)”,從編碼到研究都是如此。你覺得如果未來(lái)我們有成千上萬(wàn)個(gè)代理在后臺(tái)并行處理問題,會(huì)是什么樣的情景?就像一整支“AI團(tuán)隊(duì)”在后臺(tái)作戰(zhàn)一樣?
CTO Aman:
我覺得接下來(lái)最大瓶頸會(huì)是“代碼驗(yàn)證”。模型已經(jīng)非常擅長(zhǎng)生成大量代碼,但設(shè)想一下,開發(fā)者的時(shí)間可能有 70% 花在代碼審查上,30% 寫代碼。即使寫代碼的部分完全自動(dòng)化,也只能把效率提升 3 倍。驗(yàn)證的過程必須優(yōu)化,AI 代碼是否“正確”,這不只是功能實(shí)現(xiàn)了這么簡(jiǎn)單——還要匹配開發(fā)者的原始意圖。
CTO Aman:
所以我們要解決的,是如何讓開發(fā)者更容易驗(yàn)證代碼、對(duì) AI 的修改更有信心。正確性本身很模糊,有時(shí)你給 AI 的指令可能并不清晰,它只能在這個(gè)含糊的范圍里盡力做到最好。問題是:這是不是你心中真正想要的?所以,我們非常重視優(yōu)化“代碼審查體驗(yàn)”。
主持人 Anthropic Alex:
那你們有沒有一些初步的想法?
CTO Aman:
我們團(tuán)隊(duì)有不少想法在內(nèi)部討論。其中一個(gè)是我們 CEO Michael 特別喜歡的設(shè)想:通過一種“抽象表示形式”來(lái)操作代碼庫(kù),比如用偽代碼來(lái)描述變更,然后系統(tǒng)能確保這些變更與真實(shí)代碼完全一致。這樣,驗(yàn)證過程可以大大縮短。這就類似“vibe coding”模式有效的原因——你可以快速驗(yàn)證修改是否生效。但在生產(chǎn)環(huán)境里,這套方法很難直接用,如何擴(kuò)展它,是我們非常重視的問題。
主持人 Anthropic Alex:
這是個(gè)好問題——vibe coding 適用于小工具或 demo,但如果面對(duì)的是企業(yè)級(jí)代碼庫(kù),上千萬(wàn)行代碼,這時(shí)該怎么做?現(xiàn)階段的模型能勝任嗎?
Jacob:
這正是我們?cè)谠O(shè)計(jì) Background Agent 時(shí)重點(diǎn)考慮的問題。比如說(shuō),一個(gè)簡(jiǎn)單的任務(wù)是“這里有個(gè)測(cè)試失敗了,請(qǐng)修復(fù)代碼讓它通過?!边@對(duì)簡(jiǎn)單代碼庫(kù)來(lái)說(shuō)不難。但在企業(yè)級(jí)項(xiàng)目中,依賴設(shè)置可能非常復(fù)雜,模型無(wú)法直接運(yùn)行測(cè)試。所以我們重點(diǎn)優(yōu)化的是:如何為開發(fā)者自動(dòng)創(chuàng)建一個(gè)可以運(yùn)行測(cè)試的環(huán)境,并使其可重復(fù)更新。
這樣一來(lái),模型可以在后臺(tái)開啟 VM,不斷嘗試修改,有些能通過測(cè)試,有些不能。最終開發(fā)者只需要關(guān)注“成功的那個(gè)結(jié)果”。這個(gè)流程的基礎(chǔ)設(shè)施和用戶體驗(yàn)非常重要,我們花了很多精力去打磨。
CTO Aman:
另外還有一些更底層的問題。就像剛才說(shuō)的,如果你能讓模型“嘗試讓測(cè)試通過”,也許就能一定程度上驗(yàn)證它。但在大型代碼庫(kù)中,你常常會(huì)遇到“領(lǐng)域特定語(yǔ)言”(DSL)或定制開發(fā)的工具鏈,幾乎形成了獨(dú)特的語(yǔ)言體系,分布在上百萬(wàn)個(gè)文件里,總 token 數(shù)量可能達(dá)到數(shù)億,甚至更多。
我們已經(jīng)做了很多工作來(lái)提升模型對(duì)大規(guī)模代碼庫(kù)的理解,包括訓(xùn)練檢索模型、整合其他上下文來(lái)源。例如,最近你在代碼里修改的地方,往往能反映出你正在專注的方向,這其實(shí)就蘊(yùn)含了很多有價(jià)值的信息;還有團(tuán)隊(duì)成員最近做的改動(dòng),也同樣可以作為提示信號(hào)。不過我認(rèn)為,僅僅給模型提供更好的檢索能力,依然不足以讓它真正“理解”一個(gè)龐大的代碼庫(kù)。這仍是一個(gè)本質(zhì)性的難題,我們非常希望能解決它。
主持人 Anthropic Alex:
可能還需要結(jié)合“記憶”機(jī)制和長(zhǎng)上下文窗口來(lái)解決吧。
CTO Aman:
是的,記憶是一種很有意思的嘗試,讓模型能從你與它的使用過程里“學(xué)習(xí)”。但目前來(lái)看,它帶來(lái)的性能提升還比較有限,比較原始,離我們真正需要的那種對(duì)大規(guī)模代碼庫(kù)的掌握,還有很長(zhǎng)的路。
Lukas:
而且在大型代碼庫(kù)中,目標(biāo)不僅僅是“讓測(cè)試通過”。更重要的是以正確的方式實(shí)現(xiàn)它:要參考已有代碼的風(fēng)格和結(jié)構(gòu),把新代碼融入進(jìn)去,并遵循所有既定的規(guī)范。我們?yōu)榇送度肓撕芏嗯?,比如跨越式?guī)則整合、引入多種上下文來(lái)源等。
CTO Aman:
就拿防抖(debounce)函數(shù)舉例,我當(dāng)然可以手寫一個(gè)新的 debounce 函數(shù),讓測(cè)試通過,但這并不是正確做法。你應(yīng)該使用已有的 debounce 函數(shù)。但問題是,可能這個(gè)項(xiàng)目里已經(jīng)有三四個(gè)類似函數(shù),如何知道該用哪個(gè)?可能只有發(fā)個(gè) Slack 問下某位老員工才能搞明白。所以說(shuō),在這種體量下,要解決這些問題真的非常困難。
主持人 Anthropic Alex:
你這個(gè)例子很有意思。原來(lái)還有這么多組織知識(shí)是存在于代碼庫(kù)之外的,而這些隱性知識(shí)卻會(huì)深刻影響開發(fā)決策,尤其在處理大型項(xiàng)目時(shí)。
CTO Aman:
我不認(rèn)為“組織知識(shí)”是當(dāng)前的主要瓶頸。但就算你讓模型能“完美理解代碼庫(kù)”,你可能也就獲得 5 倍、10 倍的提升而已。接下來(lái)會(huì)卡在另一個(gè)瓶頸:模型能否獲取那些永遠(yuǎn)不會(huì)出現(xiàn)在 PR、代碼注釋或文檔中的信息。這些才是真正影響開發(fā)效率的隱性背景。
Lukas:
而且很多商業(yè)側(cè)的上下文,比如銷售、業(yè)務(wù)邏輯,也必須被納入到 Cursor 的體系中,才能真正發(fā)揮作用。
主持人 Anthropic Alex:
也就是說(shuō),未來(lái)的 Cursor 需要對(duì)接更多系統(tǒng),才能真正“智能”。
CTO Aman:
是的,但我覺得這還不是最迫切的任務(wù)。眼下我們還有很多路要走,比如更好地利用用戶與代碼庫(kù)的交互行為、歷史提交記錄等,來(lái)增強(qiáng) Cursor 的能力。
代碼寫法需要兼顧“模型讀者”嗎?
主持人 Anthropic Alex:
我最近在網(wǎng)頁(yè)內(nèi)容領(lǐng)域看到一個(gè)趨勢(shì),人們開始試圖優(yōu)化頁(yè)面以便于大語(yǔ)言模型(LLM)閱讀和理解。你覺得在代碼世界,會(huì)不會(huì)也出現(xiàn)類似的趨勢(shì)?比如說(shuō),代碼寫法將不再只針對(duì)“人類讀者”,而是要兼顧“模型讀者”?
Lukas:
這個(gè)趨勢(shì)其實(shí)已經(jīng)開始了。比如 API 設(shè)計(jì)正在發(fā)生變化——我們不僅改內(nèi)部版本號(hào),還會(huì)顯式地告訴模型這是新版 API,確保它能正確調(diào)用。而普通代碼和內(nèi)部庫(kù)的寫法也在改變,我們?cè)噲D避免深層嵌套結(jié)構(gòu),盡量把代碼結(jié)構(gòu)保持在兩層以內(nèi),這樣模型理解起來(lái)會(huì)更輕松。
Jacob:
其實(shí)“干凈代碼”(clean code)的原則,既適用于人類,也適用于模型。你要避免重復(fù)、避免不必要的復(fù)雜結(jié)構(gòu),這對(duì)人和 AI 都很重要。未來(lái),隨著 AI 編碼能力增強(qiáng),我們能寫出更多代碼,那就更要注重代碼的整潔性和美感。
主持人 Anthropic Alex:
說(shuō)得很好,尤其是“品味”這個(gè)話題。我感覺有些人天生審美好一點(diǎn),但大多數(shù)人還是靠經(jīng)驗(yàn),靠踩坑學(xué)來(lái)的。在 AI 參與代碼創(chuàng)作越來(lái)越多的今天,很多人擔(dān)心,這會(huì)不會(huì)讓年輕程序員變懶,失去從零構(gòu)建復(fù)雜系統(tǒng)的機(jī)會(huì)?你們?cè)趺纯催@個(gè)問題?要如何在“AI 助力”和“保留工程師核心能力”之間找到平衡?
Jacob:
我覺得這些工具在教育層面也非常有價(jià)值,能幫助開發(fā)者成長(zhǎng)。如果你對(duì)某段代碼不理解,現(xiàn)在可以直接按 Command+L 問 Claude:“這是什么?怎么工作的?”它會(huì)一步步解釋給你聽。這種能力讓你寫出更多代碼,確實(shí)會(huì)出現(xiàn)質(zhì)量參差不齊的問題,但總體上,這是一個(gè)能顯著提升門檻的強(qiáng)大工具。
Lukas:
代碼質(zhì)量很多時(shí)候來(lái)源于快速迭代——你犯錯(cuò),修復(fù),理解為什么失敗,再改進(jìn)。我認(rèn)為 AI 模型極大地加快了這個(gè)反饋循環(huán),讓你更快地知道什么方法有效、什么不行。從長(zhǎng)期看,這對(duì)初學(xué)者和有志于承擔(dān)更復(fù)雜項(xiàng)目的開發(fā)者都是非常有益的。
CTO Aman:
我覺得接下來(lái)程序設(shè)計(jì)會(huì)如何演變會(huì)很有意思。未來(lái)很長(zhǎng)一段時(shí)間內(nèi),我們?nèi)匀恍枰切┝私獾讓蛹?xì)節(jié)、能深入“草叢”的工程師。但我也在想,會(huì)不會(huì)慢慢出現(xiàn)一種新型開發(fā)者——他們并不掌握太多底層知識(shí),卻依然能高效地開發(fā)。我覺得現(xiàn)在階段,你仍然需要理解大量細(xì)節(jié),但隨著時(shí)間推移,可能會(huì)出現(xiàn)一類主要在更高抽象層級(jí)工作的軟件工程師。
也許未來(lái)開發(fā)者的“品味”會(huì)更像在做交互設(shè)計(jì)。比如你要構(gòu)建一個(gè)類似 Notion 的應(yīng)用,最終你無(wú)法完全把這事交給語(yǔ)言模型來(lái)做。你需要去表達(dá):“當(dāng)我進(jìn)行某種交互時(shí),我希望頁(yè)面這樣彈出來(lái)?!?也許你不需要具體寫實(shí)現(xiàn)邏輯,但仍需要清晰地描述交互意圖和系統(tǒng)大致行為——這其實(shí)也是一種編程方式。
如何在Cursor里集成最新的Claude模型
主持人 Anthropic Alex:
換個(gè)話題,我們來(lái)聊聊模型。等這個(gè)視頻上線時(shí),Claude Opus 4 和 Sonnet 4 已經(jīng)發(fā)布了。想聽聽你們對(duì)新模型的看法,以及打算如何將它們集成到 Cursor 里?
CTO Aman:
我們真的非常喜歡這些新模型。第一次試用新版 Sonnet 時(shí)我們都挺震驚的。3.7 已經(jīng)是非常優(yōu)秀的模型,在“目標(biāo)明確地解碼”方面表現(xiàn)很強(qiáng),但大家也知道它有些缺陷,比如有點(diǎn)過于積極。
主持人 Anthropic Alex:
就是太愛主動(dòng)“做事”了(笑)。
CTO Aman:
對(duì),比如它會(huì)主動(dòng)修改測(cè)試用例。Sonnet 4 基本修復(fù)了這些問題,表現(xiàn)好得多。而且它的“智能程度”也明顯躍升——我們見過一些模型也在“智能性”方面進(jìn)步了,但還不如 Opus 3 的解碼表現(xiàn)。而 Sonnet 4 則可以與其平起平坐,但價(jià)格卻便宜很多。所以我們對(duì) Opus 4 非常興奮,覺得它會(huì)成為后臺(tái)執(zhí)行任務(wù)時(shí)的理想選擇。
主持人 Anthropic Alex:
太好了!我們這次確實(shí)花了很多精力解決“測(cè)試編寫”和“過度熱情”這類問題,特別是reward hacking——模型為了拿到獎(jiǎng)勵(lì)信號(hào),會(huì)嘗試走捷徑。這次我們把這種現(xiàn)象削減了大約 80%。
CTO Aman:
我一直挺好奇,3.5 Sonnet 是怎么誕生的?感覺它是 Anthropic 第一個(gè)真正意義上的“高質(zhì)量代碼模型”。
主持人 Anthropic Alex:
怎么誕生的?其實(shí)就是訓(xùn)練出來(lái)就很不錯(cuò)(笑)。說(shuō)實(shí)話,從公司創(chuàng)立初期我們就知道,“讓模型擅長(zhǎng)寫代碼”這事非常重要,尤其是當(dāng)你打算構(gòu)建更多模型時(shí)。3.5 Sonnet 是我們第一次系統(tǒng)性投入資源來(lái)打磨代碼能力,尤其是跨文件編輯、工具調(diào)用、長(zhǎng)任務(wù)規(guī)劃等“遠(yuǎn)距離代碼能力”。我們把所有這些能力整合到一體,結(jié)果非常好,也為之后的模型定下了基調(diào)。
CTO Aman:
那你們是怎么平衡“代碼能力”與其他方向的?比如 Opus 和 Sonnet 除了寫代碼,還有哪些重點(diǎn)領(lǐng)域?
主持人 Anthropic Alex:
代碼當(dāng)然是主要方向之一,但并不是唯一。我們發(fā)現(xiàn),當(dāng)模型在代碼上表現(xiàn)得更好時(shí),它們?cè)趶?fù)雜推理、多步驟任務(wù)、agent-style 的交互上也會(huì)同步提升。而這些能力對(duì)需要融合代碼、信息檢索、研究任務(wù)的應(yīng)用場(chǎng)景非常有用。
總的來(lái)說(shuō),我們就是在不斷推動(dòng)模型能力的邊界。當(dāng)然我們會(huì)考慮安全性,確保模型輸出對(duì)用戶有幫助,且符合我們對(duì) AI 應(yīng)有行為的判斷。但我們也希望向世界展示模型到底能做到什么,比如去年 10 月發(fā)布的 computer use(屏幕理解和操作)能力,這是另一個(gè)重大方向——模型直接閱讀屏幕圖像,并在 UI 上完成類似人類操作,而不是只靠 API 或工具調(diào)用。
還有一個(gè)我們特別重視的方面是“角色感”。Amanda Askew 是我們這方面的核心研究人員之一,專門負(fù)責(zé)Claude 的性格與人設(shè)打造。我們花了很多精力思考 Claude 應(yīng)該給人怎樣的感受、說(shuō)話風(fēng)格應(yīng)該如何。畢竟它不僅是代碼助手,還可能成為用戶的傾訴對(duì)象、陪伴者。這影響我們對(duì)訓(xùn)練策略的很多決策。
CTO Aman:
那從 Anthropic 整體來(lái)看,你們是如何看待未來(lái)的發(fā)展方向?不管是軟件工程領(lǐng)域,還是 AI 研究的長(zhǎng)期演變——比如模型將如何增強(qiáng)、替代或重塑現(xiàn)有工作流?
主持人 Anthropic Alex:
我可以說(shuō)說(shuō)我個(gè)人的看法。就像我們之前聊到的,我不覺得我們是在“被取代”,而是因?yàn)楝F(xiàn)在有了能幫你完成很多“機(jī)械性敲代碼”的模型,我們其實(shí)能做的事更多了。拿我自己舉例,我大學(xué)是學(xué)計(jì)算機(jī)的,也做過軟件工程工作?,F(xiàn)在如果你讓我做一道 LeetCode 題,模型肯定寫得比我快、比我好——它就是比我強(qiáng)(笑)。
但有意思的是,我反而覺得自己現(xiàn)在能做的比過去更多。我可以用模型快速做出原型,迅速搭一個(gè) demo,如果我想展示某個(gè)新概念,完全可以在幾小時(shí)內(nèi)做出個(gè)雛形。這種感覺非常賦能,而不是讓人覺得自己被拋棄了。
而且我覺得,正因?yàn)槲矣羞^去寫代碼的經(jīng)驗(yàn),我能更好地“駕馭”這些模型。我知道它們哪里好、哪里要引導(dǎo),如果我完全不懂編程,那我可能就不會(huì)知道怎么“用對(duì)”。——說(shuō)到未來(lái),我們來(lái)預(yù)測(cè)一個(gè)問題好了,兩年后回來(lái)看這條回答可能會(huì)很有意思:
假設(shè)是 2027年1月1日,你們覺得那時(shí)世界上有多少代碼是由 AI 生成的?而那時(shí)候開發(fā)者的“日常工作”又會(huì)變成什么樣?
Jacob:
這就像問 1995 年的律師,“未來(lái)的法律文件會(huì)有多少是用文字處理器寫出來(lái)的?” 答案是——幾乎 100%。AI 將參與未來(lái)絕大多數(shù)代碼的編寫。
但即便如此,開發(fā)者的角色反而更重要了:你需要判斷這段代碼應(yīng)該做什么,你需要有判斷力、品味,你要能引導(dǎo)軟件向正確方向發(fā)展。
CTO Aman:
說(shuō)實(shí)話,我們現(xiàn)在在 Cursor 里就已經(jīng)接近 90% 的代碼由 AI 生成了。因?yàn)槲覀兇罅渴褂酶唠A功能,比如 Ask, MCC, 自動(dòng)補(bǔ)全等等。而就算是你手動(dòng)敲代碼時(shí),也往往是你敲幾個(gè)字,Tab 自動(dòng)幫你補(bǔ)完后面的 70%。所以即使你“在寫”,其實(shí)也有大部分是 AI 在協(xié)助。
主持人 Anthropic Alex:
從“鍵盤打下去的字符數(shù)”來(lái)看,應(yīng)該已經(jīng)占比很低了。
CTO Aman:
沒錯(cuò)。我覺得,軟件開發(fā)的每一個(gè)環(huán)節(jié),未來(lái)都會(huì)在某種程度上與 AI 結(jié)合。
主持人 Anthropic Alex:
你覺得我們會(huì)不會(huì)最終進(jìn)入一個(gè)“按需生成軟件”的世界?那時(shí)會(huì)是什么樣子?
Jacob:
我認(rèn)為我們會(huì)看到,很多原本不是開發(fā)者的人也開始寫軟件,比如銷售人員以前不會(huì)寫代碼,但未來(lái)他們可以自己搭建一個(gè)儀表盤來(lái)追蹤自己關(guān)注的關(guān)鍵指標(biāo)。
這時(shí)候,“審美”就變得非常重要——你可以生成一個(gè) dashboard,但你仍然需要決定它展示哪些數(shù)據(jù),這個(gè)判斷 AI 代替不了。
我們會(huì)看到更多人“造自己的軟件”,但瓶頸在于:你能不能定義出一個(gè)獨(dú)特的需求,而不是重復(fù)已有工具。
主持人 Anthropic Alex:
我特別喜歡的一個(gè)例子是:我們有個(gè)公關(guān)團(tuán)隊(duì)的同事,居然在修復(fù) Claude AI 的生產(chǎn)環(huán)境 bug!他本身完全不是產(chǎn)品線的一員,突然跳出來(lái)提了一個(gè) PR,我們當(dāng)時(shí)都驚了,結(jié)果發(fā)現(xiàn)他用 Claude Code 這類工具就能修補(bǔ)代碼了。
Jacob:
沒錯(cuò),他修的是正式代碼庫(kù)里的 bug(笑)。
主持人 Anthropic Alex:
這真的很厲害。這也說(shuō)明——只要你有判斷力和直覺,你就能做很多事。我覺得未來(lái)角色會(huì)變、工作樣貌會(huì)變,但如果你能用這些工具做更多的事,那一定是件好事。
CTO Aman:
我覺得這條路未來(lái)會(huì)有很多“分支”。其中一個(gè)極端的版本是:你用的軟件會(huì)根據(jù)你的使用方式實(shí)時(shí)改變。比如你用了某個(gè)功能覺得不爽,下一次它就自動(dòng)改掉了。
你甚至不需要主動(dòng)去改代碼,系統(tǒng)會(huì)根據(jù)你交互中的行為自己適配,這就很酷。我不確定未來(lái)是不是所有人都想自己寫軟件,但“需要個(gè)性化軟件”的人群可能是整個(gè)世界。
主持人 Anthropic Alex:
好,那最后一個(gè)問題吧:如果有一位優(yōu)秀工程師在看這段視頻,他/她正打算找下一份工作,猶豫要不要加入像 Cursor 這樣的初創(chuàng)公司,或者去更大的平臺(tái),你們會(huì)對(duì)他說(shuō)什么?
CTO Aman:
我覺得現(xiàn)在初創(chuàng)公司在吸引頂尖人才方面越來(lái)越有優(yōu)勢(shì)。像 Anthropic 或 Cursor 這樣的團(tuán)隊(duì),能吸引到非常棒的人才,這在大公司反而很難做到。
大公司當(dāng)然也有優(yōu)秀的人,但人才密度(talent density)低。而在一個(gè)小團(tuán)隊(duì)中,你能每天跟很多超棒的同事一起工作,大家都能碰撞出很強(qiáng)的能量。
你在構(gòu)建改變世界的軟件和模型,而你不是幾千人中的一個(gè)小螺絲釘——而是幾十人、甚至十幾人里的一份子。這是非常有成就感的事。
主持人 Anthropic Alex:
真的太棒了!感謝你們的分享,這次聊天非常精彩。
CTO Aman:
謝謝你,謝謝大家!