Skip to content
Bluejayders
System 01 · Customer service · Fintech

Klarna AI Assistant

The most-cited enterprise AI deployment in the world, and the one with the thinnest published architecture. Klarna has never released an engineering blog, conference talk or technical paper on this system. Everything below is reconstructed from three vendor case studies, one CEO podcast, one Klarna job advert, SEC filings, and one journalist's hands-on teardown — and every box is marked confirmed or inferred accordingly.

80%of CS chats, FY2025
31Mconversations since launch
853agent-equivalents (est.)
$59M2025 profit impact
<2 minvs 11–12 min human
35+languages, 23 markets
Read this before you use these diagrams

Siemiatkowski, on the record: “this is one time in my life that I actually feel a bit cagey about telling too much about the secret sauce, because I actually think about this as a fairly important strategic advantage.” Sequoia's companion piece confirms Klarna has not disclosed how it was built “beyond using a form of RAG.” Widely-circulated “Klarna architecture” diagrams showing microservices, confidence scores and handoff payloads originate in vendor content-marketing blogs and one LLM-generated database entry. They are not sourced. This page marks the boundary explicitly.

L1

System context

Who talks to the assistant, what it talks to, and where the hard boundaries sit. Note the two things most reconstructions get wrong: the human agent tier is a parallel track, not a fallback; and generative AI is explicitly walled off from credit underwriting.

klarna — L1 system context
CUSTOMER EDGEKLARNA AI LAYERKLARNA INTERNAL SYSTEMSTHIRD PARTIES & BOUNDARIESConsumer85M+ active users23 markets · 35+ languages24/7Klarna employee2,831 FTE at 31 Dec 2025down from 5,527 in 2022Klarna app — in-app chatprimary channelWeb / help centreTelephonedeflection measured jointlywith chatAgentic commerce surfacesChatGPT Shopping Search app (May 2026)Google Search + Gemini in Google PayAgentic Product Protocol (Dec 2025)Klarna AI AssistantLangGraph multi-agent · OpenAI LLM80% of CS chats (FY2025), up from 62%28M conversations/yr · <2 min resolutionHuman agent tierdirectly-hired flexible workforcereplaced BPO contractors in 2025routing/scheduling platform unnamedKiki — internal assistantSlack + internal wiki surfaces250k+ questions · ~2,000/day85% of staff · 1–5s answersAgent documentation / knowledgebaseone corpus serves human AND AI agents“the manuals had to be clear enough”Klarna core bankingorders · payments ledgerrefunds · returns · disputesKlarna AI GatewayPython / FastAPI / Kubernetescentral model access + configorg-wide onboarding of teamsChat categorisation + analytics1M+ conversations/month96% root-cause accuracy~$4.9M savings LTM Jun-2025Neo4j knowledge graphCONFIRMED for KikiCS-side link asserted only by Sequoia?OpenAI API“powered by OpenAI”model version NEVER disclosedLangSmithstep-by-step tracesLLM-as-judge evaluationsKlarna co-designed meta-promptingCredit underwritingGenAI explicitly NOT used herehard architectural boundaryauthenticatedsessionRAG retrievaltool / actioncallsmodel requestsOpenAI-shapedcallsescalation +user-initiatedegresssame corpusconversation logstraces + evalssemantic searchover graphmodel accessGenAI blocked
drag to pan · scroll to zoom · click any box
actorapp / surfaceagent / reasoningmodel callstore / indexexternal systemguardrail / trustplatform / gatewaypipeline / evalnot shippeddashed = inferred— api call— data— llm call— human loop— guardrail— escalation— external
One corpus, two consumers

The retrieval corpus is the documentation written for human agents. Siemiatkowski: “our agents have better tools today to be successful in helping the customers as does the AI. So both experiences are improving.” Improving documentation is the single highest-leverage action on this diagram.

The Neo4j question

Neo4j is confirmed for Kiki, the internal assistant. Only Sequoia's write-up extends it to the customer-facing path. Klarna has never said that. Drawn dashed.

Do not draw Salesforce

Many reconstructions put Salesforce Service Cloud on the handoff path. Klarna publicly shut down Salesforce CRM in 2025 and has never named a replacement. The destination system is genuinely unknown.

L2

Component & agent view — the full request path

Everything from session open to escalation, with the intent-classification gap marked honestly. Click any box for the exact quote it rests on. Use hide inferred to see only what Klarna, OpenAI, LangChain or Neo4j have actually stated.

klarna — L2 components, API calls and guardrails
CHANNEL & SESSIONROUTINGRETRIEVALGENERATIONACTIONEGRESS & OBSERVABILITYIn-app chat sessionauthenticated consumerAI disclosure gate“the customer should always knowif they speak to AI or a human”CEO-confirmed product rulePurchase context bindingprice · merchant · purchase dateinjected without being asked forMultilingual handling35+ languages, 23 marketsanswers are direct translationsof the English answer?Intent classificationNO discrete classifier is namedrouting may be LLM-internalto the LangGraph graph?LangGraph routercontrollable agent architecturemulti-departmental escalationspayments / refunds / disputes pathsDynamic prompt constructor“dynamically tailoring prompts tospecific scenarios”cuts token cost and latencyAgent documentation corpushuman-agent manuals + policiesGIGO: doc quality is the leverRAG retrieverCEO-confirmed: “a form of RAG”“they built away what is todayreferred to as RAGs”Vector indexno product EVER named by KlarnaSequoia's Neo4j footnote describesthe product, not Klarna's config?Neo4j knowledge graphconfirmed for Kiki onlydashed edge into the CS path?Klarna AI GatewayFastAPI on Kubernetesreliable low-latency model accesseval tooling wired to LangSmithPII / GDPR handling“we have — of course — solved forthe data management aspects”no redaction design published?OpenAI LLM“powered by OpenAI”model version never confirmedgenerates response and/or actionKlarna backend APIsorders · payment ledgerrefunds · returns · disputespersonal detail updatesAction executorrefunds and returns (confirmed)payments + payment escalationsextend due date · report non-deliveryWrite-path depthdoes the bot write to the ledgeror only open a workflow?UNDISCLOSED — likely L1-only?Scope / guardrail checkwhitelist assumed, never publishedhallucination resisted in testingprompt injection HAS succeeded?Human handoffmodel-triggered on out-of-scopeAND user-initiated, unconditionallydestination platform unnamedLangSmithstep-by-step behavioural tracesLLM-as-judge evaluationsmeta-prompting co-designed with KlarnaChat categorisation1M+ conversations/month96% root-cause accuracy (Aug 2024)Agent-assist: credit-denialexplainerexplains denial decisions to human agents987,000 internal uses, Apr-23 to Oct-24user turnorder contextscenario →retrievalassembled promptgrounded contextaction selectionexecuteresponse + actionresultout of scope →escalateconversation logtraceshuman agent askswhy
drag to pan · scroll to zoom · click any box
actorapp / surfaceagent / reasoningmodel callstore / indexexternal systemguardrail / trustplatform / gatewaypipeline / evalnot shippeddashed = inferred— api call— data— llm call— human loop— guardrail— escalation— external
The intent-classifier gap

Klarna names no intent classifier. The only routing evidence is LangChain's “routed requests and handled different tasks using the LangGraph framework.” Routing may well be LLM-driven inside the graph rather than a separate classification hop. Both boxes are drawn; the classifier is dashed.

The gateway is real

Klarna's own job advert names it: “You will manage and operate Klarna's AI Gateway, ensuring reliable, low-latency access to AI models at scale across the organisation… onboard teams to the AI Gateway, configure model access.” Stack: Python, FastAPI, Kubernetes.

Guardrails: tested, not documented

Orosz could not induce hallucination in 15 minutes of probing. But Colin Fraser did succeed with prompt injection, getting it to generate code. The guardrail implementation is entirely unpublished.

L3

Critical path — “I want a refund”

End to end, with every hop tagged by evidence strength. Klarna has published zero function, tool or API names — the one call name shown is explicitly marked illustrative rather than left out, so you can see where the boundary of knowledge actually falls.

klarna — L3 refund request sequence
ARTIFACT / DETAILConsumerChat sessionLangGraph routerRAG + corpusOpenAI LLMKlarna backendHuman tieropen chat in Klarna app1Session already authenticated. CONFIRMED: 20-F namesthe app as the surface.AI disclosure banner2CONFIRMED product rule (CEO). Agreed before launch; abug once broke it for a few thousand chats.bind purchase context3price + merchant + purchase date attached to thesession. CONFIRMED empirically."I want a refund for order #…"4Refunds and returns are confirmed in-scope by Klarna,OpenAI, LangChain and the 20-F.route request5CONFIRMED that LangGraph routes. NOT CONFIRMED that adiscrete intent classifier exists — the mechanism isundisclosed.construct scenario-specificprompt6"dynamically tailoring prompts to specific scenarios…reducing token costs and latency" — LangChain.retrieve refund/returns policy7Retrieval runs over the documentation written forhuman agents. Vector store product: never named.grounded prompt via AI Gateway8Gateway is CONFIRMED to exist (Klarna job ad); itspresence on this specific path is INFERRED.illustrative:checkRefundEligibility()9⚠ Klarna has published ZERO function, tool or APInames. Every name on this lane is illustrative.eligibility + order state10Whether the assistant writes to the ledger or onlyinitiates a workflow is undisclosed.response + action outcome11Resolution time <2 min vs 11–12 min for a human agent— measured Sep 2024, never updated since.escalate: out of scope OR user asks12Two triggers. Model-triggered (guardrail) andunconditional user-initiated — the latter became aninvariant after the 2025 hybrid shift.trace → LangSmith; log →categorisation131M+ conversations/month categorised at 96% root-causeaccuracy. LLM-as-judge evals run in LangSmith.
drag to pan · scroll to zoom
actorapp / surfaceagent / reasoningmodel callstore / indexexternal systemguardrail / trustplatform / gatewaypipeline / evalnot shippeddashed = inferred— api call— data— llm call— human loop— guardrail— escalation— external
DATA

Metrics timeline — every primary source

The automation rate went up through the 2025 “AI reversal.” That is the most counterintuitive fact in this whole case study.

DateSourceAgent-equiv% of chatsConversationsSavings
2024-02-27Press release700 FTEtwo-thirds2.3M (first month)$40M est.
2025-03-14Form F-1>800 FTE62%20.1M~$39M (2024)
2025-05-21Form F-1/A>700 revised down66%23.1M$39M
2025-09-10424B4 prospectus>70069%25.3M$39M
2025-11-18Q3'25 deck, slide 33853 FTE81%28M/yr$58M
2026-02-2620-F FY2025>85080%31M since launch~$59M
2026-05 / 2026-08Q1'26, Q2'26absent — AI CS metrics vanished entirely from investor materials
Two source conflicts worth flagging

(a) The F-1 said “>800” in Mar 2025, then the F-1/A said “>700” in May 2025 for a later period, unexplained. (b) LangChain's “2.5 million conversations to date” (Feb 2025) is irreconcilable with Klarna's own 20.1M one month later. Treat LangChain's count as unreliable; its architecture claims are sound.

“700 agents” was never a headcount

The 20-F is explicit: it is “estimated based on the average monthly reduction in chat and telephone conversations handled by full-time agents.” And those agents worked for outsourcing partners, not Klarna.

LEDGER

Confirmed vs inferred — the honest boundary

ComponentStatusEvidence
LangGraph orchestration/routingconfirmed LangChain case study carrying a Siemiatkowski quote: “routed requests and handled different tasks using the LangGraph framework”
LangSmith tracing + LLM-as-judgeconfirmed Same source, plus independently corroborated by a Klarna GenAI job advert
RAGconfirmedCEO on the Sequoia podcast, on the record
OpenAI as the model providerconfirmed Press release, OpenAI case study, 20-F. Model version: never confirmed by anyone.
Klarna AI GatewayconfirmedKlarna's own job posting names it and describes its function
Authenticated per-order context injectionconfirmedObserved empirically in a hands-on test
Human handoff on out-of-scope topicsconfirmedObserved empirically + 20-F “dual-track approach”
Refunds / returns / payments in scopeconfirmedOpenAI story, LangChain, 20-F all agree
Mandatory AI disclosure to customerconfirmedCEO, Sequoia podcast
GenAI excluded from credit underwritingconfirmed20-F MD&A, verbatim
Discrete intent classifierinferredNever named. Routing may be LLM-internal to the graph.
Vector database productinferredNo product ever named for the CS path
PII scrubbing before OpenAI callsinferred“We have — of course — solved for the data management aspects” is the entire record
Guardrail implementationinferredThe teardown's author explicitly flags his own read as assumption
Neo4j on the customer-facing pathinferredConfirmed for Kiki; CS link is Sequoia's characterisation only
Contact-centre platform for handoffunknownSalesforce was shut down in 2025; no replacement named
Any function / tool / API namesnone existZero published. Treat every named call in any Klarna diagram as invented.
2025

The “reversal” — four architectural deltas

Klarna did not de-automate. Deflection rose 62% → 80% across exactly the period the press described as a retreat from AI. What changed was the egress policy and the human supply model.

#DeltaWhat it means on the diagram
1Unconditional human egress becomes an invariantPre-2025 handoff fired on guardrail trip or out-of-scope. The 20-F now codifies a “dual-track approach” offered to all customers — a permanent user-initiated escalation edge running parallel to the model-triggered one.
2Human agent supply layer replacedOut: ~3,000 BPO contractors. In: directly-recruited remote agents sourced from the customer base — the “Uber model.” Implies a new marketplace / scheduling / identity layer and access control for non-employees touching financial data. All undisclosed.
3Segment-aware routingAI positioned as commodity tier-1; human deliberately positioned as VIP. Implies value/segment routing layered on top of intent routing. inferred
4Disclosure went darkZero standalone AI customer-service press releases across 135 investor news items in 2025–26. Metrics moved into filings only, then vanished from Q1'26 and Q2'26 entirely.

Sources

  1. Klarna press release — AI assistant handles two-thirds of chats in its first month (27 Feb 2024)
  2. Klarna Group plc Form 20-F, FY2025 (SEC, 26 Feb 2026) — deflection rate, dual-track approach, underwriting exclusion, AI risk factors
  3. Q3'25 investor presentation, slide 33 — the 853 / 81% / $58M figures
  4. 424B4 IPO prospectus (10 Sep 2025) — chat categorisation tool, credit-denial explainer
  5. LangChain customer story: Klarna (12 Feb 2025) — LangGraph, LangSmith, dynamic prompting key technical source
  6. OpenAI customer story: Klarna
  7. Neo4j customer story: Klarna — Kiki and the knowledge graph
  8. Sequoia Training Data podcast with Sebastian Siemiatkowski (23 Jul 2024) — RAG, Neo4j, semantic search, the AI-disclosure rule, “secret sauce” key technical source
  9. Sequoia — Better agents need better documentation
  10. The Pragmatic Engineer — Klarna's AI chatbot: how good is it? — independent hands-on teardown key technical source
  11. CX Dive — Klarna reinvests in human talent (9 May 2025)
  12. CX Dive — Klarna pursues Uber-style customer service model (20 Feb 2026)
  13. CX Today — what actually replaced Salesforce at Klarna