BAML logo

BAML

Free
방문

A typed programming language and local toolchain for building, running, and testing software with agents.

BAML란 무엇인가요?

BAML is an open-source, Turing-complete programming language designed for software written by both agents and people. Its TypeScript-like syntax includes unions, generics, and interfaces, while runtime types, typed errors, and exhaustive pattern matching make program behavior more explicit. The local toolchain supports authoring and executing BAML programs, testing LLM functions, generating SDKs, and integrating BAML into existing Python and TypeScript applications. BAML is pre-1.0, so APIs and tooling may continue to evolve.

BAML(으)로 무엇을 할 수 있나요?

Runtime types and typed errors

BAML provides runtime types without `any` or unchecked casts, along with typed errors and exhaustive pattern matching to make failure handling explicit.

Native LLM functions and evaluations

Define LLM functions, tests, testsets, and evaluations in the language, keeping model-oriented workflows alongside program code.

Command-line execution

Use `baml run` to execute any function as a CLI target, pass function parameters as command-line flags, or evaluate an expression directly.

AST-aware code discovery

`baml describe` exposes definitions, signatures, dependencies, and references so developers and coding agents can inspect a BAML project.

Editor and browser tooling

Install support for VS Code and Cursor, run the language server for other LSP clients, or launch the local browser playground.

Incremental SDK adoption

Generate SDKs and integrate BAML into existing Python and TypeScript applications without requiring the hosted cloud service.

사용 사례

“Build agent-authored software”

Use a language with explicit types, errors, and structured code discovery when coding agents create or modify project code.

“Develop and test LLM functions”

Define LLM functions and organize tests, testsets, and evaluations within a BAML project.

“Try functions from the command line”

Run a function directly with `baml run`, supply parameters as flags, and use the CLI to check behavior during development.

“Add BAML to an existing application”

Generate an SDK and integrate BAML with a Python or TypeScript codebase as an incremental adoption path.

자주 묻는 질문

Does BAML require BAML Cloud?

No. BAML’s local toolchain runs on your machine without BAML Cloud. LLM functions use the client configured in the program, so hosted-model access, usage charges, and data handling follow that provider’s terms. The free BAML toolchain does not include third-party model usage.

How do I start a project?

Install the toolchain for your operating system, run `baml init` in your repository, install version-matched agent guidance with `baml agent install`, then run the default entry point with `baml run main`.

Which editors can I use?

Editor integration is optional. The quickstart documents installation for VS Code and Cursor, a language server for other LSP clients, and a local browser playground.

Is BAML stable?

BAML is open source and pre-1.0. The language is usable, but some APIs and tooling may continue to evolve.

주요 정보

Product type
Open-source programming language and local toolchain
Status
Pre-1.0
Supported adoption paths
SDK generation and integration with Python and TypeScript
Local pricing
Free and open source

BAML 트래픽 분석

트래픽 데이터는 참고용으로만 확인하세요.

도메인 평점
58

BAML 대안

Zero logo

Zero

zerolang.ai

An experimental programming language for agents to query and edit program graphs.

Catenary logo

Catenary

thecatenary.app

Catenary is a local-first desktop IDE for running and coordinating multiple AI coding agents on an infinite canvas. It helps developers keep terminals, editors, browsers, worktrees, and agent context visible in one workspace.