ai

AI Agents for Data and Analytics Teams: The Playbook on Rails

AI agents for data quality triage test failures, propose identity merges, explain schema changes and answer why a metric moved. They work at read and propose levels, with one format-only fix path at approval level (L1 to L3). The rule is propose, never merge: on any customer data platform (CDP), a person applies every identity change, and no agent changes what a field means.

Rail level: L1 to L3 · Risk: medium · Function: data and analytics

By Art Kukharenko · Published · Updated

All AI agent rails

Who this is for: heads of data, data stewards, analytics leads, data platform leads and DPOs. This playbook belongs to the AI agent rails method, which gives each agent one job, one data scope, one approver and one audit trail. The agents and rail cards are a vendor-neutral method, not features of any product.

What customer-data jobs do data and analytics teams run today?

Data and analytics teams run the jobs that every other function trusts without seeing: tests, identity, schemas and metric definitions. The table shows the pattern. It holds no time figures, because they vary too much by team, so record your own baseline first.

JobHow oftenWhere the time goesCost of an error
Test-failure triageDailyTelling one root cause from many downstream symptoms; finding an ownerA broken audience or report ships; or a false alarm teaches people to ignore alerts
Identity review queueDaily or weeklyComparing uncertain pairs by hand; checking historyOne person's data shown to another; consent scopes combined
Schema change handlingPer release of each sourceLearning about a change after a pipeline breaks; tracing dependentsSilent nulls; a new sensitive column reaching the warehouse
Metric questionsDaily, peaks after reviewsRuling out definition changes and late data before looking for a real causeA wrong cause drives a wrong decision
Consent-field qualityContinuousReconciling state between systemsUnlawful contact, or lost proof of consent
Backfills and reprocessingPer incidentWorking out what changes downstream, and who must be toldDuplicated events; changed history with no record
Catalogue and lineage upkeepOngoingFinding owners; documenting fields nobody remembersAgents and analysts read the wrong field

Where do agents help, ranked by value and risk?

Agents help data teams most where a person spends time gathering evidence before making a judgement, and the safest place to start is metadata. Move towards row-level and identity work only after the team has learned to review agent output. The order below follows that logic.

OrderJobAgent and levelWhy it sits here
1Schema change explanationSchema Drift Sentinel, L1Metadata only, no row data. Contract tests keep running whatever the agent does. Quick to prove on seeded changes.
2Metric questionsMetric Explainer, L1Aggregates and fixed queries. It needs a metric catalogue, which is worth having anyway.
3Failure triageData Quality Triager, L2 to L3Reads masked samples, so it needs a stricter rail. Start with ranking only. Add format-only fixes after evidence.
4Identity reviewIdentity Reviewer, L2Highest risk, and needs a labelled set of pairs first. It runs on a private model and never moves above L2.

Check three prerequisites before you start: each test has a named owner, each metric has a written definition, and the identity engine exposes its match evidence. Without those, an agent only speeds up confusion. If the identity engine matches deterministically and has no review queue, skip the Identity Reviewer, because the real job there is key hygiene.

What does "propose, never merge" mean for each agent?

"Propose, never merge" means no agent holds a tool that changes identity, meaning or schema, and a separate system enforces that. The table shows where the line falls for each agent.

AgentMay proposeNever doesWhat enforces the line
Identity ReviewerMerge or split with reason codesMerge or split profiles; use sensitive attributes; combine consent scopesNo write tool exists; a steward applies changes in the identity engine's own console
Data Quality TriagerRanked list and fixesChange a field's meaning; delete records; edit consent or identity fieldsExecution service runs only allow-listed transforms, on approved tables, after an approval bound to the batch hash
Schema Drift SentinelNothing; it explainsAlter a schema or pipeline; read row dataRead-only metadata view
Metric ExplainerNothing; it answersChange a metric definition; state a cause as fact; read individual recordsFixed query set; minimum group size in the data view

Why can a format fix earn a path when a merge cannot?

A format fix can earn an approval path because it touches one column, can be checked by machine and can be rolled back from stored values. A merge changes a graph. It alters consent, audiences, downstream keys and sometimes what a person sees in a portal. Messages sent while two people were merged cannot be recalled, and the identity review use case walks through why. The same reasoning applies to meaning: changing a status code mapping looks like a format fix, yet it changes every report built on that field.

Which AI agents does a data team need?

A data team needs up to four agents on rails, and each keeps the level, data scope and gate fixed by its rail. The roster below follows the agent roster. Each name links to the full profile.

AgentJobLevelData scopeGateMain metric
Data Quality TriagerTriage failures, propose fixes, apply format-only fixes after approvalL2 to L3Test results, schema, masked samples; no consent fields on the fix pathData steward approves each fix batchTime to triage; rollbacks; recurring failures
Identity ReviewerPropose merges and splits with reason codes for a person to applyL2Pseudonymised match features, match scores, review history; no sensitive attributes as match featuresAn identity steward applies or rejects every proposalPrecision on labelled pairs; merge reversal rate
Schema Drift SentinelDetect and explain schema changes in sources and destinationsL1Schema metadata and contract test results; no row dataNone for alerts; the pipeline owner decides any changeTime to detect; missed drift found later
Metric ExplainerExplain why a metric moved, using lineage and approved definitionsL1Metric catalogue, lineage, aggregates above a minimum group sizeNone for answers; the metric owner reviews a sampleAccuracy on known cases; share of answers with evidence

How does a data team work on rails?

A data team on rails keeps its tests and contracts as the enforcing layer, and uses agents to explain and propose around them. Every proposal goes to a named person, and a system outside the agent writes each step to the ledger. The Orchestrator routes the work, and the Trainer keeps evaluation sets current.

Who holds which role

Each role below is held by a person. The approver is never the requester, so a fix a steward asked for goes to a different steward. Approval binds to a hash of the exact batch, and a timeout expires it.

RoleUsually held byWhat they do
RequesterData steward, or a failed testRaises the failure or question
ReviewerData steward; identity stewardAccepts or rejects proposals
ApproverA second data stewardApproves one format-fix batch
Pipeline ownerData engineer on that sourceDecides any schema or mapping change
Metric ownerAnalytics leadOwns definitions; samples answers
Rail ownerHead of data; data platform lead for schema; analytics lead for metricsOwns the rail card, limits and kill switch
AuditorInternal audit or the DPO's teamSamples the ledger and reversals

A week in the life (illustrative)

The week below is an invented example of the rhythm, not a report from a real team.

  • Monday. The Schema Drift Sentinel reports that a CRM release added a column and changed a date type. It lists the dependent models and names the pipeline owner, who plans the mapping change.
  • Tuesday. Twenty test failures turn out to share one late source. The Data Quality Triager groups them and ranks the audience model first. A steward accepts the ranking and opens one ticket instead of twenty.
  • Wednesday. The Triager proposes trimming stray spaces in one table's country code column. A second steward approves the batch, and the execution service applies it and reruns the test.
  • Thursday. The Identity Reviewer proposes keeping two profiles apart, citing a shared device and conflicting dates of birth. The identity steward agrees, and records the decision in the identity engine.
  • Friday. A marketing lead asks why conversions fell. The Metric Explainer finds a definition change last week and a late feed, and states both as hypotheses with query references. The Trainer reviews seeded cases, and results are reported by rail and role.

One schema change, step by step

The table follows one change: a source renames a consent column and splits a phone field. It shows how agents, rules and people share the job. Everything in it is illustrative.

StepProposesChecksApprovesLogged
Change detectedNobody; a contract test failsContract test; schema comparisonNot neededTest ID, schema versions
Change explainedSchema Drift SentinelLineageNone; pipeline owner decidesVersions compared, alert, owner notified
Failures rankedData Quality TriagerTest results; lineageData steward accepts the rankingTest IDs, cause hypothesis
Consent path protectedNobody; rules actPipeline fails closed; send-time check denies unknown stateDPO or compliance lead informedRule version, denied counts
Mapping changedPipeline ownerCode review; contract testA second engineer, not the authorCommit hash, reviewer
Phone format fixedData Quality TriagerValue-preserving checksData steward; bound to the batch hashRows changed, rollback reference
New match pairs reviewedIdentity ReviewerReason-code validatorIdentity steward applies or rejectsCandidates by reference, decision
Metric question answeredMetric ExplainerFixed queries; number checkMetric owner samplesQuestion hash, queries, answer version

The consent row matters most. An agent never maps a renamed consent field, even when the rename looks obvious. A wrong mapping could turn "withdrawn" into "granted" across a whole table, so the pipeline fails closed until a person decides. The suppression architecture article explains why marketing must fail closed.

Separation of agent duties: /ai/rails/functions/data-and-analyticsScoped inputRules & proposalHuman gateExecution serviceIndependent audit ledger · limits enforced outside the model
Swimlane for one schema change with lanes for source system, contract tests, agents, data steward, pipeline owner and ledger. The consent column path turns red and stops at a "fails closed" gate. The phone field path runs through "Data Quality Triager proposes", "data steward approves" and "execution service applies". No agent has an arrow into the consent path. The ledger runs along the bottom.

Rail cards for the top three data agents

Rail cards for the Data Quality Triager, the Identity Reviewer and the Schema Drift Sentinel are condensed below, because these three touch the data other functions rely on. Each can be widened into the full rail card template. The Metric Explainer's card is on its profile.

FieldData Quality TriagerIdentity ReviewerSchema Drift Sentinel
JobTriage failures, propose fixes, apply approved format-only fixesPropose merges and splits with reason codesDetect and explain schema changes
TriggerA failed test or a data-steward requestA review queue from the identity engineA contract test failure or scheduled comparison
Data scopeTest results, schema, masked samples; no consent fields on the fix pathPseudonymised features, scores, review history; no sensitive attributes as featuresSchema metadata and contract results; no row data
Tool scopeRead tests, schema, lineage, samples; propose ranked list and fixes; execute one approved format fixRead pairs, features, merge history; propose; execute nothingRead snapshots, contracts, lineage; propose nothing; execute nothing
Output contractFailure, likely cause, downstream uses, proposed fix, rollback planProposal, reason codes, confidence, effect on consent stateWhat changed, what depends on it, who should act
GateData steward approves each fix batchAn identity steward applies or rejects every proposalNone for alerts; pipeline owner decides any change
LimitsFormat-only changes; batch size; approved tables onlyQueue size per run; no raw contact detailsMetadata only; budget per run
LedgerTest ID, fix, approval, rows changed, rollback referenceCandidates by reference, reason codes, decision, steward, model versionVersions compared, alert, owner notified
EvaluationHistoric failures with known causes; seeded defectsLabelled pairs, including known false mergesSeeded schema changes across sources
Owner and kill switchHead of data or data steward; an Orchestrator pause disables the fix path, and triage continuesHead of data or identity steward; an Orchestrator pause returns the queue to manual reviewData platform lead; stop the schedule, and contract tests still run

The Rule of Two explains why these sessions hold no write tools 10. It says one session should hold at most two of untrusted input, sensitive data, and the power to change state or communicate externally. The Triager's samples can contain text typed by customers, which is untrusted, and masked data can still be sensitive. So its reading session holds no write tool, and a separate execution service applies approved transforms with no model in the loop. The Identity Reviewer holds sensitive features and so holds no state-changing tool at all. The Sentinel reads column names from outside systems, which also count as untrusted, and delivery of its alert runs in a separate service.

Where does schema drift detection not need a model?

Schema drift detection needs no model at all, because comparing two snapshots is a script. Tools already do much of it. dbt model contracts raise an error on breaking changes such as a removed column or a changed type 6. They check shape and not content, and most platforms enforce only not_null at build time, so check your own platform's table 6. Fivetran's "Allow all" setting syncs new schemas, tables and columns into the destination automatically, so a new sensitive column can arrive unreviewed; "Allow columns" and "Block all" narrow that 7.

The Sentinel adds the explanation: what changed in plain words, which audiences and reports depend on it, and who should act. If your team reads diffs happily, keep the script and skip the agent.

Why does a metric explanation stay a hypothesis?

A metric explanation stays a hypothesis because lineage and aggregates can show what changed alongside a number, not what caused it. The useful order is to rule out the dull causes first: a definition change, a late or partial feed, and a shift in the mix of cohorts. Only then look for a change in behaviour, and check the campaign calendar. The Metric Explainer reports each candidate with query references and states what the data cannot show.

The agent is only as good as the definitions it reads. The dbt Semantic Layer lets a team define a metric once in the project, and AI tools can connect through the dbt MCP server to use governed metrics instead of guessing from raw tables 8. Databricks Genie does not query tables or functions that are not attached to the agent, and analysts configure it with trusted assets and example SQL 9. Whichever you use, the rule is the same: fixed or governed queries, a minimum group size, and no invented SQL against row-level tables.

What should a data team not automate?

A data team should not automate anything that changes identity, meaning or history without a person, and the reasons and incidents are in 7 things AI agents should never do with customer data. This list stays specific to the function.

  • Merging or splitting identities, whatever the score.
  • Deleting records, or "cleaning" by removing rows that fail a test.
  • Changing a metric definition, or restating history without a record.
  • Editing consent or identity fields, including normalising identity keys.
  • Mapping a renamed consent or sensitive field.
  • Loosening a test or threshold to make a failure go away. Treat that proposal as a change for the test's owner.
  • Altering a schema or pipeline, or running a backfill.
  • Using sensitive attributes, or close proxies, as match features.

The engine's own auto-merge band is a separate matter. Exact matches on agreed keys can still merge automatically under thresholds that stewards own through change control. "Propose, never merge" describes the agent, not the engine. Changes to those thresholds are themselves a human decision, because they move many merges at once. The mechanics are in identity resolution explained.

Regulation touchpoints for data and analytics

Regulation touches data and analytics through accuracy, minimisation, automated decisions and reviewer monitoring, and the paragraphs below point to where each is covered in full.

Accuracy and rectification. GDPR Article 5(1)(d) requires personal data to be accurate and kept up to date, and Article 16 gives people a right to have inaccurate data corrected 12. A false merge creates inaccurate data about two people. Keep lineage, so you can show what happened and correct it.

Disclosure after a false merge. GDPR Article 4(12) defines a personal data breach to include unauthorised disclosure of or access to personal data, and Article 33 sets a 72-hour notification duty unless risk is unlikely 34. Whether a false merge that exposed data counts as a breach is a question for your DPO. Article 33(5) requires a record of every breach either way, so plan the assessment in advance.

Minimisation. Article 5(1)(c) limits data to what the purpose needs 1. Adding identifiers only to raise match rates conflicts with that, as identity resolution explained notes. Masked samples and pseudonymised features apply the same principle to agents.

Automated decisions. GDPR Article 22 restricts solely automated decisions with legal or similar effects, and the SCHUFA ruling shows a score can count as the decision when others rely on it. If a merged profile or a data fix feeds credit or eligibility, involve your DPO. See explainable AI for customer decisions.

AI Act. Marketing segmentation is not high-risk per se, but credit scoring is, under Annex III 5. Annex III point 4(b) lists monitoring and evaluating workers' performance as a high-risk use, with obligations from 2 December 2027 5. Steward and reviewer data could drift towards that. Report by rail and role, and take advice. The AI Act guide maps the rest.

Health data. HIPAA's minimum-necessary standard limits what a matching or quality process should see. Keep marketing identity apart from clinical matching. See the HIPAA marketing rules.

Third-party tools. An observability or matching service may be an ICT service for firms under DORA, so check whether it belongs in the register of information.

Which metrics are honest for data agents?

Honest metrics for data agents measure known cases, reversals and recurring failures, not hours claimed. Baseline each one first, and use the roadmap's definitions where they exist. Set your own targets from that baseline.

MetricDefinitionWatch-out
Time to triageFailed test to accepted rankingFast triage of the wrong cause is worse
Recurring failuresSame test failing again after a fixThe best signal of symptom-fixing
RollbacksFix batches undoneZero may mean nobody checks
Alert precisionReal issues as a share of alertsGroup by root cause before counting
Precision on labelled pairsProposals a labelled set confirmsInclude known false merges
Merge reversal rateMerges later undoneReversals lag, so sample too
Time to detect driftSchema change to explanationCount drift found later as a miss
Accuracy on known casesMetric moves with known causesKeep hypotheses separate from facts
Share of answers with evidenceAnswers with query referencesEvidence must be checked, not just present
Override rateProposals changed or rejectedNear zero may mean rubber-stamping
Audit coverageAgent actions with a complete ledger recordAnything below 100% is a defect
Cost per accepted taskInference, infrastructure and review time per accepted outputInclude idle capacity

A 30/60/90-day path for data agents

A 30/60/90-day path for data agents starts with metadata and ends with one narrow fix path or a shadow identity queue. A team can stop at any stage and keep what it has, because each stage works alone.

  1. Days 1 to 30: read metadata. Name an owner for every test. Audit the metric catalogue. Record baselines. Stand up the ledger. Run the Schema Drift Sentinel at L1 on seeded changes, then live.
  2. Days 31 to 60: explain and rank. Run the Metric Explainer at L1 on past moves with known causes. Run the Data Quality Triager at L2 in shadow, ranking failures next to your on-call. Build a labelled set of identity pairs, including known false merges.
  3. Days 61 to 90: one narrow step. Allow one format-only transform on one table at L3, after a rollback drill. Run the Identity Reviewer at L2 in shadow against stewards' decisions, on a private model, before it reaches the live queue.

Promotion needs written evidence and owner sign-off. Demotion is automatic on a breached error budget, a serious escaped error, a drift alert, an open incident, or a model or tool change without a regression pass.

Vendor agents and when they are enough

Vendor agents are often enough for data teams, because observability and matching tools already hold the lineage and evidence an agent needs. The table records what each vendor's own page says, checked on 1 November 2026. "Not stated" means the page opened did not say, not that the feature is absent.

ToolWhat it covers hereHow changes are approvedWhere the data goesSource
Monte Carlo agentsMonitoring rule suggestions; root-cause investigationVendor says agents are read-only; monitors deploy with a button pushAgents review samples, metadata and query logs11
Soda AIChat agent, contract drafting and editing, root-cause agent"Every proposed action is shown and approved by a person"; not stated for MCP or the root-cause agentRow-level data and PII reach a model provider only for features you opt in to12
ElementaryOpen-source dbt package; Cloud agent for triage, coverage, governance and root causeNot stated on the pageOpen source stays in your environment; Cloud is managed13
Bigeye bigAIIncident summary, likely root cause, next stepPost does not say whether it changes dataVendor says "No customer data leaves the platform"14
dbt Semantic LayerOne definition per metric; MCP access for AI toolsThrough the dbt projectYour data platform; Starter or Enterprise tier required8
Snowflake CortexRecommends Cortex Agents over Cortex Analyst; verified queries carry overNot stated in the noteNot stated in the note15
Tamr Curator HubAgents and stewards share a queue; agents explain their logicPreview before applying; workflows set which cases need reviewNot stated16
ReltioPotential Match Review for stewardsA steward decides match or not a matchNot stated on the page17
Splink (open source)Probabilistic linkage, charts and clerical labellingYou build the reviewYour environment18

A SaaS tool is the right answer when your data sits in one warehouse, samples may leave under an acceptable contract, and no team can run private inference. A script is the right answer for schema comparison, for grouping failures by upstream model, and for fixed format rules. Doing nothing is fair where a small team knows its pipelines and failures are rare.

The rail adds value when you need your own ledger, a private model for identity work, or an execution path no vendor agent offers. PrivyCDP's AI layer offers AI-assisted review of groups, workflows, unusual events and reports, with limits on data access and review of results, and its immutable audit ledger records each AI-assisted action with the human or system actor that authorised it.

Data agents checklist

Use this checklist before any agent reads production metadata or samples.

  • Every test has a named owner and a severity.
  • Every metric has a written definition and an owner.
  • Contract tests run whatever the agent does.
  • Consent fields fail closed and sit outside every fix path.
  • No agent identity has a write path to identity, consent or schema.
  • A catalogue lists each allowed format transform, and the execution service refuses others.
  • Fix approval binds to a batch hash, and the approver is not the requester.
  • Each fix batch stores before values for rollback, and a drill has proved it.
  • The Identity Reviewer runs on a private model, on pseudonymised features.
  • A labelled set includes known false merges, and is rerun on any model, prompt or tool change.
  • A system outside the agent writes the ledger, with audit coverage at 100%.
  • Results are reported by rail and role, and the kill switch has been drilled.

Browse use casesFunction playbooksAgent roster

FAQ

What can AI agents do for data quality?

They can group failed tests by likely cause, rank them by downstream harm, suggest fixes and explain schema changes. On rails, one agent may also apply format-only fixes after a data steward approves the batch. They do not change a field's meaning, delete records, or edit consent or identity fields, and those limits are enforced outside the model.

Can AI agents merge customer profiles automatically?

We do not recommend it. A false merge can show one person's data to another and combine consent scopes, and many effects cannot be recalled. An agent can propose merges and splits with reason codes, and an identity steward applies each one. Exact matches on agreed keys may still merge inside the identity engine, under thresholds that stewards own.

Which AI agent should a data team start with?

Start with schema change explanation at L1, because it reads only metadata and contract tests keep running. Then add metric questions at L1, which also forces a useful clean-up of definitions. Add failure triage next, ranking only at first. Leave identity review until last, because it carries the highest risk and needs a labelled set of pairs.

Do you need an AI agent to detect schema drift?

No. Comparing two schema snapshots is a script, and tools such as dbt contracts already raise errors on breaking changes. An agent adds the explanation: what changed in plain words, what depends on it and who should act. If your team reads diffs comfortably, keep the script. Either way, the contract test should stay the control.

Can an AI agent explain why a metric changed?

Yes, as hypotheses. It can check definition changes, data freshness and cohort mix through fixed queries, then report candidates with query references. It should not state a cause as fact, because aggregates show what moved alongside a number and not why. A metric owner reviews a sample of answers, and accuracy is tested on past moves with known causes.

Are data observability vendors' agents enough?

Often, yes. Monte Carlo, Soda, Elementary and Bigeye all describe root-cause or triage help, and they already hold your lineage. They are a good fit when samples may leave under your contract. You may need your own rail for a private model, a ledger of your own, or an approved fix path. Confirm data handling with each vendor.

Sources

  1. GDPR Article 5
  2. GDPR Article 16
  3. GDPR Article 4
  4. GDPR Article 33
  5. EU AI Act, Annex III
  6. dbt, Model contracts
  7. Fivetran, Schema change handling
  8. dbt, Semantic Layer
  9. Databricks, Genie
  10. Meta, Agents Rule of Two (31 October 2025)
  11. Monte Carlo, Observability agents (17 April 2025, updated 15 July 2025)
  12. Soda, Soda AI
  13. Elementary, What is Elementary
  14. Bigeye, bigAI is now generally available (1 May 2025)
  15. Snowflake, Transition from Cortex Analyst to Cortex Agents (28 August 2026)
  16. Tamr, Curator Hub (19 November 2025)
  17. Reltio, Review potential matches
  18. Splink documentation

Back to the AI agent rails hub. To test these rails against your own pipelines, identity engine and deployment limits, request an architecture review.

This article is general information, not legal advice.

Further reading

Published: · Updated:

Editorial dates describe content changes. Confirm current sources before making legal, security or purchasing decisions.