AI News HubLIVE
站內改寫2 分鐘閱讀

AI推動Shopify迴歸簡潔程式碼

Shopify正在推出一個以HTML和Liquid模板語言為核心的新主題,取代以JSON為主的Horizon主題。新主題程式碼行數減少了93%,既便於AI代理理解,也提高了人類開發者的可讀性。

來源Hacker News AI作者: sbulaev

電商平臺Shopify正在推動原始碼可讀性的迴歸,而其意外的盟友竟是AI代理。該公司為其商戶(即“賣家”)推出了一款新的店面主題,聲稱任何具備基本HTML知識的人都能完全理解。該主題設計為讓人和機器都能輕鬆解讀和定製。

這款新主題尚未命名,但在開發者論壇中被披露為當前基於JSON的Horizon主題的可能繼任者。新程式碼主要使用HTML,並穿插Shopify自家的塊級Liquid模板語言,這種語言同樣易於閱讀。當商戶檢視新主題的模板目錄時,他們將看到純文本檔案中的易解析程式碼,而非一長串晦澀的JSON。與Horizon相比,該主題的程式碼行數減少了93%。

Shopify日益流行的AI服務推動了這次架構重設計。Shopify店面產品總監Ben Sehl在X上發文表示:“每個領先的模型都已經理解HTML。HTML具有表現力、區域性性和token效率。”而Shopify的Liquid模板語言與HTML完美契合。

Sehl回憶起十年前,當他本人還是一名商戶時,Shopify只提供基本模板。作為新手網頁編碼員,他可以輕鬆地使用第三方入門套件進行修改。後來,Shopify豐富模板功能,讓使用者成為全職設計師。線上商店編輯器賦予使用者對頁面及其各個“塊”元件的更多控制權。然而,靈活性也帶來了複雜性。使用者模板指令被轉換為JSON。“這種權衡給了商戶更多的控制權,但代價是開發者體驗:你無法再透過讀取一個檔案來理解一個頁面。”Sehl寫道。

最近,Shopify新增了AI助手Shopify Sidekick,讓使用者能更便捷地設計頁面。今年,20%的Shopify商戶正在使用Sidekick編輯主題,僅今年就完成了2500萬次編輯。因此,Shopify面臨簡化AI代理任務的需求。事實證明,代理與人類有相同的需求:易於閱讀的程式碼、明確的合約和建設性的反饋。該公司以這些品質為首要原則重新組織了主題架構(同時將現有Liquid主題作為“永久API”保留)。

這些改變不僅更好地支援了AI,也使底層程式碼對人類更易讀。Sehl解釋說:“序列化配置的更深層問題不在於JSON本身有缺陷,而在於配置的詞彙量受限。”

新基礎主題中,Liquid獲得了新語法和解析器,能夠更嚴格地執行後端複雜指令。使用者看到的是與普通HTML輕鬆搭配的可組合、型別化塊。每個使用者設計的主題都被賦予一個特殊目錄,包含指令和指向如何生成附加工件的說明。此外,擴充套件的文件標籤包含處理合約和片段的示例及說明。

新主題的關鍵是一個新的可組合塊標籤,其中包含描述頁面元件的一組巢狀引數,開發者可以為其提供值、配置、覆蓋項和其他指令。React開發者會認出這些引數類似於React的props,但無需建立虛擬DOM。同樣熟悉的是新的partial原語,它允許更新頁面的特定區域而無需重新渲染整個頁面。團隊還新增了標準操作,即站點的事件觸發器集合,例如更新購物車。“這一個原語將讓我們從Horizon中移除數千行反應式程式碼。”Sehl寫道。

Shopify還開發了20條新規則,以確保生成的主題符合公司在合約、結構、驗證、複雜性、巢狀和檔案大小限制方面的政策。如果使用者想要更高階的功能,Liquid現在支援布林表示式、帶優先順序的中綴運算子以及字面陣列和物件等邏輯能力。未來甚至會支援Tailwind CSS框架。

所有這些改進應能簡化商戶在家組裝定製店面的過程。例如,在宣告式、設定驅動的架構中,開發者必須在開始佈局前預先規劃按鈕數量。而使用HTML時,當商戶發現需要額外按鈕時,只需將它們全部包裹在一個HTML div標籤中即可。

AI專家逐漸認識到,對於非編碼任務,AI的最佳“食糧”並非密集的符號化程式碼。與人類一樣,LLM在更易理解的散文上表現更好(畢竟LLM是在人類語言上訓練的)。例如,一位開發者發現,與17種不同工具的領域特定語言(DSL)相比,SQL更容易處理。Anthropic建議使用語義豐富的XML進行提示,而十年前該格式因更精簡、更少冗餘的JSON而被業界棄用。

也許Shopify取悅AI的努力不僅不會導致更多垃圾程式碼,反而會推動可讀程式碼的運動。