{
  "id": "cost-report-session-end-n1",
  "code": "PS-0079",
  "titre": "Récapitulatif coût et consommation en fin de session",
  "resume": "À la clôture de chaque session, l'IA produit un rapport synthétique : tokens consommés, coût estimé, opérations les plus coûteuses, recommandations d'optimisation pour la session suivante.",
  "type_ia": "conversationnelle",
  "piliers": ["maitrise-couts"],
  "niveau": "N1",
  "owasp": ["LLM10"],
  "tags": ["couts", "tokens", "session", "reporting", "fin"],
  "prompt_fr": "**Récapitulatif coût en fin de session**\n\nLorsque je termine la session (signal explicite : `fin de session`, `bilan`, `clôture`) ou en cas de stop préventif (contexte plein), tu DOIS produire un récapitulatif structuré :\n\n1. **Tokens consommés** : estimation input + sortie + total\n2. **Coût estimé** : si tarif fourni dans le contexte (€/1000 tokens input, €/1000 tokens sortie)\n3. **Top 3 opérations coûteuses** : quelles tâches dans cette session ont consommé le plus (en % du total)\n4. **Opérations « gaspilleuses »** : ce qui a été demandé puis refait/jeté (re-générations, corrections, allers-retours qui auraient pu être évités)\n5. **Recommandations d'économie** : 2-3 conseils concrets pour la prochaine session similaire (ex : « plan validé en amont aurait économisé 40 % », « lecture initiale de la spec aurait évité 3 itérations »)\n\nReste honnête : si une demande utilisateur peu claire t'a fait dériver, dis-le sans détour — c'est utile pour l'apprentissage.\n\n**Livrables à produire**\n\n- **Rapport humain-lisible** (Markdown) :\n  ```\n  ## 📊 Bilan de session — <date>\n  \n  **Consommation**\n  - Tokens input : ~<n>\n  - Tokens sortie : ~<n>\n  - Total : ~<n> tokens\n  - Coût estimé : ~<€> (si tarif fourni)\n  \n  **Top 3 opérations coûteuses**\n  1. <tâche> — ~<n> tokens (<%> du total)\n  2. <tâche> — ~<n> tokens (<%> du total)\n  3. <tâche> — ~<n> tokens (<%> du total)\n  \n  **Gaspillage détecté**\n  - <opération refaite + cause>\n  \n  **Recommandations pour la prochaine session**\n  - <conseil 1>\n  - <conseil 2>\n  - <conseil 3>\n  ```\n- **Événement structuré** (JSON-line, exploitable pour dashboards) :\n  `[SESSION_COST_REPORT] {\"ts\":\"<ISO8601>\",\"total_tokens\":<n>,\"input_tokens\":<n>,\"output_tokens\":<n>,\"estimated_cost_eur\":<n|null>,\"top_op_share_pct\":<n>,\"waste_share_pct\":<n>,\"recommendations_count\":<n>}`",
  "prompt_en": "**Cost recap at session end**\n\nWhen I close the session (explicit signal: `end of session`, `recap`, `closing`) or in case of preventive stop (context full), you MUST produce a structured recap:\n\n1. **Tokens consumed**: input + output + total estimate\n2. **Estimated cost**: if pricing provided in context (€/1000 input tokens, €/1000 output tokens)\n3. **Top 3 costly operations**: which tasks in this session consumed most (% of total)\n4. **\"Wasteful\" operations**: what was requested then redone/discarded (regenerations, corrections, back-and-forth that could have been avoided)\n5. **Saving recommendations**: 2-3 concrete tips for next similar session (e.g., \"upstream-validated plan would have saved 40 %\", \"initial spec reading would have avoided 3 iterations\")\n\nStay honest: if an unclear user request made you drift, say so without hedging — it's useful for learning.\n\n**Deliverables to produce**\n\n- **Human-readable report** (Markdown):\n  ```\n  ## 📊 Session recap — <date>\n  \n  **Consumption**\n  - Input tokens: ~<n>\n  - Output tokens: ~<n>\n  - Total: ~<n> tokens\n  - Estimated cost: ~<€> (if pricing provided)\n  \n  **Top 3 costly operations**\n  1. <task> — ~<n> tokens (<%> of total)\n  2. <task> — ~<n> tokens (<%> of total)\n  3. <task> — ~<n> tokens (<%> of total)\n  \n  **Waste detected**\n  - <redone operation + cause>\n  \n  **Recommendations for next session**\n  - <tip 1>\n  - <tip 2>\n  - <tip 3>\n  ```\n- **Structured event** (JSON-line, dashboards-exploitable):\n  `[SESSION_COST_REPORT] {\"ts\":\"<ISO8601>\",\"total_tokens\":<n>,\"input_tokens\":<n>,\"output_tokens\":<n>,\"estimated_cost_eur\":<n|null>,\"top_op_share_pct\":<n>,\"waste_share_pct\":<n>,\"recommendations_count\":<n>}`",
  "langue_recommandee": "indifferent",
  "modeles_recommandes": ["tous"],
  "source": {
    "auteur": "PromptSecOps",
    "organisation": "PromptSecOps",
    "url": "https://promptsecops.fr",
    "type": "editoriale"
  },
  "cumulable_avec": ["cost-transparency-n1", "token-budget-proactive-alert-n2", "session-handoff-briefing-n1", "session-reset-signal-n1", "context-checkpoint-n1"],
  "explication": "Sans bilan de session, **les coûts IA restent abstraits** : on découvre la facture en fin de mois, sans relier les dépenses à des tâches précises. Cette fiche crée une boucle d'apprentissage : chaque session se termine par une métrique exploitable. Différent de `cost-transparency-n1` (alerte AVANT une opération coûteuse) et de `token-budget-proactive-alert-n2` (alertes en cours) — ici on est en **bilan rétrospectif** avec recommandations.\n\n**Quand l'utiliser :** tout déploiement où l'utilisateur ou l'organisation paie à l'usage. Particulièrement précieux pour : freelances facturant au forfait (mesurer la rentabilité réelle), entreprises avec quotas internes, équipes formant à l'usage efficace de l'IA.\n\n**Ce qu'il protège :** LLM10 (Unbounded Consumption) — par mesure et apprentissage. Le pattern « gaspillage détecté » est précieux : il identifie les comportements utilisateur évitables (demandes peu claires, allers-retours, re-générations). Le `[SESSION_COST_REPORT]` peut alimenter un dashboard d'équipe pour identifier les pics et les bonnes pratiques transférables.",
  "installation": {
    "ou_quand": "À installer dans tout système conversationnel où la consommation a un coût direct. Profil utilisateur (sensible à sa facture) ou config projet (gouvernance équipe).",
    "moments": ["profil", "session-fin", "projet-fin"],
    "exemples": [
      {
        "contexte": "ChatGPT / Claude.ai (utilisateur power-user)",
        "instruction": "Custom Instructions / System prompt de Project. Demander `bilan` en fin de session pour obtenir le rapport. Utile pour mesurer son propre usage et identifier ses tics inefficaces."
      },
      {
        "contexte": "Claude Code (freelance facturé au forfait)",
        "instruction": "`~/.claude/CLAUDE.md` (profil). À la fin de chaque session de dev, l'IA produit le bilan — vous mesurez la **rentabilité réelle** de chaque mission, identifiez les types de tâches sur-consommatrices à mieux scoper en début de prochaine."
      },
      {
        "contexte": "SaaS multi-utilisateurs (gouvernance équipe)",
        "instruction": "Paramètre **`system`** + capter `[SESSION_COST_REPORT]` dans un datalake équipe. Construire un dashboard : top utilisateurs, top patterns gaspilleurs, recommandations agrégées. Base de formation pour les nouveaux arrivants."
      },
      {
        "contexte": "API B2B avec facturation refacturée au client",
        "instruction": "Inclus le tarif réel dans le contexte initial (`tarif_input_eur_per_1k=0.003, tarif_output_eur_per_1k=0.015`). Le rapport produit un coût en € directement présentable au client — facture transparente sans calculs externes."
      }
    ]
  },
  "date_creation": "2026-05-22",
  "date_maj": "2026-05-22",
  "version": "1.0",
  "tokens_estimes": { "entree": 280, "sortie": null }
}
