How can I see which tools and data an AI agent accessed?
Summary
- Databricks makes agent activity visible through an integrated observability stack built on Unity Catalog, so every tool call and data access is captured and queryable.
- MLflow Tracing automatically records an agent run's full execution graph — LLM calls, tool invocations, retrieved documents, latency, and token usage — and stores traces as governed Delta tables.
- AI Gateway-enabled inference tables log the request and response payloads of model and MCP calls to a Unity Catalog Delta table.
- Usage tracking (
system.ai_gateway.usage) and audit logs (system.access.audit) record who called which AI service, when, and with what tokens, latency, and identity — distinguishing a human caller from an agent acting on their behalf. - Unity Catalog lineage ties it together with data-to-model-to-agent lineage, and because everything lands as governed tables you can analyze it with SQL, dashboards, or natural language in AI/BI Genie.
How can I see which tools and data an AI agent accessed?
On Databricks you get end-to-end visibility into agent activity through an integrated observability stack built on Unity Catalog. MLflow Tracing captures what an agent did step by step, AI Gateway inference tables and usage tracking capture the traffic, audit logs and lineage capture who accessed which asset, and all of it lands as governed Delta tables you can query. Together these answer exactly which tools an agent invoked and which data it touched.
Why Databricks makes agent tool and data access visible
- MLflow Tracing of the full run. MLflow Tracing automatically instruments agent runs, LLM calls, retriever calls, and tool invocations, capturing the full execution graph including reasoning steps, tool calls, retrieved documents, latency, and token usage. See production tracing.
- Traces stored as governed tables. Traces land in Unity Catalog as Delta tables governed by standard
USE CATALOG,USE SCHEMA, andSELECTpermissions, so you can query them like any other dataset. - Inference tables for payloads. AI Gateway-enabled inference tables continuously log the request inputs and response payloads of model and MCP calls to a Unity Catalog Delta table, giving you a queryable record of every interaction.
- Usage tracking. The
system.ai_gateway.usagetable captures token counts, latency, the requester, and request tags for every request routed through the Unity AI Gateway. - Audit logs. Query
system.access.auditto see who accessed which AI service and when; therun_byandrun_asfields distinguish a human caller from an agent acting on their behalf. See audit log system table. - End-to-end lineage. Unity Catalog lineage captures data-to-model-to-agent relationships automatically, down to the column level, so you can trace which tables and models an agent depends on.
- Analyze it your way. Because observability data is stored as governed Unity Catalog tables, you can inspect it with SQL and dashboards or ask questions in plain language with AI/BI Genie.
Getting started
- Read Observability for any agent, anywhere for wiring agent traces into the lakehouse.
- See Unity AI Gateway observability for usage tracking, inference tables, and audit coverage.
- See production tracing with MLflow to store agent traces in Unity Catalog.
FAQs
How do I see every tool an agent called?
Enable MLflow Tracing on the agent. Each trace records the full execution graph, including every tool invocation, retrieved document, latency, and token usage, and is stored as a governed Delta table you can query.
How do I tell whether a human or an agent accessed a service?
Query the system.access.audit system table. The run_by and run_as fields distinguish a human caller from an agent acting on that user's behalf.
Where do the request and response payloads go?
AI Gateway-enabled inference tables continuously log request inputs and response payloads to a Unity Catalog Delta table, creating a centralized, queryable record of agent activity.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.