{
  "id": "chunked-data-processing-n2",
  "code": "PS-0067",
  "titre": "Traitement par lots pour les grands volumes de données",
  "resume": "Protocole de traitement séquentiel pour les données volumineuses : l'IA traite par segments définis, confirme sa progression et signale les anomalies, évitant les troncatures silencieuses ou les inférences non contrôlées.",
  "type_ia": "conversationnelle",
  "piliers": [
    "securite-productions",
    "maitrise-couts"
  ],
  "niveau": "N2",
  "owasp": [
    "LLM10",
    "LLM09"
  ],
  "tags": [
    "données",
    "batch",
    "traitement",
    "volume",
    "chunks",
    "csv",
    "dataset"
  ],
  "prompt_fr": "Ce contexte contient un volume de données important. Applique le protocole de traitement par lots suivant.\n\n**Règles**\n- Traite les données par segments de [N] éléments maximum à la fois.\n- À la fin de chaque segment : confirme le nombre d'éléments traités, signale les anomalies détectées, et indique « SEGMENT TERMINÉ — prêt pour la suite ».\n- Ne résume pas et n'infère pas les données non encore traitées.\n- Si une donnée est manquante, ambiguë ou hors format : marque-la `[À VÉRIFIER]` plutôt que de l'estimer.\n- En fin de traitement complet : produis un récapitulatif chiffré avec le taux d'anomalies.\n\n**État courant** : segment [X] sur [Y] — [Z] éléments traités au total\n\n**Livrables à produire**\n- **Confirmation par segment** :\n  ```\n  ## Segment X/Y\n  Éléments traités : <n>\n  Anomalies : <liste avec [À VÉRIFIER]>\n  SEGMENT TERMINÉ — prêt pour la suite\n  ```\n- **Événement par segment** (JSON-line) :\n  `[CHUNK_PROCESSED] {\"ts\":\"<ISO8601>\",\"segment\":<x>,\"total\":<y>,\"items\":<n>,\"anomalies\":<n>,\"to_verify\":<n>}`\n- **Récapitulatif final** :\n  ```\n  ## Récapitulatif global\n  Total traité : <n> / <attendu>\n  Anomalies : <n> (<taux %>)\n  À vérifier : <n>\n  ```",
  "prompt_en": "This context contains a large volume of data. Apply the following batch processing protocol.\n\n**Rules**\n- Process data in segments of [N] elements maximum at a time.\n- At the end of each segment: confirm the number of elements processed, report detected anomalies, and state \"SEGMENT COMPLETE — ready to continue\".\n- Do not summarize or infer data not yet processed.\n- If a data point is missing, ambiguous, or out-of-format: mark it `[TO VERIFY]` rather than estimating it.\n- At the end of full processing: produce a numerical summary with anomaly rate.\n\n**Current state**: segment [X] of [Y] — [Z] total elements processed\n\n**Deliverables to produce**\n- **Per-segment confirmation**:\n  ```\n  ## Segment X/Y\n  Items processed: <n>\n  Anomalies: <list with [TO VERIFY]>\n  SEGMENT COMPLETE — ready to continue\n  ```\n- **Per-segment event** (JSON-line):\n  `[CHUNK_PROCESSED] {\"ts\":\"<ISO8601>\",\"segment\":<x>,\"total\":<y>,\"items\":<n>,\"anomalies\":<n>,\"to_verify\":<n>}`\n- **Final summary**:\n  ```\n  ## Global summary\n  Total processed: <n> / <expected>\n  Anomalies: <n> (<rate %>)\n  To verify: <n>\n  ```",
  "langue_recommandee": "indifferent",
  "modeles_recommandes": [
    "claude-sonnet",
    "gpt-4o"
  ],
  "source": {
    "auteur": "PromptSecOps",
    "organisation": "PromptSecOps",
    "url": null,
    "type": "editoriale"
  },
  "cumulable_avec": [
    "statistical-uncertainty-declaration-n1",
    "token-budget-advanced-n2",
    "context-summarization-n2"
  ],
  "explication": "Les LLM tronquent silencieusement les données qui dépassent leur fenêtre de contexte, ou interpolent des valeurs manquantes sans le signaler. Sur un grand jeu de données, cela peut introduire des erreurs systématiques invisibles. Ce protocole impose un traitement séquentiel tracé : chaque segment est traité, confirmé et signé avant de passer au suivant. Les anomalies sont marquées explicitement plutôt qu'estimées, et l'état de progression est toujours visible.",
  "installation": {
    "ou_quand": "À installer dans tout assistant qui traite des datasets volumineux (CSV, JSON, logs). Utilisable comme **prompt de session** ou en **system prompt** d'un Custom GPT/Project dédié au traitement de données.",
    "moments": [
      "session-debut",
      "projet-debut"
    ],
    "exemples": [
      {
        "contexte": "ChatGPT / Claude.ai (analyste data)",
        "instruction": "Coller en début de session quand on charge un gros fichier. Pour usage récurrent, créer un **Projet** dédié avec ce prompt en Custom Instructions."
      },
      {
        "contexte": "Claude Code (data engineering)",
        "instruction": "`./CLAUDE.md` du projet data. Particulièrement utile pour les scripts qui itèrent sur des datasets volumineux — évite que Claude résume au lieu de traiter."
      },
      {
        "contexte": "API (pipeline batch)",
        "instruction": "Paramètre **`system`** + orchestration côté code : envoyer les segments un à un. Capturer `[CHUNK_PROCESSED]` pour mesurer la progression et alerter sur anomalies."
      },
      {
        "contexte": "Custom GPT « Dataset Processor »",
        "instruction": "**Custom GPT → Instructions**. Indiquer aux utilisateurs que ce GPT traite par segments, pas en bloc."
      }
    ]
  },
  "date_creation": "2026-05-18",
  "date_maj": "2026-05-22",
  "version": "1.1",
  "tokens_estimes": {
    "entree": 200,
    "sortie": null
  },
  "changelog": [
    {
      "date": "2026-05-18",
      "version": "1.0",
      "summary": "Création de la fiche"
    },
    {
      "date": "2026-05-22",
      "version": "1.1",
      "summary": "Mise à jour éditoriale"
    }
  ]
}
