Devin團(tuán)隊(duì)收購(gòu)Windsurf后新作發(fā)布:Codemaps即時(shí)生成代碼地圖!實(shí)測(cè):絲滑精準(zhǔn)到飛起
原創(chuàng) 精選編輯 | 聽雨
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
最近網(wǎng)上有關(guān)“Vibe Coding”的爭(zhēng)論持續(xù)升溫,有一種觀點(diǎn)十分流行:Vibe Coding 不能替代真正的軟件開發(fā)。AI 工具可以快速完成大部分重復(fù)的工作,但剩下那些高復(fù)雜度的關(guān)鍵問題,必須靠真正理解系統(tǒng)的工程師完成。
這,也是 Cognition 團(tuán)隊(duì)的核心理念。
收購(gòu)Windsurf后,11月4日,Cognition 正式發(fā)布了Windsurf Codemaps功能。它是由 SWE-1.5 和 Claude Sonnet 4.5 驅(qū)動(dòng)的、首個(gè)AI注釋結(jié)構(gòu)化代碼地圖系統(tǒng)。
這也延續(xù)了之前官方推出 DeepWiki 和 Ask Devin 的思路:AI 工具的未來不是寫更多代碼,而是幫你更快地理解代碼。
而官方喊出的口號(hào)也非常酷炫:“在Vibe Coding之前,先理解代碼。”
這是什么意思呢?
Cognition 團(tuán)隊(duì)認(rèn)為,如今大多數(shù) AI 編程工具都試圖替你「讀 → 想 → 寫」代碼,幫你減輕理解負(fù)擔(dān)。這在一些低價(jià)值、重復(fù)性的任務(wù)中無傷大雅,但在那些高風(fēng)險(xiǎn)、高復(fù)雜度的工程問題上——這種做法可能是災(zāi)難性的。
他們認(rèn)為,真正的軟件工程,從來不是“讓 AI 代勞”,而是讓你更快地建立對(duì)代碼庫(kù)的理解,包括代碼架構(gòu)、邏輯與因果等等。
于是,Cognition 做出了一個(gè)逆潮流的產(chǎn)品:Codemaps,不是讓你“關(guān)機(jī)”,而是讓你“開腦”。
為什么需要 Codemaps?
Cognition 披露了一個(gè)數(shù)據(jù):大部分工程師,哪怕是頂尖級(jí)別,也花費(fèi)大量時(shí)間在“找”和“記”上。這是巨大的生產(chǎn)力損耗:
- 新員工需要3–9 個(gè)月才能完全熟悉代碼庫(kù)
- 資深工程師每周要花5小時(shí)以上幫助他人上手
- Stripe 的調(diào)查顯示,遺留系統(tǒng)維護(hù)是客戶生產(chǎn)力下降的頭號(hào)原因
而且,這種“上手成本”不是一次性的,每次切換上下文、切換項(xiàng)目,你都得重新付出。因此,理解代碼的速度與深度,直接決定了你修代碼、改架構(gòu)、調(diào) AI agent 的能力。
此外,Cognition 團(tuán)隊(duì)還認(rèn)為,現(xiàn)在流行的 “vibe coding” 已經(jīng)偏離了初衷,變成了對(duì) AI 生成“代碼泥漿(code slop)”的盲目接納。
真正高效的 AI 程序員,能夠駕馭自己理解的代碼流,而陷入困境的那些人,往往是讓 AI 生成的代碼超出了他們的理解范圍。
而Codemaps 本質(zhì)上就是提供了一張展示結(jié)構(gòu)、數(shù)據(jù)流和依賴關(guān)系的代碼地圖,幫助開發(fā)者“理解項(xiàng)目結(jié)構(gòu)”。
Codemaps :即時(shí)生成的「問題導(dǎo)向代碼地圖」
打開 Windsurf 的 Codemaps(點(diǎn)擊地圖圖標(biāo),或使用快捷鍵 Cmd+Shift+C),在打開代碼庫(kù)的前提下,你可以輸入任務(wù)提示詞,或者選擇推薦問題。
圖片
你可以選擇:
- Fast 模式(SWE-1.5):快速生成
- Smart 模式(Sonnet 4.5):更深度分析
每一張 Codemap 都是代碼庫(kù)的快照,并遵循 ZDR(零數(shù)據(jù)殘留) 原則。
據(jù)官方介紹,Codemaps 特別適用于:
- 追蹤客戶端-服務(wù)端交互
- 調(diào)試數(shù)據(jù)管道
- 分析認(rèn)證 / 安全邏輯
圖片
如果你只是想快速瀏覽與問題相關(guān)的函數(shù)、模塊或文件,這已經(jīng)比在 Cascade 里問問題更高效——因?yàn)?Codemaps 的答案精準(zhǔn)對(duì)應(yīng)到具體代碼行。
圖片
你也可以切換到可視化地圖視圖,點(diǎn)擊節(jié)點(diǎn)就能跳轉(zhuǎn)到對(duì)應(yīng)代碼位置。
如果你想要更多解釋,點(diǎn)擊“See more”,會(huì)展開“追蹤指南(trace guide)”,解釋這些代碼塊是如何關(guān)聯(lián)的。
圖片
此外,在 Cascade 聊天界面中,你還可以用 @{codemap} 引用整張或部分 Codemap,讓智能體直接獲得上下文,從而顯著提升任務(wù)完成度。
Codemaps 實(shí)測(cè)體驗(yàn):絲滑精準(zhǔn)
小編也第一時(shí)間在Windsurf IDE中實(shí)測(cè)了 Codemaps 功能。我從github 上下載一個(gè) TodoMVC 的開源項(xiàng)目代碼包,直接到 Windsurf 中打開。
首先測(cè)試的是 Codemaps 的“Fast”模式,小編輸入了第一個(gè)指令:Show me where the UI and data logic connect.
圖片
不愧是“Fast”模式,大概只等待了不到半分鐘左右,Codemaps 就繪制出相應(yīng)的代碼地圖,它顯示了TodoMVC 中三種不同的 UI-數(shù)據(jù)連接模式,并呈現(xiàn)出一張可視化結(jié)構(gòu)圖,你可以看到每個(gè)模塊的描述,點(diǎn)擊即可跳轉(zhuǎn)查看相應(yīng)的代碼段。
圖片
為了測(cè)試“Smart”模式,小編向 Codemaps 提問了一個(gè)更復(fù)雜的問題:在這個(gè)項(xiàng)目中,用戶輸入的數(shù)據(jù)是如何從前端傳遞到數(shù)據(jù)庫(kù)的?請(qǐng)列出所有關(guān)鍵步驟和代碼模塊。
圖片
“Smart”模式耗費(fèi)的時(shí)間相對(duì)要久一些,但也就一兩分鐘左右,Codemaps就給出了回答:這個(gè) TodoMVC 項(xiàng)目包含了不同框架下的獨(dú)立前端實(shí)現(xiàn),沒有后臺(tái)數(shù)據(jù)庫(kù)。用戶輸入通過 HTML 表單經(jīng)過事件處理程序流向客戶端存儲(chǔ)(localStorage 或內(nèi)存存儲(chǔ))。每個(gè)框架的實(shí)現(xiàn)是完全獨(dú)立的。
它還繪制出了關(guān)鍵入口的可視化結(jié)構(gòu)圖,同樣點(diǎn)擊每個(gè)模塊都可以跳轉(zhuǎn)查看相應(yīng)的代碼段。
圖片
整體體驗(yàn)下來,小編覺得有幾個(gè)亮點(diǎn):第一,地圖跳轉(zhuǎn)十分精準(zhǔn)絲滑,點(diǎn)擊每個(gè)層級(jí)都可迅速跳轉(zhuǎn)到相應(yīng)代碼段,仔細(xì)查看也沒有發(fā)現(xiàn)什么錯(cuò)誤。
第二,可以快速幫助我理解代碼結(jié)構(gòu)。對(duì)于小編這樣一個(gè)沒有系統(tǒng)學(xué)過編程的Vibe Coder來說,這點(diǎn)十分友好,Codemaps 可以立刻畫出了一張代碼地圖,并告訴我代碼是怎么從輸入到界面交互的。對(duì)于一個(gè)沒什么編程經(jīng)驗(yàn)的人來說,這比硬核地直接閱讀源碼要容易太多了。
另外,你也可以打開視圖模式,它會(huì)直接呈現(xiàn)一個(gè)思維導(dǎo)圖的樣式,點(diǎn)擊相應(yīng)模塊依舊可以絲滑跳轉(zhuǎn)到具體代碼段。
圖片
最后再試試聊天智能體中的@{codemap} 功能。我在這里引用剛剛生成的codemap提了一個(gè)問題:

Agent 很快給了我答復(fù):
圖片
總的來說,這波Codemap的功能更新把復(fù)雜代碼庫(kù)變成了可視化地圖,讓開發(fā)者可以一邊看結(jié)構(gòu)、一邊跳轉(zhuǎn)到源碼,和Agent也進(jìn)行了聯(lián)動(dòng),能夠引用代碼地圖進(jìn)行 reasoning。對(duì)于不同層次編程基礎(chǔ)的開發(fā)者都十分友好。
網(wǎng)友吐槽:真正的開發(fā)效率還得靠自己動(dòng)手
在X、Hackernews上,有一些開發(fā)者已經(jīng)分享了他們的使用體驗(yàn),很多人給出了好評(píng)。
一位網(wǎng)友表示:“我真的覺得應(yīng)該有更多人試試 Windsurf。我是一名高級(jí)工程師,平時(shí)既做常規(guī)開發(fā),也做 agent 輔助開發(fā)。Windsurf 的體驗(yàn)被嚴(yán)重低估了,Codemaps 出現(xiàn)的時(shí)候,真是一個(gè)驚喜。”
圖片
還有網(wǎng)友開始催別家也趕緊出類似功能:
圖片
圖片
但也有網(wǎng)友犀利吐槽,Coademap 并沒有太大用處。
這種功能(Codemap)沒太大用。因?yàn)椤爸滥男┠K相互連接、有哪些依賴”這些信息,沒有業(yè)務(wù)語境就沒意義。
AI 永遠(yuǎn)不知道架構(gòu)背后的 “why”,它只會(huì)按表面關(guān)系理解。我認(rèn)為寫技術(shù)設(shè)計(jì)文檔 + 閱讀源碼已經(jīng)足夠了。
Codemap 卡在中間——既沒有文檔那種語義深度,又比源碼信息更淺。
圖片
一位網(wǎng)友表示:Codemap 在剛接手新項(xiàng)目時(shí)特別有用,但熟悉后,真正的開發(fā)效率還得靠動(dòng)手寫。
圖片
也有網(wǎng)友認(rèn)為,Coademap 對(duì)標(biāo)的是財(cái)富500強(qiáng)企業(yè),“如果你不是這種規(guī)模的公司,可能不太適合你”。
又一個(gè)專注 Fortune 500 企業(yè)的 AI 工具。如果你不是這種規(guī)模的公司,可能不太適合你(YMMV)。
靜態(tài)分析生成代碼流圖的工具早就有了,我沒看到 Codemap 有什么新突破,除了“讓 LLM 來畫”。
上手培訓(xùn)不只是看架構(gòu)圖,更重要的是理解團(tuán)隊(duì)上下文和約束。
如果你的代碼大多是 CRUD、MVC、Controller 這種模式,重點(diǎn)應(yīng)該放在團(tuán)隊(duì)獨(dú)有的設(shè)計(jì)偏差上,而不是畫滿白板的結(jié)構(gòu)圖。
圖片
那么評(píng)論區(qū)的各位大佬們:
你認(rèn)為 Codemaps 真能解決開發(fā)者在復(fù)雜項(xiàng)目中的上下文理解難題嗎?
你覺得這樣的功能,是剛需還是噱頭?
歡迎在評(píng)論區(qū)聊聊你的看法,也可以說說你最希望 AI IDE 接下來解決什么問題。
下載地址:https://windsurf.com/download/editor



































