超越聊天機(jī)器人:人工智能如何改變前端開發(fā)
Emily Nakashima,前前端開發(fā)人員和 Honeycomb 的工程副總裁,表示人工智能不僅僅意味著前端的聊天機(jī)器人。
譯自Beyond Chatbots: How AI Can Change Frontend Development,作者 Loraine Lawson。
可觀測(cè)性平臺(tái)Honeycomb的工程副總裁Emily Nakashima表示,如果說有哪類開發(fā)者更有資格探索如何將人工智能 (AI)添加到他們的工具中,那就是前端程序員。
Nakashima 說:“前端生態(tài)系統(tǒng)發(fā)展得如此之快,在某些方面,前端工程師比其他任何人更適合弄清楚如何將人工智能引入他們的工具集,因?yàn)樗麄兎浅A?xí)慣于學(xué)習(xí)新工具,并弄清楚如何整合和使用它們,將所有這些不同工作流的精華匯集在一起?!?/p>
Nakashima 在 Web 開發(fā)的jQuery時(shí)代開始擔(dān)任前端開發(fā)人員。她非常喜歡React,并表示它“在隨著時(shí)間的推移不斷完善生態(tài)系統(tǒng)方面做得很好”。雖然她的背景主要是在前端,但她從事過全棧工作,現(xiàn)在負(fù)責(zé) Honeycomb 的軟件工程、安全和網(wǎng)站可靠性工程團(tuán)隊(duì)的所有方面。
關(guān)于AI 副駕駛?cè)绾胃淖冮_發(fā)者體驗(yàn),已經(jīng)有很多討論,但 The New Stack 想知道:它將如何改變代碼本身,無論是從質(zhì)量上還是數(shù)量上?我們還與 Nakashima 討論了她所看到的以及 Honeycomb 如何使用人工智能。
人工智能在前端代碼中的潛力:錯(cuò)誤處理
“我對(duì)來自 [Adobe] 或 [Figma] 等公司的那些工作流最樂觀,他們正在研究設(shè)計(jì)師和開發(fā)人員之間的常見交接格式……”
——Honeycomb 工程副總裁 Emily Nakashima
Nakashima 說,人工智能在前端比在后端更有可能對(duì)代碼質(zhì)量產(chǎn)生積極影響。她指出,前端生產(chǎn)環(huán)境要復(fù)雜得多,而且不受控制——它必須在多種移動(dòng)設(shè)備上運(yùn)行,還必須在不同的瀏覽器,甚至是不同的語言中運(yùn)行。相比之下,后端開發(fā)人員控制著他們的代碼環(huán)境,因此當(dāng)出現(xiàn)問題時(shí),了解發(fā)生了什么“相當(dāng)簡(jiǎn)單”。
她說:“憑借人工智能能夠查看所有這些信號(hào)并找到共同元素的能力,單個(gè)前端開發(fā)人員更有可能使用其他人對(duì)該錯(cuò)誤了解的所有信息來找到根本原因,而不是必須踏上嘗試弄清楚 [此] 消息在此上下文中意味著什么、映射的旅程返回到此原始代碼行,并將許多不同的數(shù)據(jù)點(diǎn)帶到其中?!彼f:“能夠填補(bǔ)模式實(shí)際上非常有幫助,這是后端無法做到的?!?/p>
盡管如此,她有點(diǎn)懷疑人工智能是否會(huì)真正改變前端的工具生態(tài)系統(tǒng)——她表示該生態(tài)系統(tǒng)已經(jīng)發(fā)展得很快。不過,她對(duì)改善設(shè)計(jì)師和開發(fā)人員之間的界面的潛力感到興奮。事實(shí)上,The New Stack 特色的早期人工智能用例之一幫助開發(fā)人員將設(shè)計(jì)轉(zhuǎn)化為代碼。
Nakashima 說:“這是一個(gè)當(dāng)今有點(diǎn)低效的地方,能夠擁有簡(jiǎn)化這兩個(gè)功能之間通信的工具是一個(gè)我真正看到很多繁瑣工作被從流程中剔除的領(lǐng)域,人們能夠更快地一起迭代。”“我對(duì)來自Adobe或Figma等公司的那些工作流最樂觀,他們正在研究設(shè)計(jì)師和開發(fā)人員之間的常見交接格式,研究人們過去寫出這些詳細(xì)規(guī)范的地方,例如‘使用此顏色,它有這么多個(gè)像素’,諸如此類?!?/p>
人工智能可以幫助前端遷移和升級(jí)
人工智能代碼生成工具還可以幫助管理遷移和升級(jí),讓前端開發(fā)人員可以將更多時(shí)間花在工作的創(chuàng)造性部分上。
“我今天看到的最令人興奮的事情是采用 UI 中的不同多步驟工作流,并弄清楚如何從第一步跳到第五步?!?/p>
例如,當(dāng) React 的新版本發(fā)布時(shí),她解釋說,這會(huì)帶來大量工作,需要遍歷舊代碼庫(kù)并更改所有需要更改的內(nèi)容,以使用新版本并利用新框架。她建議,人工智能可以“以目前不可能的方式”自動(dòng)完成其中一些工作。
她說:“工程師在遷移和升級(jí)上花費(fèi)了大量時(shí)間,尤其是依賴項(xiàng)升級(jí)或框架升級(jí)。”“這不需要太多創(chuàng)造力,但需要大量勤奮和細(xì)心,并且你必須了解如何從特定 API 的一個(gè)版本轉(zhuǎn)換到新版本。我非常樂觀,一些人工智能代碼生成工具可以真正幫助那些占用前端工程師時(shí)間但不是利用他們最佳技能的創(chuàng)造性工作部分的瑣事或工作流?!?/p>
在內(nèi)部,Honeycomb 使用 copilot 工具——他們是重度GitHub用戶,許多開發(fā)人員還使用VS Code作為他們的編輯器。它還在嘗試構(gòu)建人工智能驅(qū)動(dòng)的產(chǎn)品元素,主要使用 OpenAI,盡管 HoneyComb 正在尋找該領(lǐng)域的其它供應(yīng)商,以了解哪家可以為其客戶提供最佳體驗(yàn),她說。其中一些元素是面向客戶的功能,已集成到 Honeycomb 的前端 UI 中。
將前端人工智能 UI 提升到聊天機(jī)器人之外
現(xiàn)在,聊天機(jī)器人是人工智能集成到前端的主要方式,但 Nakashima 說,有很多地方感覺像是一種低效的用戶界面 (UI) 模式。她說,她希望前端和Web 應(yīng)用程序開發(fā)人員想出其他方法將人工智能集成到用戶界面中,但她認(rèn)識(shí)到這是一個(gè)編碼人員才剛剛開始嘗試的領(lǐng)域。
她說:“我今天看到最令人興奮的事情是采用 UI 中不同的多步驟工作流,并找出如何從第一步跳到第五步?!薄暗掖_實(shí)認(rèn)為,更有創(chuàng)意、更具視覺效果的界面有其一席之地?!?/p>
例如,Honeycomb 具有交互式數(shù)據(jù)可視化功能,可以在屏幕上繪制系統(tǒng)的映射。她說,這可能是可以通過人工智能自動(dòng)完成的事情。
她說:“感覺對(duì)于這類功能來說還為時(shí)過早。我確實(shí)看到人們專注于聊天工作流的實(shí)驗(yàn),因?yàn)檫@是他們?cè)谶@些人工智能工具中看到的?!薄拔蚁M芸炜吹礁鄻有??!?/p>
在 Honeycomb,他們實(shí)現(xiàn)這一目標(biāo)的一種方法是通過查詢構(gòu)建器 UI,其中將文本輸入到表單字段中以生成查詢。
她說:“有時(shí)可能很難知道如何構(gòu)建該查詢并鍵入完全正確的內(nèi)容,因此我們?cè)试S你提供更通用的文本描述,然后當(dāng)你單擊時(shí),我們將為你生成一個(gè)圖表。”“你可以說,向我展示所有在 Web 應(yīng)用程序上體驗(yàn)緩慢的用戶圖表,然后我們會(huì)向你展示該圖表。”