You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhancement: AppKit for Agent and Genie Connection
Summary
The workshop's Data Intelligence chapter (Steps 17-19, 25) guides participants through building Genie Spaces and multi-agent orchestrators, but the workshop app itself has no live integration with either. All Agent and Genie steps are delivered as copy-paste prompts for an external IDE -- participants build these assets externally and verify them by opening workspace URLs.
Databricks AppKit now ships a Genie Plugin and has an Agent Plugin in active development that could bring live Genie and Agent interactions directly into the workshop UI. Combined with the Genie Conversation APIs (Public Preview), the workshop can evolve from a prompt-generation tool to an interactive platform where participants build, test, and interact with their Genie Spaces and Agents without leaving the app.
1. Current State: Prompt-Only Agent & Genie Steps
The workshop has 5 steps involving Agents and Genie, all in the "Data Intelligence" chapter:
Step
Section Tag
What It Does
How It Works Today
17
genie_space
Build semantic layer (TVFs, Metric Views) + Genie Space
Generates a large prompt referencing semantic-layer/ skill files; participant copies to IDE
18
agent_framework
Build multi-agent orchestrator with Genie integration
References agentic-framework/agents/multi-agent-build-prompt.md; participant copies to IDE
19
wire_ui_agent
Wire app frontend to agent serving endpoint
References agent-ui-wiring-prompt.md; participant copies to IDE
25
optimize_genie
Benchmark and optimize Genie Space for production
References 05-genie-optimization-orchestrator/SKILL.md; hidden by default
Accelerator
genie-accelerator
Filtered workshop path focusing on Genie steps
Hides non-Genie steps (18, 19, 16) from the DI section
What the backend does today:
routes.py has agent-format payload compatibility for Foundation Model serving endpoints (fallback JSON shapes for input vs messages), but no Genie Conversation API calls and no embedded Genie or Agent chat
Verification links (verificationLinks.ts) point to {workspace_url}genie?o=... -- participants leave the app to verify
ServicePopover.tsx shows genieSpaces and agents as service blurbs with doc links, but no interactive functionality
The skill tree (skillTreeMapping.ts) maps steps 17-19 to orchestrator/worker skill hierarchies for prompt generation -- pure content, no API integration
There are zero API calls to:
Genie Conversation API (POST /api/2.0/genie/spaces/{space_id}/conversations)
Genie Management API (POST /api/2.0/genie/spaces)
Agent serving endpoints (beyond the generic Foundation Model payload fallback)
Agent Framework APIs
2. What AppKit Offers
2a. Genie Plugin (Shipped -- v0.21.0)
AppKit's Genie Plugin provides a conversational AI interface powered by Databricks AI/BI Genie:
Natural-language data querying against curated Genie Spaces
Automatic chart inference and visualization from query results
Stateful multi-turn conversations
Embeddable React components
This could be integrated into the workshop so that after Step 17 (where participants create their Genie Space), they can immediately test it inside the workshop app via an embedded Genie chat panel -- instead of navigating to the workspace URL.
2b. Agent Plugin (In Active Development)
AppKit has multiple active PRs for an Agent Plugin:
Once shipped, this plugin would allow the workshop to embed an agent chat UI so participants can interact with the multi-agent orchestrator they built in Step 18 -- directly from the workshop app, with tracing and observability built in.
Programmatic Genie Space creation (POST /api/2.0/genie/spaces) -- the workshop could auto-create a Genie Space from the participant's Gold tables as part of Step 17
Could complement agent RAG workflows built in Step 18
Files Plugin (shipped)
UC Volumes file management for agent artifacts
Analytics Plugin (shipped)
Type-safe SQL queries that agents could reference
3. Proposed Enhancements
3a. Embedded Genie Chat (Post-Step 17)
After participants complete Step 17 (Genie Space creation), show an embedded Genie conversational panel in the workshop UI:
Use AppKit's Genie Plugin to render a chat interface connected to the participant's newly created Genie Space
Participant can test natural-language queries against their data immediately
Results show with automatic chart inference -- participants see the value of their semantic layer without leaving the app
Replace the current "Open Genie Space" verification link with this live panel
3b. Programmatic Genie Space Creation (Step 17 Automation)
Use the Genie Conversation API to automate parts of Step 17:
After the participant's Gold tables are created (Steps 11-14), the workshop backend can auto-discover available tables via Unity Catalog
Pre-populate a Genie Space configuration (tables, sample questions, instructions) based on the participant's use case
Call POST /api/2.0/genie/spaces to create the space programmatically
Participant refines via the embedded Genie chat rather than writing all the config by hand in the IDE
3c. Embedded Agent Chat (Post-Step 18/19)
After participants deploy their agent (Steps 18-19), embed an agent chat panel:
Use AppKit's Agent Plugin (once shipped) to render a chat UI connected to the participant's agent serving endpoint
Participant can test the multi-agent orchestrator directly: ask questions that route through the Genie integration, LLM rewrite, and web search fallback
Show agent tracing (via AppKit's tracing integration PR #176) so participants can see how the orchestrator routes queries
3d. Genie Benchmark Automation (Step 25)
Use the Genie API to automate the optimization loop in Step 25:
Programmatically run benchmark questions against the Genie Space
Display accuracy metrics in the workshop UI
Suggest improvements (additional instructions, example SQL, TVF adjustments) based on benchmark results
Currently this step is hidden (step_enabled = FALSE) -- with live API integration, it becomes practical to enable by default
3e. Genie Accelerator Upgrade
The genie-accelerator workshop level currently just filters steps. With AppKit Genie Plugin integration, it could become a fully interactive Genie experience:
Guided Genie Space creation with live preview
Iterative refinement loop: ask question -> see result -> add instruction -> re-test
Benchmark-driven optimization with accuracy scores
All within the workshop app, zero IDE switching
4. What Needs to Change
Component
Current
Proposed
Backend (routes.py)
No Genie API calls; agent-format payload fallback only
Add Genie Conversation API routes; add agent endpoint proxy routes
Frontend (WorkflowDiagram.tsx)
Steps 17-19 render as prompt generators
Add embedded Genie/Agent chat panels after step completion
Verification (verificationLinks.ts)
Links to {workspace_url}genie?o=...
In-app Genie panel replaces external link
Services (ServicePopover.tsx)
Static blurbs for genieSpaces and agents
Live status indicators (space created, agent deployed)
Config (app.yaml)
No Genie Space ID or Agent endpoint env vars
Add GENIE_SPACE_ID, AGENT_SERVING_ENDPOINT per-session vars
Session state (Lakebase)
No Genie/Agent metadata stored
Store genie_space_id, agent_endpoint_name in session
Step 25 (optimize_genie)
Hidden by default, prompt-only
Enabled by default with live benchmark execution
Skill tree (skillTreeMapping.ts)
Content references only
Add "Test in App" action nodes that trigger embedded panels
Deployment
No AppKit dependency
Add AppKit Genie Plugin as frontend dependency; Agent Plugin when available
5. Proposed Implementation Phases
Phase 1: Genie Conversation API Backend
Add Genie API proxy routes to routes.py (create space, start conversation, send message, get results)
Store genie_space_id in session metadata (Lakebase sessions table)
Replace genie_space verification link with in-app panel
Phase 3: Agent Plugin Integration
Track AppKit Agent Plugin development (PRs #166, #217)
When shipped: integrate Agent Plugin for embedded agent chat after Steps 18-19
Add agent endpoint metadata to session state
Phase 4: Automated Benchmarking (Step 25)
Use Genie API to run benchmarks programmatically
Display accuracy metrics in the workshop UI
Enable Step 25 by default with live functionality
Phase 5: Genie Accelerator Interactive Mode
Redesign genie-accelerator workshop level as a guided, interactive Genie experience
Live create -> test -> refine -> benchmark loop entirely in-app
6. Dependencies and Risks
AppKit Genie Plugin: Shipped (v0.21.0) -- ready for integration
AppKit Agent Plugin: In development (PRs open) -- Phase 3 depends on this shipping; can be deferred
Genie Conversation API: Public Preview -- stable enough for workshop use, but API may change
Session architecture: Currently sessions store step prompts as JSON; adding Genie/Agent metadata requires schema evolution
Auth flow: Genie API requires the participant's credentials (not the workshop app's SP) to access their Genie Space -- may need OAuth delegation or a different auth pattern
Enhancement: AppKit for Agent and Genie Connection
Summary
The workshop's Data Intelligence chapter (Steps 17-19, 25) guides participants through building Genie Spaces and multi-agent orchestrators, but the workshop app itself has no live integration with either. All Agent and Genie steps are delivered as copy-paste prompts for an external IDE -- participants build these assets externally and verify them by opening workspace URLs.
Databricks AppKit now ships a Genie Plugin and has an Agent Plugin in active development that could bring live Genie and Agent interactions directly into the workshop UI. Combined with the Genie Conversation APIs (Public Preview), the workshop can evolve from a prompt-generation tool to an interactive platform where participants build, test, and interact with their Genie Spaces and Agents without leaving the app.
1. Current State: Prompt-Only Agent & Genie Steps
The workshop has 5 steps involving Agents and Genie, all in the "Data Intelligence" chapter:
genie_spacesemantic-layer/skill files; participant copies to IDEagent_frameworkagentic-framework/agents/multi-agent-build-prompt.md; participant copies to IDEwire_ui_agentagent-ui-wiring-prompt.md; participant copies to IDEoptimize_genie05-genie-optimization-orchestrator/SKILL.md; hidden by defaultgenie-acceleratorWhat the backend does today:
routes.pyhas agent-format payload compatibility for Foundation Model serving endpoints (fallback JSON shapes forinputvsmessages), but no Genie Conversation API calls and no embedded Genie or Agent chatverificationLinks.ts) point to{workspace_url}genie?o=...-- participants leave the app to verifyServicePopover.tsxshowsgenieSpacesandagentsas service blurbs with doc links, but no interactive functionalityskillTreeMapping.ts) maps steps 17-19 to orchestrator/worker skill hierarchies for prompt generation -- pure content, no API integrationThere are zero API calls to:
POST /api/2.0/genie/spaces/{space_id}/conversations)POST /api/2.0/genie/spaces)2. What AppKit Offers
2a. Genie Plugin (Shipped -- v0.21.0)
AppKit's Genie Plugin provides a conversational AI interface powered by Databricks AI/BI Genie:
This could be integrated into the workshop so that after Step 17 (where participants create their Genie Space), they can immediately test it inside the workshop app via an embedded Genie chat panel -- instead of navigating to the workspace URL.
2b. Agent Plugin (In Active Development)
AppKit has multiple active PRs for an Agent Plugin:
Once shipped, this plugin would allow the workshop to embed an agent chat UI so participants can interact with the multi-agent orchestrator they built in Step 18 -- directly from the workshop app, with tracing and observability built in.
2c. Genie Conversation APIs (Public Preview)
The Genie Conversation APIs enable:
POST /api/2.0/genie/spaces) -- the workshop could auto-create a Genie Space from the participant's Gold tables as part of Step 17POST /api/2.0/genie/spaces/{space_id}/conversations) -- embedded multi-turn chat2d. Related AppKit Plugins
3. Proposed Enhancements
3a. Embedded Genie Chat (Post-Step 17)
After participants complete Step 17 (Genie Space creation), show an embedded Genie conversational panel in the workshop UI:
3b. Programmatic Genie Space Creation (Step 17 Automation)
Use the Genie Conversation API to automate parts of Step 17:
POST /api/2.0/genie/spacesto create the space programmatically3c. Embedded Agent Chat (Post-Step 18/19)
After participants deploy their agent (Steps 18-19), embed an agent chat panel:
3d. Genie Benchmark Automation (Step 25)
Use the Genie API to automate the optimization loop in Step 25:
step_enabled = FALSE) -- with live API integration, it becomes practical to enable by default3e. Genie Accelerator Upgrade
The
genie-acceleratorworkshop level currently just filters steps. With AppKit Genie Plugin integration, it could become a fully interactive Genie experience:4. What Needs to Change
routes.py)WorkflowDiagram.tsx)verificationLinks.ts){workspace_url}genie?o=...ServicePopover.tsx)genieSpacesandagentsapp.yaml)GENIE_SPACE_ID,AGENT_SERVING_ENDPOINTper-session varsgenie_space_id,agent_endpoint_namein sessionoptimize_genie)skillTreeMapping.ts)5. Proposed Implementation Phases
Phase 1: Genie Conversation API Backend
routes.py(create space, start conversation, send message, get results)genie_space_idin session metadata (Lakebasesessionstable)GENIE_WAREHOUSE_IDtoapp.yamlenv varsPhase 2: Embedded Genie Chat UI
genie_spaceverification link with in-app panelPhase 3: Agent Plugin Integration
Phase 4: Automated Benchmarking (Step 25)
Phase 5: Genie Accelerator Interactive Mode
genie-acceleratorworkshop level as a guided, interactive Genie experience6. Dependencies and Risks
References
src/constants/workflowSections.ts(steps 17, 22, 25)src/constants/workflowSections.ts(steps 18, 19)src/constants/workflowSections.ts(genie-accelerator level filtering)db/lakebase/dml_seed/02_seed_section_input_prompts.sql(agent_framework, wire_ui_agent)src/constants/skillTreeMapping.ts(genie_space, agent_framework, wire_ui_agent)src/constants/verificationLinks.ts(genie_space, optimize_genie)src/components/ServicePopover.tsx(genieSpaces, agents)