aivika.de: HR-Agent, der Recruiter rund um die Uhr durch das Portfolio führt
Ein persönlicher HR-Agent, direkt auf dieser Website. Er beantwortet Fragen rund um die Uhr, kennt jeden meiner Cases und meinen Stack, und findet im Gespräch heraus, worum es dem Gegenüber geht. Recruiter oder Unternehmen können sogar ihre Stelle einfügen, dann zeigt der Agent ehrlich, wo ich passe. Von der Idee über die Integration bis zum Code aus einer Hand.
Agent live ausprobierenKein Showcase, ein Beweis
Dieser Agent zeigt, dass ich KI nicht nur empfehle, sondern selbst einsetze. Selbst gebaut mit Claude API, Netlify Functions und eigenem Analytics. Läuft live in Production.
Vier Teile, sauber getrennt
Im Browser des Besuchers
Sicherer Proxy zur API
Haiku · Sonnet
Kein Drittanbieter
Sieben technische Entscheidungen
POST zu api.anthropic.com/v1/messages mit x-api-key Header. Der Key liegt nur als Netlify ENV Variable, nie im Browser-Code.
Über 80 Zeilen System Prompt: Gesprächsstrategie, Wissensgrenzen, Stilregeln, vollständige Wissensbasis. Die größte Iteration war die Frage, wann der Agent selbst nachfragt.
Der vollständige Verlauf geht bei jedem Request mit. sanitizeMessages() begrenzt auf 16 Turns, ältere werden auf 700 Zeichen komprimiert. Balance zwischen Kohärenz und Kosten.
Temperature bleibt ungesetzt. Das Claude-Default von etwa 1.0 passt für Conversational UX besser: natürliche Varianz schlägt deterministische Starre.
JSON-Response mit answer als String. smartTrim() schneidet nie mitten im Satz, finishAnswer() erkennt abgeschnittene Ausgaben und hängt einen sauberen Abschluss an.
Synchroner Fetch statt Streaming. max_tokens ist auf 700 begrenzt, damit die Antwortlänge vorhersehbar bleibt. Der Typing-Indikator überbrückt die Wartezeit.
Kein Google Analytics, kein Cookie-Banner. sendBeacon an eine eigene Netlify Function. Erfasste Ereignisse: open, jobfit_submit, chip, ask, book_click.
Wo der Agent steht
Fehlerbehandlung ist Vertrauensarbeit. Drei Fallback-Ebenen sorgen dafür, dass der Besucher nie merkt, wenn etwas nicht funktioniert. Das ist kein technisches Detail, das ist UX.
