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

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 提供了一種兼顧控制與靈活性的新選擇。