偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了 原創(chuàng)

發(fā)布于 2025-5-14 16:44
瀏覽
0收藏

編輯 | 云昭

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

Vibe coding正火得一塌糊涂,但誰(shuí)能想到,剛剛一位大佬已經(jīng)把當(dāng)紅的AI編程神器Cursor和Windsurf背后的核心算法機(jī)制研究出來(lái)了!

今天凌晨,一位名為Nir Diamant的技術(shù)大牛發(fā)表了一篇高質(zhì)量神文,可以說(shuō)把Cursor和Windsurf的核心算法說(shuō)得非常透徹,就像玩抖音的需要了解抖音推薦算法一樣,正在Vibe Coding的我們,當(dāng)然也得快速吃透跟自己對(duì)話(huà)的編程助手,究竟是怎樣一個(gè)思維回路。非常細(xì)節(jié),值得各位收藏細(xì)讀一番。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

市面上,有很多的AI編程工具,各種Copilot汗如充棟,但真正能博開(kāi)發(fā)者一笑的也就Cursor和Windsurf,它們的魅力不僅僅在于幫助coding,更在于它們就像一個(gè)合作者一樣真正理解你在構(gòu)建什么。

這兩款工具背后,究竟是怎樣運(yùn)作的?到底是怎樣的算法和系統(tǒng)?話(huà)不多說(shuō),這就上干貨。

1.Cursor和Windsurf如何理解你的代碼

要想真正發(fā)揮作用,AI 編程助手需要理解整個(gè)代碼庫(kù)和意圖。Cursor 和 Windsurf 都使用了先進(jìn)的上下文檢索系統(tǒng),讓 AI “看懂”你的代碼。

先來(lái)看Cursor的方法。

  • Cursor 會(huì)將整個(gè)項(xiàng)目索引進(jìn)一個(gè)向量數(shù)據(jù)庫(kù)——可以把它想象成創(chuàng)建了一張智能代碼地圖,將將語(yǔ)義相似的代碼聚合在一起。
  • 在索引時(shí),它會(huì)使用專(zhuān)門(mén)的編碼器模型,特別強(qiáng)調(diào)注釋和文檔字符串,以更好地捕捉每個(gè)文件的作用和意圖。
  • 當(dāng)你提問(wèn)時(shí),它采用“兩階段檢索”:

(1)向量搜索找到可能相關(guān)的候選代碼片段;

(2)使用 AI 模型按相關(guān)性重新排序。

類(lèi)比:就像一個(gè)圖書(shū)管理員,先抓來(lái)所有關(guān)于某個(gè)主題的書(shū),然后再細(xì)細(xì)篩選出你真正需要的。

    備注:這個(gè)兩階段的檢索方式,大大優(yōu)于傳統(tǒng)的關(guān)鍵詞或正則搜索,尤其適用于那些涉及代碼行為的復(fù)雜問(wèn)題。

  • 你還可以用 @file? 或 @folder 標(biāo)簽顯式指定文件,相當(dāng)于告訴它“請(qǐng)翻這幾章”。
  • 當(dāng)前打開(kāi)的文件以及光標(biāo)附近的代碼也會(huì)自動(dòng)被加入上下文。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

下面是Windsurf 的方法,比較類(lèi)似。

  • Windsurf 的 Indexing Engine 也會(huì)掃描整個(gè)代碼庫(kù),建立一個(gè)可搜索的代碼地圖。
  • 它使用基于 LLM 的搜索工具,據(jù)稱(chēng)比傳統(tǒng) embedding 搜索更精確,能更好理解你的自然語(yǔ)言查詢(xún)并找出相關(guān)代碼片段。
  • 提供建議時(shí),不僅考慮打開(kāi)當(dāng)前文件,還會(huì)自動(dòng)從整個(gè)項(xiàng)目中拉取相關(guān)文件,實(shí)現(xiàn)“項(xiàng)目級(jí)別的系統(tǒng)感知”。
  • 提供“上下文固定(Context Pinning)”功能:你可以把設(shè)計(jì)文檔等關(guān)鍵信息釘在一個(gè)“AI 永遠(yuǎn)看得到的公告板”上,AI 在任何時(shí)候都能參考這些內(nèi)容。

2.Cursor和Windsurf是如何“思考”的

作者總結(jié)道,兩款助手的“思考方式”是由精心設(shè)計(jì)的提示(prompts)和上下文管理策略所引導(dǎo)的。

先來(lái)看Cursor 的提示結(jié)構(gòu)。

  • 使用結(jié)構(gòu)化系統(tǒng)提示,帶有 <communication>? 和 <tool_calling> 等標(biāo)簽,組織不同信息類(lèi)型。
  • 明確告知 AI 行為規(guī)范,以塑造其與用戶(hù)的互動(dòng)方式:

     避免不必要的道歉,

     行動(dòng)前先解釋?zhuān)?/p>

     不在聊天中直接輸出代碼,而是使用專(zhuān)屬代碼編輯器進(jìn)行。

  • 使用“上下文學(xué)習(xí)(in-context learning)”技術(shù):在 prompt 中展示正確的工具調(diào)用或響應(yīng)的標(biāo)準(zhǔn)格式,類(lèi)似“用案例帶新手”。

這方面,Windsurf的機(jī)制則有些不同。Windsurf的 Cascade Agent則更加綜合——

  • 使用 AI Rules(自定義規(guī)則)與 Memories(可持續(xù)記憶機(jī)制)。
  • Memories 分為:用戶(hù)創(chuàng)建的(如 API 說(shuō)明)和AI 自動(dòng)生成的(來(lái)自歷史交互)。這意味著 Windsurf 可以“記住”你項(xiàng)目的演變,而不是每次從零開(kāi)始。

此外,Cursor和Windsurf有一個(gè)共同點(diǎn),即兩者都具備高效上下文窗口管理機(jī)制(即一次能處理的文本量),它們會(huì)壓縮信息,并優(yōu)先保留與你當(dāng)前任務(wù)最相關(guān)的部分。

3.兩者如何執(zhí)行任務(wù)的?

Cursor 和 Windsurf 都采用了一種被稱(chēng)為 ReAct(Reason + Act,推理加執(zhí)行)的模式,將語(yǔ)言模型轉(zhuǎn)變?yōu)槎嗖街悄艽怼?/p>

先來(lái)看Cursor的步驟。

Cursor 的代理以循環(huán)方式運(yùn)行:AI 決定使用哪種工具→解釋其意圖→調(diào)用工具→查看結(jié)果→再?zèng)Q定下一步行動(dòng)。它可以使用的工具包括:代碼搜索、讀取文件、編輯代碼、執(zhí)行 shell 命令,甚至在線(xiàn)搜索文檔。

這里要注意的是, Cursor 進(jìn)行了一個(gè)關(guān)鍵的優(yōu)化——“特種diff語(yǔ)法”:它不會(huì)讓 AI 重寫(xiě)整個(gè)文件,而是建議具體的“語(yǔ)義補(bǔ)丁”,再通過(guò)一個(gè)獨(dú)立且快速的模型將補(bǔ)丁合并。這種方式更高效,也更少出錯(cuò)。

同時(shí),Cursor 會(huì)在沙盒環(huán)境中運(yùn)行實(shí)驗(yàn)代碼,確保不會(huì)對(duì)真實(shí)項(xiàng)目造成破壞。

比如你讓它“修復(fù)認(rèn)證 Bug”,它可能會(huì)先搜索相關(guān)代碼文件,然后閱讀這些文件、進(jìn)行修改、再運(yùn)行測(cè)試來(lái)驗(yàn)證修復(fù)是否成功。每一步都會(huì)明確告知你發(fā)生了什么。值得注意的是,它會(huì)限制自我修復(fù)的循環(huán)次數(shù)(例如“不超過(guò)3次”),以防陷入死循環(huán)。

Cursor 還采用了“專(zhuān)家混合”機(jī)制:使用強(qiáng)大的大模型(如 GPT-4 或 Claude)來(lái)做決策推理,使用小模型來(lái)執(zhí)行具體任務(wù),就像一個(gè)高級(jí)架構(gòu)師制定方案,而由專(zhuān)業(yè)施工隊(duì)來(lái)執(zhí)行。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

再來(lái)看WindSurf。Windsurf 的 Cascade 也有類(lèi)似機(jī)制,但更強(qiáng)調(diào)它的“AI 流程(AI Flows)”設(shè)計(jì)。

生成計(jì)劃 → 改代碼 → 請(qǐng)求用戶(hù)確認(rèn) → 運(yùn)行代碼 → 分析結(jié)果 → 提出修復(fù)。

當(dāng)你發(fā)出請(qǐng)求時(shí),Cascade 會(huì)生成一個(gè)執(zhí)行計(jì)劃、進(jìn)行代碼修改、征求你的確認(rèn),然后才會(huì)運(yùn)行代碼。如果你同意,它還可以在集成的 AI 終端中運(yùn)行代碼、分析結(jié)果并提出修復(fù)建議。

而且,WindSurf 的代理系統(tǒng)非常強(qiáng)大,最多可以在一個(gè)流程中串聯(lián)多達(dá) 20 個(gè)工具調(diào)用,無(wú)需你手動(dòng)介入。這些工具包括自然語(yǔ)言代碼搜索、終端命令、文件編輯,以及連接外部服務(wù)的 MCP 協(xié)議。這種能力使 Cascade 能一次性完成諸如安裝依賴(lài)、配置項(xiàng)目和實(shí)現(xiàn)新功能等復(fù)雜任務(wù)。

更令人印象深刻的是,如果你在 AI 執(zhí)行過(guò)程中手動(dòng)修改了代碼,Cascade 會(huì)立即感知并自動(dòng)調(diào)整所有相關(guān)部分,真正實(shí)現(xiàn)你與 AI 的實(shí)時(shí)協(xié)作。

4.背后的“大腦”中樞模型架構(gòu)

不出意料的是,這兩款神器都使用了多個(gè) AI 模型來(lái)執(zhí)行不同任務(wù),在響應(yīng)速度與輸出質(zhì)量之間取得平衡。但兩者的具體策略大有不同。

Cursor 的模型系統(tǒng)如下:

  • 使用“嵌入-思考-執(zhí)行”三步代理循環(huán)(Embed-Think-Do Agent Loop)。
  • 系統(tǒng)根據(jù)任務(wù)類(lèi)型選擇最合適模型。

     例如使用 100k tokens 的 Claude 模型處理整個(gè)項(xiàng)目上下文和復(fù)雜推理,從而“看得更遠(yuǎn)”。

  • 用于生成向量嵌入的模型類(lèi)似于 OpenAI 的 text-embedding-ada。
  • 在代碼補(bǔ)全和編輯上,系統(tǒng)會(huì)根據(jù)任務(wù)復(fù)雜性和用戶(hù)設(shè)置動(dòng)態(tài)選擇模型。
  • 核心創(chuàng)新在于:通過(guò)智能動(dòng)態(tài)路由機(jī)制,根據(jù)場(chǎng)景自動(dòng)權(quán)衡大模型和小模型的使用,優(yōu)化質(zhì)量于響應(yīng)速度。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

Windsurf 的模型策略則更為清晰:

  • 投入大量資源訓(xùn)練了自研的代碼專(zhuān)用模型,基于 Meta 的 Llama 架構(gòu):

     70B 參數(shù)的 Base Model 適用于日常任務(wù);

     405B 參數(shù)的 Premier Model 解決復(fù)雜挑戰(zhàn)。

  • 支持自選 GPT-4 或 Claude等外部模型,實(shí)現(xiàn)高度靈活的架構(gòu)。
  • 模型選擇機(jī)制:小模型處理快建議,大模型搞定多文件大改動(dòng),確保系統(tǒng)能為每個(gè)任務(wù)匹配最合適的“智慧大腦”。

5.它們?nèi)绾闻c你保持同步(Sync機(jī)制)

實(shí)時(shí)同步是流暢編程體驗(yàn)的關(guān)鍵,實(shí)時(shí)適應(yīng)用戶(hù)操作至關(guān)重要。這兩套系統(tǒng)都具備精巧的同步機(jī)制。

Cursor 的機(jī)制如下,主打一個(gè)token級(jí)別的流式響應(yīng):

  • Token-by-token 實(shí)時(shí)流式響應(yīng),讓你看到代碼“正在被寫(xiě)出來(lái)”的過(guò)程。
  • 如果生成的代碼出現(xiàn)錯(cuò)誤,它會(huì)自動(dòng)檢測(cè)并嘗試修復(fù),無(wú)需手動(dòng)干預(yù)。
  • 跟蹤你的文本光標(biāo)位置,用于指導(dǎo)補(bǔ)全,并預(yù)測(cè)你下一個(gè)可能修改的編輯點(diǎn)。
  • 后臺(tái)持續(xù)更新向量索引。它的向量索引會(huì)隨著文件變動(dòng)而持續(xù)更新,確保新寫(xiě)入的代碼立即可被搜索,AI 對(duì)代碼庫(kù)的理解永遠(yuǎn)保持“新鮮”。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

而Windsurf 的核心理念,則是保持“工作流暢感”。

  • 同樣支持流式輸出,保持“沉浸式工作流”。
  • Cascade 代理會(huì)在你修改代碼時(shí)立即感知,并實(shí)時(shí)調(diào)整計(jì)劃。
  • 構(gòu)建在事件驅(qū)動(dòng)架構(gòu)之上:保存文件、文本修改等會(huì)觸發(fā) AI 重新推理。
  • 使用 SSE(Server-Sent Events)保持編輯器、終端和聊天窗口之間的同步。
  • 當(dāng)你運(yùn)行代碼時(shí)出現(xiàn)錯(cuò)誤,AI 能立即捕捉錯(cuò)誤信息并提出解決方案,無(wú)需你手動(dòng)復(fù)制粘貼。

ps:這種設(shè)計(jì)讓 AI 就像一個(gè)全神貫注的編程伙伴,時(shí)刻關(guān)注你的代碼并主動(dòng)配合。

最后,需要說(shuō)明的是,這是作者Diamant花費(fèi)很長(zhǎng)時(shí)間研究了大量公開(kāi)資料總結(jié)出來(lái)對(duì)于 Cursor 和 Windsurf 這兩款 AI 神器的“核心機(jī)制”的理解,當(dāng)然機(jī)制中的不少細(xì)節(jié)也會(huì)隨著后續(xù)迭代而發(fā)生變化。

6.網(wǎng)友:怪不得!Cursor的理解能力糟糕的原因找到了

文章發(fā)布后,許多網(wǎng)友為Diamant的心血之作點(diǎn)贊。并有不少網(wǎng)友表示對(duì)“大模型”的愚蠢表示理解與寬容。

比如,一位網(wǎng)友對(duì)于Cursor的代碼理解能力恍然大悟:原來(lái)這些AI助手并不會(huì)一次性將整個(gè)代碼庫(kù)保存在內(nèi)存中,而是創(chuàng)建代碼的“智能地圖”(RAG),只有在需要使用時(shí)才會(huì)使用相關(guān)的向量索引。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

另一位網(wǎng)友,則對(duì)這種做法表示不滿(mǎn),這恰恰解釋了這些編碼工具的理解能力為什么如此糟糕!

“RAG 非常適合不自然語(yǔ)言,但不適合代碼。”他還舉了自己遇到的一個(gè)問(wèn)題:向量搜索又怎么知道 util.py 應(yīng)該是上下文的一部分呢?

這位網(wǎng)友認(rèn)為:只有端到端測(cè)試和頂層 UI 屏幕/頁(yè)面/組件(因?yàn)榘匀徽Z(yǔ)言)才應(yīng)該進(jìn)行 RAG 搜索,其余部分則應(yīng)該使用調(diào)用圖來(lái)確定。

而對(duì)于錯(cuò)誤修復(fù)和增量新功能,更好地方法是運(yùn)行具有代碼覆蓋率的現(xiàn)有 E2E 測(cè)試,以準(zhǔn)確識(shí)別并使用代碼。

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

所以說(shuō),了解了工具背后的核心邏輯,一下子就為開(kāi)發(fā)者打開(kāi)了上帝視角,可以為這位硅基生命的編程伙計(jì)提供更好地進(jìn)化建議。

這對(duì)于日漸興隆的 Vibe Coding 來(lái)說(shuō)意義重大。雖然目前看大家對(duì)于LLM編程工具的態(tài)度來(lái)說(shuō)相對(duì)寬容一些,但對(duì)于這條賽道上的眾多玩家而言,披露背后的算法機(jī)制,往往有助于用戶(hù)提出更好的修改建議。

昨天小編就了解到一位技術(shù)交流群中的朋友反饋:

Cursor生成一個(gè)項(xiàng)目代碼很快,一兩分鐘就行了,但是運(yùn)行起來(lái)的bug很多,最多還是語(yǔ)義錯(cuò)誤的,而且修bug的時(shí)間需要很久,經(jīng)常半個(gè)鐘頭以上。

你看,這同樣也是Cursor對(duì)于代碼理解存在較大的問(wèn)題。而這個(gè)問(wèn)題或許不是大模型短期可以解決的。一位網(wǎng)友點(diǎn)出了病根:

“逆天”研究!Cursor 與 Windsurf 背后的核心算法機(jī)制曝光!網(wǎng)友驚呼:Cursor代碼總出Bug的原因找到了-AI.x社區(qū)圖片

所以,Cursor如果想要解決這個(gè)“理解糟糕”問(wèn)題,可能還真的虛心聽(tīng)一下用戶(hù)的建議:代碼上下文用 RAG 不太管用!換調(diào)用圖或許更有效!

大家有遇到過(guò)類(lèi)似使用AI編程工具的問(wèn)題嗎?

本文轉(zhuǎn)載自???51CTO技術(shù)棧???,作者:云昭

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦