TRAE 是字節(jié)推出的國內(nèi)首款 AI IDE,從它二月發(fā)布第一個(gè)版本開始,我就非常關(guān)注它,一直在使用它。它也“不負(fù)所托”,極大地提升了開發(fā)效率,順利幫助我完成了很多任務(wù)。
TRAE自身也在不斷推出新功能,感覺它是在以月為單位在飛速進(jìn)化,讓人目不暇接。
7月21日,TRAE發(fā)布了2.0版,我有幸在第一時(shí)間試用了一下,其中的SOLO功能非常地有創(chuàng)新性,效果非常驚艷,可以說,TRAE已經(jīng)變成了一個(gè)能理解需求、調(diào)動(dòng)工具、獨(dú)立完成各類開發(fā)任務(wù)的超級(jí) AI 開發(fā)工程師。
TRAE 2.0是年度重大升級(jí),TRAE SOLO的出道將促使編程從“AI融入IDE”進(jìn)入“AI自主執(zhí)行開發(fā)任務(wù)”的新時(shí)代!
01
The First Context Engineer
Context這個(gè)詞程序員非常熟悉,“上下文”嘛!
為什么TRAE SOLO是Context Engineer?
相信大家都用過各種各樣的AI IDE,在IDE中AI似乎無處不在,它可以幫助你實(shí)現(xiàn)絲滑地實(shí)現(xiàn)代碼自動(dòng)補(bǔ)全,還可以根據(jù)你的自然語言生成各種函數(shù),測(cè)試,甚至模塊級(jí)代碼。
但是一旦進(jìn)入到項(xiàng)目級(jí),AI的表現(xiàn)就沒有那么好了,因?yàn)檐浖?xiàng)目細(xì)節(jié)千頭萬緒,人的大腦不能完全掌握,AI更不可能一次就寫對(duì),需要不斷地修改才行。
但是在修改的時(shí)候,自然語言和代碼之間的鴻溝竟然會(huì)讓AI無所適從,我經(jīng)常發(fā)現(xiàn)它改著改著就“懵”了,甚至?xí)卮蜣D(zhuǎn)。
我們想想我們?nèi)粘5拈_發(fā)是什么樣子的?
一般都是先出需求文檔,程序員根據(jù)需求文檔進(jìn)行詳細(xì)設(shè)計(jì),然后編程實(shí)現(xiàn),測(cè)試,改Bug,最后部署上線。
TREA SOLO也是這么做的,它不但覆蓋了軟件開發(fā)的全生命周期,還能夠理解軟件開發(fā)上下游的各類 Context,包括產(chǎn)品需求、產(chǎn)品設(shè)計(jì)、技術(shù)方案、代碼、測(cè)試用例、部署的信息,可以根據(jù)用戶的任務(wù)類型,智能去使用不同的 Context 和工具,最終完成開發(fā)任務(wù)。
結(jié)果就是,TRAE SOLO能特別精準(zhǔn)地理解我們的意圖(尤其是在對(duì)軟件做精細(xì)修改時(shí)),效率和準(zhǔn)確性獲得了巨大的提升。
這么說還是有點(diǎn)兒抽象,我們拿一個(gè)具體的例子來展示一下。
TRAE2.0有兩種模式,一種是傳統(tǒng)的IDE,另一種就是我們要用的SOLO模式,先切換過來。
進(jìn)入SOLO模式,左邊是SOLO Builder 對(duì)話框,右邊是4個(gè)內(nèi)置的工具:編輯器,終端,瀏覽器,文檔,待會(huì)兒我們就用到它們。
02
需求分析
在之前的AI IDE中,我們習(xí)慣于直接用自然語言驅(qū)動(dòng)AI進(jìn)行編程,比如我們讓AI生成一個(gè)興趣社區(qū)網(wǎng)站,它只會(huì)按照自己的理解來創(chuàng)建,很多時(shí)候AI并不能準(zhǔn)確地“猜”到我們的具體需求,再次修改的時(shí)候就非常麻煩。
TRAE SOLO意識(shí)到了這個(gè)問題,引入了需求文檔的概念,先把需求進(jìn)行結(jié)構(gòu)化呈現(xiàn)給開發(fā)者,開發(fā)者可以再進(jìn)行修改、補(bǔ)充、完善,從而更準(zhǔn)確地表達(dá)自己的要求。
比如我要開發(fā)一個(gè)類似Reddit風(fēng)格的興趣社區(qū),把需求發(fā)給它:
然后SOLO Builder開始工作,很快就生成了產(chǎn)品需求文檔
可以看出,有功能劃分、核心流程、界面設(shè)計(jì),寫得非常詳細(xì),完善。
由于需求已經(jīng)結(jié)構(gòu)化了,TRAE SOLO在開發(fā)的時(shí)候,也是按照細(xì)化的需求,一步步地來,看起來賞心悅目。
很快,一個(gè)社區(qū)網(wǎng)站很快就構(gòu)建完成,TREA SOLO內(nèi)置了一個(gè)Browser工具,它會(huì)自動(dòng)運(yùn)行,馬上就能看到效果。
03
修改需求
相信每個(gè)開發(fā)人員都有這樣的體會(huì),把需求寫好發(fā)給客戶,客戶一個(gè)意見都不會(huì)提。但是一旦應(yīng)用運(yùn)行起來,客戶看到界面,問題就一個(gè)接一個(gè)地來了。
假設(shè)客戶瀏覽了一下生成的興趣社區(qū)網(wǎng)站,發(fā)現(xiàn)在注冊(cè)頁面少了一個(gè)“手機(jī)號(hào)注冊(cè)”的功能,這怎么辦呢?
我們可以對(duì)需求文檔進(jìn)行修改,然后告訴TRAE SOLO來改代碼。
SOLO Builder參考的上下文就是我發(fā)給它的需求文件,它很快就找到了對(duì)應(yīng)的代碼文件,做了修改,加上了“手機(jī)號(hào)注冊(cè)”。
并且立刻在注冊(cè)頁面中展示了最新的效果:
04
代碼編輯
客戶又發(fā)現(xiàn)界面上有個(gè)詞語不太好,想把它從“最熱帖子”改成“熱門帖子”,這時(shí)候TRAE SOLO的Browser工具就能派上大用場(chǎng)了。
在右上角有個(gè)“選擇元素”的按鈕,和Chrome開發(fā)者模式下的選擇元素很像,這里也可以選擇界面元素,然后有兩個(gè)選擇:
(1) 把選擇的內(nèi)容“添加到對(duì)話”,讓SOLO Builder去修改,說實(shí)話,這已經(jīng)非常非常方便了。
(2)但更方便的是,我可以在這里直接修改文字!
你沒看錯(cuò),就是可以在界面上直接修改文字!
這有點(diǎn)兒像我很多年前用過的Dreamweaver,在頁面上的修改就是最終的效果,所見即所得。
但這是一個(gè)運(yùn)行中的Web界面啊,TRAE SOLO從上下文中識(shí)別了我對(duì)頁面修改的意圖,然后自動(dòng)找到了后臺(tái)的代碼,做了相應(yīng)的修改。
這個(gè)功能我真是非常非常喜歡,TRAE SOLO精確地知道我所在的上下文,不用我再啰里啰唆地用自然語言描述界面上要改的地方,又直觀又方便。
05
Debug
TRAE SOLO在生成這個(gè)興趣社區(qū)網(wǎng)站的過程中,也出現(xiàn)了幾次錯(cuò)誤。
有意思的是,它會(huì)運(yùn)行npm run check,在控制臺(tái)發(fā)現(xiàn)錯(cuò)誤后,自動(dòng)地把這些錯(cuò)誤都給修復(fù)了,速度飛快!我想截個(gè)圖讓大家看看都沒來得及!
沒辦法,我只好手工地制造一個(gè)錯(cuò)誤了。
我把首頁中的一個(gè)函數(shù)getSortedPosts故意寫錯(cuò),再次運(yùn)行,果然,TRAE SOLO捕獲到了控制臺(tái)的一個(gè)錯(cuò)誤。
同樣把它添加到對(duì)話當(dāng)中,讓SOLO Builder修改,你看它輕輕松松就改過來了。
06
服務(wù)部署
在之前的開發(fā)中,我們都需要自己對(duì)軟件進(jìn)行打包,然后手工部署。
現(xiàn)在TRAE SOLO增加了一個(gè)自動(dòng)部署的功能,軟件開發(fā)完畢,點(diǎn)擊瀏覽器右上角的“部署”按鈕,就可以自動(dòng)部署到Vercel上,當(dāng)然你需要事先在Vercel創(chuàng)建一個(gè)賬號(hào)。
第一次使用的時(shí)候需要做一個(gè)授權(quán):
我在做第一次部署的時(shí)候失敗了,有點(diǎn)慌,但是TRAE SOLO提供了“智能分析”功能,這一次,它的上下文是部署日志:
查看完日志,它很快就找到了錯(cuò)誤并且成功改正,原來是mockData的問題,再次部署就成功了。
07
總結(jié)
試用完TRAE SOLO,我的最大感受就是開發(fā)過程更加結(jié)構(gòu)化,更加條理化,尤其是需求文檔、通過瀏覽器圈選界面元素等功能的介入,消除了自然語言指令中比較寬泛的語義,讓AI更加精準(zhǔn)地實(shí)施代碼生成和修改,再也不會(huì)出現(xiàn)之前那種改來改去都改不對(duì)的情況了。
而通過Terminal監(jiān)控錯(cuò)誤,自動(dòng)修復(fù),自動(dòng)向Vercel部署應(yīng)用等功能,又極大地減輕了開發(fā)者的負(fù)擔(dān)。
限于篇幅,這篇文章只是介紹了TRAE SOLO新增的幾個(gè)主要功能,像代碼的自動(dòng)補(bǔ)全、自動(dòng)注釋、自動(dòng)寫測(cè)試用例、文檔生成、代碼審查等并沒有涉及。
TRAE SOLO的這次發(fā)布確實(shí)是一個(gè)突破性進(jìn)展,它不但覆蓋了軟件開發(fā)的全生命周期,更重要的是它能夠智能獲取開發(fā)上下游的的各類 Context并動(dòng)態(tài)構(gòu)建,在正確的時(shí)間、以正確的格式提供正確的信息和工具,為模型提供完成任務(wù)所需的一切,The First Context Engineer,實(shí)至名歸!
TRAE SOLO已經(jīng)在國際版上線,但需要Pro用戶拿到SOLO code 激活后才能使用,現(xiàn)在資源有限,我這邊申請(qǐng)到了5個(gè)名額,當(dāng)作粉絲福利發(fā)給大家。歡迎大家在評(píng)論區(qū)留言,講講你和AI編程的故事(經(jīng)驗(yàn)/教訓(xùn)都可以,TRAE相關(guān)的更好),我將選擇其中5位分享者贈(zèng)送SOLO code,歡迎參加!
特別聲明:以上內(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.