SAP Joule 2.0: Architettura, Knowledge Graph e Integrazione con LLM
Un'analisi tecnica approfondita di SAP Joule 2.0: come funziona il Knowledge Graph semantico, come si integra con SAP AI Core e quali modelli LLM alimentano il copilota enterprise di SAP.
Cos'è SAP Joule 2.0
SAP Joule è il copilota AI nativo di SAP, introdotto nel 2023 e profondamente rinnovato nella versione 2.0. Non si tratta di un semplice chatbot: Joule 2.0 è un agente contestuale che comprende i dati aziendali, i processi SAP e il linguaggio naturale degli utenti business, traducendo le richieste in azioni concrete all'interno di S/4HANA, SuccessFactors, Ariba e BTP.
La differenza fondamentale rispetto alla versione 1.x risiede nell'architettura sottostante: Joule 2.0 abbandona il modello a prompt statici e adotta un sistema multi-layer basato su Knowledge Graph semantico, retrieval aumentato (RAG) e orchestrazione di agenti specializzati.
Architettura a tre livelli
L'architettura di Joule 2.0 si articola in tre livelli distinti che cooperano in pipeline:
NLU contestuale, intent detection, entity extraction dai dati SAP. Gestisce ambiguità linguistiche e terminologia business-specific.
Knowledge Graph traversal, RAG su documenti aziendali, orchestrazione di tool calls verso le API SAP.
Esecuzione di transazioni SAP, generazione di report, aggiornamento di record — con approvazione umana configurabile.
Il livello di ragionamento è il cuore dell'innovazione: invece di passare l'intera query a un LLM generico, Joule 2.0 prima interroga il Knowledge Graph per costruire un contesto strutturato, poi usa quel contesto come grounding per la generazione del testo o dell'azione.
Il Knowledge Graph semantico
Il Knowledge Graph di Joule 2.0 è un grafo RDF/OWL che modella le entità SAP (ordini, fornitori, dipendenti, centri di costo, materiali) e le loro relazioni semantiche. Non è un semplice indice: ogni nodo porta metadati di business context, permessi di accesso e storico delle modifiche.
La costruzione del grafo avviene in modo ibrido: una parte è pre-costruita da SAP (ontologie standard per S/4HANA, HR, Finance), una parte viene generata dinamicamente a runtime interrogando le API OData del sistema cliente.
# Esempio: query SPARQL sul Knowledge Graph Joule 2.0
PREFIX sap: <https://sap.com/ontology/s4hana#>
PREFIX joule: <https://sap.com/ontology/joule#>
SELECT ?order ?vendor ?amount ?status
WHERE {
?order a sap:PurchaseOrder ;
sap:vendor ?vendor ;
sap:netAmount ?amount ;
sap:processingStatus ?status .
FILTER(?amount > 50000)
FILTER(?status = sap:Blocked)
}
ORDER BY DESC(?amount)
LIMIT 10Questa query viene generata automaticamente da Joule quando un utente chiede "Mostrami gli ordini bloccati sopra i 50.000 euro" — senza che l'utente conosca SPARQL o la struttura dati sottostante.
Integrazione con SAP AI Core
SAP AI Core è il runtime di inferenza su cui Joule 2.0 esegue i modelli. Nella versione 2.0 l'integrazione è diventata molto più stretta: Joule non usa più un singolo modello LLM, ma un ensemble orchestrato da AI Core che seleziona il modello ottimale in base al tipo di task.
| Task type | Modello selezionato | Latenza target |
|---|---|---|
| Intent classification | SAP-fine-tuned BERT | < 50ms |
| Knowledge Graph query gen | GPT-4o / Claude 3.5 | < 800ms |
| Risposta in linguaggio naturale | GPT-4o / Llama 3.1 70B | < 2s |
| Esecuzione azioni SAP | Tool-calling model | < 1.5s |
La configurazione dell'ensemble avviene tramite un file YAML nel deployment di AI Core. È possibile sostituire i modelli cloud con modelli on-premise o privati, mantenendo la stessa interfaccia Joule verso l'utente finale.
# ai-core-deployment.yaml — configurazione ensemble Joule 2.0
apiVersion: ai.sap.com/v1alpha1
kind: ServingTemplate
metadata:
name: joule-ensemble-v2
spec:
template:
spec:
models:
- name: intent-classifier
image: sap-ai-core/bert-intent:2.1
resources: { cpu: "2", memory: "4Gi" }
- name: kg-query-generator
provider: openai
model: gpt-4o
maxTokens: 1024
- name: response-generator
provider: openai
model: gpt-4o
maxTokens: 2048
routing:
strategy: task-based
fallback: response-generatorRAG aumentato dal Knowledge Graph
Joule 2.0 combina retrieval vettoriale classico con Knowledge Graph traversal in un pattern chiamato Graph-RAG. Il flusso è il seguente:
- 1
La query utente viene classificata per intent e le entità SAP vengono estratte (es. 'ordine fornitore Acme').
- 2
Il Knowledge Graph viene interrogato per trovare i nodi corrispondenti e le loro relazioni dirette (ordini, fatture, contratti).
- 3
I nodi trovati vengono usati come anchor per un retrieval vettoriale su documenti correlati (email, note, policy aziendali).
- 4
Il contesto strutturato (KG) + il contesto non strutturato (RAG) vengono combinati nel prompt finale al LLM.
- 5
Il LLM genera la risposta o l'azione, con riferimenti tracciabili ai nodi del grafo.
Questo approccio riduce drasticamente le allucinazioni su dati transazionali: il LLM non "inventa" numeri di ordine o importi perché li riceve già strutturati dal Knowledge Graph, e deve solo formularli in linguaggio naturale.
Sicurezza e governance dei dati
Un aspetto critico per l'adozione enterprise è la gestione dei permessi. Joule 2.0 eredita il modello di autorizzazione SAP: ogni query al Knowledge Graph viene filtrata in base ai ruoli PFCG dell'utente autenticato. Un utente con accesso solo al proprio centro di costo non può ottenere dati di altri centri, anche se la query in linguaggio naturale non lo specifica esplicitamente.
Tutti i log di interazione vengono scritti su SAP Audit Log Service, garantendo tracciabilità completa per compliance GDPR e audit interni. È possibile configurare data residency per mantenere i dati in-region (EU, US, APAC).
Conclusioni
SAP Joule 2.0 rappresenta un salto qualitativo rispetto alla prima versione. Il Knowledge Graph semantico risolve il problema fondamentale dei copiloti AI su dati strutturati: la precisione. L'integrazione con AI Core permette flessibilità nella scelta dei modelli, inclusi modelli privati per scenari con requisiti di data sovereignty.
Per i team SAP che stanno valutando l'adozione, il consiglio è di iniziare con scenari read-only (reporting, ricerca, analisi) prima di abilitare le azioni transazionali. Il ROI è misurabile già nelle prime settimane, soprattutto per utenti che lavorano con grandi volumi di ordini o dati HR.
Vuoi approfondire gli articoli premium?
Accedi a tutti gli articoli su SAP BTP, S/4HANA e AI Generativa con AIxSI Premium.