feat(maria): triaj — raspuns pentru utilizatori, escaladare automata la programatori
Pe captura cu ORA-06550, avand in context chiar intrarea din dictionar care spune
"nu se rezolva din aplicatie", modelul i-a raspuns unui contabil sa verifice
schema de date si sa foloseasca "procedura alternativa MI_pack_parteneri_old" —
inventata. Si nu escalada, fiindca escaladarea se declansa doar cand NU exista
acoperire in documente, iar aici exista.
rag/triaj.py, trei decizii inaintea modelului:
- **Mesaj prea vag.** "Am o eroare" -> Maria cere operatiunea, ecranul si textul
erorii, in loc sa ghiceasca. Regula e ingusta: text scurt, fara captura, fara cod.
- **Erori marcate "Intotdeauna"/"Imediat" in dictionar** (9 din 29) -> raspunsul se
compune din campurile dictionarului, fara model, si pleaca automat la suport cu
referinta si captura. Textul de acolo e scris pentru clienti; parafrazarea lui nu
adauga nimic si poate strica tot.
- **Urgenta se intreaba, nu se deduce.** Raspunsul ("ma blocheaza" / "pot continua")
se ataseaza escaladarii deschise, nu deschide alta referinta. Fereastra 30 min.
In plus: SYSTEM_PROMPT interzice explicit vocabularul tehnic (procedura, schema,
tabela, PL/SQL, compilare, sesiune) si propunerile de verificat baza de date; cele
mai tehnice cinci intrari din dictionar rescrise in limbaj de client.
Teste: 85 pass. Calibrare 21/21. Reindexare: 5 embeddings noi, 164 refolosite.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
This commit is contained in:
@@ -78,7 +78,7 @@
|
||||
<eroare_ORA_00942>
|
||||
<keywords>ORA-00942 table or view does not exist tabela sau vederea nu exista</keywords>
|
||||
<mesaj_eroare>ORA-00942: table or view does not exist</mesaj_eroare>
|
||||
<ce_inseamna>Aplicatia cauta ceva in baza de date care nu exista acolo. De obicei inseamna ca versiunea aplicatiei si baza de date nu sunt aduse la aceeasi zi — tipic dupa o actualizare care nu s-a aplicat complet.</ce_inseamna>
|
||||
<ce_inseamna>Programul cauta ceva ce nu gaseste, de obicei fiindca o actualizare nu s-a aplicat complet. Nu e ceva ce ai gresit tu.</ce_inseamna>
|
||||
<rezolvare>Nu e ceva ce poti rezolva din aplicatie. Inchide programul si redeschide-l; daca eroarea revine, noteaza in ce ecran apare si anunta suportul.</rezolvare>
|
||||
<cand_suni_suportul>Intotdeauna. Spune la ce operatiune apare si daca ati facut recent o actualizare.</cand_suni_suportul>
|
||||
</eroare_ORA_00942>
|
||||
@@ -86,16 +86,16 @@
|
||||
<eroare_ORA_00904>
|
||||
<keywords>ORA-00904 invalid identifier identificator invalid coloana inexistenta</keywords>
|
||||
<mesaj_eroare>ORA-00904: invalid identifier</mesaj_eroare>
|
||||
<ce_inseamna>Ca si ORA-00942: aplicatia cere un camp care nu exista in baza de date. Aproape intotdeauna o actualizare aplicata partial.</ce_inseamna>
|
||||
<rezolvare>Nu se rezolva din aplicatie. Noteaza ecranul si operatiunea si anunta suportul.</rezolvare>
|
||||
<ce_inseamna>Ca si ORA-00942: programul cere o informatie pe care versiunea instalata nu o are inca. Aproape intotdeauna o actualizare aplicata pe jumatate.</ce_inseamna>
|
||||
<rezolvare>Nu se rezolva din aplicatie. Retine in ce ecran si la ce operatiune apare — asta scurteaza mult remedierea.</rezolvare>
|
||||
<cand_suni_suportul>Intotdeauna.</cand_suni_suportul>
|
||||
</eroare_ORA_00904>
|
||||
|
||||
<eroare_ORA_06550>
|
||||
<keywords>ORA-06550 PLS-00201 PLS-00306 wrong number or types of arguments identifier must be declared eroare compilare</keywords>
|
||||
<mesaj_eroare>ORA-06550 / PLS-00201 / PLS-00306: eroare de compilare in program</mesaj_eroare>
|
||||
<ce_inseamna>O procedura din baza de date lipseste sau e apelata gresit. Ca si ORA-00942, semnul unei actualizari incomplete.</ce_inseamna>
|
||||
<rezolvare>Nu se rezolva din aplicatie.</rezolvare>
|
||||
<ce_inseamna>Programul nu e adus la zi peste tot: o parte din el a fost actualizata, alta nu. Nu are legatura cu ce ai facut tu si nu apare din vina datelor tale.</ce_inseamna>
|
||||
<rezolvare>Nu se rezolva din aplicatie si nu ajuta sa incerci din nou. Pana se remediaza, poti lucra pe alte operatiuni.</rezolvare>
|
||||
<cand_suni_suportul>Intotdeauna. Trimite si o captura de ecran cu textul complet al erorii — contine numele procedurii, ceea ce scurteaza mult diagnosticul.</cand_suni_suportul>
|
||||
</eroare_ORA_06550>
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
<eroare_ORA_28000>
|
||||
<keywords>ORA-28000 the account is locked cont blocat</keywords>
|
||||
<mesaj_eroare>ORA-28000: the account is locked</mesaj_eroare>
|
||||
<ce_inseamna>Contul de acces la baza de date a fost blocat, de regula dupa mai multe incercari cu parola gresita.</ce_inseamna>
|
||||
<ce_inseamna>Accesul programului la date a fost blocat, de regula dupa mai multe incercari cu parola gresita. Se deblocheaza doar de catre echipa tehnica.</ce_inseamna>
|
||||
<rezolvare>Nu se rezolva din aplicatie si nu se rezolva incercand din nou — incercarile suplimentare nu ajuta.</rezolvare>
|
||||
<cand_suni_suportul>Imediat. Spune daca cineva a incercat sa se conecteze repetat inainte.</cand_suni_suportul>
|
||||
</eroare_ORA_28000>
|
||||
@@ -158,8 +158,8 @@
|
||||
<eroare_ORA_28001>
|
||||
<keywords>ORA-28001 the password has expired parola expirata</keywords>
|
||||
<mesaj_eroare>ORA-28001: the password has expired</mesaj_eroare>
|
||||
<ce_inseamna>Parola contului de baza de date a expirat.</ce_inseamna>
|
||||
<rezolvare>Nu incerca sa o schimbi din aplicatie.</rezolvare>
|
||||
<ce_inseamna>Parola cu care programul se conecteaza la date a expirat. Nu e parola ta de utilizator si nu tine de tine.</ce_inseamna>
|
||||
<rezolvare>Nu incerca sa o schimbi din aplicatie — se face de catre echipa tehnica.</rezolvare>
|
||||
<cand_suni_suportul>Imediat. E o operatiune de administrare.</cand_suni_suportul>
|
||||
</eroare_ORA_28001>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user