Modelling knowledge for humans and for agents
Structured knowledge has three types of consumers. For a Text-to-insights agent, the quality of metadata provided in context makes the difference. And where to start.
Part 3 of 4. The series starts with From raw data to usable knowledge, and the metadata in between.
Structured knowledge has three types of consumers, each with specific needs.
For Humans
For humans, structured knowledge is invaluable across roles: data analysts, analytics engineers, and data scientists benefit first, gaining the context to interpret fields like status_cd, understanding how tables can be joined, and correctly discerning whether a negative amount signals a refund or an error–in the absence of clear documentation, newcomers are forced to relearn what was already known. Stakeholders and business users rely on a common language to avoid ambiguity: a shared glossary ensures that everyone understands terms like "churn" and calculates KPIs, such as "revenue," using consistent logic, while enabling cross-team communication so that Marketing and Finance speak the same language. Operational and data engineers, along with new team members, need living documentation to grasp data processes, accelerating onboarding so that the information system becomes navigable in days rather than months, and facilitating traceability and audit by making it clear where numbers come from and how calculations happen.
Agents
This is where it gets really interesting. Let's directly take the really common Text-to-insights agent use case.
The Text-to-insights Challenge
Everyone wants to chat with their data, but everyone is not ready to do what is necessary.
Whether the data is in a Data Lake, a Data Warehouse, a simple relational database, the problem is the same: translating a business question into a technical query.
To achieve this, the agent must be able to:
- Map business concepts → "revenue" corresponds to which column?
- Understand values → "World Cup" is the code
WCorWORLD_CUP? - Know the joins → How do you link
customerstoorders? - Respect business rules → Is revenue calculated before or after tax?
What Agents Need
Concretely, a performant Text-to-insights agent needs:
| Element | Description | Example |
|---|---|---|
| Glossary | Concept → technical mapping | "revenue" = SUM(orders.amount) |
| Enriched schema | Tables + columns + descriptions | status_cd: Status code (A=Active, I=Inactive) |
| Joins | Relationships between tables | orders.customer_id → customers.id |
| Validated examples | Question/SQL pairs | "Top 10 customers" → SELECT... |
| Business rules | Constraints and calculations | Revenue = amount before tax, excluding cancellations |
The Measured Impact
This isn't theory. Research (notably from LinkedIn and Snowflake on Cortex) has quantified the impact of metadata on the quality of generated queries.
The difference between an agent that hallucinates non-existent columns and an agent that produces correct queries? The quality of metadata provided in context.
Where to Start?
- Start small: A CSV file with a glossary of business terms
- Document key tables: The most queried ones first
- Describe columns: Possible values, meaning, usage patterns
- Map joins: Relationships between main tables
- Collect examples: Question/SQL pairs validated by humans
Perfection is not required. Progress is.
This metadata can be AI-assisted: take samples from your tables, pass them to an LLM to generate descriptions, then manually validate and adjust. It's tedious work, but it's the work that makes the difference between a POC that impresses and an agent that delivers value in production.