baml

用类型安全语言写 Agent,编译期就揪出 Prompt 错误

BAML 是一种专为构建 AI 智能体而设计的编程语言,旨在解决传统 Prompt 工程中代码与提示词混杂、难以维护和调试的问题。它通过类型安全的声明式语法,让开发者以接近普通编程的方式定义数据模型、工作流和工具调用,并自动生成结构化的输出。BAML 的核心能力包括:编译期校验 Prompt 与输出 Schema 的一致性,支持多模型(如 OpenAI、Anthropic)的无缝切换,内置流式解析和错误重试机制,以及提供可视化的调试界面来追踪每次 LLM 调用的输入输出。它本质上将 Prompt 视为一等公民,通过静态类型和编译优化,显著提升了 LLM 应用的可靠性和开发效率,尤其适合需要复杂逻辑编排和严格数据格式要求的场景,如 RAG 管道、多步 Agent 任务和表单抽取等。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 9262
维护状态 活跃
是否开源
定价模式 free

项目数据

分类开源模型
开发团队BoundaryML
所属国家
定价模式free
价格说明开源项目,Apache-2.0许可证,可免费使用和部署。
访问状态
是否开源
开源协议Apache-2.0
主要语言Rust
技术栈/模型boundaryml,guardrails,llm,programming-language,structured-data
GitHub 星标★ 9262
30天Star增速
HF 下载量
上线时间2023-10-06 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 4 步

环境要求

  • 已安装 Homebrew(brew)的 macOS/Linux 环境
  • 终端可联网,便于下载 baml 及其依赖
  • 如需 IDE 支持,需已安装 VS Code(README 中使用 --code 参数)

安装与启动步骤

  1. 1安装 baml CLI

    使用 Homebrew 安装 BAML 命令行工具,这是官方 README 给出的唯一安装方式。

    brew install baml
  2. 2安装 agent 组件

    执行 baml agent install 安装 BAML 面向 agent 的相关组件。

    baml agent install
  3. 3初始化项目

    在目标目录执行 baml init,生成 BAML 项目的基础文件结构。

    baml init
  4. 4安装 IDE 插件

    使用 baml ide install --code 为 VS Code 安装 BAML 编辑器支持。

    baml ide install --code

如何确认成功

README 未给出验证命令,可参考官网 quickstart(https://boundaryml.com/quickstart)确认安装是否可用。

常见问题

Q:BAML 只能通过 Homebrew 安装吗?

A:README 仅给出 brew install baml 这一种方式,其他平台或方式请以官网 quickstart 说明为准。

Q:能否只在一个已有项目里部分使用 BAML?

A:可以,README 说明 BAML 既可独立运行,也可增量采用,能从 TS、Python、Go、C#、Java 等语言调用 BAML 函数。

Q:安装后需要额外的运行时依赖吗?

A:README 未说明额外运行时依赖,仅要求先具备 brew 环境,其余细节请查阅 quickstart。

Q:Windows 上可以安装吗?

A:README 中的安装命令为 Homebrew 形式,Windows 用户请参考官网 quickstart 获取对应指引。

注意事项

  • 安装命令依赖 Homebrew,请先确保本机已正确配置 brew。
  • README 未提供版本号、端口、路径等参数,请勿自行假设。
  • baml init 需在目标项目目录中执行,避免污染其他目录。
  • 更完整的上手流程请访问官网 quickstart 与 explore 示例页。

核心亮点

  • 类型安全:输出 Schema 编译期校验,杜绝字段缺失或格式错误
  • 多模型抽象:一套代码切换 OpenAI/Anthropic 等,无需改逻辑
  • 内置可观测性:自带可视化调试面板,追踪每次 LLM 调用的完整链路

不足之处

  • 学习曲线:需掌握新语言语法,而非简单 YAML 配置
  • 生态年轻:周边工具和社区案例相对较少,文档待完善

适用场景

  • 构建复杂 RAG 管道,要求结构化输出且需严格校验
  • 开发多步骤 Agent 工作流,需要可靠的任务编排和重试
  • 企业级 LLM 应用,需统一管理多模型调用和输出格式

替代项目

LangChain、DSPy、TypeChat

项目介绍

baml 是开发框架领域的开源项目,由 BoundaryML 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(9,262)位列前 6%,在开发框架分类的 795 个项目里位列前 7%。

近 41 天,它的 GitHub 星标从 8,940 增加到 9,262,净增 322。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0许可证,可免费使用和部署。

它主要面向的使用场景是:构建复杂RAG管道,要求结构化输出且需严格校验。同类可对比的替代方案包括 LangChain、DSPy、TypeChat。

上一篇:awesome-langchain

下一篇:TypeChat

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12