自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

“聊天式編程”讓代碼聽你的話:Cursor 打造極致心流體驗(yàn)

開發(fā)
最近半年深度體驗(yàn)了Cursor,享受到了很多樂趣,這篇文章將分享對于Cursor的一些實(shí)踐與思考。

作者 | blithe

最近半年深度體驗(yàn)了Cursor,享受到了很多樂趣,這篇文章將分享對于Cursor的一些實(shí)踐與思考。

一、“聊天式”編程已經(jīng)到來

在2023年1月,四位麻省理工學(xué)院(MIT)本科生創(chuàng)立的AI編程工具Cursor橫空出世,以“重新定義軟件開發(fā)流程”的革新理念迅速崛起 。團(tuán)隊(duì)提出了“優(yōu)秀的工程技術(shù)比算力更重要”的理念,不管是猜你所想的“tab、tab、tab”,還是一鍵添加多種類型的“上下文” 或是無所不能的Agent模式,真正意義上詮釋了什么是你的專屬私人編程助理,Cursor的出現(xiàn),可以說標(biāo)志著“聊天式”編程的到來。

和傳統(tǒng)的編程模式相比,“聊天式”編程有三大核心突破:

1. 通過“自然語言”寫代碼

從一開始的機(jī)器語言到匯編再到現(xiàn)在的高級語言,可以說計(jì)算機(jī)語言就演變本質(zhì)上是從硬件到認(rèn)知的不斷抽象,Cursor的出現(xiàn)無疑是打開了高級語言邁向自然語言的大門。想想看:高級語言幫你屏蔽掉了匯編語言的復(fù)雜度,依次類推自然語言的終態(tài)也將會(huì)幫你屏蔽掉高級語言,這是一個(gè)振奮人心的事,這意味只要你懂得“說話”,你就懂得編程!人人都是編程大師!(ps: 在腦洞一下,未來會(huì)不會(huì)把自然語言也屏蔽掉,用“思維”溝通,這不是就是三體世界嗎)

當(dāng)然從目前的技術(shù)看來,還是處于高級語言到自然語言的過渡階段,但這也相當(dāng)?shù)恼眩鉉ode的過程不再是你一個(gè)人在戰(zhàn)斗,而是好像有一位耐心的智者站時(shí)時(shí)刻刻站在你后面,和你一起討論、解決問題,他不僅可以快速驗(yàn)證你的想法,更有趣的是很多時(shí)候可以給你更多的思路,讓你有更闊的視野,正如Cursor創(chuàng)始人所言:“我們不是在教AI寫代碼,而是讓它成為人類創(chuàng)造力的延伸?!?nbsp;在這種新范式下,我們的注意力講會(huì)從"如何寫代碼"轉(zhuǎn)移到"解決什么問題",AI會(huì)逼迫你“想清楚、說清楚”。清晰的表達(dá)將會(huì)成為一種稀缺的生產(chǎn)力。

2. 追求:以判斷力的速度迭代

以下是我用Cursor搭建一個(gè)本地?cái)?shù)獨(dú)小游戲,整個(gè)過程用了16s,16s!而我的prompt僅僅是:“給我寫一個(gè)數(shù)獨(dú)游戲,使用js語言”,Cursor的Agent模式自動(dòng)幫我寫好代碼,本地運(yùn)行,讓“想法”秒級別的體驗(yàn)的感覺妙不可言,Cursor真正做到了及時(shí)反饋。

3. 模糊了邊界,你可以成為你想成為的人!

Cursor逐漸模糊掉產(chǎn)品經(jīng)理、設(shè)計(jì)師和程序員之間的界限,可以預(yù)見的將來也會(huì)改變這些崗位的設(shè)立邏輯和開發(fā)團(tuán)隊(duì)的組織方式。Cursor客觀上磨平了各個(gè)角色之間的技術(shù)壁壘,讓“想法”不再受限于某類資源,Cursor把編程的門檻拉到了一個(gè)足夠低的程度。

更有趣的事,它正在讓更多人有機(jī)會(huì)參與到軟件創(chuàng)造中去,體會(huì)編程的樂趣。網(wǎng)上報(bào)道一個(gè)8歲的孩子用了45分鐘,完成了一個(gè)聊天小程序,并公開了整個(gè)過程( https://x.com/rickyrobinett/status/1825581674870055189 )另外Cursor讓我最驚艷的地方就是無感知遷移,整個(gè)過程用了不到10分鐘,體驗(yàn)感拉滿,產(chǎn)品價(jià)值杠杠的。

二、Cursor引領(lǐng)新的編程范式

本小節(jié)講介紹:如何巧妙的使用Cursor完成一些復(fù)雜任務(wù)。

1.Cursor四大件

首先我們需要了解Cursor為我們在不同的場景提供了不同能力支持,從簡單場景到復(fù)雜場景依次是:Tab、Inline chat、Ask以及強(qiáng)大的Agent。(ps:Ask對應(yīng)老版本的Chat;Agent對應(yīng)老版本的Composer,更詳細(xì)的內(nèi)容可見: https://www.cursor.com/ )

下面我們重點(diǎn)要分析一下,Cursor到底改變了傳統(tǒng)編程的什么環(huán)節(jié),我們也好重點(diǎn)發(fā)力。我們在面對一個(gè)復(fù)雜任務(wù)時(shí)都可以拆為以下四步:確認(rèn)目標(biāo)、確認(rèn)方案、開發(fā)以及驗(yàn)證。Cursor的到來最大的改變就是:在需求階段的表達(dá)方式,即如何與AI溝通?

2. 從 “想清楚” 到 “說清楚”

AI很強(qiáng),他像是一個(gè)無所不知的大師,但是他不知道你腦子里到底想要什么。很多時(shí)候,我們會(huì)遇到如下場景,在從前,我反手就是一句:這個(gè)AI太蠢了,這都搞不定,而現(xiàn)在,我開始“反思”我自己:是不是我沒給人家說清楚。

在《真需求》一書有提到:83%的用戶投訴并非源于產(chǎn)品缺陷,而是需求理解偏差。當(dāng)我們表述的內(nèi)容已經(jīng)偏離了需求本質(zhì)時(shí),耶穌來了也搞不定,所以我們需要把事情先說清楚,這里有一些常用的套路,核心的原則就是:足夠的上下文+結(jié)構(gòu)化表達(dá),對于大多數(shù)場景,我們都可以使用:你可以使用“人設(shè)+任務(wù)+上下文+案例+方案”的組合,我們應(yīng)該多多練習(xí)這種“與AI”的溝通方式,嘗試把問題描述清楚,讓AI理解的輕松些;再者就是結(jié)構(gòu)化表達(dá),強(qiáng)烈推薦使用Markdown格式,這種格式天然的就會(huì)對內(nèi)容“分塊”,讓AI更容易理解,把這兩種結(jié)合下就是:把上下文整理成Markdown的內(nèi)容給AI,這會(huì)讓你的Prompt的質(zhì)量上一個(gè)臺(tái)階。

3. 讓AI逼迫你思考:反向費(fèi)曼學(xué)習(xí)法

在使用AI時(shí)候,他往往傾向于直接滿足你的表面需求,但可能會(huì)忽略一些深層需求內(nèi)涵。所以好的模式不是你直接去提問,而是讓AI引導(dǎo)你思考!

我記得小學(xué)的時(shí)候,學(xué)習(xí)奧數(shù),類似“雞兔同籠”“牛吃草”的問題,我爸每次給我輔導(dǎo)完題目,都會(huì)問我:你懂了嗎?明天去給你隔壁叔叔家的孩子也講一遍,看能講清楚不?哪個(gè)時(shí)候我就意識(shí)到了,很多時(shí)候你以為你懂的東西,其實(shí)都不懂,而且有很多疑問。

我們把這種模式遷移一下,那對于AI來說,當(dāng)你提出了一個(gè)問題,想想:他真的懂了嗎?讓AI反述一遍,你聽聽如何?但是光這個(gè)就夠了嗎,不夠,你還需要讓AI具有質(zhì)疑精神,讓他對你的問題提出質(zhì)疑,而不是全盤接受!反向逼迫你去思考什么是“真需求“,讓AI變成你思維的“延展“。我把這種模式稱之為:反向費(fèi)曼學(xué)習(xí)法。

4. 分而治之+小步驗(yàn)證

當(dāng)我們定義好了“問題”,下一步就是方案和行動(dòng),《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》中講到了一個(gè)解決問題萬能法寶:分而治之。再難的問題,也可以拆分為無數(shù)個(gè)簡單的小問題,把每個(gè)小問題解決好了,大的問題也不是問題了。

我們依舊可以延用這個(gè)模式,當(dāng)一個(gè)問題來臨時(shí),先使用上述的方式進(jìn)行需求澄清+疑點(diǎn)確認(rèn),然后我們可以先使用Cursor的Ask模式先讓AI給出不同的解決方案以及優(yōu)劣,“阿步思考法”告訴我們方案都是“各種資源”的權(quán)衡,我們不可能有阿步一樣無限的資源,所以權(quán)衡的工作一定是人來完成,而不是AI,AI的優(yōu)勢是他懂得多懂的廣,但是他很難了解到一個(gè)任務(wù)具體的背景,這些隱形知識(shí)也很難表述出來,而人去權(quán)衡恰恰補(bǔ)充了這部分知識(shí)。

接下來就是方案的拆分。沒錯(cuò),還是讓AI去拆分,拆分成AI可以執(zhí)行的步驟,這里有一個(gè)小技巧就是要把拆分的結(jié)果以Markdown的格式記錄到Notepad(Cursor提供的輕量化記錄工具)。記錄的目的一個(gè)是給自己看,幫自己理清思路(對于生成級別代碼,你必須知道方案的思路)也方便后續(xù)在此基礎(chǔ)上做調(diào)整,另一個(gè)是把Notepad作為上下文給到Agent模式去執(zhí)行,Notepad在兩種模式之間起到了很好的橋梁作用。(ps:當(dāng)然還可以用其他)

在Agent模式執(zhí)行的時(shí)候,我們需要按照直接的拆分任務(wù)并且逐步執(zhí)行、逐步驗(yàn)證,切記不要一次生成幾千行代碼,再驗(yàn)證,不然可能會(huì)越改越亂。

三、如虎添翼:MCP的到來

1. MCP是什么?

簡單的說,MCP(Model Context Protocol)就是AI與外部世界的“萬能連接器”,讓AI有了眼睛和手臂,網(wǎng)上有一張很經(jīng)典的圖,如下圖:

不過有朋友肯定會(huì)問:訪問外部資源貌似也不是什么新鮮事吧,應(yīng)該早都有了吧?是的,早就有了,但是MCP真正的價(jià)值在于:統(tǒng)一了標(biāo)準(zhǔn),不用再重復(fù)造輪子。在過去每個(gè)軟件都需要為AI單獨(dú)開發(fā)接口,效率低且成本高昂。而MCP的出現(xiàn),解決了這一痛點(diǎn)。

在MCP的加持上,讓AI不僅有了更大的上下文,也讓閉環(huán)操作性上了一個(gè)大的臺(tái)階。

2. MCP 能做什么呢?

(1) 扭轉(zhuǎn)數(shù)據(jù)流,把人解放了出來

假如現(xiàn)在有一個(gè)這樣的場景:統(tǒng)計(jì)數(shù)據(jù)庫中,符合某些條件的數(shù)據(jù)。如何沒有MCP之前你會(huì)怎么做呢?我想你會(huì)從數(shù)據(jù)庫導(dǎo)出數(shù)據(jù),再手動(dòng)的粘貼到prompt中;看起來貌似也不復(fù)雜,那如果有一千萬數(shù)據(jù)呢,如果數(shù)據(jù)分布在不同的節(jié)點(diǎn)呢?事情就變得復(fù)雜了。

而有了MCP之后,交互模式發(fā)生了本質(zhì)的變化,人不用再做“數(shù)據(jù)粘合劑”,各個(gè)數(shù)據(jù)孤單被MCP連接起來,AI有了自動(dòng)探索“上下文”的能力。

(2) 打不過就加入:工具類產(chǎn)品提供MCP能力將成為趨勢

AI生態(tài)發(fā)展發(fā)展令人震驚,傳統(tǒng)的工具類服務(wù)如果只停留在頁面+API的形式已經(jīng)遠(yuǎn)遠(yuǎn)不夠,應(yīng)該把自身溶于到AI生態(tài)中,提供MCP能力將成為趨勢。

四、Cursor十大使用小技巧

技巧一:終端對話(超級好用)

你再也不用因?yàn)橥浟薼inux命令而苦惱,直接command+k ,使用自然語言去描述命令行(ps:你可以在本地開一個(gè)Cursor的項(xiàng)目專門操作本地終端)

技巧二:歷史代碼生成注釋

使用command+k,為歷史代碼快速生成注釋。(ps:相比Ask模式速度極快)

技巧三:一鍵生成 commit message信息

再也不用去想:我的代碼改了什么?現(xiàn)在一鍵幫你生成提交信息。

技巧四:接手項(xiàng)目,快速可視化了解項(xiàng)目架構(gòu)

使用Ask模式給你整理出項(xiàng)目的架構(gòu)圖,輸出Mermaid語法的文本。

粘貼到看圖文本工具: https://mermaid.live/ ,快速了解項(xiàng)目。

技巧五:巧用Notepad記錄關(guān)鍵思路

使用notepad記錄重要上下文,使用@即可:

圖片圖片

技巧六:@Git找出代碼漏洞

遇到代碼MR的時(shí)候可以先對比一下與主干代碼的差異,檢查是否有問題,或者當(dāng)你MR后代碼發(fā)生了問題,都可以使用@Git

技巧七:使用checkpoint 一鍵回滾

技巧八:設(shè)置你的專屬提示詞

在Cursor Rules里設(shè)置你的專屬提示詞,網(wǎng)上有很多,可以自行查找。

技巧九:拖拽式 添加上小文

再也不用去一個(gè)一個(gè)尋找目錄去添加上下文了,在目錄中直接按豬目標(biāo)文件,拖進(jìn)對話框即可。

技巧十:@web

使用聯(lián)網(wǎng)功能,快速獲取最新的信息

五、Cursor團(tuán)隊(duì)的一些觀點(diǎn)

內(nèi)容來自: https://lexfridman.com/cursor-team-transcript ,其中比較有趣的幾點(diǎn):

(1) 未來工程師是人機(jī)混合體,人類創(chuàng)造力 + AI能力 > 最佳純AI系統(tǒng)。

(2) 創(chuàng)造力、系統(tǒng)設(shè)計(jì)能力和做出權(quán)衡決策的能力將變得更加重要。

(3) 更高層次的抽象:

程序員可能會(huì)更多地在更高層次的抽象上工作,如偽代碼。AI可以將這些高層次指令轉(zhuǎn)換為實(shí)際的、可執(zhí)行的代碼。

(4) 靈活的抽象層級:

  • 未來的編程環(huán)境可能允許在不同抽象層級間自由切換。
  • 例如,可以在偽代碼級別編輯,然后下鉆到具體的實(shí)現(xiàn)細(xì)節(jié)。

(5) 好的編程工具應(yīng)該通過行為預(yù)測,而不僅僅是自然語言,例如強(qiáng)大的tab。

六、Cursor與心流

“心流”一詞是由匈牙利心理學(xué)家米哈里·契克森米哈伊在1975年提出的概念,指一種幸福的最優(yōu)體驗(yàn)。他在《心流》一書中提到人獲得“心流”的三個(gè)核心條件,Cursor的到來和三點(diǎn)完美的契合在一起,code將會(huì)成為一件可以帶給你幸福的事!

(1) 明確的目標(biāo)

如上文所說,使用好AI的前提是想清楚、說清楚,這就天然的在思考任務(wù)的過程是明確自己的目標(biāo)。

(2) 即時(shí)反饋

無論是Cursor的AI代碼補(bǔ)全和自然語言對話功能(如?+K喚醒)能提供毫秒級響應(yīng),或者是秒級別的Agent能力,都可以持續(xù)給予你正反饋,讓你的想法立馬實(shí)現(xiàn)。

(3) 挑戰(zhàn)與能力匹配

在完成任務(wù)中,AI可以幫助你更好的理解需求并自動(dòng)處理底層復(fù)雜性,讓你聚焦于創(chuàng)造性調(diào)整,既避免因任務(wù)太簡單而厭倦,又防止因難度過高而焦慮,給進(jìn)入心流狀態(tài),變的更加輕松。

七、寫在最后

新的時(shí)代,對于軟件價(jià)值理解,可能有新的定義:

軟件價(jià)值 = 創(chuàng)新 ×(需求清晰度 × AI理解度)× 工程實(shí)現(xiàn)效率。

最后也祝愿大家,可以享受編程的樂趣,獲得心流。

責(zé)任編輯:趙寧寧 來源: 騰訊技術(shù)工程
相關(guān)推薦

2015-04-02 15:03:27

青云QingCloud

2016-08-28 08:16:44

Dcloud崔紅保Web AP

2015-05-11 13:20:18

云智慧透視寶

2017-06-20 10:14:36

阿里

2017-11-27 14:40:47

華為云

2015-12-01 17:19:19

銀行3.0華為

2024-12-31 00:00:30

CursorAI編程

2018-07-26 14:32:48

騰訊云

2011-07-28 14:19:12

iPhone 網(wǎng)絡(luò)編程 聊天程序

2023-07-10 09:39:02

lambdaPython語言

2023-03-21 09:58:00

2015-06-17 10:26:03

2015-01-13 14:23:21

HTML5

2018-09-26 10:22:30

2014-03-17 09:53:19

Akamai

2016-07-02 13:01:17

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)