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 提供了一种兼顾控制与灵活性的新选择。