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 railsWho 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.
Scroll horizontally to see all columns.
| Job | How often | Where the time goes | Cost of an error |
|---|---|---|---|
| Test-failure triage | Daily | Telling one root cause from many downstream symptoms; finding an owner | A broken audience or report ships; or a false alarm teaches people to ignore alerts |
| Identity review queue | Daily or weekly | Comparing uncertain pairs by hand; checking history | One person's data shown to another; consent scopes combined |
| Schema change handling | Per release of each source | Learning about a change after a pipeline breaks; tracing dependents | Silent nulls; a new sensitive column reaching the warehouse |
| Metric questions | Daily, peaks after reviews | Ruling out definition changes and late data before looking for a real cause | A wrong cause drives a wrong decision |
| Consent-field quality | Continuous | Reconciling state between systems | Unlawful contact, or lost proof of consent |
| Backfills and reprocessing | Per incident | Working out what changes downstream, and who must be told | Duplicated events; changed history with no record |
| Catalogue and lineage upkeep | Ongoing | Finding owners; documenting fields nobody remembers | Agents 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.
Scroll horizontally to see all columns.
| Order | Job | Agent and level | Why it sits here |
|---|---|---|---|
| 1 | Schema change explanation | Schema Drift Sentinel, L1 | Metadata only, no row data. Contract tests keep running whatever the agent does. Quick to prove on seeded changes. |
| 2 | Metric questions | Metric Explainer, L1 | Aggregates and fixed queries. It needs a metric catalogue, which is worth having anyway. |
| 3 | Failure triage | Data Quality Triager, L2 to L3 | Reads masked samples, so it needs a stricter rail. Start with ranking only. Add format-only fixes after evidence. |
| 4 | Identity review | Identity Reviewer, L2 | Highest 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.
Scroll horizontally to see all columns.
| Agent | May propose | Never does | What enforces the line |
|---|---|---|---|
| Identity Reviewer | Merge or split with reason codes | Merge or split profiles; use sensitive attributes; combine consent scopes | No write tool exists; a steward applies changes in the identity engine's own console |
| Data Quality Triager | Ranked list and fixes | Change a field's meaning; delete records; edit consent or identity fields | Execution service runs only allow-listed transforms, on approved tables, after an approval bound to the batch hash |
| Schema Drift Sentinel | Nothing; it explains | Alter a schema or pipeline; read row data | Read-only metadata view |
| Metric Explainer | Nothing; it answers | Change a metric definition; state a cause as fact; read individual records | Fixed 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.
Scroll horizontally to see all columns.
| Agent | Job | Level | Data scope | Gate | Main metric |
|---|---|---|---|---|---|
| Data Quality Triager | Triage failures, propose fixes, apply format-only fixes after approval | L2 to L3 | Test results, schema, masked samples; no consent fields on the fix path | Data steward approves each fix batch | Time to triage; rollbacks; recurring failures |
| Identity Reviewer | Propose merges and splits with reason codes for a person to apply | L2 | Pseudonymised match features, match scores, review history; no sensitive attributes as match features | An identity steward applies or rejects every proposal | Precision on labelled pairs; merge reversal rate |
| Schema Drift Sentinel | Detect and explain schema changes in sources and destinations | L1 | Schema metadata and contract test results; no row data | None for alerts; the pipeline owner decides any change | Time to detect; missed drift found later |
| Metric Explainer | Explain why a metric moved, using lineage and approved definitions | L1 | Metric catalogue, lineage, aggregates above a minimum group size | None for answers; the metric owner reviews a sample | Accuracy 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.
Scroll horizontally to see all columns.
| Role | Usually held by | What they do |
|---|---|---|
| Requester | Data steward, or a failed test | Raises the failure or question |
| Reviewer | Data steward; identity steward | Accepts or rejects proposals |
| Approver | A second data steward | Approves one format-fix batch |
| Pipeline owner | Data engineer on that source | Decides any schema or mapping change |
| Metric owner | Analytics lead | Owns definitions; samples answers |
| Rail owner | Head of data; data platform lead for schema; analytics lead for metrics | Owns the rail card, limits and kill switch |
| Auditor | Internal audit or the DPO's team | Samples 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.
Scroll horizontally to see all columns.
| Step | Proposes | Checks | Approves | Logged |
|---|---|---|---|---|
| Change detected | Nobody; a contract test fails | Contract test; schema comparison | Not needed | Test ID, schema versions |
| Change explained | Schema Drift Sentinel | Lineage | None; pipeline owner decides | Versions compared, alert, owner notified |
| Failures ranked | Data Quality Triager | Test results; lineage | Data steward accepts the ranking | Test IDs, cause hypothesis |
| Consent path protected | Nobody; rules act | Pipeline fails closed; send-time check denies unknown state | DPO or compliance lead informed | Rule version, denied counts |
| Mapping changed | Pipeline owner | Code review; contract test | A second engineer, not the author | Commit hash, reviewer |
| Phone format fixed | Data Quality Triager | Value-preserving checks | Data steward; bound to the batch hash | Rows changed, rollback reference |
| New match pairs reviewed | Identity Reviewer | Reason-code validator | Identity steward applies or rejects | Candidates by reference, decision |
| Metric question answered | Metric Explainer | Fixed queries; number check | Metric owner samples | Question 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.
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.
Scroll horizontally to see all columns.
| Field | Data Quality Triager | Identity Reviewer | Schema Drift Sentinel |
|---|---|---|---|
| Job | Triage failures, propose fixes, apply approved format-only fixes | Propose merges and splits with reason codes | Detect and explain schema changes |
| Trigger | A failed test or a data-steward request | A review queue from the identity engine | A contract test failure or scheduled comparison |
| Data scope | Test results, schema, masked samples; no consent fields on the fix path | Pseudonymised features, scores, review history; no sensitive attributes as features | Schema metadata and contract results; no row data |
| Tool scope | Read tests, schema, lineage, samples; propose ranked list and fixes; execute one approved format fix | Read pairs, features, merge history; propose; execute nothing | Read snapshots, contracts, lineage; propose nothing; execute nothing |
| Output contract | Failure, likely cause, downstream uses, proposed fix, rollback plan | Proposal, reason codes, confidence, effect on consent state | What changed, what depends on it, who should act |
| Gate | Data steward approves each fix batch | An identity steward applies or rejects every proposal | None for alerts; pipeline owner decides any change |
| Limits | Format-only changes; batch size; approved tables only | Queue size per run; no raw contact details | Metadata only; budget per run |
| Ledger | Test ID, fix, approval, rows changed, rollback reference | Candidates by reference, reason codes, decision, steward, model version | Versions compared, alert, owner notified |
| Evaluation | Historic failures with known causes; seeded defects | Labelled pairs, including known false merges | Seeded schema changes across sources |
| Owner and kill switch | Head of data or data steward; an Orchestrator pause disables the fix path, and triage continues | Head of data or identity steward; an Orchestrator pause returns the queue to manual review | Data 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.
Scroll horizontally to see all columns.
| Metric | Definition | Watch-out |
|---|---|---|
| Time to triage | Failed test to accepted ranking | Fast triage of the wrong cause is worse |
| Recurring failures | Same test failing again after a fix | The best signal of symptom-fixing |
| Rollbacks | Fix batches undone | Zero may mean nobody checks |
| Alert precision | Real issues as a share of alerts | Group by root cause before counting |
| Precision on labelled pairs | Proposals a labelled set confirms | Include known false merges |
| Merge reversal rate | Merges later undone | Reversals lag, so sample too |
| Time to detect drift | Schema change to explanation | Count drift found later as a miss |
| Accuracy on known cases | Metric moves with known causes | Keep hypotheses separate from facts |
| Share of answers with evidence | Answers with query references | Evidence must be checked, not just present |
| Override rate | Proposals changed or rejected | Near zero may mean rubber-stamping |
| Audit coverage | Agent actions with a complete ledger record | Anything below 100% is a defect |
| Cost per accepted task | Inference, infrastructure and review time per accepted output | Include 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.
- 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.
- 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.
- 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.
Scroll horizontally to see all columns.
| Tool | What it covers here | How changes are approved | Where the data goes | Source |
|---|---|---|---|---|
| Monte Carlo agents | Monitoring rule suggestions; root-cause investigation | Vendor says agents are read-only; monitors deploy with a button push | Agents review samples, metadata and query logs | 11 |
| Soda AI | Chat 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 agent | Row-level data and PII reach a model provider only for features you opt in to | 12 |
| Elementary | Open-source dbt package; Cloud agent for triage, coverage, governance and root cause | Not stated on the page | Open source stays in your environment; Cloud is managed | 13 |
| Bigeye bigAI | Incident summary, likely root cause, next step | Post does not say whether it changes data | Vendor says "No customer data leaves the platform" | 14 |
| dbt Semantic Layer | One definition per metric; MCP access for AI tools | Through the dbt project | Your data platform; Starter or Enterprise tier required | 8 |
| Snowflake Cortex | Recommends Cortex Agents over Cortex Analyst; verified queries carry over | Not stated in the note | Not stated in the note | 15 |
| Tamr Curator Hub | Agents and stewards share a queue; agents explain their logic | Preview before applying; workflows set which cases need review | Not stated | 16 |
| Reltio | Potential Match Review for stewards | A steward decides match or not a match | Not stated on the page | 17 |
| Splink (open source) | Probabilistic linkage, charts and clerical labelling | You build the review | Your environment | 18 |
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
- GDPR Article 5
- GDPR Article 16
- GDPR Article 4
- GDPR Article 33
- EU AI Act, Annex III
- dbt, Model contracts
- Fivetran, Schema change handling
- dbt, Semantic Layer
- Databricks, Genie
- Meta, Agents Rule of Two (31 October 2025)
- Monte Carlo, Observability agents (17 April 2025, updated 15 July 2025)
- Soda, Soda AI
- Elementary, What is Elementary
- Bigeye, bigAI is now generally available (1 May 2025)
- Snowflake, Transition from Cortex Analyst to Cortex Agents (28 August 2026)
- Tamr, Curator Hub (19 November 2025)
- Reltio, Review potential matches
- 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
- AI Agent Readiness Assessment: Where
- AI Agent for Data Quality Triage: Data
- AI Identity Resolution Review Agent
- AI Metric Explanation Agent: The Metric
- Agent rails
Published: · Updated:
Editorial dates describe content changes. Confirm current sources before making legal, security or purchasing decisions.