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
























