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

Show HN:Margarita——使用類Markdown語法的智慧體程式語言

Margarita 是一種確定性指令碼語言,它將 Markdown 擴充套件為可程式設計的智慧體工作流。透過變數宣告、包含檔案和迴圈等結構,開發者可以構建可預測的 LLM 應用,同時保持對上下文和成本的控制。

來源Hacker News AI作者: margarita_dev

Margarita 是一種新興的程式語言,旨在讓構建 LLM 智慧體變得像編寫 Markdown 一樣簡單。它引入了一個確定性的指令碼擴充套件層,使智慧體行為可預測,無需再為讓模型遵循工作流步驟而反覆調整提示詞。

核心語法以 Markdown 為基礎,新增了 @state@effect[[ include ]] 等指令。開發者可以宣告變數、定義執行步驟、呼叫本地函式,甚至可以包含其他 .mg 檔案實現模組化。例如,一個簡單的智慧體可以讀取使用者輸入,將其注入提示詞上下文,然後執行多次執行以逐步完成任務。

Margarita 強調“在需要的地方使用確定性”。其語法是 Markdown 的極簡擴充套件,每次執行結果一致,避免了 LLM 偶爾跳過步驟的問題。同時,它賦予開發者對上下文的完全控制,可以清理不需要的資料、精確新增所需工具,甚至本地執行 Python 函式而非消耗 Token 進行工具呼叫,從而保持上下文精簡、成本低廉。

此外,Margarita 支援類似 React 的元件組合方式。透過 [[ snippets/role.mg is_admin=True permission="view" ]] 這樣的語法,開發者可以傳遞引數、條件渲染、迴圈輸出片段,實現了 Markdown 長期缺失的程式設計能力。

官方展示了多個用例:自動彙總蘋果郵件收件箱、構建自定義的 Ralph 迴圈智慧體、以及建立 LLM 驅動的遊戲。每個例子都體現了 Margarita 在保持確定性的同時,靈活利用 LLM 的動態能力。例如,在郵件彙總用例中,使用者可以用幾行程式碼載入收件箱、注入提示詞,然後獲取分類摘要和行動項。在自定義迴圈中,智慧體可以分解輸入為任務並逐步執行。在遊戲中,迴圈收集使用者動作並反饋給模型,實現互動式體驗。

Margarita 的語法還包括對狀態管理、檔案讀寫、記憶持久化的支援。@memory var 可載入持久化儲存的變數,@effect func 可呼叫本地 Python 函式,而條件判斷和迴圈則讓工作流更健壯。所有檔案均以 .mg.mgx 結尾,透過 margarita run 命令執行。

目前 Margarita 已開源,提供命令列工具和豐富的示例檔案。對於追求可重複指令碼、又希望融合 LLM 動態特性的開發者而言,Margarita 提供了一種兼顧控制與靈活性的新選擇。