Technischer Überblick

KI-Architektur

Compass nutzt agentische Workflows, um mit Nutzern zu interagieren, Informationen zu sammeln und ihre Fähigkeiten zu identifizieren.

Compass ahmt nach, wie ein Mensch ein Gespräch und die daraus resultierenden Aufgaben angehen würde, und fungiert als übergeordneter Agent, der sich in kleinere Agenten aufteilt, von denen jeder eigene Verantwortlichkeiten und Ziele hat.

Jeder Agent innerhalb von Compass hat eine spezifische Verantwortung und führt mehrere Aufgaben aus, um sein Ziel zu erreichen. Ein Agent könnte beispielsweise mit einem Nutzer sprechen, um bestimmte Informationen zu sammeln, diese Informationen zu verarbeiten und sie für die Verwendung durch einen anderen Agenten aufzubereiten.

Übersicht über die Compas-KI-Architektur

Agenten behalten einen internen Zustand bei, der es ihnen ermöglicht, eine Strategie zur Erreichung ihres Ziels anzuwenden, und haben Zugriff auf den Gesprächsverlauf des Nutzers sowie auf Werkzeuge, die auf LLM-Prompts basieren (oder nicht). Diese Werkzeuge könnten für Aufgaben wie die Unterhaltung mit dem Nutzer, die Extraktion benannter Entitäten, Klassifikation oder die Transformation von Nutzereingaben verwendet werden.

Agenten werden durch eine Kombination aus Anweisungen (Prompts) und ihrem internen Zustand geleitet. Die Prompts können je nach Zustand des Agenten variieren, um ihnen bei der Erfüllung ihrer Aufgaben zu helfen.

Sobald Compass alle notwendigen Informationen vom Nutzer gesammelt hat, verarbeitet es die Daten, um die wichtigsten Fähigkeiten des Nutzers zu identifizieren. Diese Identifizierung erfolgt durch eine mehrstufige Pipeline, die verschiedene Techniken einsetzt, wie Clustering, Klassifikation und Entity Linking an eine Berufs-/Fähigkeiten-Taxonomie.

Detaillierte KI-Architektur mit der mehrstufigen Skill-Pipeline

Compass nutzt LLMs auf vier Arten:

  1. Gesprächsbeteiligung: Im Gegensatz zu typischen Anwendungen, bei denen das LLM auf Nutzerfragen antwortet, kehrt Compass diese Interaktion um. Es generiert Fragen, um ein gelenktes und fundiertes Gespräch zu führen.

  2. Aufgaben der natürlichen Sprachverarbeitung: Compass verwendet das LLM für Aufgaben wie Clustering, Extraktion benannter Entitäten und Klassifikation und verarbeitet Nutzereingaben effizient, ohne dass kostspieliges und zeitaufwändiges Modelltraining oder Fine-Tuning erforderlich ist.

  3. Erklärbarkeit und Nachvollziehbarkeit: Das LLM liefert Begründungen für bestimmte Ausgaben und ermöglicht Erklärungen, die entdeckte Fähigkeiten mit den Eingaben des Nutzers verknüpfen. Diese Funktion, die auf einer Variation der Chain-of-Thought-Argumentation basiert, ist besonders bemerkenswert — nicht nur wegen der gebotenen Fähigkeit, sondern auch, weil sie ein unbeabsichtigtes Ergebnis war. Sie trat auf, während versucht wurde, ein anderes Problem zu lösen: die Verbesserung der Genauigkeit der LLM-Aufgaben

  4. Filterung der Taxonomieausgabe: Das LLM filtert relevante Fähigkeiten und Berufe, die mit dem ESCO-Modell verbunden sind, aus der Konversationsausgabe. Durch die Nutzung seiner fortgeschrittenen Schlussfähigkeiten verarbeitet das LLM große Textmengen effizient und identifiziert die relevantesten Entitäten. Dieser Ansatz kombiniert traditionelles Entity Linking über semantische Suche mit LLM-basierter Filterung und schafft so eine hybride Lösung.

Compass ist auf mehreren Ebenen geerdet und vor Halluzinationen geschützt:

  • Aufgabendekomposition: Kleinere, handhabbare Aufgaben werden einzelnen Agenten mit spezifischen LLM-Prompts zugewiesen.

  • Zustandsinduzierte Anweisungen: Agenten verwenden ihren internen Zustand, um während der Nutzerinteraktionen zielgerichtete Anweisungen zu generieren, die das Gespräch auf ein bestimmtes Ziel ausrichten. Dieser Ansatz reduziert die Größe des Prompts, indem nur relevante Segmente einbezogen werden, wodurch die Wahrscheinlichkeit steigt, dass das LLM die Anweisungen genau befolgt und so das Risiko von Halluzinationen verringert wird.

  • Gesteuerte Ausgabe: Anweisungen werden sorgfältig formuliert, um die Wahrscheinlichkeit relevanter Antworten zu erhöhen. Techniken umfassen:

    • One- und Few-Shot-Lernen

    • Chain of Thought

    • Retrieval Augmented Generation

    • JSON-Schemas mit Validierung und Wiederholungen

    • Anordnung von Ausgabesegmenten zur Ausrichtung an semantischen Abhängigkeiten

  • Zustandsleitplanken: Einfache, regelbasierte Entscheidungen werden wann immer möglich getroffen, um die Abhängigkeit vom LLM zu verringern und potenzielle Ungenauigkeiten zu minimieren.

  • Taxonomie-Verankerung: Durch die Verknüpfung von Entitäten mit einer vordefinierten Berufs-/Fähigkeiten-Taxonomie stellt Compass sicher, dass identifizierte Fähigkeiten in einem relevanten und genauen Bereich verbleiben.

Evaluation

Zur Bewertung von Compass folgten wir der unten beschriebenen Strategie:

  • Strenge Embeddings-Evaluation: Wir haben verschiedene Strategien zur Erzeugung von Embeddings aus den Taxonomie-Entitäten rigoros evaluiert. Unsere Überlegungen umfassten die Identifikation, welche Eigenschaften der Entitäten in die Embeddings-Erzeugung einbezogen werden sollten, sowie die Bestimmung der optimalen Anzahl von Entitäten, um Genauigkeit und Präzision auszubalancieren. Für die Tests verwendeten wir etablierte Datensätze aus der Literatur und generierten synthetische Daten, um Compass-Nutzeranfragen zu simulieren.

  • Isolierte Komponententests: Die Werkzeuge jedes Agenten wurden einzeln mit spezifischen Eingaben und erwarteten Ausgaben bewertet. Beispielsweise wurden Klassifikationskomponenten mit bekannten Eingaben getestet, um genaue Label-Zuweisungen zu verifizieren.

  • Skriptbasierte Gespräche: Gesprächsagenten wurden mit vordefinierten Dialogen getestet, wobei die Ausgaben entweder von automatisierten Bewertungswerkzeugen (anderen LLMs) oder von menschlichen Prüfern bewertet wurden.

  • Simulierte Nutzerinteraktionen: Compass wurde in End-to-End-Szenarien getestet, indem Nutzerinteraktionen durch ein LLM simuliert wurden. Dem simulierten Nutzer wurde eine Persona basierend auf unserer UX-Forschung und zusätzlichen Anweisungen gegeben, um bestimmte Interessensfälle abzudecken. Diese Gespräche wurden dann von automatisierten Bewertungswerkzeugen (anderen LLMs) oder menschlichen Prüfern auf Qualität und Relevanz bewertet.

  • Nutzertests und Spuranalyse: In kleinerem Umfang wurden reale Nutzertests durchgeführt. Durch Zurückverfolgen der Top-Skill-Ausgaben zu den Eingaben des Nutzers konnten menschliche Prüfer die Leistung bestimmter Agenten innerhalb von Compass beurteilen.

Die zentrale Rolle einer Taxonomie

Tabiyas inklusive Taxonomie spielt eine zentrale Rolle in Compass. Sie verankert die Aufgaben des LLM, aber es gibt mehrere zusätzliche Aspekte, die erwähnenswert sind:

  • Standardisierung: Die identifizierten Fähigkeiten sind mit einer standardisierten Taxonomie verknüpft, was Interpretation und Vergleich erleichtert. Die Konzepte hinter diesen Fähigkeiten sind gut definiert und können erklärt werden, wodurch Klarstellung und Disambiguierung möglich sind.

  • Kanonisierung: Erkannte Fähigkeiten werden mit kanonischen Namen und UUIDs aufgelistet, was eine konsistente Referenzierung über verschiedene Erfahrungen und Anwendungen hinweg ermöglicht.

  • Netzwerkstruktur: Die Taxonomie modelliert den Arbeitsmarkt, indem sie Berufe mit Fähigkeiten verknüpft und so einen Wissensgraphen bildet, der zusätzliche Einblicke für Nutzer bieten kann.

  • Unentdeckte Ökonomie: Die Taxonomie wurde erweitert, um Aktivitäten aus der unentdeckten Ökonomie einzubeziehen, sodass junge Frauen und erstmalige Arbeitssuchende den Eintritt in den Arbeitsmarkt erleichtert wird.

  • Lokalisierung: Eine Taxonomie kann den spezifischen Kontext eines Landes berücksichtigen. Dazu gehören berufsbezogene Besonderheiten bestimmter Regionen, alternative Bezeichnungen für Berufe, die regionalspezifisch sind, und unterschiedliche Fähigkeitsanforderungen für denselben Beruf in verschiedenen Ländern.

  • Klassifikation der Arbeitsarten: Alle Erfahrungen werden in vier Typen klassifiziert (abhängige Beschäftigung, Selbstständigkeit, unbezahlte Praktikumsarbeit und unentdeckte Arbeit), was eine gezieltere Erkundung der Fähigkeiten der Arbeitssuchenden ermöglicht.

Technische Stack-Übersicht

  • Sprachmodelle und Embeddings: Compass nutzt das gemini-2.0-flash-001 Modell für seine LLM-Fähigkeiten und das text-embedding-005 Modell für Embeddings. Das gemini-2.5-pro-preview-05-06 Modell wird für den LLM-Auto-Evaluator verwendet. Das Gemini-Modell wurde wegen seines ausgewogenen Verhältnisses aus Aufgaben-Genauigkeit, Inferenzgeschwindigkeit, Verfügbarkeitsrate und Kosten ausgewählt.

  • Backend-Technologien: Entwickelt mit Python 3.11, FastAPI 0.111, und Pydantic 2.7 für eine leistungsfähige serverseitige Umgebung. Ein asynchrones Framework eignete sich gut für den Anwendungsfall, da LLM-Inferenzendpunkte langsam sein können. Python wurde wegen seiner umfangreichen AI/ML-Bibliotheksunterstützung gewählt und weil es die Einbindung von ML-Wissenschaftlern in das Entwicklungsteam erleichterte.

  • Frontend-Technologien: Die UI, aufgebaut mit React.js 19, TypeScript 5, und Material UI 5, ist für Mobilgeräte optimiert, funktioniert aber auch gut auf Tablets und Desktops. Zusätzlich verwenden wir Storybook 8.1 um UI-Komponenten isoliert zu präsentieren, visuell zu inspizieren und zu testen.

  • Datenpersistenz: Daten werden sicher mit MongoDB Atlasgespeichert, das Vektor-Suchfunktionen umfasst. Unser Team war bereits mit MongoDBvertraut, und die Taxonomie lag bereits in MongoDB Atlasvor, daher war es eine natürliche Wahl.

  • Bereitstellung: Die gesamte Anwendung ist auf Google Cloud Platform (GCP)bereitgestellt und gewährleistet hohe Verfügbarkeit und Skalierbarkeit. Wir verwenden Pulumi um nahezu die gesamte Infrastruktur bereitzustellen, da es uns ermöglicht, Bereitstellungscode in Pythonzu schreiben, was mit der restlichen Backend-Entwicklung übereinstimmt. Zusätzlich war unser Team bereits erfahren mit Pulumi, was es zu einer naheliegenden Wahl machte. Zur Fehlerverfolgung und Überwachung der Anwendungsleistung verwenden wir Sentry.

Cloud-Architektur

Zuletzt aktualisiert