Repolode
BoundaryML

BoundaryML/baml

BAML 是一门面向 AI Agent 的编程语言,提供类型系统、内置测试与评估框架,可被 TS、Python、Go 等语言调用。

Star
9,486
Fork
514
未关闭 Issue
366
最近提交
23小时前

这是什么?

BAML 是一门面向 Agent 开发的编程语言。语法接近 TypeScript,同时带有运行时保留的类型系统、类型化且经过静态分析的错误处理,以及基于文件系统组织的模块结构,旨在减少 Agent 在生成或处理结构化数据时出错的情况。

语言内置测试与评估框架、面向 Agent 任务的标准库,并支持类似 Go 的绿色线程和无色并发。编译器使用 Rust 编写。BAML 既可独立运行,也可以渐进式接入现有项目,在 TypeScript、Python、Go、C#、Java 等代码中直接调用 BAML 函数。

项目提供命令行工具,可安装 Agent 工具链、初始化项目并安装 IDE 扩展,支持通过 Homebrew 安装。

核心功能

  • 01静态检查的类型化函数与错误处理
  • 02运行时保留类型信息,无需 any 或强制转换
  • 03内置测试与评估框架
  • 04面向 Agent 任务的标准库
  • 05可从 TypeScript、Python、Go、C#、Java 等语言调用

适用场景

  • 用带类型的 schema 定义 LLM 的结构化输出
  • 在现有 TypeScript 或 Python 项目中逐步引入 BAML 函数
  • 编写并运行 Agent 行为的评估用例
  • 使用专门语言构建新的 Agent 应用

快速上手

  1. 1

    使用 Homebrew 安装 BAML

    brew install baml
  2. 2

    安装 agent 集成

    baml agent install
  3. 3

    初始化新的 BAML 项目

    baml init
  4. 4

    为 VS Code 安装 IDE 扩展

    baml ide install --code

使用前须知

  • README 未说明 Windows 的安装方式,因此平台支持情况不明确。
  • 安装需要多个 CLI 步骤,详细说明需参考 README 指向的外部快速入门。

收录于专题

标签

常见问题

baml 是什么?
BAML 是一门面向 AI Agent 的编程语言,提供类型系统、内置测试与评估框架,可被 TS、Python、Go 等语言调用。 BAML 是一门面向 Agent 开发的编程语言。语法接近 TypeScript,同时带有运行时保留的类型系统、类型化且经过静态分析的错误处理,以及基于文件系统组织的模块结构,旨在减少 Agent 在生成或处理结构化数据时出错的情况。
baml 可以免费使用吗?用的什么许可证?
baml 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
baml 还在维护吗?
活跃维护中。baml 最近一次提交是在 2026年11月6日。
baml 适合用来做什么?
用带类型的 schema 定义 LLM 的结构化输出 在现有 TypeScript 或 Python 项目中逐步引入 BAML 函数 编写并运行 Agent 行为的评估用例 使用专门语言构建新的 Agent 应用
baml 怎么安装和运行?
使用 Homebrew 安装 BAML: brew install baml 安装 agent 集成: baml agent install 初始化新的 BAML 项目: baml init 为 VS Code 安装 IDE 扩展: baml ide install --code
在哪里获取 baml?
源代码和安装说明在 GitHub 上:https://github.com/BoundaryML/baml

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目