Skip to content
Gespräch vereinbaren
AI Engineering

Wie ich einen KI-Assistenten gebaut habe, der meine Arbeit wirklich kennt

Felix Schmidt

Wie ich einen KI-Assistenten gebaut habe, der meine Arbeit wirklich kennt

Es gibt eine Chat-Blase auf dieser Website. Wenn du darauf klickst und fragst „Welche Erfahrung hat Felix mit React?" oder „Hat Felix an Enterprise-Systemen gearbeitet?", bekommst du eine echte Antwort — basierend auf meiner tatsächlichen Projekthistorie, nicht auf einer halluzinierten LinkedIn-Zusammenfassung.

Das ist nicht ChatGPT mit einem angepassten System-Prompt. Es ist ein zweckgebautes Retrieval-Augmented Generation (RAG) System, das mein Projektportfolio in Echtzeit durchsucht, die relevanteste Arbeit findet und eine Antwort auf Basis von Fakten generiert. In diesem Beitrag möchte ich erklären, warum ich es gebaut habe, wie die Architektur auf hoher Ebene funktioniert und was ich dabei gelernt habe.

Warum das Ganze überhaupt bauen?

Portfolio-Websites haben ein grundsätzliches Problem: Besucher haben spezifische Fragen, aber die Antworten sind über Projektkarten, Tech-Stack-Listen und Fallstudien verstreut. Niemand liest ein komplettes Portfolio von oben bis unten. Man scannt, überfliegt und geht wieder.

Ich wollte eine andere Erfahrung. Was wäre, wenn ein potenzieller Kunde einfach fragen könnte, was er wissen will — und eine ehrliche, kontextbezogene Antwort in Sekunden bekäme?

Genau das macht dieser Assistent. Er schliesst die Lücke zwischen „Ich habe all diese Informationen auf meiner Seite" und „der Besucher findet tatsächlich, was er braucht."

Die Kernidee: Erst suchen, dann antworten

Die zentrale Erkenntnis hinter RAG ist einfach: Bitte die KI nicht, Dinge zu wissen. Bitte sie, Dinge zu lesen und dann basierend auf dem Gelesenen zu antworten.

Hier ist der Ablauf in einfachen Worten:

  1. Du stellst eine Frage — „Mit welchen Cloud-Plattformen hat Felix gearbeitet?"
  2. Das System sucht — Deine Frage wird in eine mathematische Darstellung (ein Embedding) umgewandelt und mit vorberechneten Darstellungen aller meiner Projekte verglichen
  3. Relevante Projekte tauchen auf — Das System findet die 3–5 Projekte, die semantisch am stärksten mit deiner Frage zusammenhängen, selbst wenn du nicht die exakt gleichen Worte verwendest wie ich in der Projektbeschreibung
  4. Die KI liest und antwortet — Ein Sprachmodell erhält deine Frage zusammen mit den relevanten Projektdetails und schreibt eine fokussierte Antwort

Das Schöne an diesem Ansatz: Die KI muss nie raten oder sich etwas ausdenken. Sie hat das Quellmaterial direkt vor sich. Und wenn es wirklich kein relevantes Projekt gibt, sagt sie das — und schlägt vor, direkt Kontakt aufzunehmen.

Warum nicht einfach ChatGPT verwenden?

Eine berechtigte Frage. Ich hätte einen generischen Chatbot einbetten und ihm sagen können „du bist Felix' Portfolio-Assistent." Das Problem ist, dass generische Chatbots keinen Bezug zur Realität haben. Sie erfinden selbstsicher Projektnamen, denken sich Technologien aus, die ich nie benutzt habe, und beschreiben Erfahrungen, die ich nie gemacht habe.

RAG löst das, indem es die KI auf eine verifizierte Wissensbasis beschränkt. Jede Aussage des Assistenten lässt sich auf ein echtes Projekt in meinem Portfolio zurückführen. Es geht nicht darum, die KI schlauer zu machen — es geht darum, sie ehrlich zu machen.

Die Architektur im Überblick

Ohne auf Implementierungsdetails einzugehen, besteht das System aus vier Schichten:

Wissensschicht — Meine Projektdaten liegen in einer Supabase PostgreSQL-Datenbank, mit detaillierten Beschreibungen, Tech-Stacks, Rollen, Herausforderungen und Ergebnissen — alles gepflegt in Englisch und Deutsch.

Embedding-Schicht — Jedes Projekt wird mit Googles Gemini Embedding-Modell in einen 768-dimensionalen Vektor umgewandelt, der seine semantische Bedeutung erfasst. Das passiert im Voraus, sodass die Suche schnell ist, wenn tatsächlich eine Frage gestellt wird.

Retrieval-Schicht — Wenn eine Frage eingeht, wird sie mit demselben Gemini-Modell eingebettet, und eine Vektor-Ähnlichkeitssuche via pgvector — die PostgreSQL-Erweiterung für Vektor-Operationen — findet die am besten passenden Projekte in meiner Supabase-Datenbank. Denk an semantische Suche — sie versteht Bedeutung, nicht nur Schlüsselwörter. Eine Frage nach „Cloud-Infrastruktur" wird ein Projekt über „AWS Deployment Pipelines" finden, auch wenn die Worte völlig unterschiedlich sind.

Generierungsschicht — Die gefundenen Projekte und deine Frage werden an Google Gemini 2.5 Flash gesendet, das eine natürliche, gesprächige Antwort erzeugt. Die Antwort wird in Echtzeit gestreamt — du siehst sie Wort für Wort erscheinen, genau wie man es von einer modernen KI-Oberfläche erwartet. Ich habe Gemini Flash wegen seines Speed-to-Quality-Verhältnisses gewählt — schnell genug für Echtzeit-Streaming, intelligent genug für differenzierte Antworten.

Zweisprachig von Grund auf

Da mein Portfolio sowohl englisch- als auch deutschsprachige Besucher bedient, ist die gesamte Pipeline sprachbewusst. Projekte haben Beschreibungen in beiden Sprachen. Embeddings werden pro Sprache berechnet. Der System-Prompt passt sich der Spracheinstellung des Besuchers an. Das Ergebnis fühlt sich in beiden Sprachen nativ an, nicht wie ein nachträglicher Übersetzungsgedanke.

Was ich beim Bauen gelernt habe

Retrieval-Qualität ist alles. Die KI kann nur so gut sein wie der Kontext, den sie erhält. Ich habe mehr Zeit mit dem Tuning des Retrievals verbracht — wie Projekte dargestellt werden, wie Ähnlichkeitsschwellenwerte gesetzt werden, wie viele Ergebnisse einbezogen werden — als mit jedem anderen Teil des Systems. Wenn das richtige Projekt nicht auftaucht, kann auch das beste Sprachmodell der Welt die Antwort nicht retten.

Streaming ist wichtig für die UX. Der Unterschied zwischen 3 Sekunden auf eine vollständige Antwort warten und sofort erscheinenden Text sehen ist enorm. Streaming verwandelt die Erfahrung von „ist das Ding kaputt?" zu „das fühlt sich lebendig und reaktionsschnell an." Es war den zusätzlichen Engineering-Aufwand wert.

Den Scope eng halten. Die Versuchung bei jedem KI-Feature ist, es alles machen zu lassen — allgemeine Coding-Fragen beantworten, Karriereberatung geben, Witze erzählen. Ich habe diesen Assistenten bewusst auf eine Sache fokussiert: Besuchern zu helfen, meine berufliche Erfahrung zu verstehen. Ein fokussierter Assistent, der eine Sache gut macht, ist unendlich wertvoller als ein allgemeiner, der alles schlecht macht.

Transparenz schafft Vertrauen. Der System-Prompt weist die KI explizit an, „Ich habe nicht genug Kontext, um das zu beantworten" zu sagen, wenn sie es wirklich nicht weiss. Diese Ehrlichkeit ist ein Feature, keine Einschränkung. Besucher vertrauen dem Assistenten mehr, wenn sie sehen, dass er Grenzen hat.

Der Business Case

Das ist nicht nur eine technische Spielerei. Es löst ein echtes Geschäftsproblem.

Besucher einer Portfolio-Seite evaluieren, ob sie Kontakt aufnehmen sollen. Je schneller sie die Informationen finden, die sie brauchen, desto wahrscheinlicher konvertieren sie. Traditionelle Portfolios bürden dem Besucher auf, zu navigieren, zu lesen und die Geschichte zusammenzusetzen. Ein KI-Assistent dreht das um — der Besucher fragt, und die Geschichte kommt zu ihm.

Seit dem Launch des Chat-Features sehe ich, dass Besucher es nutzen, um spezifische Fragen über Tech-Stacks, Projektkomplexität und Teamerfahrung zu stellen — genau die Art von Due Diligence, die vor einem ersten Gespräch passiert. Der Assistent übernimmt die initiale Qualifizierung, und wenn jemand ein Meeting bucht, hat er bereits Kontext.

Probier es selbst aus

Die Chat-Blase ist direkt da in der Ecke. Frag alles über meine Arbeit — die Technologien, die ich nutze, die Projekte, die ich geliefert habe, die Branchen, in denen ich gearbeitet habe. Du bekommst eine ehrliche Antwort basierend auf echten Daten.

Und wenn du daran interessiert bist, etwas Ähnliches für dein eigenes Unternehmen zu bauen — einen wissensbasierten KI-Assistenten, der deine Arbeit akkurat repräsentiert — genau solche Projekte baue ich am liebsten. Kontakt aufnehmen.

Dieses Thema betrifft dein Team? Lass uns besprechen, wie ich helfen kann.

Diese Website verwendet Drittdienste (Google reCAPTCHA, Calendly), die Cookies setzen können. Mehr dazu in meiner Datenschutzerklärung .