Python 库,用 Jev 类决策模型替代 LLM 裁判,为 Agent 执行轨迹做评测与护栏,一次请求完成所有检查。
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
使用 Homebrew 安装 BAML
brew install baml - 2
安装 agent 集成
baml agent install - 3
初始化新的 BAML 项目
baml init - 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 数据每日更新。
相关项目
111+1 本周12PythonMIT维护活跃更新于 4天前
为大语言模型应用添加输入输出防护的 Python 框架,并可从 LLM 输出中生成经校验的结构化数据。
7586+13 本周736PythonApache-2.0更新于 前天
一种静态类型的科学计算编程语言与计算器,内置物理量纲和单位支持。
2829+7 本周122RustApache-2.0维护活跃更新于 27天前
一门类型严格的语言,编译为高效、可读的 JavaScript,并支持自动生成 TypeScript 类型。
7478485OCamlOther更新于 21小时前
一门实验性的编译型编程语言,语法规则面向 AI 生成、人工审阅的代码,无垃圾回收,编译到 C。
41827SwiftMIT更新于 17小时前
一个 TypeScript 框架,用于构建 AI 智能体和大模型驱动的应用,内置工作流、工具、记忆与评测。
2.9万+169 本周3081TypeScriptOther更新于 16小时前