Vladimir Kulyashov

MLOps / LLM Ops Engineer

Perm

Not looking for a job, but always happy to have an interesting conversation

Telegram
@kulyashov
GitHub
koolvn
Website
cv.hl59.ru
CV as PDF

How it works

Daniel Kahneman described two modes of thinking: fast and intuitive, System 1, and slow and deliberate, System 2. The assistant on this site works the same way. System 1 is a fast decision model with fallback links: within a couple of seconds it works out what the question is about and turns away anything unrelated on its own. Everything else goes to System 2, a language model via LiteLLM, which takes longer but answers in substance. The topic System 1 found also decides which model answers: a fast one for small talk, the strongest for a vacancy, a mid-sized one for everything else.

Question

Your question

Sent with the last few lines of the conversation, so “tell me more” makes sense too.

System 1

The decision model picks the topic

In 1–2 seconds: experience, projects, a vacancy, contact or off topic. If the first link is silent, the next one in the chain decides.

Link 1Link 2Link 3

No LLM

A polite refusal

Off topic or a prompt injection attempt: System 2 is never called and the answer is instant.

System 2

The language model answers

Thinks, pulls facts from the profile with tools and writes the reply.

ExperienceProjectsVacancy from a linkVacancy matchMessage to Vladimir

Answer

Text and cards

Under the answer, a ruler shows how long each system took.

Replay the path

Live numbers

Loading the numbers…

What is recorded

  • Questions and answers are recorded as traces in Langfuse. It runs on the same server as the site, and only Vladimir reads the traces, to find where the assistant goes wrong.
  • To answer, the question goes to the language model's provider. The topic is picked by one of the System 1 links, and these can include an external decision-model API and a language model.
  • An attached file is not stored: the server extracts its text, which becomes part of the conversation and its trace. A link to a vacancy is opened by the site's server, not by your browser.
  • The IP address is not stored. A hash of it with a secret key drives the rate limits and the visitor count.
  • The site sets the cookie cv_vid. It holds only a random id: the site uses it to tell a new visitor from a returning one, and it marks your conversations too. Another cookie, NEXT_LOCALE, remembers the site's language when it differs from the browser's.
  • When a new visitor arrives, Vladimir gets a Telegram message (unless these alerts are turned off): country, browser, OS and device, where you came from (the site and utm tags) and the first page. The country is looked up from the IP address; the address itself is not stored.
  • For each visitor the database keeps only the country, browser with OS, first and last visit and the number of visits. Where you came from does not go into the database.
  • With Global Privacy Control on, cv_vid is not set and no message is sent.
  • The numbers on this page are totals over a period, without any texts.
  • IP geolocation by DB-IP.