# BAML A typed programming language and local toolchain for building, running, and testing software with agents. - Findings24: - Сайт: - Цены: Free - Категории: AI Инструменты Разработчика ## Что такое 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