從去年開(kāi)始,AI編程工具開(kāi)始進(jìn)入了程序員的工具箱,Cursor、Windsurf、GitHub Copilot等都極大地提升了編程的效率,但是這些工具都是國(guó)外推出的,以英文版為主,對(duì)國(guó)內(nèi)程序員并不友好,尤其費(fèi)用比較高,每月10刀,20刀,感覺(jué)比較肉疼。
在AI的各個(gè)領(lǐng)域中國(guó)人都是不會(huì)缺席的,果然,最近字節(jié)跳動(dòng)也推出了國(guó)內(nèi)首個(gè)AI 原生IDE:Trae。
之前我給大家分享過(guò)字節(jié)的MarsCode,那是一個(gè)IDE的插件,而Trae則是一個(gè)全新的智能協(xié)作AI IDE,在項(xiàng)目開(kāi)發(fā)中,以動(dòng)態(tài)協(xié)作作為核心,打造一種人機(jī)協(xié)同,互相增強(qiáng)的全新開(kāi)發(fā)體驗(yàn)。
Trae預(yù)置了豆包 1.5 pro、滿血版DeepSeek R1、V3模型,并且完全免費(fèi)。
在使用Trae的時(shí)候分為Chat模式和Builder模式:
Chat大家應(yīng)該很熟悉,可以隨時(shí)對(duì)編程時(shí)遇到的問(wèn)題提供幫助和建議。
Builder模式才是重磅炸彈,就像一個(gè)坐在身邊的程序員一樣,從零開(kāi)始一步步地把一個(gè)項(xiàng)目創(chuàng)建出來(lái),它不但會(huì)生成代碼,還會(huì)安裝依賴,自動(dòng)抓取命令行窗口的錯(cuò)誤,然后進(jìn)行修復(fù),非常強(qiáng)悍。
01
Chat模式
先簡(jiǎn)單說(shuō)一下Chat模式,現(xiàn)在支持三種模型,我在使用中選擇了DeepSeek-Reasoner(R1)。
在Chat模式下有個(gè)引用的概念,可以引用四個(gè)層級(jí):WorkSpace,F(xiàn)older,F(xiàn)ile,Code。
實(shí)際上在使用的時(shí)候,選中文件夾、文件、函數(shù)等,添加到對(duì)話就行:
1.代碼解釋
我是把WorkSpace中“payroll”這個(gè)目錄添加到了對(duì)話,然后直接問(wèn)它:解釋下這個(gè)文件夾下的代碼是做什么的。
Trae 開(kāi)始了思考:
從它的思考過(guò)程就能看出,它抓住了這個(gè)系統(tǒng)的關(guān)鍵。
果然,它最終給出的解釋也很準(zhǔn)確:
2.生成測(cè)試
這次我把一個(gè)Java類的函數(shù)添加到對(duì)話,然后讓它生成單元測(cè)試。
它很快就理解了代碼,很快就完成了三個(gè)測(cè)試用例,我只需要點(diǎn)擊應(yīng)用就可以了。
3.智能補(bǔ)全
代碼的智能補(bǔ)全在MarsCode中就做得非常好,我相信Trae肯定不會(huì)差,試了一下果然如此,能準(zhǔn)確識(shí)別我的意圖,只需要不斷按Tab鍵就可以了,這里就不再贅述了。
02
Builder模式
如果說(shuō)Chat模式只是牛刀小試,那Builder模式才是真正的大殺器。
這一次,我讓它從零開(kāi)始創(chuàng)建一個(gè)簡(jiǎn)單的個(gè)人博客系統(tǒng),要求如下:
技術(shù)棧:Python(FastAPI) + SQLite + Jinja2模板 核心模塊: 用戶認(rèn)證:JWT登錄/注冊(cè)(密碼哈希存儲(chǔ)) 文章管理:Markdown編輯器 + 文章CRUD的操作 路由控制:RESTful API設(shè)計(jì)(如GET /posts/{id}) 前端渲染:服務(wù)端渲染基礎(chǔ)頁(yè)面
它很快就把項(xiàng)目結(jié)構(gòu)和部分代碼生成了,我只要“接受”就可以了:
然后它就要求啟動(dòng)服務(wù)器,我要做的就是點(diǎn)擊“運(yùn)行”。
這時(shí)候有趣的事情就發(fā)生了,它會(huì)自動(dòng)監(jiān)測(cè)控制臺(tái)有沒(méi)有錯(cuò)誤,結(jié)果真的有錯(cuò):沒(méi)有安裝unicorn
然后Trae就發(fā)現(xiàn)這個(gè)問(wèn)題,自動(dòng)修改了requirements.txt,重新運(yùn)行pip install 就OK了。
Trae就像個(gè)程序員,有時(shí)候它寫代碼時(shí)也會(huì)犯錯(cuò),比如它在創(chuàng)建項(xiàng)目結(jié)構(gòu)的時(shí)候忘了創(chuàng)建static目錄,在運(yùn)行時(shí)報(bào)錯(cuò),它發(fā)現(xiàn)以后再次創(chuàng)建。
如果我發(fā)現(xiàn)缺失了一些功能,例如“posts的數(shù)據(jù)為空的時(shí)候,應(yīng)該添加一個(gè)創(chuàng)建新文章的鏈接及相關(guān)頁(yè)面”,就會(huì)告訴它來(lái)修改:
很快,新功能就搞定了:
我覺(jué)得默認(rèn)的文章列表比較丑,就要求它優(yōu)化一下,你看它調(diào)整了卡片間距,陰影效果,增加了分頁(yè)等功能。
就這樣在Builder模式下不停地和它交互,修改錯(cuò)誤,添加新功能、確認(rèn)、運(yùn)行...... 我基本上沒(méi)寫代碼,功能大體上就完成了。
03
總結(jié)
試用完Trae的各種功能后,我大為感慨,現(xiàn)在的AI IDE已經(jīng)發(fā)展到如此地步了!
之前的各種AI編程助手,都是在IDE中安裝一個(gè)插件,由人來(lái)驅(qū)動(dòng)AI、指揮AI。程序員需要明確地把要做的事情和項(xiàng)目細(xì)節(jié)告訴這些插件:我要?jiǎng)?chuàng)建一個(gè)類/函數(shù),實(shí)現(xiàn)某功能;程序報(bào)錯(cuò)了,fix一下.....
如今Trae在這些功能的基礎(chǔ)上,實(shí)現(xiàn)了很強(qiáng)的人機(jī)協(xié)同的感覺(jué),它就像一個(gè)坐在旁邊的“老朋友”,非常主動(dòng)地工作。它會(huì)主動(dòng)地思考實(shí)現(xiàn)整體設(shè)計(jì),快速地、自動(dòng)地完成大量瑣碎的工作,當(dāng)它發(fā)現(xiàn)錯(cuò)誤或者缺失了什么東西,能自動(dòng)地提醒我去修復(fù),并且在背后把材料都準(zhǔn)備好。
我只需要告訴它高層的策略,然后就是不斷確認(rèn),遇到問(wèn)題給它提供線索,讓它分析修改代碼,從而讓整個(gè)項(xiàng)目快速地推進(jìn),這種感覺(jué)非常美妙。
簡(jiǎn)單來(lái)說(shuō),Trae可以讓我們快速地把創(chuàng)意轉(zhuǎn)變成成果,并且轉(zhuǎn)變的過(guò)程是一種享受。
我也強(qiáng)烈建議你嘗試一個(gè)Trae,讓自己的編程變得更加輕松。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.