SQL-uitvoering
Gebruik bronmetadata vóór het genereren van een readquery; voer uit tegen de geconfigureerde databaseboundary en geef rijen plus querymetadata terug.
- Inspecteer schema
- Kies joins + kolommen
- Query genereren
- Voer uit + corrigeer
Ask Titan routeert businessvragen naar beheerde capabilities voor gestructureerde data, Power BI-semantische modellen en enterprise-documenten. LangGraph coördineert de runtime; MCP biedt een consistente capabilitygrens; application policy bepaalt welke tools het model bereiken.
Een eenvoudige user → LLM → database → answer-flow is voldoende om een prototype uit te leggen. Voor enterprise-systemen is dat niet genoeg. De applicatie moet ook bepalen tot welke capabilities een gebruiker toegang heeft, welke bron de vraag moet beantwoorden, op welke metadata het model mag vertrouwen, hoe mislukte queries worden afgehandeld, hoe conversatiestate wordt bijgehouden en hoe een antwoord terug te voeren is op de uitvoering die het opleverde.
Dit verbergt autorisatie, bronselectie, queryuitvoering, statemanagement en observability achter één connection.
Ask Titan houdt deze verantwoordelijkheden in de applicatie. De LLM ontvangt alleen de capabilities en context die nodig zijn voor het huidige request.
We behandelden deze als afzonderlijke engineeringproblemen in plaats van ze samen te voegen in één agentprompt.
Verschillende bronnen vereisen verschillende metadata en executionsemantiek.
Een capability kan bestaan zonder voor de huidige gebruiker of runtime-modus beschikbaar te zijn.
Bronmetadata moet worden ontdekt in plaats van door het model te worden verzonnen.
Autonomie is alleen nuttig wanneer er deterministische runtimegrenzen omheen staan.
Opgeslagen conversatie en actieve LLM-context zijn verschillende onderwerpen.
Voor datavragen is alleen de uiteindelijke tekst onvoldoende operationeel bewijs.
Ask Titan is georganiseerd in vijf hoofdlagen: frontend, middleware, orchestration, MCP-capabilities en enterprise-databronnen. Identity en capability-policy bepalen wat voor een request gebruikt mag worden, terwijl conversation-state en execution-observability naast de runtime worden afgehandeld.
Het diagram hieronder volgt één request door Ask Titan. Het voorbeeld vraagt: “Welke klanten veroorzaakten vorige maand onze margedaling?” Ask Titan bepaalt de toegang van de gebruiker, routeert de vraag naar de Power BI-capability, voert de benodigde DAX uit tegen het semantische model en retourneert het resultaat terwijl de relevante uitvoeringsmetadata behouden blijven.
graph = StateGraph(ConversationState)
graph.add_node("agent", agent_node)
graph.add_node("tools", tool_node)
graph.add_conditional_edges(
"agent",
route_next_step,
{"tools": "tools", "end": END},
)
graph.add_edge("tools", "agent")
graph = graph.compile(
checkpointer=conversation_memory,
)
MCP geeft de orchestrator een consistente manier om capabilities te ontdekken en aan te roepen. Het beslist niet of een capability geschikt is voor deze gebruiker. Ask Titan bepaalt die application policy voordat tools aan de orchestrator worden gebonden.
Sales SQL · Productie SQL · Finance Power BI · documenten …
Identiteit, entitlements en runtimeconfiguratie bepalen de toegestane subset.
Niet-beschikbare capabilities ontbreken in de callable toolset van het model.
available_tools = discover_capabilities()
policy = resolve_capability_policy(user)
permitted_tools = [
tool for tool in available_tools
if policy.allows(tool.name)
]
agent = build_orchestrator(
tools=permitted_tools,
state=conversation_state,
)Identiteit
Wie doet het verzoek?
Capability-autorisatie
Welke Ask Titan-tools mogen worden gekoppeld?
Tool-/bronscope
Welke geconfigureerde tabellen, modellen of collecties mag de tool gebruiken?
Datasource-autorisatie
Wat staat de onderliggende bron daadwerkelijk toe?
Belangrijk: autorisatie van tools op applicatieniveau is niet gelijk aan row-level- of column-level-security in een gekoppelde bron.
De architectuur dwingt niet iedere vraag door RAG. Gestructureerde databases, Power BI semantic models en bedrijfsdocumenten zijn aparte execution domains omdat ze verschillende metadata, businesssemantiek en failure modes hebben.
Gebruik bronmetadata vóór het genereren van een readquery; voer uit tegen de geconfigureerde databaseboundary en geef rijen plus querymetadata terug.
Wanneer measures, relaties en businessdefinities in een semantisch model staan, inspecteer dan dat model en genereer DAX in plaats van het te omzeilen met ruwe SQL.
Herschrijf de vraag voor retrieval, haal relevante documentchunks uit de geconfigureerde collectie op en onderbouw het antwoord met die bronnen.
Een duurzame conversatie kan veel groter zijn dan de context die een model bij de volgende beurt zou moeten ontvangen. Configuratie hoort bovendien buiten de actieve agentloop, terwijl uitvoeringsbewijs ook na het uiteindelijke antwoord beschikbaar moet blijven.
Threadcheckpoints bewaren conversatiestate. Oudere afgeronde turns kunnen inklappen tot gebruiker + eindantwoord terwijl de actieve toolinteractie intact blijft. Oversized toolpayloads hoeven niet opnieuw naar het model te worden afgespeeld.
Databronnen, tooldefinities, model/providerinstellingen, prompts, semantische metadata, vectorcollecties en user entitlements zijn duurzame configuratie en geen ad-hoc promptcontent.
Bewaar toolcalls en brontelemetrie rondom het antwoord. Voor database-backed capabilities kan dit query-ID's, SQL/DAX, duur, verwerkte data en kosten omvatten waar beschikbaar.
Observability is geen chain-of-thought. Het nuttige audit- en debugoppervlak is het software-execution path: toolcalls, queries, timings en resultaten. Private model reasoning maakt geen deel uit van dat oppervlak.
Ask Titan moet meer afhandelen dan alleen succesvolle tool calls. Een capability kan verkeerd worden geselecteerd, een gegenereerde query kan mislukken, een resultaat kan te groot zijn voor de actieve context en een agent-loop kan langer doorgaan dan bedoeld. Deze situaties worden afgehandeld in de applicatielaag, terwijl toegang tot de onderliggende systemen door die systemen zelf wordt afgedwongen.
| Foutmodus | Architectuurrespons |
|---|---|
| Verkeerde capability geselecteerd | Beperk de beschikbare tools tot de capabilities die voor de huidige request zijn toegestaan. |
| Ongeldige schema-aanname of query | Lees bronmetadata en geef uitvoeringsfouten terug aan de specialistische capability voor een begrensde retry. |
| Agentloop wordt niet afgerond | Tel tool-planningsiteraties en stop uitvoering wanneer de geconfigureerde limiet is bereikt. |
| Toolresultaat overschrijdt de actieve context | Sla het volledige resultaat buiten de modelcontext op en geef alleen een begrensde representatie terug aan het model. |
| Antwoord kan niet worden teruggevoerd naar uitvoering | Koppel het antwoord aan tool-events en source-querymetadata zoals query-ID, duur en resultaatdetails. |
Bepalen welke capability aan het model wordt aangeboden vervangt permissions in het warehouse of semantische model niet.
Alleen-lezen toegang moet worden afgedwongen via broncredentials, rollen, grants en platformcontrols.
MCP definieert de toolinterface. Autorisatie, inputvalidatie, netwerkcontrols en bronrechten worden afzonderlijk geïmplementeerd.
Retrieval levert broncontext. De kwaliteit van het antwoord hangt nog steeds af van de opgehaalde documenten en hoe goed die bij de vraag passen.
Ask Titan is beter te doorgronden wanneer probabilistische modelbeslissingen binnen deterministische softwaregrenzen vallen. De applicatie beheert capability-exposure, graph-control, duurzame state en uitvoeringsbewijs. Specialistische capabilities beheren de bronsemantiek.
Vervolgens gaan we de orchestratie-laag in: hoe Ask Titan toegestane tools bepaalt, de LangGraph agent-tool-loop uitvoert, specialist-agents via MCP aanroept, conversatiestatus bewaart en de context vormt die naar het model wordt gestuurd.
Lees deel 2Praktische antwoorden over LangGraph, MCP, capability-autorisatie, SQL, Power BI, RAG, conversatiestatus en observability.
Een enterprise-AI-assistentarchitectuur omringt het taalmodel met expliciete applicatiecontrols voor identity, capability-toegang, orchestratie, state, bronspecifieke uitvoering en observability. Het model kan beslissen welke toegestane capability wordt gebruikt, maar is niet de security boundary of control plane.
Ask Titan gebruikt LangGraph om een agentlus met toestand en toolaanroepen uit te voeren. De graph maakt de besturing expliciet: de agent geeft een definitief antwoord of roept een beschikbare tool aan, toolresultaten gaan terug naar de agent en de runtime begrenst wanneer de lus stopt.
Het Model Context Protocol (MCP) is de gestandaardiseerde capability boundary tussen de top-level orchestrator en specialistische execution tools. Het laat de orchestrator capabilities ontdekken en aanroepen via een consistente interface terwijl bronspecifieke implementatiedetails achter iedere tool blijven.
Nee. Ask Titan bepaalt application-level capability access voordat tools aan de LangGraph-orchestrator worden gebonden. MCP stelt capabilities beschikbaar via een standaardinterface; authorization policy en datasourcepermissions blijven afzonderlijke controls.
De top-level orchestrator kiest uit toegestane specialistische capabilities op basis van de gebruikersvraag en toolbeschrijvingen. Gestructureerde databases gebruiken een SQL-pad, Power BI semantic models een DAX-georiënteerd pad en bedrijfsdocumenten retrieval en source grounding.
Nee. Retrieval-augmented generation is één capability in Ask Titan, niet de totale architectuur. Vragen kunnen ook via governed structured-data-tools of Power BI semantic models worden beantwoord wanneer die bronnen de relevante businessfeiten en definities bevatten.
Conversatiestate wordt opgeslagen met thread-scoped checkpoints. Bij het opbouwen van de volgende modelcontext kunnen oudere afgeronde turns worden samengevouwen tot gebruikersvraag en definitief antwoord, terwijl de actieve turn de volledige toolinteractie behoudt die nodig is voor correcte tool-call-uitvoering.
Ask Titan slaat uitvoeringsmetadata rond antwoorden op, waaronder tussentijdse tool calls en antwoordduur. Database-backed tools kunnen daarnaast query-ID's, querytekst, duur, verwerkte data en kosten- of verbruiksmetrics vastleggen waar de onderliggende bron die beschikbaar stelt.
Nee. De top-level orchestrator roept een specialistische capability aan. De structured-data-capability beheert schema-inspectie, querygeneratie, database-executie en bronspecifieke telemetry in plaats van databaseconnectorlogica direct in de orchestrator te embedden.
Nee. Toolautorisatie bepaalt welke Ask Titan-capabilities aan de agent worden aangeboden. Row-level, column-level en andere datasourcepermissions zijn afzonderlijke handhavingslagen die in de gekoppelde database, warehouse of semantic model moeten worden geïmplementeerd.
Ask Titan is gebouwd voor businessvragen die gecontroleerde toegang tot bedrijfsdata, semantische modellen en documenten vereisen. Dezelfde architectuurprincipes kunnen ook richting geven aan maatwerk Data & AI-platformen waar uitlegbaarheid, permissions en bronsemantiek belangrijk zijn.
Een beheerde enterprise-AI-grens
Technische referenties
De Ask Titan-repository is privé. Deze publieke referenties documenteren de open technologieën en protocolconcepten die in dit artikel worden besproken.