fix(scanner): Bewertungsprompt ohne erfundene Luecken
Das JSON-Beispiel im alten Prompt ("Deutsch nur auf B2-Niveau") hat das
Modell in rund 1600 Cons uebernommen, und knappe Beschreibungen (Freelancermap
meist nur Titel) wurden pauschal niedrig bewertet. Lisa und Ariane kamen so
nie ueber 80 % und blieben unter der Anzeigeschwelle von 85 %.
Neuer Prompt: nur belegte Fakten, Rolle aus dem Titel bei knapper
Beschreibung, feste Fuenf-Stufen-Skala, Platzhalter statt Beispielinhalt.
Alter Prompt liegt als Backup in server/src/scanner/prompts/.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
e2ad8ab03e
commit
1eb115bb7a
@@ -53,6 +53,47 @@ Zwei Sparmassnahmen stecken bewusst **vor** dem OpenAI-Aufruf: der vorhandene
|
||||
Treffer (Unique-Key `agent_id, project_id`) und die Ausschlussbegriffe. Ein
|
||||
Projekt, das „Arbeitnehmerüberlassung" enthält, kostet damit keinen Cent.
|
||||
|
||||
## Bewertungsprompt
|
||||
|
||||
Den Systemprompt der Bewertung Lebenslauf gegen Projekt enthält
|
||||
`services/matchingEngine.js`. Seit dem 24.09.2026 gilt eine neue Fassung. Die
|
||||
alte liegt wörtlich in `server/src/scanner/prompts/matching-backup-2026-09-24.txt`.
|
||||
Zum Zurückstellen setzt man sie wieder als `systemPrompt` ein.
|
||||
|
||||
**Warum er ersetzt wurde.** Lisa und Ariane (Marketing, Kommunikation, PMO)
|
||||
bekamen bei rund 1700 Bewertungen keinen Wert über 80 %. Bei einer
|
||||
Anzeigeschwelle von 85 % erschienen sie also nie im Dashboard. Zwei Ursachen im
|
||||
alten Prompt:
|
||||
|
||||
- **Abgeschriebenes Beispiel.** Das JSON-Beispiel enthielt den Con „Berater
|
||||
listet Deutsch nur auf B2-Niveau". Das Modell hat ihn in 1584 von rund
|
||||
10 000 Bewertungen übernommen, auch bei Lebensläufen, die Deutsch ohne Niveau
|
||||
nennen. So kostete eine erfundene Lücke jedes Mal Punkte.
|
||||
- **Knappe Beschreibungen.** Freelancermap liefert im Schnitt 99 Zeichen, also
|
||||
praktisch nur den Titel. Ohne Regel dafür bewertete das Modell vorsichtig
|
||||
niedrig. Profile mit einem klaren Technik-Schlagwort (etwa „M365") kamen damit
|
||||
noch durch, allgemeinere Profile nicht.
|
||||
|
||||
**Was der neue Prompt festlegt:**
|
||||
|
||||
- nur, was in Lebenslauf und Beschreibung steht. Sprache, Reisen, Zertifikate
|
||||
nennt das Modell nur, wenn das Projekt sie ausdrücklich fordert
|
||||
- eine Sprache ohne Niveau gilt als vorhanden
|
||||
- bei knapper Beschreibung wird die Rolle aus dem Titel bewertet, fehlende
|
||||
Details sind kein Minuspunkt
|
||||
- eine feste Skala in fünf Stufen (90-100 genau passend bis 0-29 anderes Fach)
|
||||
- das Profil wird nach seinem eigenen Fach bewertet, nicht nach technischer Tiefe
|
||||
- Platzhalter im Schema statt Beispielinhalt, leere Cons sind erlaubt
|
||||
|
||||
Stichprobe vor dem Rollout (33 Paare aus Lisa, Ariane und Tobias, gespeicherter
|
||||
Wert gegen neuen Prompt, gleiches Modell): passende Rollen stiegen von 80 auf 85-90 (Ariane: Change Manager
|
||||
Kommunikation, Marketing & Communications). Fachfremde Projekte fielen von
|
||||
30-60 auf 0-30. Tobias' M365-Treffer blieben bei 90-95.
|
||||
|
||||
Bereits gespeicherte Treffer werden **nicht** neu bewertet
|
||||
(Unique-Key `agent_id, project_id`). Die neue Skala gilt für Projekte, die
|
||||
nach dem Deployment gefunden werden.
|
||||
|
||||
## Abgleich „bereits beworben!"
|
||||
|
||||
Dieselbe Ausschreibung kommt oft mehrfach: über zwei Börsen, über mehrere
|
||||
|
||||
Reference in New Issue
Block a user