Mehr-Agenten-Graphen für Finanzkriminalität mit LangChain, LangGraph und LangSmith
Ein Graph für Finanzkriminalität mit mehreren Agenten unter Verwendung von LangChain, LangGraph und LangSmith: Supervisor-Routing, Untergraphen, Unterbrechungen durch menschliches Eingreifen, Bewertungen sowie Schutzmechanismen.
Quellen: Building Multi-Agent Financial Crime Detection Systems with LangGraph, LangChain, and LangSmith
Das Problem vor Ort
Die Überprüfung von Finanzkriminalität ist keine einheitliche Aufgabe. Ein Fall kann eine Vertiefung der KYC-Prüfung, Sanktionsüberprüfungen, Analyse negativer Medienberichte, Mustererkennung in Transaktionen sowie eine Darstellung für Ermittler erfordern – wobei jede dieser Aufgaben unterschiedliche Tools, Service-Level-Agreements und Fehlermöglichkeiten mit sich bringt. Eine einzelne Kette, die versucht, alles zu erledigen, wird unübersichtlich, schwer testbar und riskant, sobald ein Tool ausfällt.
Warum mehrere Agenten einer einzigen Mega-Kette überlegen sind
Spezialisierte Agenten halten die Aufgaben und Tools fokussiert. Ein Supervisor kann die Arbeit weiterleiten oder verteilen. Fehler bleiben lokal begrenzt. Eine menschliche Überprüfung kann hochriskante Schritte kontrollieren. Durch die Übersichtlichkeit lassen sich Kosten und Fehler pro Rolle statt in einem einzigen riesigen Überblick zuordnen.
Drei Schichten: LangChain, LangGraph, LangSmith
LangChain stellt Modelle, Tools sowie Mechanismen zur Verarbeitung von Nachrichten bereit. LangGraph übernimmt die orchestrierte Steuerung mit Zustandsverwaltung – gemeinsamer Fallzustand, Kanten, Persistenz und Unterbrechungen. LangSmith kümmert sich um das Tracking, Datensätze sowie Evaluatoren. Ein einfacher Agent mit while-Schleife kann zwar Tools aufrufen, bietet aber selten dauerhafte Fallmerkmale, parallele Überprüfungen, Wiederverwendung von Untergraphen oder erstklassige HITL-Funktionen.
Gemeinsamer Fallzustand
Begonnen wird mit einem expliziten Zustandsschema: Fall-ID, Nachrichten, Bewertungen, Flags, Routing-Entscheidungen sowie Notizen des Ermittlers.
from typing import TypedDict, Annotated, Literal
from langgraph.graph import StateGraph, END
from langgraph.graph.message import add_messages
from operator import add
class CaseState(TypedDict):
case_id: str
customer_id: str
transactions: list[dict]
messages: Annotated[list, add_messages]
kyc_flags: Annotated[list[str], add]
sanctions_hits: Annotated[list[dict], add]
risk_score: float
narrative: str
requires_human_review: bool
Ein Agentenknoten mit Tools
Bindet ein Modell an Domänen-Tools (Sanktionsabfrage, Überprüfung auf Watchlisten) an und lässt einen Tool-Knoten die Aufrufe ausführen.
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool
@tool
def screen_ofac(name: str, dob: str | None = None) -> dict:
"""Screen an individual or entity name against the UK list."""
# In production: call a real screening API (e.g. UK100, Refinitiv)
return {"name": name, "match": False, "score": 0.02}
@tool
def screen_un_sanctions(name: str) -> dict:
"""Screen a name against the UN Consolidated Sanctions List."""
return {"name": name, "match": False, "score": 0.0}
llm = ChatAnthropic(model="claude-sonnet-4-6", temperature=0)
sanctions_llm = llm.bind_tools([screen_ofac, screen_un_sanctions])
def sanctions_agent(state: CaseState) -> dict:
response = sanctions_llm.invoke(state["messages"])
return {"messages": [response]}
Vernetzung des Graphen
Fügt Agenten- und Tool-Knoten hinzu, verwendet tools_condition (oder ein Äquivalent), um solange zu schleifen, bis das Modell aufhört, Tools aufzurufen, und geht anschließend zur nächsten Phase über.
from langgraph.prebuilt import ToolNode, tools_condition
graph = StateGraph(CaseState)
graph.add_node("kyc_agent", kyc_agent)
graph.add_node("sanctions_agent", sanctions_agent)
graph.add_node("sanctions_tools", ToolNode([screen_ofac, screen_un_sanctions]))
graph.add_node("tx_monitoring_agent", tx_monitoring_agent)
graph.add_node("narrative_agent", narrative_agent)
graph.set_entry_point("kyc_agent")
graph.add_edge("kyc_agent", "sanctions_agent")
# Conditional edge: loop back to tools if the LLM requested a tool call
graph.add_conditional_edges(
"sanctions_agent",
tools_condition,
{"tools": "sanctions_tools", END: "tx_monitoring_agent"},
)
graph.add_edge("sanctions_tools", "sanctions_agent")
graph.add_edge("tx_monitoring_agent", "narrative_agent")
graph.add_edge("narrative_agent", END)
app = graph.compile()
Testen Sie Knoten mit falschem Zustand, bevor Sie das vollständige Graph erstellen:
def test_sanctions_agent_flags_high_score_match():
fake_state = {
"messages": [HumanMessage(content="Screen: Igor Petrov, DOB 1978-03-11")],
}
result = sanctions_agent(fake_state)
assert "tool_calls" in result["messages"][-1].additional_kwargs
Supervisor-Routing
Eine Supervisor-Anweisung klassifiziert den nächsten Spezialisten – KYC, Sanktionen, negative Medienberichte – oder endet mit einem Zusammenfassung.
from langchain_core.messages import SystemMessage
SUPERVISOR_PROMPT = """You are a financial crime case supervisor.
Route to exactly one of: kyc_agent, sanctions_agent, tx_monitoring_agent,
adverse_media_agent, narrative_agent, or FINISH if the case is fully investigated."""
def supervisor(state: CaseState) -> dict:
routing_llm = llm.with_structured_output(RouteDecision)
decision = routing_llm.invoke(
[SystemMessage(content=SUPERVISOR_PROMPT)] + state["messages"]
)
return {"next": decision.next_agent}
def route_next(state: CaseState) -> str:
return state["next"] if state["next"] != "FINISH" else END
graph.add_node("supervisor", supervisor)
for agent_name in ["kyc_agent", "sanctions_agent", "tx_monitoring_agent", "adverse_media_agent"]:
graph.add_edge(agent_name, "supervisor")
graph.add_conditional_edges("supervisor", route_next)
Paralleler Ausbau
Unabhängige Überprüfungen können nach KYC ausgeführt werden, ohne alles seriell verarbeiten zu müssen:
graph.add_edge("kyc_agent", "sanctions_agent")
graph.add_edge("kyc_agent", "adverse_media_agent")
graph.add_edge("kyc_agent", "tx_monitoring_agent")
# Fan-in: all three must complete before scoring
graph.add_edge("sanctions_agent", "risk_scoring_agent")
graph.add_edge("adverse_media_agent", "risk_scoring_agent")
graph.add_edge("tx_monitoring_agent", "risk_scoring_agent")
Mensch im Prozess
Erstellen Sie einen Checkpoint, unterbrechen Sie den Ablauf, wenn das Risiko die Richtlinien überschreitet, übertragen Sie den teilweisen Zustand an die Fall-Oberfläche und setzen Sie den Prozess anschließend mit den Eingaben des Ermittlers fort.
from langgraph.checkpoint.memory import MemorySaver
from langgraph.types import interrupt, Command
def compliance_review(state: CaseState) -> dict:
if state["risk_score"] > 0.7:
decision = interrupt({
"narrative": state["narrative"],
"risk_score": state["risk_score"],
"action_needed": "approve_or_reject_sar",
})
return {"requires_human_review": False, "human_decision": decision}
return {"requires_human_review": False}
checkpointer = MemorySaver()
app = graph.compile(checkpointer=checkpointer)
config = {"configurable": {"thread_id": "case-2026-00931"}}
result = app.invoke({"case_id": "case-2026-00931", ...}, config=config)
# Later, once a human reviews in your case management UI:
final = app.invoke(Command(resume={"approved": True, "reviewer": "j.smith"}), config=config)
for chunk in app.stream(
{"case_id": "case-2026-00931", ...},
config=config,
stream_mode="updates",
):
for node_name, node_output in chunk.items():
print(f"[{node_name}] emitted: {node_output}")
# push node_output to a websocket / case UI here
Subgraphen für wiederverwendbare Einheiten
Packen Sie die KYC-Bearbeitung als eigenes Graph zusammen und fügen Sie es als Knoten ein, damit andere Falltypen dieselbe Einheit wiederverwenden können.
kyc_subgraph = StateGraph(CaseState)
kyc_subgraph.add_node("resolve_entity", resolve_entity_node)
kyc_subgraph.add_node("verify_documents", verify_documents_node)
kyc_subgraph.add_node("pep_check", pep_check_node)
kyc_subgraph.set_entry_point("resolve_entity")
kyc_subgraph.add_edge("resolve_entity", "verify_documents")
kyc_subgraph.add_edge("verify_documents", "pep_check")
kyc_subgraph.add_edge("pep_check", END)
compiled_kyc = kyc_subgraph.compile()
parent_graph = StateGraph(CaseState)
parent_graph.add_node("kyc_process", compiled_kyc) # subgraph as a node
Überwachbarkeit mit LangSmith
aktivieren Sie die Protokollierung und kennzeichnen Sie Ausführungen mit Fall-IDs sowie Agentenrollen.
import os
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGSMITH_API_KEY"] = "ls__..."
os.environ["LANGSMITH_PROJECT"] = "financial-crime-agents"
result = app.invoke(
{"case_id": "case-2026-00931", ...},
config={
"configurable": {"thread_id": "case-2026-00931"},
"metadata": {"case_id": "case-2026-00931", "customer_tier": "high_risk"},
"tags": ["sar_pipeline", "prod"],
},
)
Iteration durch Bewertung
Das Datensatz-Tool erkennt Regressionen, wenn sich die Anfragen oder Tools ändern. LLM-as-Judge kann die Erzählklarheit bei zusammenfassenden Texten im SAR-Stil bewerten – wobei immer ein menschlicher Prüfer eingesetzt wird, wenn die Bedeutung hoch ist.
from langsmith import Client
from langsmith.evaluation import evaluate
client = Client()
def correctness_evaluator(run, example) -> dict:
predicted_risk = run.outputs.get("risk_score", 0)
actual_risk = example.outputs.get("risk_score", 0)
return {
"key": "risk_score_accuracy",
"score": 1.0 if abs(predicted_risk - actual_risk) < 0.15 else 0.0,
}
results = evaluate(
lambda inputs: app.invoke(inputs, config={"configurable": {"thread_id": "eval"}}),
data="aml-labeled-cases-2026-h1",
evaluators=[correctness_evaluator],
experiment_prefix="sar-pipeline-v3",
)
from langsmith.evaluation import LangChainStringEvaluator
narrative_judge = LangChainStringEvaluator(
"criteria",
config={
"criteria": {
"cites_evidence": "Does the narrative cite specific transaction IDs and dates?",
"regulatory_tone": "Is the language neutral and factual, avoiding speculation?",
},
"llm": ChatAnthropic(model="claude-sonnet-4-6", temperature=0),
},
)
results = evaluate(
lambda inputs: app.invoke(inputs, config=config),
data="aml-labeled-cases-2026-h1",
evaluators=[correctness_evaluator, narrative_judge],
experiment_prefix="sar-narrative-v2",
)
Schutzmaßnahmen und Fehlerbehandlung
Wiederholen Sie den Versuch bei instabilen Tool-Knoten, begrenzen Sie die Rekursion und beenden Sie den Vorgang bei Störungen, anstatt ein künstliches Ergebnis zu erzeugen.
from langgraph.pregel import RetryPolicy
graph.add_node(
"sanctions_tools",
ToolNode([screen_ofac, screen_un_sanctions]),
retry=RetryPolicy(max_attempts=3, backoff_factor=2.0),
)
result = app.invoke(initial_state, config={**config, "recursion_limit": 25})
Fallen in produktiven AML-Graphen
Versteckte, gemeinsam genutzte, veränderliche Globaleinstellungen, unüberwachtes automatisches Erfassen von Daten, fehlende Verknüpfungen zwischen Bewertungen und Beweisen sowie Überwacher, die denselben Agenten endlos erneut befragen. Begrenzen Sie Schleifen, verlangen Sie Quellenangaben im Zustandsverlauf und halten Sie die Erfassungsvorgänge hinter HITL zurück.
Referenzformat
Eine praktische Topologie: Ein Supervisor in der Mitte, spezialisierte Agenten mit Tool-Loops, optional parallele Zweige, ein Merge/Narrative-Node, eine Interrupt-Gate sowie eine Exportfunktion – wobei wiederverwendbare Subgraphen verwendet werden, wo sich die Einheiten wiederholen.
┌─────────────┐
│ Supervisor │◄───────────────-─┐
└──────┬──────┘ │
┌───────────────┼───────────────┐ │
▼ ▼ ▼ │
┌─────────┐ ┌──────────────┐ ┌───────────┐ │
│ KYC │ │ Sanctions │ │ TX Monitor│ │
│Subgraph │ │ Agent + Tools│ │ Agent │ │
└────┬────┘ └──────┬───────┘ └─────┬─────┘ │
└───────────────┴────────────────┘ │
▼ │
┌─────────────────┐ │
│ Risk Scoring │─────────────┘
└────────┬────────┘
▼
┌─────────────────┐ ┌──────────────┐
│ Narrative Agent │───────►│ Human Review │
└─────────────────┘ │ (interrupt) │
└──────┬───────┘
▼
SAR Filed / Closed
Kosten und Latenz
Die Ausbreitung der Kommunikation verbraucht Token; speichern Sie stabile KYC-Profilen im Cache; verwenden Sie kleinere Modelle für die Routenplanung und größere für narrative Zwecke; streamen Sie UI-Updates, damit Ermittler den Fortschritt vor der endgültigen Dokumentation sehen können.
Zusammenfassende Anmerkungen
Mehr-Agenten-Systeme zur Bekämpfung von Finanzkriminalität sind erfolgreich, wenn der Zustand klar definiert ist, die Spezialisten testbar sind, die Orchestrierung sichtbar ist und Menschen bei unumkehrbaren Aktionen weiterhin eingebunden sind. LangGraph stellt das Steuerungsmodul bereit, LangChain die Tools und LangSmith den Feedback-Zyklus, der sicherstellt, dass das Graph bei sich ändernden Typologien weiterhin korrekt bleibt.
Regulierung für regulierte Ermittlungsagenten
Die Teams für AML und Betrug sind bereits den Anforderungen im Zusammenhang mit Modellrisiken und Audits ausgesetzt. Ein Agentengraph muss Nachweisspuren erzeugen, denen Ermittler und Aufsichtsbehörden folgen können: Welche Tools wurden verwendet, welche Listen stimmten überein, welche Schwellenwerte wurden ausgelöst, wer eine Abweichung genehmigt hat und welche Modellversion die Berichterstattung erstellt hat. Diese Felder sollten im Fallzustand gespeichert und zusammen mit den Akten exportiert werden – nicht nur in einer proprietären Überwachungs-Oberfläche.
Anderungen an Prompten und Tools sollten denselben Change-Management-Prozess wie bei Regelengines durchlaufen. Neue Supervisor-Prompten sollten anhand historischer Fälle getestet werden, die Verteilung der Routen verglichen und eine Genehmigung vor einer Einführung eingeholt werden. Die LangSmith-Datensätze helfen dabei, doch die Verantwortlichen für das Governance benötigen weiterhin eine schriftliche Freigabestätigung.
Menschliche Faktoren sind entscheidend. Wenn Störungen zu häufig auftreten, ignorieren die Ermittler sie; wenn sie zu selten vorkommen, entgeht das Risiko. Justieren Sie die Schwellenwerte durch Stichprobenprüfungen. Der übertragenen Zwischenzustandsdarstellung sollte Unsicherheiten hervorgehoben werden, nicht nur zuverlässige Angaben, damit die Prüfer wissen, wo sie suchen müssen.
Adversarische Robustheit ist Teil der Zuverlässigkeit: Die Ergebnisse von Tools können störanfällig oder fehlerhaft sein (z. B. manipulierter Webtext in feindlichen Medien). Validierungsknoten sollten diese Daten bereinigen und belegen. Lassen Sie niemals einen einzigen extrahierten Absatz ohne zusätzliche Überprüfungen eine Bearbeitung auslösen.
Bei der Messung des Erfolgs sollten Sie das Automatisierungsgrad gegen die Qualität abwägen: Prozentsatz der automatisch abgeschlossenen Fälle, durchschnittliche Zeit bis zur Erstbewertung, Fehlerquote bei Stichprobenaudits sowie der Kostenbetrag pro Fall. Diagramme, die zwar Zeit sparen, aber zu falsch positiven Ergebnissen führen, sind kein Erfolg. Halten Sie einen Notausschalter bereit, der alles an Menschen weiterleitet, falls die Dienstleister versagen.
Diese Vorgehensweisen verwandeln die Referenzarchitektur von einem cleveren Diagramm in ein funktionsfähiges System. Die oben gezeigten Codebeispiele dienen nur als Grundgerüst; das Betriebsmodell ist es, das den Vertrauensvorschuss der Ermittler bei Finanzkriminalität sichert.
Aufbau der spezialisierten Anfragen ohne Duplikation
Jeder spezialisierte Ermittler sollte nur den für ihn notwendigen Teil des Fallzustands erhalten. Die gesamte Ermittlung in jede Anfrage zu übertragen, verschwendet Ressourcen und führt dazu, dass irrelevante personenbezogene Daten in Tools gelangen, die sie nicht benötigen. Definieren Sie Ansichtsfunktionen wie sanctions_view(state) und kyc_view(state) sowie führen Sie Unit-Tests durch. Aufsichtspersonen erhalten Zusammenfassungen zur Routenverteilung; die Ersteller sehen Pakete mit Beweismitteln.
Gemeinsam genutzte Tool-Client-Implementierungen sollten in einer Bibliothek mit Wiederholungsversuchen und Metriken untergebracht werden. Die Ermittler sollten nicht jeweils die HTTP-Timeouts unterschiedlich umsetzen. Zentralisieren Sie die Anmeldeinformationen für Listeanbieter sowie Schutzmechanismen, damit Ausfälle bei Sanktionen im gesamten System konsequent wirken.
Datenverfolgbarkeit und Feature-Storage
Die von Mustererkennungsagenten verwendeten Transaktionsmerkmale sollten aus regulierten Pipelines stammen und nicht aus ad-hoc SQL-Befehlen innerhalb einer Tool. Definieren Sie Versionen der Merkmalsspezifikationen. Wenn ein Analyst eine Bewertung in Frage stellt, müssen Sie die Eingabedaten rekonstruieren. Graphen, die eine Bewertung nicht erklären können, überstehen keine Überprüfung hinsichtlich Modellrisiken.
Parallelität und Konsistenz
Ausgehende Verzweigungen müssen deterministisch zusammengeführt werden. Definieren Sie Reduzierfunktionen für Listefelder sowie Regeln des Letzten-Schreibers für Skalare. Testen Sie gleichzeitige Aktualisierungen. Wenn sowohl ungünstige Medien als auch Sanktionen den Wert von risk_flags schreiben, verwenden Sie annotierte Reduzierfunktionen, damit die Flags zusammengeführt statt überschrieben werden.
Integration des menschlichen Arbeitsablaufs
Fallverwaltungssysteme (ähnlich Jira, maßgeschneiderte CRMs) sollten die Unterbrechungen steuern. Senden Sie die Payloads der Unterbrechungen als Aufgaben; nach Abschluss rufen Sie die Resume-APIs mit dem Ergebnis der Aufgabe auf. Erstellen Sie keine einmalige Genehmigungswebseite, wenn die Ermittler bereits in einer bestehenden Konsole arbeiten – integrieren Sie die Funktion dort.
Red-Teaming des Graphen
Simulieren Sie Tool-Poisoning, Prompt-Injection in Kundennotizen sowie inkonsistente Entitätsauflösungen. Stellen Sie sicher, dass der Graph die Erfassung verweigert, wenn die Nachweise schwach sind. Protokollieren Sie diese Simulationen als Bewertungsfälle. Finanzkriminalitäts-Ermittler dienen doppelten Zwecken; Angreifer werden versuchen, Freigaben zu erzwingen.
Kostenkontrolle
Der LangSmith-Tag (oder ein äquivalenter) wird mit case_type, agent und model ausgeführt. Budget pro Falltyp. Warnung bei Ausreißern. Für offensichtliche Genehmigungen/Ablehnungen sollten deterministische Regeln bevorzugt werden, während LLMs für unklare, narrativen Aufgaben reserviert bleiben sollten. Hybridsysteme sind sowohl hinsichtlich der Kosten als auch der Prüfbarkeit den reinen LLM-Lösungen überlegen.
Besetzung und Verantwortlichkeiten
Nennen Sie einen Verantwortlichen für die Orchestrierung, einen für Tools/Daten sowie einen für die Konformität. Unklarheiten in dieser Hinsicht führen zu schönen Diagrammen, die niemand sicher ändern kann. Planen Sie gemeinsame Überprüfungen ein, wenn ein neuer spezialisierter Agent hinzugefügt wird – jeder neue Knoten stellt ein neues Fehlerpotenzial dar.
Durch diese Vorgehensweisen wird das LangGraph-Multi-Agenten-Modell zu einem Betriebssystem für Ermittlungen statt zu einer Demonstration, die nur bei einem bestimmten, erfolgreichen Fall funktioniert.
Von Pilotprojekt zur Einführung im Geschäftsbetrieb
Pilotprojekte laufen oft mit nur wenigen synthetischen Fällen. Für eine flächendeckende Einführung in den jeweiligen Geschäftsbereichen sind die Typologien anzupassen, Sprachunterstützung für Beschreibungen bereitzustellen sowie eine Integration mit bestehenden Zeitplanern und SLAs zu gewährleisten. Planen Sie einen schrittweisen Rollout nach Segmenten: Zunächst Produkte mit geringem Risiko, später solche mit höherem Risiko. Halten Sie eine Kontrollgruppe mit manuell überprüften Fällen bereit, um die Wirksamkeit zu messen. Machen Sie klar, dass die Unterstützung durch Modelle nicht bedeutet, dass keine Überwachung stattfindet. Die Schulung der Ermittler sollte beinhalten, wie man Graphen auswertet, wie man Eingriffe vornimmt und wie man fehlerhafte Tool-Daten melden kann. Ohne dieses menschliche Schulungsprogramm leistet die Technologie selbst dann eine schlechte Leistung, wenn das Architekturdiagramm perfekt ist.
Erwarten Sie, dass Anbieter sowie interne Datenteams die zugrunde liegenden APIs ändern. Versionssperren, Canary-Graphen sowie Feature-Flags auf Anfrage des Betreuers sind unerlässlich. Das mehragentige System zur Bekämpfung von Finanzkriminalität ist ein lebendiger Dienst – keine einmalige Umwandlung in ein Notizbuchformat.
Kontrollliste vor dem Einsatz im Produktbetrieb
Das Schema wurde von der Compliance-Abteilung überprüft; die Tools sind mit Authentifizierung und Zeitlimits ausgestattet; der Supervisor bewertet historische Fälle als erfolgreich; der HITL-Pfad wurde end-to-end getestet; die Dashboards von LangSmith (oder ähnlichen Tools) sind online; Recursionslimits wurden festgelegt; der Abschaltmechanismus ist dokumentiert; Kostenbudgets werden überwacht; die Versionierung der Subgraphen wurde vereinbart; parallele Merge-Reduzierer wurden getestet; narrative Zitate sind erforderlich; die Notfallhandbücher sind veröffentlicht. Die Erkennung von Finanzkriminalität mit mehreren Agenten basiert weniger auf cleveren Anfragen und eher auf diesen unscheinbaren Komponenten. Markieren Sie sie, skalieren Sie anschließend vorsichtig das Fallvolumen und überwachen Sie in den ersten drei Monaten wöchentlich falsch-positiv eingestufte Beispiele.
Zusammenarbeit mit Ermittlern als Produktnutzer
Ermittler sind keine nachträglich hinzugefügten Elemente der Benutzeroberfläche. Arbeiten Sie während der Pilotprojekte mit ihnen zusammen. Beobachten Sie, wo sie Zusammenfassungen misstrauen, wo sie rohe Datensätze benötigen und wo sie eine Ein-Klick-Eskalation wünschen. Kodieren Sie diese Anforderungen als Zustandsfelder sowie in Unterbrechungspakete. Ein Diagramm, das ausschließlich auf die Automatisierungsrate optimiert ist, wird umgangen – und solche Umgehungen beseitigen die von Ihnen behaupteten Vorteile bei der Auditsicherheit.
Entwerfen Sie gemeinsam mit den Nutzern Dashboards, die zeigen, warum der Supervisor an einem bestimmten Dienstag vor dem KYC-Schritt zu Sanktionen übergegangen ist. Transparenz fördert die Akzeptanz – und diese wiederum liefert Feedback, das Anleitungen sowie Schwellenwerte verbessert. Ohne diesen Kreislauf stagniert selbst eine perfekte Referenzarchitektur bereits nach der Einführungswoche.
Veröffentlichen Sie einen monatlichen Qualitätsbericht, dessen Bewertung von Analysten unterstützt wird. Durch gemeinsames Eigentum bleibt das Mehr-Agentensystem auf die Aufgabe ausgerichtet – den Finanzkriminalitätsschutz – anstatt allein auf Demo-Metriken. Wenn Sie dies konsequent tun, gewinnt das Mehr-Agenten-Design von LangGraph das Vertrauen auf die einzige Weise, die in der Bekämpfung von Finanzkriminalität zählt: indem es dem Umgang mit echten Fällen, echten Ermittlern und echten Prüfungen standhält – und nicht nur in Referenzdiagrammen elegant aussieht. Schicken Sie zunächst die langweiligen Kontrollmechanismen; lassen Sie erst nach, dass ein kluges Routing seinen Platz findet, wenn die Kontrollmechanismen funktionieren. Ermittler werden den Unterschied sofort bemerken. Bauen Sie stets unter Berücksichtigung dieser Prüfungskriterien – weniger reicht hier nicht aus.