Skip to content
Bluejayders
System 04 · Multi-agent platform · Talent

LinkedIn Hiring Assistant

The most thoroughly documented multi-agent production system in public. LinkedIn published not just the product but the whole reusable agent platform beneath it — skill registry, agent mailboxes over the production messaging stack, memory taxonomy, prompt service with centrally-injected guardrails, and a billion-scale semantic retrieval layer. Five diagrams here, because four wouldn't hold it.

1.3Bprofiles searched
7named sub-agents
~90%of LLM calls from one agent
81%fewer profiles reviewed
75×EON-8B vs GPT-4 cost
<100msquery embedding p95
Plan-and-execute, deliberately not ReAct

LinkedIn states the rejection reasons explicitly: instruction-following reliability, hallucinations, and the intelligence-versus-latency tradeoff. The planner “divides,” the executor “conquers” — and only the executor runs a ReAct-style loop, inside each plan step.

Sub-agents are tools, not agents

The most-missed detail: “For implementation efficiency, we model these sub-agents as tools rather than creating separate agent identities and mailboxes.” Only the top-level Hiring Assistant instance has a mailbox.

Announced Oct 2024, not Oct 2025

A widely-copied database entry gets this wrong. Hiring Assistant was announced at Talent Connect in October 2024.

L1

System context

linkedin — L1 system context
HUMANSPRODUCT + PLATFORMLINKEDIN DATA & TRANSPORTMODELS, RETRIEVAL & TRUSTRecruiterLinkedIn Recruiter seat holderinteractive AND async modesCandidate / memberreceives InMail, answers screeningcan reach a human at ANY pointHiring managervia Microsoft Teams integrationHiring AssistantLinkedIn's FIRST agent — Oct 2024supervisor + 7 sub-agentsone instance per recruiterLinkedIn GenAI agent platformthe reusable layer beneath italso runs the SMB version, QA agent,coding agent, observe agentEconomic Graph + Talent Insightstalent supply/demand/movementtop locations, titles, skillstalent flows won/lost, layoffsMember profiles1.3B+ (Jun 2026)Recruiter Search + RecommendedMatchesexposed to the agent asHEADLESS TOOLSLinkedIn messaging platformTHE SAME platform that powersLinkedIn messagescarries agent traffic AND InMailUnified integrations platformBuildIn (partner push) +BuildOut (LinkedIn pull/push)the 'perception and action boundary'ATS / TCRM partnersWorkday · Greenhouse · SAPSuccessFactors · Bullhorn · JobviteAzure OpenAIfor MVP / fast-changing surfacese.g. GPT-4o during intake developmentEON-8B — on-premdomain-adapted Llama 3.1-8Bserves the high-scale evaluation path75× cheaper than GPT-4MUSE semantic retrievaldual-tower embeddings over 1B+profiles · Galene IVFPQ + VeniceDCNv2 L2 rankerTrust & Responsible AIguardrails injected into ALL promptsmoderation at the proxy chokepointservice principals · data siloingInMail + screeningtalent signalsheadless toolcallsbidirectional syncEBR / L1 retrievalMVP surfaceshigh-scale evalpath
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
Hard tenancy boundaries

Three verbatim constraints worth putting on any diagram: “the sub-agent never uses customer data across customer boundaries”; memory “remains scoped to the recruiter's environment and is never used for training LLMs”; and “actions are audited and reported in the same manner as human users.”

The integration platform is the perception boundary

LinkedIn's own framing: the unified integrations platform “acts as the perception and action boundary for intelligent systems, with Hiring Assistant as one of its first major consumers.” Perception = the agent consumes entities exclusively from the integration core. Action = every write is routed through Integration ID mapping.

L2a

Agent view — supervisor, seven sub-agents, and the gates

Two human-in-the-loop gates sit in the critical path, and one closed feedback loop runs between evaluation and sourcing. Neither is optional.

linkedin hiring assistant — L2a agent orchestration
CLIENT LAYERORCHESTRATIONSUB-AGENTS (MODELLED AS TOOLS)MEMORY, TOOLS & GATESLINKEDIN SYSTEMSClient-side SDKshares the recruiter's context —sees exactly what the user seeschat · typing assistance · voiceRecruiterGraphQL APIserves decorated view modelsSDUI / ADUI dynamic componentsReal-time channelpub/sub on agent-specific topicsstreaming partial responsescross-session synchronisationAgent identity + mailboxONE per recruiterlifecycle entirely via asyncmessage passingSupervisor agent'the central nervous system'PLAN-AND-EXECUTE, not ReActplanner divides, executor conquersObservationmonitors environment changes —e.g. new candidate activitydrives the async 'source while you sleep'UXIntake agentfree text / job post / notes →natural-language QUALIFICATIONSinfers missing title, location, senioritySourcing agentgenerates MULTIPLE search queriesruns them in PARALLEL, then refines'as many queries as it wants'Evaluation agentper-qualification verdict WITH CITATIONS~90% of ALL LLM calls in the flowfine-tuned models + speculative decodingCandidate outreach agentdrafts + sends initial outreachanswers candidate questions from FAQscan schedule phone screens in-messageCandidate screening agenttailored screening questionsobserves, transcribes, summarisesrecruiter can take over at any pointLearning agentanalyses recruiter actions →proposes qualification updatesCognitive memory agentrecalls past interactions andlearned patterns, throughoutHeadless toolsRecruiter Search · project management· candidate and job managementmirror what a recruiter can doPer-qualification safety checksrun against EACH generatedqualification for RAI complianceHuman-in-the-loop gatesqualifications reviewed BEFORE evallearning applied only AFTER approvalemails editable and explicitly sentEconomic GraphMUSE / Recruiter Search1.3B+ profilesMessaging + InMailUnified integrations → ATSwrite-back: application stage,structured evaluationsmessagetool callqualificationsparallel queriesclosed feedbacklooprefine queriesrecallproposed updateswrite-back
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
L2b

The reusable agent platform underneath

This is what makes LinkedIn's case unusual: the Hiring Assistant is one tenant of a general platform that also runs an SMB variant, a background coding agent, a UI QA agent, an on-call observe agent, an analytics agent and an incident-investigation agent. Note the two chokepoints — every prompt resolves through Prompt Source of Truth, and every model call goes through the GenAI proxy. That is where guardrails live.

linkedin — L2b generative AI agent platform
APPLICATIONSPLATFORM SERVICESRUNTIME & MEMORYMODELS, DATA & AUTHZOBSERVABILITY & GOVERNANCEGenAI applicationsHiring Assistant · SMB versionQA agent · coding agent · observe agentanalytics agent · incident agentGenAI application frameworka THIN WRAPPER atop LangChainbridging it to LinkedIn logging,instrumentation, storage. MANDATED.Prompt Source of TruthJinja templatesapp → namespace → use case → versionUNIVERSALLY injects RAI guardrailsSkill registry'SKILL INVERSION' — downstreamsdefine and expose the skillgRPC + proto3 options + build pluginAgent lifecycle servicemessaging ↔ gRPC adaptationdevelopers implement plain RPC endpointsSTATELESS — state held externallyPlaygroundagent experimentation · skill explorationmemory inspection · identity managementobservability tracesLangChain + LangGraphadapted to LinkedIn messaging andmemory via CUSTOM PROVIDERSLLM inference service (GenAIproxy)single chokepoint for ALL modelsexposes the OpenAI Chat Completions APIT&S moderation · quota · streamingMessaging platformmessaging svc → DB → delivery svc→ agent orchestrator servicenearline retry + region retargetingConversational Memorybuilt on the messaging stackLangChain memory abstractionExperiential Memoryvoice/tone · notification channel· preferred UI templatespartial retrievals and updatesAzure OpenAIconfig-based switchingEON-8B on-premLlama 3.1-8B, multitask instructiontuned on Economic Graph datathen RLHF + DPO safety alignmentClient Data LayerSILOED BY DESIGN — sharing onlythrough explicit policy-driven interfacesService principalsLinkedIn's service-to-service authz,applied TRANSITIVELY to agentsagent must hold the skill's principalMCP + A2A adoption'incrementally adopting these openprotocols, moving away from aproprietary skill registry'LangSmith — pre-productiontraces LLM calls, tool usage andcontrol flow across LangGraph chainsOpenTelemetry — productionprivacy-safe OTel spans→ holistic evaluation platformoffline evals · regression · prompttuningMemory taxonomyworking · long-term (episodic +procedural) · collectiverecent-N / summarisation / semanticAgent sandbox boundariesMAY: read/write files, run builds,push to PR branchesMAY NOT: deploy, merge to maindynamic skilllookupresolved prompt +guardrailsauthz checktracesspans
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
Skill Inversion, verbatim

“Instead of the calling applications defining skills over the implementing downstreams, the downstreams define the skill and expose it to the calling application.” Registration is a build plugin annotating gRPC service definitions with platform-defined proto3 options.

Agent transport = member messaging

messaging service → DB persistence → delivery service → agent orchestrator service; nearline retry on failure; nearline retargeting on region traffic shift. A sync mode was added in Sep 2025 that bypasses the async queue with “sideways message creation.”

Where models sit on the cost curve

The stated rule, twice: use custom models only when you have quality, scale or latency constraints. MVP surfaces that scale with #recruiters get the SOTA hosted model. Evaluation, which scales with #candidates — “orders of magnitude bigger” — gets fine-tuned small models.

L2c

MUSE — billion-scale semantic retrieval for an agent

Published June 2026. The interesting inversion: all supervision comes from LLM teacher labels, not engagement signals — and the same prompt-encoded “constitution” governs both the offline evaluator and the label generator, which is what keeps evaluation and training aligned.

linkedin — L2c MUSE retrieval and ranking
POLICY & LABEL GENERATIONMODEL & SERVINGINDEXES & RANKINGEVALUATION CASCADE & OUTPUTThe “constitution”Relevance Definition +Responsible AI Principlesprompt-encoded product policyExpert Judgeprompt-engineered PROPRIETARY LLMgold-standard offline evaluator+ seed-label generatorMUSE Teacheropen-weight REASONING modelprompt-engineered, NOT fine-tunedselected on weighted Cohen's KappaMillions of labelsALL supervision comes from Teacherlabels — NOT engagement signalsprompt iteration gave +24% KappaQuery understandingprompt-engineered proprietary LLMfree text → role details(title, seniority, location) + qualsMUSE embeddingsdual-tower Siamese, ONE shared LLMMatryoshka 4096 → 2048 for ANNMatryoshka InfoNCE, listwise batchesLambda architecturebatch: weekly full rebuild, 1B+ profilesspeed: daily CDC delta inferenceApache Iceberg as source of truthBlendingfaceted · boolean · semantic (MUSE)· recruiter-personalised · lookalikeeach returns up to hundreds of profilesGaleneIVFPQ ANN index + inverted index2048-dim · inline filteringbisecting k-means centroid initVenice KV store4096-dim embeddings, for the rankerQuery embedding endpointhosted vLLM · <100ms p95L2 ranker — DCNv2100+ features, engagement-optimisedMUSE embeddings = the MOST influentialfeature group in the entire modelLLM guardscrutinises the pool AFTER rankinggenerates the NL 'why they match'explanation shown to the recruiterStage 1 — training evalRecall@k · MAP@k · NDCG@khours, in PyTorchStage 2 — Expert Judge replaysampled production queries, end to endvariant vs production controlStage 3 — online A/BHRR · Facepalm Rate · liquiditycandidate share · Eval Pass RateCandidates + explanationspresented to the recruitersame constitutionreplicate at scalecontrastivetraining2048-dim indexbuildquery sideANN search + ABMpost-filtersL1 candidatesblended poolranker featuresranked pooloffline replay
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
Result (Jun 2026)Value
Full stack, pre-LLM-guardHRR +4%, Facepalm Rate −5%, semantic candidate share 18% → 31%
Liquidity~76% pool utilisation at 96% query coverage — 2.1× the prior Boolean strategy
Online 2-week A/B (relative)post-guard HRR +2.7%, InMail sends/seat +4.1%, Eval Pass Rate +3.8%, InMail accepts/seat +1.8%, candidates sourced/seat −4% — “fewer but better”
Headroom they flag themselves~30% more candidates at the same relevance available from exhaustive kNN with pre-filters
L3

Critical path — intake to ATS write-back

linkedin hiring assistant — L3 end-to-end sequence
ARTIFACT / DETAILRecruiterSupervisorIntake agentSourcing + MUSEEvaluation agentOutreach / screeningATS via integrationshiring intent (free text / jobpost / notes)1Carried as a MESSAGE through the messaging platform →agent orchestrator → agent lifecycle service → thedestination agent's gRPC endpoint. Payload = structureddata + freeform text. "No, we don't send prompts.""here's the request + contextabout it"2Sub-agents are modelled as TOOLS, not separateidentities/mailboxes — so this is a tool call inside thesupervisor's plan-execute loop, not a mailbox message.look up recruiter preferencesvia skills3Dynamic skill registry lookup: "rather than hardcode thetool, you dynamically figure out from the skill registrywhat tool is most appropriate, fill in the arguments usingthe power of the LLM, and execute it."natural-language qualifications for review4HUMAN GATE #1. Safety checks run against EACHqualification for Responsible-AI compliance before therecruiter ever sees it. Recruiter must approve beforeevaluation begins.approved qualifications5e.g. "senior backend engineers, Berlin, distributedsystems, 8+ years"query understanding →structured role + quals6Prompt-engineered proprietary LLM parses free text intotitle, seniority, location + a qualifications list.EBR / L1: ANN over 1.3Bprofile embeddings7MUSE query tower → single vector → IVFPQ ANN in Galene →attribute-based-matching post-filters. Query embedding<100ms p95.blend + DCNv2 L2 re-rank8Semantic results merged with faceted, boolean,personalised-recommendation and lookalike strategies, thenre-ranked. MUSE embeddings are the single most influentialfeature group.candidate pool9Sourcing runs MANY queries in parallel and refines them —"explore the search space in different ways to bettermimic what a recruiter actually does."per-qualification verdict withcitations10~90% of ALL LLM calls in the Hiring Assistant floworiginate here. Runs on fine-tuned models with speculativedecoding for seconds-scale latency. "It has receipts."evaluation signals → refinequeries11The closed loop: "use LLM reasoning to refine queries,balance precision and liquidity."passed candidates + explanations12An LLM guard generates the natural-language "why theymatch" explanation shown to the recruiter.draft outreach for review13HUMAN GATE #2. "all generated emails should be editableand need to be explicitly sent by the user." Candidatescan reach a human at any point.write back: stage change,structured evaluation14Routed through the Integration ID mapping layer: resolvecanonical identity → determine integration path → executewith deterministic retries and quota-aware controls.
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

Adoption & impact, with dates

DateMetric
Oct 2024Announced at Talent Connect; limited charter with select enterprise partners + LinkedIn's own recruiters
Dec 2024~90% of all LLM calls in the flow come from the evaluation agent
Dec 2024EON-8B: 75× cheaper than GPT-4, vs GPT-4o; +4% abs vs GPT-4o mini and +30% vs Llama-3-8B-instruct on candidate–job matching
Sep 2025Charter cohort: 500+ companies, 8,000 users; 4+ hours saved per role; 62% fewer profiles reviewed; InMail acceptance +73%
Oct 2025Operating across 1.2B+ profiles; pipelines refreshed daily
Jan 2026All-customer data: 81% fewer profiles reviewed; 66% higher InMail acceptance; 1.5 hours saved per role
Mar 2026Integrations: partner onboarding 12+ months → 4 months; data coverage; applications without resumes down to <10%
Jun 20261.3B+ profiles. Engineering scale context: 7,000 deployables, 3.2M peak QPS, 45T Kafka messages/day, 10,000+ engineers
The 62% vs 81% divergence

Not a contradiction — a cohort and date difference (charter cohort Sep 2025 vs all-customer LinkedIn data Jan 2026). LinkedIn never explains it, so both are shown with their dates. Same for InMail acceptance: 73% / 69% / 66% across sources.

GAPS

What LinkedIn has NOT published

QuestionStatus
Which LLM backs the supervisor / planner todayNever named. GPT-4o is only named as “during some of this development” for the copilot era.
Identity of the “proprietary LLM” behind Expert Judge and query understandingDeliberately unnamed. Same for the open-weight reasoning model used as MUSE Teacher.
Which vector store backs experiential / collective memoryConfirmed: “semantic search via vector embeddings.” Store unnamed. Do not draw Venice or Galene here — those are documented only for MUSE profile embeddings.
Are “agent orchestrator service” and “agent lifecycle service” the same thing?Language is inconsistent across sources. Treated here as one logical orchestration tier.
Has MCP replaced the skill registry in production?“Incrementally adopting… moving away from” is a direction of travel, not a completed state.
The screening agent's ASR / telephony stack“Observe, transcribe, and summarize conversations” — no component named.
Cost or QPS of the live agent fleetNever published.