作者:Boxu Li

簡介

Macaron AI 最引人注目的功能之一是其能即時生成自訂迷你應用程式的能力。在普通對話中,用戶可以描述需求——例如追蹤家庭預算、規劃節慶行程、學習新語言——而 Macaron 能在幾分鐘內組建一個完整的工具。有些迷你應用程式的程式碼超過10萬行,但它們都在無需人工干預的情況下生成。對於日本和韓國用戶來說,這意味著可以獲得根據當地習俗和法規調整的個性化工具。這篇博客剖析了驅動 Macaron 迷你應用程式的自主代碼合成管道,涵蓋意圖理解程式合成沙盒執行錯誤處理安全措施。我們檢視系統如何管理複雜性、整合外部 API、遵循地區法律,並從強化學習中汲取經驗來優化輸出。

1 從自然語言到程式規範

1.1 意圖解析與槽位提取

當用戶請求一個應用時,Macaron 首先解析自然語言輸入以構建結構化的「意圖規範」。這包括識別「槽」,例如領域(金融、教育、烹飪)、期望的功能(預算類別、警報)、約束(貨幣、語言)和時間表。對於日語和韓語,解析器會處理敬語和省略。例如,日語請求「家計簿を作りたいんだけど、食費を細かく分けて」(我想建立一個家庭記帳簿,並細分食費)會產生領域「預算管理」、功能「詳細的食物類別」和約束「日圓」。韓語請求「가족 여행 일정을 계획해줘, 한식 식당 추천도」(計劃家庭旅行行程並推薦韓國餐廳)會產生領域「旅行規劃」、功能「餐廳推薦」和文化約束。

Macaron 使用「雙編碼器」架構:一個編碼器處理當前對話,另一個處理用戶的記憶。這兩個向量通過注意力機制結合以產生統一的意圖表達。強化學習微調解析器以提取正確的槽。反饋來自於生成的小應用是否符合用戶的期望;如果不符合,則更新解析器的參數。

1.2 使用領域庫和模板的程式合成

一旦意圖被結構化,Macaron 的合成引擎會透過從特定領域模組庫中組合函數來生成代碼。模組包括預算功能(計算開支、生成圖表)、排程功能(日曆整合、衝突解決)、語言學習算法(間隔重複),以及烹飪協助(食材轉換、營養分析)。引擎選擇模組,配置並將它們縫合成一個連貫的程式。模板包含圖形結構(DAGs),定義模組之間的數據流,允許並行和異步操作。例如,一個日本預算應用程式可能會並行運行每月總結和每週警報任務。

合成引擎使用訓練於開源代碼和專有例子的神經程式合成模型。它還利用符號推理:像「不要超支總預算」這樣的約束被表示為線性不等式並輸入約束求解器。這種混合方法比純神經生成提高了可靠性。強化學習監控用戶滿意度和錯誤率,以調整模組的選擇和排序。

1.3 在地化需求和法規限制

日本和韓國的法規對金融和個人數據處理有具體要求。例如,日本的隱私法規定,未經同意,家庭賬戶數據不得傳輸給第三方。韓國的《個人信息保護法》對數據匿名化有嚴格要求。在生成預算工具時,Macaron 會查閱其政策綁定規則,確保敏感數據存儲在本地,絕不發送至外部服務器。代碼生成器會插入加密庫的調用,並預設禁用網絡訪問。對於醫療應用,Macaron 會與AI 框架法交叉檢查,以確保涉及醫療指導的決策有人工監督。

2 安全執行環境

2.1 沙盒和資源限制

執行按需生成的任意代碼會帶來重大的安全風險。因此,Macaron 在類似於現代代碼解釋器的沙盒環境中運行小型應用程式。沙盒將文件系統訪問限制在虛擬目錄中,限制 CPU 和內存的使用,並封鎖網絡連接,除非明確允許。程式在具有唯讀基礎映像的容器內執行。當韓國料理應用程式請求獲取營養數據時,請求會通過代理進行路由,以檢查允許的域。如果程式試圖在未獲得許可的情況下訪問外部網站,沙盒會終止操作並向用戶返回錯誤訊息。

2.2 靜態分析和類型檢查

在執行前,Macaron 會對合成代碼進行靜態分析,以檢測如無限循環、注入攻擊和未授權的系統調用等漏洞。類型檢查器確保模組正確組合:返回數字的函數不能連接到文本處理模組。檢查器還會驗證當地數據類型的合規性;例如,貨幣值使用小數類型表示,以避免浮點數錯誤。如果靜態分析失敗,Macaron 會提供簡化請求功能的建議或建議將應用程式拆分為較小的模組。

2.3 運行時監控和自動修復

在執行期間,Macaron 會監控性能指標(CPU 使用率、記憶體佔用)、功能正確性(測試案例、斷言)和用戶互動(點擊、花費時間)。如果程式偏離預期行為——例如超過時間限制或拋出異常——Macaron 的自動修復模組會介入。它可以回滾到最後一個穩定狀態、即時生成補丁或優雅地降級功能。例如,如果日本園藝應用程式的天氣 API 出現故障,程式可以切換到備用數據來源或通知用戶臨時中斷。

3 強化學習和持續改進

3.1 來自用戶反饋和任務成功的獎勵信號

每次小應用程式會話都提供了豐富的反饋。用戶通過繼續使用應用程式來隱含地表示滿意,或者明確地評價體驗。Macaron 將這些信號匯總成獎勵函數,指導未來的代碼生成。獎勵函數會對缺陷、混亂的界面和緩慢的性能進行懲罰,同時獎勵可靠性、文化適應性和新穎性。隨著時間的推移,合成引擎學會了日本用戶重視簡約和易用性,而韓國用戶可能更欣賞自定義選項和鮮豔的視覺效果。這些偏好被編碼在選擇模組和用戶界面模式的強化學習策略中。

3.2 課程學習和元學習

為了應對用戶請求日益增長的複雜性,Macaron 採用課程學習:合成引擎從生成簡單程序開始(例如計算器、待辦事項清單),逐步處理更複雜的任務(例如多用戶預算平台)。當系統遇到新領域時,使用元學習來加速適應。當引擎看到來自日本和韓國用戶的類似請求時,例如計劃學校活動或管理老人護理,它可以在任務間進行泛化。元學習還幫助代理適應法律或文化的變化;如果《AI 推廣法》引入新的合規要求,Macaron 能迅速將其整合到代碼模板中。

3.3 社群貢獻與模塊市場

Macaron 鼓勵社群參與。開發者可以向市場貢獻新模塊。模塊在加入之前會經過安全性和合規性審核。這促進了一個本地生態系統:日本開發者可能創建茶道安排或動漫推薦的模塊,而韓國開發者則可貢獻學習 K-pop 舞蹈或管理家庭儀式的模塊。貢獻者將獲得杏仁幣(Macaron 的應用內貨幣)作為獎勵,以激勵平台的持續改進。

4 與外部 API 和服務的整合

4.1 資料來源在地化

日本和韓國的用戶依賴不同的資料提供者。Macaron 與日本的銀行 API(例如透過 J‑Debit)整合以支援金融應用程式,並利用日本的節假日行事曆(如黃金週、盂蘭盆節)及當地新聞來源來進行事件規劃。在韓國,代理連接到 KOSPI 股票 API、Naver 的天氣服務,以及 KakaoTalk 的訊息 API。每個整合都包在一個模組中,強制執行速率限制、快取和錯誤處理。代碼生成器會在相關時自動插入這些模組。

4.2 API 配置的自然語言介面

Macaron 透過對話引導用戶,而不需要手動輸入 API 金鑰。如果日本用戶想要從銀行匯入交易,代理會解釋同意過程,獲取必要的憑證並安全地儲存。同樣地,韓國用戶可能要求 Macaron 連接到孩子的學校日程;代理會使用 OAuth 授權存取,並確保應用程式只讀取所需數據。這些互動會被記錄,並可供檢視,符合差異化透明原則。

4.3 邊緣計算和離線支援

在日本和韓國的許多地區,用戶即使在間歇性連接的情況下也期望可靠性。Macaron 的迷你應用支援邊緣運算,在可能的情況下於本地執行計算。該代理可以生成漸進式網頁應用程式(PWA),這些應用程式可以快取資料並在網路可用時與伺服器同步。例如,一位使用山徑規劃器的韓國登山者可以在離線時繼續追蹤路線,並在下山後與雲端同步。離線功能對於隱私特別重要;敏感資料會保留在裝置上,直到使用者選擇分享。

5 安全、合規性和文化敏感性

5.1 代碼生成中的法規對齊

迷你應用必須遵守當地法規。日本的 AI 促進法強調透明性;因此,預算應用包含清晰的數據流日誌,並向用戶解釋支出如何分類。韓國的 AI 法規要求對高影響決策進行人類監督;因此,與健康相關的應用會提示用戶在採取建議行動之前諮詢專業人士。Macaron 的代碼生成器會在敏感操作中插入警告並獲得明確同意。如果用戶嘗試生成報稅應用,Macaron 會提醒他們注意當地稅法更新,並建議諮詢註冊會計師。

5.2 文化規範和用戶界面的本地化

文化美學影響使用者介面設計。在日本,極簡主義和對留白的尊重備受推崇;因此,Macaron 為日本用戶使用柔和的色彩和簡單的圖標。韓國的介面可能更具活力,並可能包含動畫。Macaron 的 UI 模組會根據用戶在啟動過程中確定的偏好自動調整這些風格。這個代理人還會根據文化規範調整幫助訊息:日本的幫助畫面可能包含情境說明,而韓國的幫助畫面可能強調逐步指導。

5.3 災害韌性與道德考量

日本和韓國容易受到地震和颱風等自然災害的影響。個人代理生成應急應用程式必須可靠。Macaron 包含一個災害韌性模組,該模組整合了政府警報系統,並確保緊急指示是最新的。在道德上,系統避免在金融工具中使用「黑暗模式」等操控性設計,並遵循公平性指導方針。例如,在推薦餐廳時,代理會考慮飲食限制,並避免偏向某些地區或連鎖店,除非用戶表達了偏好。

5.4 案例研究:花見規劃器和K-pop粉絲管理器

兩個案例研究突顯了 Macaron 的代碼合成的力量和細微之處。Hanami Planner 是一個應日本家庭要求而設計的季節性應用程式,旨在讓他們體驗賞櫻。用戶請求:「桜の見頃と混雑を避けるプランを作って」(制定一個在櫻花盛開時避免人群的計劃)。Macaron 從日本氣象 API 獲取天氣和花期預測,交叉參考歷史數據,預測附近公園的櫻花盛開日期。然後,它合成了一個多模塊應用程式:一個日曆排程器來阻擋日期;一個考慮交通和公共交通的路線規劃器;一個用於野餐用品(納入家計簿分類)的預算追蹤器;以及一個提醒用戶垃圾處理和公園規則的文化禮儀指南。增強學習個性化建議:如果家庭中有老年成員,代理優先推薦有無障礙通道的公園;如果有孩子,則建議適合家庭的景點。應用程式還生成雙語邀請函,讓只講韓語或英語的朋友也能參加,展示了 Macaron 的跨語言能力。

「K‑pop 粉絲經理」案例針對追隨多個音樂團體的韓國用戶。用戶可能會說:「다음 커백 스케줄과 팬미팅 일정 관리 앱을 만들어줘」(製作一個管理即將到來的回歸行程和粉絲見面會日程的應用程式)。代理會從娛樂公司的 API 中提取發行日程,根據排行榜演算法計算串流目標,並顯示倒數計時小工具。模組包括「票務購買助理」(檢查當地法律以防止轉售)、用於收集照片卡的「數位剪貼簿」以及協調粉絲項目的「社交模組」。為避免通知過多影響用戶,RL 獎勵模型平衡了緊急性(例如粉絲見面會票務截止日期)與認知負荷。當粉絲與日本朋友協作時,跨語言功能發揮作用:應用程式會自動將日程和信息翻譯為日文和英文,記憶標籤確保上下文在不同語言間保持一致。這些案例展示了 Macaron 將本地文化、法規意識和技術精湛融入定制工具的能力。

5.5 技術挑戰:並發性、版本管理和除錯

即時生成大型程序會引入工程挑戰。當小型應用需要同時執行多個任務時,會出現並發性問題,例如在更新用戶界面的同時獲取數據。Macaron 的代碼生成器構建了定義依賴關係的有向無環圖 (DAGs),並使用異步編程結構(例如 JavaScript 的 promise 或 Python 的 asyncio)來避免阻塞操作。由於 Macaron 的模塊庫不斷演變,版本管理變得至關重要。生成的應用包含記錄模塊版本的清單文件;當有更新可用時,Macaron 會比較版本並提示用戶升級或保持在已知穩定的版本。調試可能是最具挑戰性的:自動生成的代碼可能包含微妙的錯誤或邊緣情況。Macaron 通過基於屬性測試來應對這一問題——生成隨機輸入以測試程序不變性,並使用符號執行來探索執行路徑。當錯誤在野外出現時,代理會收集匿名錯誤痕跡並應用程序修復技術,將修復納入未來的綜合中。這些工程實踐確保了無代碼編程的承諾轉化為可靠且可維護的小型應用。

Boxu 在埃默里大學獲得了定量經濟學專業的學士學位。在加入 Macaron 之前,Boxu 的職業生涯大部分時間都在美國的私募股權和風險投資領域度過。他現在是 Macaron AI 的首席參謀和市場營銷副總裁,負責管理財務、物流和運營,並監督市場營銷。

申請成為 Macaron 的第一批朋友