--- name: agent-bricks description: "Create and manage Databricks Agent Bricks: Knowledge Assistants (KA) for document Q&A, Genie Spaces for SQL exploration, and Multi-Agent Supervisors (MAS) for multi-agent orchestration. Use when building conversational AI applications on Databricks." --- # Agent Bricks Create and manage Databricks Agent Bricks - pre-built AI components for building conversational applications. ## Overview Agent Bricks are three types of pre-built AI tiles in Databricks: | Brick | Purpose | Data Source | |-------|---------|-------------| | **Knowledge Assistant (KA)** | Document-based Q&A using RAG | PDF/text files in Volumes | | **Genie Space** | Natural language to SQL | Unity Catalog tables | | **Multi-Agent Supervisor (MAS)** | Multi-agent orchestration | Model serving endpoints | ## Prerequisites Before creating Agent Bricks, ensure you have the required data: ### For Knowledge Assistants - **Documents in a Volume**: PDF, text, or other files stored in a Unity Catalog volume - Generate synthetic documents using the `unstructured-pdf-generation` skill if needed ### For Genie Spaces - **Tables in Unity Catalog**: Bronze/silver/gold tables with the data to explore - Generate raw data using the `synthetic-data-generation` skill - Create tables using the `spark-declarative-pipelines` skill ### For Multi-Agent Supervisors - **Model Serving Endpoints**: Deployed agent endpoints to orchestrate - These could be custom agents, fine-tuned models, or other deployed services ## MCP Tools ### Knowledge Assistant Tools **create_or_update_ka** - Create or update a Knowledge Assistant - `name`: Name for the KA - `volume_path`: Path to documents (e.g., `/Volumes/catalog/schema/volume/folder`) - `description`: (optional) What the KA does - `instructions`: (optional) How the KA should answer - `tile_id`: (optional) Existing tile_id to update - `add_examples_from_volume`: (optional, default: true) Auto-add examples from JSON files **get_ka** - Get Knowledge Assistant details - `tile_id`: The KA tile ID **delete_ka** - Delete a Knowledge Assistant - `tile_id`: The KA tile ID to delete ### Genie Space Tools **IMPORTANT**: Before creating a Genie Space, you MUST first inspect the table schemas using `get_table_details` to understand the data. This allows you to: - Select the most relevant tables for the use case - Write sample questions that reference actual column names and data patterns - Create a description that accurately explains the data model **Genie Space Creation Workflow**: 1. Call `get_table_details(catalog, schema)` to fetch table schemas 2. Analyze the columns, data types, and relationships 3. Select tables appropriate for the user's use case (prefer silver/gold over bronze) 4. Generate 5-10 sample questions based on actual columns and business context 5. Write a description explaining what users can explore 6. Call `create_or_update_genie` with the prepared content **create_or_update_genie** - Create or update a Genie Space for SQL exploration - `display_name`: Display name for the space - `table_identifiers`: List of tables (e.g., `["catalog.schema.table1", "catalog.schema.table2"]`) - `warehouse_id`: (optional) SQL warehouse ID (auto-detects if not provided) - `description`: (optional) What the space does - explain the data model and relationships - `sample_questions`: (optional) List of sample questions that reference actual columns - `space_id`: (optional) Existing space_id to update **get_genie** - Get Genie Space details - `space_id`: The Genie space ID **delete_genie** - Delete a Genie Space - `space_id`: The Genie space ID to delete ### Multi-Agent Supervisor Tools **create_or_update_mas** - Create or update a Multi-Agent Supervisor - `name`: Name for the MAS - `agents`: List of agent configurations: - `name`: Agent name - `endpoint_name`: Model serving endpoint name - `description`: What this agent handles (used for routing) - `description`: (optional) What the MAS does - `instructions`: (optional) Routing instructions - `tile_id`: (optional) Existing tile_id to update - `examples`: (optional) List of example questions with `question` and `guideline` fields **get_mas** - Get Multi-Agent Supervisor details - `tile_id`: The MAS tile ID **delete_mas** - Delete a Multi-Agent Supervisor - `tile_id`: The MAS tile ID to delete ## Typical Workflow ### 1. Generate Source Data Before creating Agent Bricks, generate the required source data: **For KA (document Q&A)**: ``` 1. Use `unstructured-pdf-generation` skill to generate PDFs 2. PDFs are saved to a Volume with companion JSON files (question/guideline pairs) ``` **For Genie (SQL exploration)**: ``` 1. Use `synthetic-data-generation` skill to create raw parquet data 2. Use `spark-declarative-pipelines` skill to create bronze/silver/gold tables ``` ### 2. Create the Agent Brick Use the appropriate `create_or_update_*` tool with your data sources. ### 3. Wait for Provisioning Newly created KA and MAS tiles need time to provision. The endpoint status will progress: - `PROVISIONING` - Being created (can take 2-5 minutes) - `ONLINE` - Ready to use - `OFFLINE` - Not running ### 4. Add Examples (Automatic) For KA, if `add_examples_from_volume=true`, examples are automatically extracted from JSON files in the volume and added once the endpoint is `ONLINE`. ## Best Practices 1. **Use meaningful names**: Names are sanitized automatically (spaces become underscores) 2. **Provide descriptions**: Helps users understand what the brick does 3. **Add instructions**: Guide the AI's behavior and tone 4. **Include sample questions**: Shows users how to interact with the brick 5. **Use the workflow**: Generate data first, then create the brick ## See Also - `1-knowledge-assistants.md` - Detailed KA patterns and examples - `2-genie-spaces.md` - Detailed Genie patterns and examples - `3-multi-agent-supervisors.md` - Detailed MAS patterns and examples