BAML is a developer tool for building AI applications with type safety and reliability. It helps teams define structured AI outputs, test prompts, and generate native code for languages like Python, TypeScript, Ruby, and Go.

BAML preview

型付きスキーマと生成コードを備えたAI開発ツール

BAMLは、型安全性と信頼性を備えたAIアプリケーション構築向けの開発者ツールです。スキーマファーストの言語でAIプロンプトと構造化出力を定義し、その後、Python、TypeScript、Ruby、Goなどのアプリケーション言語向けにネイティブコードを生成することを中心に据えています。

サイトでは、BAMLをAI開発のための一連のワークフローとして位置づけています。プロンプトと関数を定義し、エディタまたはCI/CDパイプラインでテストし、同じ定義からコードを生成し、その結果を通常のアプリケーションコードとしてデプロイできます。製品には、BAMLプログラムを編集・実行するためのブラウザプレイグラウンドも含まれており、個人開発者、チーム、エンタープライズ向けの料金体系も用意されています。

主な機能

スキーマベースのAIインターフェース

BAMLスキーマでAIプロンプトと構造化出力を定義し、対象言語のネイティブコードを生成します。サイトにはTypeScriptの型生成や、Python、TypeScript、Ruby、Goにコンパイルされる例が示されています。

テストと検証のワークフロー

デプロイ前に出力を検証し、プロンプトをテストします。ホームページでは、スキーマ検証、CI/CDテスト、自動再試行、失敗したリクエストに対するフォールバック応答が強調されています。

インタラクティブなプレイグラウンド

ブラウザプレイグラウンドまたはエディタベースのワークフローを使って、BAMLプログラムを編集・実行できます。プレイグラウンドページには、ワークスペース、ファイルエクスプローラー、プロンプトエディタ、テストケース実行ツールが表示されています。

複数プロバイダーのLLM対応

BAMLをさまざまなLLMプロバイダーやクライアント設定に接続できます。プレイグラウンドの例にはOpenAIとAnthropicのクライアントが含まれており、ホームページではBAMLがあらゆるLLMプロバイダーで動作すると説明されています。

開発者向けツール群

開発ワークフロー向けにCLIやエディタ拡張機能を利用できます。料金ページでは有料プランにCLIとエディタ拡張機能へのアクセスが明記されており、ホームページではVS Codeと`baml-cli`コマンドに言及しています。

ネイティブなデプロイ適合性

BAMLに特別なランタイム要件を求めず、生成されたコードを通常のアプリケーション環境にデプロイできます。ホームページでは、BAMLがAWS Lambda、Vercel、Google Cloud、Azure Functions、Railwayなどのマルチクラウドデプロイ先で利用できるネイティブコードを生成すると説明されています。

一般的なユースケース

  • 型付き出力の生成

    構造化されたAI出力を定義し、同じソースから型を生成したい場合にBAMLを使います。これにより、下流のコードは場当たり的なテキスト解析ではなく、予測可能な形状に依存できます。

  • プロンプトの反復とテスト

    ブラウザプレイグラウンドを使ってプロンプトを反復し、BAMLファイルを確認し、テストケースを実行してから、同じ定義をコードベース全体に展開します。

  • 自動回帰チェック

    CI/CDパイプラインでBAMLを使い、変更後もプロンプトやエージェント出力が期待どおりに動作することを検証します。

  • アプリケーション統合

    Python、TypeScript、Ruby、Goとの直接統合が必要なアプリケーションスタックで、生成された言語別コードを利用します。

  • チームでのAI開発

    個別のプロンプトスクリプトではなく、開発、共同作業、プライベートスキーマのための共通ワークフローがチームに必要な場合にBAMLを使います。

Pros and Cons

Pros

  • プロンプト定義、スキーマ検証、テスト、コード生成を1つのワークフローにまとめています。
  • 別のランタイム抽象化レイヤーを必要とせず、複数のプログラミング言語でネイティブ関数を生成します。
  • ローカル編集、ブラウザベースのプレイグラウンド作業、CI/CDテストなど、さまざまな利用シーンをサポートしています。
  • 無料プラン、有料のチームプラン、エンタープライズ向けオプションがあり、導入前に評価しやすい製品です。
  • 検証、再試行、フォールバック応答といった、信頼性を重視した機能を提供します。

Cons

  • 公開ページでは、リンク先の入門ドキュメントが404を返すため、手順ごとのセットアップ方法は提供されていません。
  • 一部の統合詳細は例の中でのみ確認できるため、対応プロバイダーや環境は、文書化された実装詳細よりも広く見えます。
  • エンタープライズ機能とサポート機能は料金ページに記載されていますが、公開ソースでは技術的制限やデプロイ前提条件について詳しく説明されていません。

FAQ

BAMLにはどのような料金オプションがありますか?

BAMLには、個人開発者向けの無料プラン、開発チーム向けのTeamプラン、大規模組織向けのEnterpriseプランがあります。料金ページには、有料プランの14日間無料トライアルも表示されています。

チームは実際にBAMLをどのように使いますか?

サイトでは、BAMLがブラウザベースのプレイグラウンドで動作する様子が示されており、有料プランではCLIとエディタ拡張機能へのアクセスが説明されています。ホームページでは、VS CodeやCI/CDワークフローでの利用にも言及しています。

BAMLはどの言語とモデルプロバイダーをサポートしていますか?

BAMLは、BAMLスキーマと関数から、Python、TypeScript、Ruby、Goなどの言語でネイティブ関数を生成するよう設計されています。ホームページでは、あらゆるLLMプロバイダーで動作すると説明されています。

典型的なBAMLワークフローはどのようなものですか?

プレイグラウンドページでは、1つのBAMLファイル内でLLMクライアント、構造化出力の型、関数プロンプト、テストケースを定義する様子が示されています。ホームページでも、デプロイ前にスキーマを検証し、プロンプトや関数をテストすることが強調されています。

BAMLにはチーム向けやエンタープライズ向けのサポートオプションがありますか?

料金ページには、プランのアップグレードやダウングレード、スタートアップ向け・教育向け割引、カスタム契約やアカウント管理などのエンタープライズサポートオプションが記載されています。導入に関する具体的な実装詳細は、ソースページには記載されていません。

Quick Facts

カテゴリ
開発者ツール
製品タイプ
AIアプリケーション開発ツール
主な対象ユーザー
AIアプリケーションを構築する開発者
ソースドメイン
boundaryml.com
料金モデル
無料プラン、Teamプラン、Enterpriseプラン
ワークフロー
スキーマを定義し、プロンプトをテストし、ネイティブコードを生成し、通常どおりデプロイする