Technische Übersicht

KI-Architektur

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

Kompass 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 Kompass hat eine spezifische Verantwortung und führt mehrere Aufgaben aus, um sein Ziel zu erreichen. Beispielsweise könnte ein Agent mit einem Nutzer sprechen, um bestimmte Informationen zu sammeln, diese Informationen zu verarbeiten und sie für die Nutzung durch einen anderen Agenten aufzubereiten.

Kompass KI-Architekturübersicht

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 und nutzen Werkzeuge basierend auf LLM-Prompts (oder nicht). Diese Werkzeuge könnten für Aufgaben wie das Führen von Gesprächen mit dem Nutzer, die Extraktion benannter Entitäten, Klassifizierung 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 Kompass 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, Klassifizierung und Entity Linking zu einer Berufe-/Fähigkeiten-Taxonomie.

Detaillierte KI-Architektur mit der mehrstufigen Fähigkeiten-Pipeline

Kompass nutzt LLMs auf vier Arten:

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

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

  3. Erklärbarkeit und Rückverfolgbarkeit: Das LLM liefert Begründungen für bestimmte Ausgaben, wodurch Erklärungen möglich sind, die entdeckte Fähigkeiten mit den Eingaben des Nutzers verknüpfen. Dieses Merkmal, das auf einer Variation der Chain-of-Thought-Begründung basiert, ist besonders bemerkenswert — nicht nur wegen der gebotenen Fähigkeit, sondern auch weil es ein unbeabsichtigtes Ergebnis war. Es entstand bei dem Versuch, ein anderes Problem zu lösen: die Verbesserung der Genauigkeit der Aufgaben des LLM.

  4. Filterung der Taxonomieausgabe: Das LLM filtert relevante Fähigkeiten und Berufe, die mit dem ESCO-Modell verbunden sind, aus der Ausgabe des Gesprächs. Indem es seine fortgeschrittenen Schlussfolgerungsfähigkeiten nutzt, 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.

Kompass ist auf mehreren Ebenen verankert und vor Halluzinationen geschützt:

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

  • Zustandsinduzierte Anweisungen: Agenten nutzen ihren internen Zustand, um während der Nutzerinteraktionen gezielte Anweisungen zu generieren und das Gespräch auf ein bestimmtes Ziel zu lenken. Dieser Ansatz verkleinert die Prompt-Größe, indem nur relevante Segmente einbezogen werden, wodurch die Wahrscheinlichkeit steigt, dass das LLM die Anweisungen genau befolgt und somit das Risiko von Halluzinationen verringert wird.

  • Gelenkte Ausgabe: Anweisungen werden sorgfältig formuliert, um die Wahrscheinlichkeit relevanter Antworten zu erhöhen. Zu den Techniken gehören:

    • One- und Few-Shot-Lernen

    • Chain of Thought

    • Retrieval Augmented Generation

    • JSON-Schemata mit Validierung und Wiederholungsversuchen

    • Anordnung von Ausgabensegmenten zur Ausrichtung mit semantischen Abhängigkeiten

  • Zustands-Richtlinien: Wann immer möglich werden einfache, regelbasierte Entscheidungen getroffen, wodurch die Abhängigkeit vom LLM reduziert und potenzielle Ungenauigkeiten minimiert werden.

  • Taxonomie-Verankerung: Durch das Verknüpfen von Entitäten mit einer vordefinierten Berufe-/Fähigkeiten-Taxonomie stellt Kompass sicher, dass die identifizierten Fähigkeiten in einem relevanten und genauen Bereich bleiben.

Evaluation

Für die Evaluierung von Kompass haben wir die unten skizzierte Strategie befolgt:

  • Strenge Embeddings-Evaluierung: Wir haben verschiedene Strategien zur Erzeugung von Embeddings aus den Taxonomieentitäten sorgfältig evaluiert. Unsere Überlegungen umfassten die Frage, welche Eigenschaften der Entitäten in die Embedding-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 Klassifizierungskomponenten mit bekannten Eingaben getestet, um die korrekte Zuweisung von Labels zu verifizieren.

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

  • Simulierte Nutzerinteraktionen: Kompass wurde in End-to-End-Szenarien getestet, indem Nutzerinteraktionen simuliert wurden, die von einem LLM gesteuert 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 Evaluatoren (anderen LLMs) oder menschlichen Prüfern auf Qualität und Relevanz bewertet.

  • Nutzertests und Spuranalyse: In kleinerem Maßstab wurden reale Nutzertests durchgeführt. Durch das Zurückverfolgen der Top-Fähigkeitsausgaben bis zur Nutzereingabe konnten menschliche Prüfer die Leistung bestimmter Agenten innerhalb von Kompass bewerten.

Die Kernrolle einer Taxonomie

Tabiyas inklusive Taxonomie spielt eine zentrale Rolle im Kompass. 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, sodass Klärung und Disambiguierung möglich sind.

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

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

  • Unsichtbare Wirtschaft: Die Taxonomie wurde erweitert, um Aktivitäten aus der unsichtbaren Wirtschaft einzubeziehen, wodurch junge Frauen und Erstberufssuchende befähigt werden, in den Arbeitsmarkt einzutreten.

  • Lokalisierung: Eine Taxonomie kann den spezifischen Kontext eines Landes berücksichtigen. Dazu gehören in bestimmten Regionen einzigartige Berufe, regionsspezifische alternative Bezeichnungen für Berufe und unterschiedliche Anforderungsprofile an Fähigkeiten für denselben Beruf in verschiedenen Ländern.

  • Klassifikation der Arbeitsarten: Alle Erfahrungen werden in vier Typen klassifiziert (Lohnarbeit, Selbstständigkeit, unentlohnte Praktikumsarbeit und unsichtbare Arbeit), was eine gezieltere Erkundung der Fähigkeiten der Arbeitssuchenden ermöglicht.

Überblick über den technischen Stack

  • Sprachmodelle und Einbettungen: Kompass nutzt das gemini-2.0-flash-001 Modell für seine LLM-Fähigkeiten und das text-embedding-005 Modell für Einbettungen. Das gemini-2.5-pro-preview-05-06 Modell wird für den automatischen LLM-Evaluator verwendet. Das Gemini-Modell wurde aufgrund seiner ausgewogenen Leistung hinsichtlich Aufgabenaccuracy, Inferenzgeschwindigkeit, Ratenverfügbarkeit 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 passte gut zum Anwendungsfall, da LLM-Inferenzendpunkte langsam sein können. Python wurde wegen seiner umfangreichen AI/ML-Bibliotheksunterstützung gewählt und weil es die Integration 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 prüfen und zu testen.

  • Datenpersistenz: Daten werden sicher mit MongoDB Atlasgespeichert, das Vektorsuchfunktionen beinhaltet. Unser Team war bereits mit MongoDBvertraut, und die Taxonomie war bereits in MongoDB Atlas, daher war es eine natürliche Wahl.

  • Bereitstellung: Die gesamte Anwendung ist auf Google Cloud Platform (GCP)bereitgestellt, was hohe Verfügbarkeit und Skalierbarkeit sicherstellt. Wir verwenden Pulumi fast nahezu die gesamte Infrastruktur bereitzustellen, da es uns ermöglicht, Bereitstellungscode in zu schreiben Python, was mit der übrigen Backend-Entwicklung übereinstimmt. Außerdem hatte unser Team bereits Erfahrung mit, wodurch es eine natürliche Wahl war. Pulumi, für Fehlerverfolgung und Überwachung der Anwendungsleistung verwenden wir Sentry.

Cloud-Architektur

Zuletzt aktualisiert