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:
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user