improve(email): rewrite digest prompt for context-aware summaries

Rigid bullet schema worked for event emails but stripped all
narrative context from argumentative/organizational messages.
New prompt adapts structure to email type and prioritizes
completeness over brevity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 20:33:34 +00:00
parent 30678e6abf
commit eb693a2e71

View File

@@ -35,35 +35,27 @@ def generate_summary(filepath: str, subject: str, from_full: str, date: str) ->
except Exception as e:
return f"[Eroare la citirea fișierului: {e}]"
prompt = f"""Mai jos este conținutul unui email. Generează un rezumat pentru WhatsApp.
prompt = f"""Mai jos este conținutul unui email. Scrie un rezumat pentru WhatsApp care să transmită fidel esența mesajului.
EMAIL:
{email_content}
Format obligatoriu (plain text, fără markdown):
Instrucțiuni:
- Începe cu header-ul fix (fără modificări):
SUBIECT: {subject}
De la: {from_full}
Primit: {date}
---
[Rezumat compact dar complet — include TOATE detaliile importante:
- ce se întâmplă / despre ce e vorba
- cine organizează / cine trimite
- când (date, deadline-uri, perioade)
- unde (locație dacă există)
- ce trebuie să facă cititorul (acțiune clară)
- condiții de participare (vârstă, criterii etc.) dacă există
- ce este inclus/oferit dacă e relevant
Fiecare punct pe linie separată. Fără redundanță, fără filler.]
LINKURI:
[Listează TOATE linkurile acționabile: formulare, înscrieri, site-uri, documente, social media]
[Format: "Descriere scurtă: https://..." — câte un link per linie]
[Dacă nu există linkuri, omite secțiunea]
[Semnătura expeditorului din email pe ultima linie după —]
Fără emoji dacă nu sunt în original. Răspunde DOAR cu rezumatul, nimic altceva."""
- După header, scrie rezumatul adaptat la tipul emailului:
* Dacă e o comunicare organizațională, dezbatere sau poziție — păstrează firul argumentativ, pozițiile exprimate, contextul și mizele. Nu reduce totul la bullet-uri seci. Un paragraf coerent e mai bun decât o listă fără context.
* Dacă e un eveniment sau invitație — include: ce, când, unde, cine organizează, ce trebuie să facă cititorul.
* Dacă e o notificare sau actualizare — ce s-a schimbat și ce impact are.
- Păstrează detaliile care contează: cine susține, ce s-a propus, care e miza, ce acțiune se cere.
- Nu omite informații importante în numele conciziei. Mai bine mai lung și complet decât scurt și gol de context.
- Dacă există linkuri acționabile (formulare, documente, comparații), adaugă o secțiune LINKURI la final.
- Nu adăuga secțiuni goale sau care nu se aplică emailului.
- Plain text, fără markdown. Fără emoji dacă nu sunt în original.
- Răspunde DOAR cu rezumatul, nimic altceva."""
result = subprocess.run(
["claude", "--print", prompt],