Aller au contenu
en ce moment

Benchmarks

Test de 7 modèles d’IA : Claude Opus 5, GPT-6 Astra, Gemini 3.1

7 modèles d'IA testés sur 4 tâches identiques : édition de texte, extraction de tableau PDF, génération de code Python et fenêtre de contexte.

Par 15 min de lecture
Test de 7 modèles d’IA : Claude Opus 5, GPT-6 Astra, Gemini 3.1

Mise à jour (9 novembre 2026) : Claude Fable 5.2 et Mythos 5.2 sont sortis - prix, accès et benchmarks dans mon guide Claude Fable 5.2.

👁 117 lectures

Cet article est l’enregistrement brut d’une exécution du protocole de test Promptif (v1 du 16.09.2026). Chacun des 7 modèles a reçu des prompts identiques dans le même ordre, température 0, un seul appel par tâche, sans nouvelle tentative après une mauvaise réponse. L’évaluation est faite par PHP, pas par un autre modèle : comparaison de nombres, de cellules de tableau et exécution de code sur des vecteurs fixes. Ci-dessous le tableau récapitulatif, puis chaque tâche avec le prompt complet et la réponse brute de chaque modèle. Les échecs, réponses vides et dépassements de temps restent dans le tableau.

Date d’exécution : 16.09.2026 (début 2026-09-16 20:19:01, fin 2026-09-16 20:45:03, heure serveur). Modèles appelés via OpenRouter ; dans le tableau nous indiquons l’identifiant retourné par l’API, pas le nom marketing. Toutes les exécutions : catégorie Tests.

Modèle Édition sans modifier les nombres Tableau PDF vers JSON Code : validateur PESEL avec tests Contexte (aiguille dans une botte de foin)
Claude Opus 5anthropic/claude-opus-5 réussi6.2 s 8/8 lignes5 s 10/10 vecteurs8 s erreur @8k - erreur @32k - 1/1 @128k
GPT-6 Astraopenai/gpt-6-astra réussi4.9 s 8/8 lignes7.4 s 10/10 vecteurs17.4 s hors test de contexte
Gemini 3.1 Progoogle/gemini-3.1-pro-preview réussi19 s 8/8 lignes16.8 s 10/10 vecteurs17 s hors test de contexte
Kimi K3moonshotai/kimi-k3 réussi59.3 s 8/8 lignes8.6 s 10/10 vecteurs155.1 s 2/2 @8k - 2/2 @32k - 2/2 @128k
DeepSeek V4 Prodeepseek/deepseek-v4-pro réussi40.2 s 8/8 lignes24.5 s pas de réponse170 s 2/2 @8k - 2/2 @32k - 2/2 @128k
Grok 4.6x-ai/grok-4.6 réussi27.9 s 8/8 lignes32 s 10/10 vecteurs45.8 s hors test de contexte
Qwen 3.8 Maxqwen/qwen3.8-max-0902 réussi105.8 s 8/8 lignes40.9 s pas de réponse170 s hors test de contexte

La colonne « Contexte » est importée d’un test hebdomadaire séparé de la fenêtre de contexte (exécution 2026-09-14 06:43:32) : réussites/tentatives à 8, 32 et 128 mille tokens. Ce test couvre un ensemble différent de modèles (notamment GPT-5.6 Terra), c’est pourquoi certaines cellules sont vides. L’entrée « erreur » signifie que l’appel n’a pas retourné de réponse.

Édition sans modifier les nombres

Le modèle reçoit un texte administratif avec trois fautes de frappe et des tournures lourdes. Il doit corriger le style et les fautes sans toucher à aucun nombre, date ou heure. L’évaluateur compare le multi-ensemble de nombres dans l’original et dans la réponse, vérifie les trois fautes et le format (texte seul, sans titres ni listes).

Prompt complet (identique pour chaque modèle)
Corrige le texte suivant en termes de style et de fautes : supprime les tournures administratives, corrige les erreurs et fautes de frappe, conserve le sens et toutes les informations.

RÈGLES :
- ne modifie aucun nombre, date ou heure ni leur notation (les chiffres restent des chiffres, ne transforme pas les nombres en mots, n'ajoute pas de nouveaux nombres, ne supprime pas ceux qui existent),
- n'ajoute pas de titres, listes, commentaires ou explications,
- retourne uniquement le texte corrigé en un ou deux paragraphes.

TEXTE :
W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebódowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. W chwili obecnej radni zaplanowali na 2026 rok kwotę 16 mln zł, jednak skarbnik ostrzga, że przy inflacji na poziomie 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkanca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest dokonanie ustalenia priorytetów na kolejne 4 lata.
Claude Opus 5 réussi6.2 s

Modèle selon API : anthropic/claude-opus-5 - fournisseur Claude Platform on AWS - temps 6.2 s - tokens 604 entr. / 441 sort. - finish: stop - 2026-09-16 20:19:11

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 98% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Obecnie radni zaplanowali na 2026 rok kwotę 16 mln zł, jednak skarbnik ostrzega, że przy inflacji na poziomie 4,7% realna wartość tej kwoty będzie niższa.

W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest ustalenie priorytetów na kolejne 4 lata.
GPT-6 Astra réussi4.9 s

Modèle selon API : openai/gpt-6-astra - fournisseur OpenAI - temps 4.9 s - tokens 398 entr. / 249 sort. - finish: stop - 2026-09-16 20:44:55

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 98% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Radni zaplanowali na 2026 rok wydatki w wysokości 16 mln zł, jednak skarbnik ostrzega, że przy inflacji na poziomie 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków na drogi. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1. Ich celem jest ustalenie priorytetów na kolejne 4 lata.
Gemini 3.1 Pro réussi19 s

Modèle selon API : google/gemini-3.1-pro-preview - fournisseur Google - temps 19 s - tokens 387 entr. / 2705 sort. - finish: stop - 2026-09-16 20:19:31

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 97% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Obecnie radni zaplanowali na 2026 rok kwotę 16 mln zł, jednak skarbnik ostrzega, że przy inflacji na poziomie 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest ustalenie priorytetów na kolejne 4 lata.
Kimi K3 réussi59.3 s

Modèle selon API : moonshotai/kimi-k3 - fournisseur DigitalOcean - temps 59.3 s - tokens 580 entr. / 1594 sort. - finish: stop - 2026-09-16 20:20:30

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 94% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Na 2026 rok radni zaplanowali 16 mln zł, jednak skarbnik ostrzega, że przy inflacji 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest ustalenie priorytetów na kolejne 4 lata.
DeepSeek V4 Pro réussi40.2 s

Modèle selon API : deepseek/deepseek-v4-pro - fournisseur StreamLake - temps 40.2 s - tokens 412 entr. / 2145 sort. - finish: stop - 2026-09-16 20:22:18

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 96% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Obecnie radni zaplanowali na 2026 rok kwotę 16 mln zł, jednak skarbnik ostrzega, że przy inflacji 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest ustalenie priorytetów na kolejne 4 lata.
Grok 4.6 réussi27.9 s

Modèle selon API : x-ai/grok-4.6 - fournisseur xAI - temps 27.9 s - tokens 565 entr. / 1724 sort. - finish: stop - 2026-09-16 20:22:46

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 97% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Obecnie radni zaplanowali na 2026 rok kwotę 16 mln zł, jednak skarbnik ostrzega, że przy inflacji na poziomie 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, a ich celem jest ustalenie priorytetów na kolejne 4 lata.
Qwen 3.8 Max réussi105.8 s

Modèle selon API : qwen/qwen3.8-max-0902 - fournisseur Alibaba - temps 105.8 s - tokens 454 entr. / 5173 sort. - finish: stop - 2026-09-16 20:24:31

  • Nombres : tous les 18 conservés à l’identique.
  • Fautes : toutes les 3 corrigées.
  • Format : texte seul, longueur 92% de l’original.

Réponse brute :

W 2025 roku gmina Lipowo wydała na remonty dróg 14,3 mln zł, czyli o 2,1 mln zł więcej niż rok wcześniej. Najdroższa okazała się przebudowa ulicy Długiej, która kosztowała 3 850 000 zł za odcinek 1,8 km. Radni zaplanowali na 2026 rok 16 mln zł, jednak skarbnik ostrzega, że przy inflacji 4,7% realna wartość tej kwoty będzie niższa. W gminie mieszka 12 480 osób, a zarejestrowanych samochodów jest 7 912, więc na jednego mieszkańca przypada 1 146 zł wydatków drogowych. Konsultacje społeczne w tej sprawie odbędą się 21 października 2026 roku o godzinie 17:30 w sali nr 3 urzędu gminy przy ulicy Rynek 1, aby ustalić priorytety na kolejne 4 lata.

Tableau PDF vers JSON

Le modèle reçoit la couche texte d’un tarif PDF : deux lignes avec le nom reporté à la ligne suivante, une ligne sans données (tirets), un service exonéré de TVA avec astérisque et note de bas de page. Il doit retourner 8 lignes en JSON. L’évaluateur compare chaque cellule avec la valeur attendue ; une ligne ne compte que dans son intégralité.

Prompt complet (identique pour chaque modèle)
Ci-dessous le texte extrait d'un fichier PDF (couche texte, colonnes séparées par des espaces, certains noms reportés à la ligne suivante).

Retourne UNIQUEMENT du JSON : un tableau de 8 objets avec les clés :
- "lp" (nombre entier),
- "usluga" (nom complet du service, y compris la partie reportée à la ligne suivante, sans astérisque),
- "netto" (nombre ou null si absent),
- "vat" (taux en nombre, par ex. 23 ; texte "zw." pour service exonéré ; null si absent),
- "brutto" (nombre ou null si absent).
Sans commentaires, sans markdown, sans texte en dehors du JSON.

TEXTE DU PDF :
CENNIK USŁUG SERWISOWYCH                          obowiązuje od 1.03.2026

Lp.  Usługa                                  Cena netto   VAT    Cena brutto
1    Diagnostyka komputera                       120,00   23%        147,60
2    Wymiana dysku SSD (bez części)              180,00   23%        221,40
3    Instalacja systemu operacyjnego             150,00   23%        184,50
4    Czyszczenie laptopa z wymianą
     pasty termoprzewodzącej                     210,00   23%        258,30
5    Odzyskiwanie danych (wycena
     indywidualna) - - - 
6    Konfiguracja routera                         90,00   23%        110,70
7    Szkolenie z obsługi (1 godz.)*              100,00   zw.        100,00
8    Dojazd do klienta (za km)                     2,50   23%          3,08

* usługa zwolniona z VAT na podstawie art. 43 ust. 1 pkt 29 ustawy
Claude Opus 5 8/8 lignes5 s

Modèle selon API : anthropic/claude-opus-5 - fournisseur Claude Platform on AWS - temps 5 s - tokens 660 entr. / 427 sort. - finish: stop - 2026-09-16 20:25:42

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[{"lp":1,"usluga":"Diagnostyka komputera","netto":120.00,"vat":23,"brutto":147.60},{"lp":2,"usluga":"Wymiana dysku SSD (bez części)","netto":180.00,"vat":23,"brutto":221.40},{"lp":3,"usluga":"Instalacja systemu operacyjnego","netto":150.00,"vat":23,"brutto":184.50},{"lp":4,"usluga":"Czyszczenie laptopa z wymianą pasty termoprzewodzącej","netto":210.00,"vat":23,"brutto":258.30},{"lp":5,"usluga":"Odzyskiwanie danych (wycena indywidualna)","netto":null,"vat":null,"brutto":null},{"lp":6,"usluga":"Konfiguracja routera","netto":90.00,"vat":23,"brutto":110.70},{"lp":7,"usluga":"Szkolenie z obsługi (1 godz.)","netto":100.00,"vat":"zw.","brutto":100.00},{"lp":8,"usluga":"Dojazd do klienta (za km)","netto":2.50,"vat":23,"brutto":3.08}]
GPT-6 Astra 8/8 lignes7.4 s

Modèle selon API : openai/gpt-6-astra - fournisseur OpenAI - temps 7.4 s - tokens 490 entr. / 450 sort. - finish: stop - 2026-09-16 20:45:03

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[
  {
    "lp": 1,
    "usluga": "Diagnostyka komputera",
    "netto": 120.00,
    "vat": 23,
    "brutto": 147.60
  },
  {
    "lp": 2,
    "usluga": "Wymiana dysku SSD (bez części)",
    "netto": 180.00,
    "vat": 23,
    "brutto": 221.40
  },
  {
    "lp": 3,
    "usluga": "Instalacja systemu operacyjnego",
    "netto": 150.00,
    "vat": 23,
    "brutto": 184.50
  },
  {
    "lp": 4,
    "usluga": "Czyszczenie laptopa z wymianą pasty termoprzewodzącej",
    "netto": 210.00,
    "vat": 23,
    "brutto": 258.30
  },
  {
    "lp": 5,
    "usluga": "Odzyskiwanie danych (wycena indywidualna)",
    "netto": null,
    "vat": null,
    "brutto": null
  },
  {
    "lp": 6,
    "usluga": "Konfiguracja routera",
    "netto": 90.00,
    "vat": 23,
    "brutto": 110.70
  },
  {
    "lp": 7,
    "usluga": "Szkolenie z obsługi (1 godz.)",
    "netto": 100.00,
    "vat": "zw.",
    "brutto": 100.00
  },
  {
    "lp": 8,
    "usluga": "Dojazd do klienta (za km)",
    "netto": 2.50,
    "vat": 23,
    "brutto": 3.08
  }
]
Gemini 3.1 Pro 8/8 lignes16.8 s

Modèle selon API : google/gemini-3.1-pro-preview - fournisseur Google - temps 16.8 s - tokens 504 entr. / 2440 sort. - finish: stop - 2026-09-16 20:26:00

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[
  {
    "lp": 1,
    "usluga": "Diagnostyka komputera",
    "netto": 120.00,
    "vat": 23,
    "brutto": 147.60
  },
  {
    "lp": 2,
    "usluga": "Wymiana dysku SSD (bez części)",
    "netto": 180.00,
    "vat": 23,
    "brutto": 221.40
  },
  {
    "lp": 3,
    "usluga": "Instalacja systemu operacyjnego",
    "netto": 150.00,
    "vat": 23,
    "brutto": 184.50
  },
  {
    "lp": 4,
    "usluga": "Czyszczenie laptopa z wymianą pasty termoprzewodzącej",
    "netto": 210.00,
    "vat": 23,
    "brutto": 258.30
  },
  {
    "lp": 5,
    "usluga": "Odzyskiwanie danych (wycena indywidualna)",
    "netto": null,
    "vat": null,
    "brutto": null
  },
  {
    "lp": 6,
    "usluga": "Konfiguracja routera",
    "netto": 90.00,
    "vat": 23,
    "brutto": 110.70
  },
  {
    "lp": 7,
    "usluga": "Szkolenie z obsługi (1 godz.)",
    "netto": 100.00,
    "vat": "zw.",
    "brutto": 100.00
  },
  {
    "lp": 8,
    "usluga": "Dojazd do klienta (za km)",
    "netto": 2.50,
    "vat": 23,
    "brutto": 3.08
  }
]
Kimi K3 8/8 lignes8.6 s

Modèle selon API : moonshotai/kimi-k3 - fournisseur Together - temps 8.6 s - tokens 634 entr. / 1050 sort. - finish: stop - 2026-09-16 20:26:09

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[{"lp":1,"usluga":"Diagnostyka komputera","netto":120.00,"vat":23,"brutto":147.60},{"lp":2,"usluga":"Wymiana dysku SSD (bez części)","netto":180.00,"vat":23,"brutto":221.40},{"lp":3,"usluga":"Instalacja systemu operacyjnego","netto":150.00,"vat":23,"brutto":184.50},{"lp":4,"usluga":"Czyszczenie laptopa z wymianą pasty termoprzewodzącej","netto":210.00,"vat":23,"brutto":258.30},{"lp":5,"usluga":"Odzyskiwanie danych (wycena indywidualna)","netto":null,"vat":null,"brutto":null},{"lp":6,"usluga":"Konfiguracja routera","netto":90.00,"vat":23,"brutto":110.70},{"lp":7,"usluga":"Szkolenie z obsługi (1 godz.)","netto":100.00,"vat":"zw.","brutto":100.00},{"lp":8,"usluga":"Dojazd do klienta (za km)","netto":2.50,"vat":23,"brutto":3.08}]
DeepSeek V4 Pro 8/8 lignes24.5 s

Modèle selon API : deepseek/deepseek-v4-pro - fournisseur Baidu - temps 24.5 s - tokens 479 entr. / 1876 sort. - finish: stop - 2026-09-16 20:26:33

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[
  {
    "lp": 1,
    "usluga": "Diagnostyka komputera",
    "netto": 120,
    "vat": 23,
    "brutto": 147.6
  },
  {
    "lp": 2,
    "usluga": "Wymiana dysku SSD (bez części)",
    "netto": 180,
    "vat": 23,
    "brutto": 221.4
  },
  {
    "lp": 3,
    "usluga": "Instalacja systemu operacyjnego",
    "netto": 150,
    "vat": 23,
    "brutto": 184.5
  },
  {
    "lp": 4,
    "usluga": "Czyszczenie laptopa z wymianą pasty termoprzewodzącej",
    "netto": 210,
    "vat": 23,
    "brutto": 258.3
  },
  {
    "lp": 5,
    "usluga": "Odzyskiwanie danych (wycena indywidualna)",
    "netto": null,
    "vat": null,
    "brutto": null
  },
  {
    "lp": 6,
    "usluga": "Konfiguracja routera",
    "netto": 90,
    "vat": 23,
    "brutto": 110.7
  },
  {
    "lp": 7,
    "usluga": "Szkolenie z obsługi (1 godz.)",
    "netto": 100,
    "vat": "zw.",
    "brutto": 100
  },
  {
    "lp": 8,
    "usluga": "Dojazd do klienta (za km)",
    "netto": 2.5,
    "vat": 23,
    "brutto": 3.08
  }
]
Grok 4.6 8/8 lignes32 s

Modèle selon API : x-ai/grok-4.6 - fournisseur xAI - temps 32 s - tokens 671 entr. / 2378 sort. - finish: stop - 2026-09-16 20:27:05

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[{"lp":1,"usluga":"Diagnostyka komputera","netto":120,"vat":23,"brutto":147.6},{"lp":2,"usluga":"Wymiana dysku SSD (bez części)","netto":180,"vat":23,"brutto":221.4},{"lp":3,"usluga":"Instalacja systemu operacyjnego","netto":150,"vat":23,"brutto":184.5},{"lp":4,"usluga":"Czyszczenie laptopa z wymianą pasty termoprzewodzącej","netto":210,"vat":23,"brutto":258.3},{"lp":5,"usluga":"Odzyskiwanie danych (wycena indywidualna)","netto":null,"vat":null,"brutto":null},{"lp":6,"usluga":"Konfiguracja routera","netto":90,"vat":23,"brutto":110.7},{"lp":7,"usluga":"Szkolenie z obsługi (1 godz.)","netto":100,"vat":"zw.","brutto":100},{"lp":8,"usluga":"Dojazd do klienta (za km)","netto":2.5,"vat":23,"brutto":3.08}]
Qwen 3.8 Max 8/8 lignes40.9 s

Modèle selon API : qwen/qwen3.8-max-0902 - fournisseur Alibaba - temps 40.9 s - tokens 582 entr. / 2013 sort. - finish: stop - 2026-09-16 20:27:46

  • Toutes les 8 lignes conformes au tableau, y compris les noms coupés dans le PDF et la ligne sans données.

Réponse brute :

[
  {
    "lp": 1,
    "usluga": "Diagnostyka komputera",
    "netto": 120.00,
    "vat": 23,
    "brutto": 147.60
  },
  {
    "lp": 2,
    "usluga": "Wymiana dysku SSD (bez części)",
    "netto": 180.00,
    "vat": 23,
    "brutto": 221.40
  },
  {
    "lp": 3,
    "usluga": "Instalacja systemu operacyjnego",
    "netto": 150.00,
    "vat": 23,
    "brutto": 184.50
  },
  {
    "lp": 4,
    "usluga": "Czyszczenie laptopa z wymianą pasty termoprzewodzącej",
    "netto": 210.00,
    "vat": 23,
    "brutto": 258.30
  },
  {
    "lp": 5,
    "usluga": "Odzyskiwanie danych (wycena indywidualna)",
    "netto": null,
    "vat": null,
    "brutto": null
  },
  {
    "lp": 6,
    "usluga": "Konfiguracja routera",
    "netto": 90.00,
    "vat": 23,
    "brutto": 110.70
  },
  {
    "lp": 7,
    "usluga": "Szkolenie z obsługi (1 godz.)",
    "netto": 100.00,
    "vat": "zw.",
    "brutto": 100.00
  },
  {
    "lp": 8,
    "usluga": "Dojazd do klienta (za km)",
    "netto": 2.50,
    "vat": 23,
    "brutto": 3.08
  }
]

Code : validateur PESEL avec tests

Le modèle écrit une fonction Python validant un PESEL (somme de contrôle, codage du siècle dans le mois, validité de la date, sexe). Le code est exécuté dans un bac à sable externe (Compiler Explorer, Python 3.12) sur 10 vecteurs : 5 numéros valides de différents siècles et 5 pièges (mauvaise somme, 31 février, 10 caractères, lettre, chaîne vide). Le résultat est le nombre de vecteurs réussis. Nous avons testé en polonais.

Prompt complet (identique pour chaque modèle)
Écris en Python 3 une fonction waliduj_pesel(pesel: str) -> dict.

Exigences :
- l'entrée est une chaîne quelconque ; un PESEL valide a exactement 11 chiffres,
- somme de contrôle : poids 1,3,7,9,1,3,7,9,1,3 pour les 10 premiers chiffres ; chiffre de contrôle = (10 - somme mod 10) mod 10 et doit être égal au 11e chiffre,
- siècle codé dans le mois : 1800-1899 mois + 80, 1900-1999 sans changement, 2000-2099 mois + 20, 2100-2199 mois + 40, 2200-2299 mois + 60,
- la date doit être une date calendaire valide (par ex. 31 février est invalide),
- sexe du 10e chiffre : pair = 'K', impair = 'M'.

Dictionnaire retourné : {'poprawny': bool, 'data_urodzenia': 'AAAA-MM-JJ' ou None, 'plec': 'K'/'M' ou None}. Pour un numéro invalide : {'poprawny': False, 'data_urodzenia': None, 'plec': None}. La fonction ne doit lever aucune exception pour aucune entrée.

Retourne UNIQUEMENT le code Python (sans markdown, sans discussion). N'ajoute pas de code exécutant la fonction.
10 vecteurs de test (le modèle ne les voit pas)
  • 85031212305 → {« poprawny »:true, »data_urodzenia »: »1985-03-12″, »plec »: »K »}
  • 04313004573 → {« poprawny »:true, »data_urodzenia »: »2004-11-30″, »plec »: »M »}
  • 71123199937 → {« poprawny »:true, »data_urodzenia »: »1971-12-31″, »plec »: »M »}
  • 00222900702 → {« poprawny »:true, »data_urodzenia »: »2000-02-29″, »plec »: »K »}
  • 99870432158 → {« poprawny »:true, »data_urodzenia »: »1899-07-04″, »plec »: »M »}
  • 85031212306 → {« poprawny »:false, »data_urodzenia »:null, »plec »:null}
  • 00223100705 → {« poprawny »:false, »data_urodzenia »:null, »plec »:null}
  • 8503121230 → {« poprawny »:false, »data_urodzenia »:null, »plec »:null}
  • 85031212a05 → {« poprawny »:false, »data_urodzenia »:null, »plec »:null}
  • (vide) → {« poprawny »:false, »data_urodzenia »:null, »plec »:null}
Claude Opus 5 10/10 vecteurs8 s

Modèle selon API : anthropic/claude-opus-5 - fournisseur Claude Platform on AWS - temps 8 s - tokens 541 entr. / 741 sort. - finish: stop - 2026-09-16 20:28:33

  • Tous les 10 vecteurs réussis, y compris 31 février avec somme de contrôle correcte et année 1899.

Réponse brute :

```python
import datetime


def waliduj_pesel(pesel: str) -> dict:
    niepoprawny = {'poprawny': False, 'data_urodzenia': None, 'plec': None}

    try:
        if not isinstance(pesel, str):
            return niepoprawny

        if len(pesel) != 11:
            return niepoprawny

        if not all('0' <= znak <= '9' for znak in pesel):
            return niepoprawny

        cyfry = [ord(znak) - 48 for znak in pesel]

        wagi = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3)
        suma = sum(w * c for w, c in zip(wagi, cyfry[:10]))
        if (10 - suma % 10) % 10 != cyfry[10]:
            return niepoprawny

        rr = cyfry[0] * 10 + cyfry[1]
        mm = cyfry[2] * 10 + cyfry[3]
        dd = cyfry[4] * 10 + cyfry[5]

        if 1 <= mm <= 12:
            wiek = 1900
            miesiac = mm
        elif 21 <= mm <= 32:
            wiek = 2000
            miesiac = mm - 20
        elif 41 <= mm <= 52:
            wiek = 2100
            miesiac = mm - 40
        elif 61 <= mm <= 72:
            wiek = 2200
            miesiac = mm - 60
        elif 81 <= mm <= 92:
            wiek = 1800
            miesiac = mm - 80
        else:
            return niepoprawny

        rok = wiek + rr

        try:
            data = datetime.date(rok, miesiac, dd)
        except ValueError:
            return niepoprawny

        plec = 'K' if cyfry[9] % 2 == 0 else 'M'

        return {
            'poprawny': True,
            'data_urodzenia': '{:04d}-{:02d}-{:02d}'.format(data.year, data.month, data.day),
            'plec': plec,
        }
    except Exception:
        return {'poprawny': False, 'data_urodzenia': None, 'plec': None}
GPT-6 Astra 10/10 vecteurs17.4 s

Modèle selon API : openai/gpt-6-astra - fournisseur OpenAI - temps 17.4 s - tokens 366 entr. / 602 sort. - finish: stop - 2026-09-16 20:28:51

  • Tous les 10 vecteurs réussis, y compris 31 février avec somme de contrôle correcte et année 1899.

Réponse brute :

from datetime import date


def waliduj_pesel(pesel: str) -> dict:
    niepoprawny = {
        "poprawny": False,
        "data_urodzenia": None,
        "plec": None,
    }

    try:
        if not isinstance(pesel, str) or len(pesel) != 11:
            return niepoprawny
        if any(znak not in "0123456789" for znak in pesel):
            return niepoprawny

        cyfry = [int(znak) for znak in pesel]
        wagi = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3)
        suma = sum(cyfra * waga for cyfra, waga in zip(cyfry[:10], wagi))
        if (10 - suma % 10) % 10 != cyfry[10]:
            return niepoprawny

        rok = cyfry[0] * 10 + cyfry[1]
        miesiac = cyfry[2] * 10 + cyfry[3]
        dzien = cyfry[4] * 10 + cyfry[5]

        if 1 <= miesiac <= 12:
            rok += 1900
        elif 21 <= miesiac <= 32:
            rok += 2000
            miesiac -= 20
        elif 41 <= miesiac <= 52:
            rok += 2100
            miesiac -= 40
        elif 61 <= miesiac <= 72:
            rok += 2200
            miesiac -= 60
        elif 81 <= miesiac <= 92:
            rok += 1800
            miesiac -= 80
        else:
            return niepoprawny

        data_urodzenia = date(rok, miesiac, dzien)

        return {
            "poprawny": True,
            "data_urodzenia": data_urodzenia.isoformat(),
            "plec": "K" if cyfry[9] % 2 == 0 else "M",
        }
    except Exception:
        return niepoprawny
Gemini 3.1 Pro 10/10 vecteurs17 s

Modèle selon API : google/gemini-3.1-pro-preview - fournisseur Google - temps 17 s - tokens 403 entr. / 2532 sort. - finish: stop - 2026-09-16 20:29:09

  • Tous les 10 vecteurs réussis, y compris 31 février avec somme de contrôle correcte et année 1899.

Réponse brute :

import datetime

def waliduj_pesel(pesel: str) -> dict:
    wynik_bledny = {'poprawny': False, 'data_urodzenia': None, 'plec': None}
    
    if not isinstance(pesel, str) or len(pesel) != 11 or not pesel.isdigit():
        return wynik_bledny
        
    wagi = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3]
    suma = sum(int(pesel[i]) * wagi[i] for i in range(10))
    cyfra_kontrolna = (10 - (suma % 10)) % 10
    
    if cyfra_kontrolna != int(pesel[10]):
        return wynik_bledny
        
    rok_dwie_cyfry = int(pesel[0:2])
    miesiac_kod = int(pesel[2:4])
    dzien = int(pesel[4:6])
    
    if 81 <= miesiac_kod <= 92:
        rok = 1800 + rok_dwie_cyfry
        miesiac = miesiac_kod - 80
    elif 1 <= miesiac_kod <= 12:
        rok = 1900 + rok_dwie_cyfry
        miesiac = miesiac_kod
    elif 21 <= miesiac_kod <= 32:
        rok = 2000 + rok_dwie_cyfry
        miesiac = miesiac_kod - 20
    elif 41 <= miesiac_kod <= 52:
        rok = 2100 + rok_dwie_cyfry
        miesiac = miesiac_kod - 40
    elif 61 <= miesiac_kod <= 72:
        rok = 2200 + rok_dwie_cyfry
        miesiac = miesiac_kod - 60
    else:
        return wynik_bledny
        
    try:
        datetime.date(rok, miesiac, dzien)
    except ValueError:
        return wynik_bledny
        
    cyfra_plci = int(pesel[9])
    plec = 'K' if cyfra_plci % 2 == 0 else 'M'
    
    data_urodzenia = f"{rok:04d}-{miesiac:02d}-{dzien:02d}"
    
    return {
        'poprawny': True,
        'data_urodzenia': data_urodzenia,
        'plec': plec
    }
Kimi K3 10/10 vecteurs155.1 s

Modèle selon API : moonshotai/kimi-k3 - fournisseur Together - temps 155.1 s - tokens 499 entr. / 3136 sort. - finish: stop - 2026-09-16 20:31:44

  • Tous les 10 vecteurs réussis, y compris 31 février avec somme de contrôle correcte et année 1899.

Réponse brute :

import datetime


def waliduj_pesel(pesel: str) -> dict:
    niepoprawny = {'poprawny': False, 'data_urodzenia': None, 'plec': None}
    try:
        if not isinstance(pesel, str):
            return niepoprawny
        if len(pesel) != 11 or not pesel.isascii() or not pesel.isdigit():
            return niepoprawny

        cyfry = [int(c) for c in pesel]

        wagi = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3)
        suma = sum(wagi[i] * cyfry[i] for i in range(10))
        if (10 - suma % 10) % 10 != cyfry[10]:
            return niepoprawny

        rok = cyfry[0] * 10 + cyfry[1]
        miesiac = cyfry[2] * 10 + cyfry[3]
        dzien = cyfry[4] * 10 + cyfry[5]

        if 1 <= miesiac <= 12:
            stulecie = 1900
        elif 21 <= miesiac <= 32:
            stulecie = 2000
            miesiac -= 20
        elif 41 <= miesiac <= 52:
            stulecie = 2100
            miesiac -= 40
        elif 61 <= miesiac <= 72:
            stulecie = 2200
            miesiac -= 60
        elif 81 <= miesiac <= 92:
            stulecie = 1800
            miesiac -= 80
        else:
            return niepoprawny

        rok += stulecie

        try:
            datetime.date(rok, miesiac, dzien)
        except ValueError:
            return niepoprawny

        plec = 'K' if cyfry[9] % 2 == 0 else 'M'

        return {
            'poprawny': True,
            'data_urodzenia': f'{rok:04d}-{miesiac:02d}-{dzien:02d}',
            'plec': plec,
        }
    except Exception:
        return {'poprawny': False, 'data_urodzenia': None, 'plec': None}
DeepSeek V4 Pro pas de réponse170 s

Modèle selon API : - - temps 170 s - tokens 0 entr. / 0 sort. - 2026-09-16 20:39:30

  • dépassement de la limite de temps 170 s

Erreur : dépassement de la limite de temps 170 s

Grok 4.6 10/10 vecteurs45.8 s

Modèle selon API : x-ai/grok-4.6 - fournisseur xAI - temps 45.8 s - tokens 565 entr. / 3307 sort. - finish: stop - 2026-09-16 20:40:52

  • Tous les 10 vecteurs réussis, y compris 31 février avec somme de contrôle correcte et année 1899.

Réponse brute :

from datetime import datetime

def waliduj_pesel(pesel: str) -> dict:
    invalid = {'poprawny': False, 'data_urodzenia': None, 'plec': None}
    try:
        if not isinstance(pesel, str) or len(pesel) != 11 or not pesel.isdigit():
            return invalid
        digits = [int(c) for c in pesel]
        weights = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3)
        s = sum(d * w for d, w in zip(digits, weights))
        control = (10 - s % 10) % 10
        if control != digits[10]:
            return invalid
        yy = 10 * digits[0] + digits[1]
        mm = 10 * digits[2] + digits[3]
        dd = 10 * digits[4] + digits[5]
        if 1 <= mm <= 12:
            year = 1900 + yy
            month = mm
        elif 21 <= mm <= 32:
            year = 2000 + yy
            month = mm - 20
        elif 41 <= mm <= 52:
            year = 2100 + yy
            month = mm - 40
        elif 61 <= mm <= 72:
            year = 2200 + yy
            month = mm - 60
        elif 81 <= mm <= 92:
            year = 1800 + yy
            month = mm - 80
        else:
            return invalid
        datetime(year, month, dd)
        plec = 'K' if digits[9] % 2 == 0 else 'M'
        return {
            'poprawny': True,
            'data_urodzenia': f'{year:04d}-{month:02d}-{dd:02d}',
            'plec': plec
        }
    except Exception:
        return invalid
Qwen 3.8 Max pas de réponse170 s

Modèle selon API : - - temps 170 s - tokens 0 entr. / 0 sort. - 2026-09-16 20:43:43

  • dépassement de la limite de temps 170 s

Erreur : dépassement de la limite de temps 170 s

Ce qui n'a pas fonctionné dans cette exécution

  • DeepSeek V4 Pro, Code : validateur PESEL avec tests : dépassement de la limite de temps 170 s.
  • Qwen 3.8 Max, Code : validateur PESEL avec tests : dépassement de la limite de temps 170 s.
Google · Vos sourcesPromptif plus haut dans Google - en un clicAjouter aux sources préférées →

Méthodologie et réserves

  • Un seul appel par paire modèle-tâche, température 0, sans prompt système, sans outils. Nous ne répétons pas l'appel quand la réponse est mauvaise ; nous répétons uniquement quand l'API n'a pas répondu (429, 5xx, connexion interrompue), et nous le signalons dans l'enregistrement.
  • L'évaluation est déterministe : du code PHP compare les nombres et les cellules, et le code du modèle est exécuté par un bac à sable externe Compiler Explorer (godbolt.org, Python 3.12). Aucun modèle n'évalue un autre modèle.
  • Limite de temps de réponse : 170 s. Le dépassement compte comme absence de réponse et est publié ainsi, car du point de vue de l'utilisateur c'est le même résultat. La limite de tokens de réponse est de 8000 y compris le raisonnement caché ; un modèle qui l'épuise en réflexion et ne retourne pas de contenu reçoit « réponse vide ».
  • Limites : ce sont trois tâches courtes en polonais, pas une image complète du modèle. Les tâches sont publiques, elles peuvent donc avec le temps se retrouver dans les données d'entraînement ; c'est pourquoi le protocole a une version, et un changement de tâches signifie une nouvelle version et une comparaison séparée.
  • Pour citer : « promptif.fr, test de modèles d'IA, exécution du 16.09.2026 » avec un lien vers cet article.

Kinetyra

// read next

More on this from PROMPTIF

Promptif

Promptif

ADMINISTRATOR
à lire ensuiteHallucination de chatbot : avions en vol, opération annuléeétat de l'iaHallucination de chatbot : avions en vol, opération annuléeUne hallucination d'IA a failli déclencher une frappe militaire américaine. Nous avons calculé combien d'erreurs passent une seule étape de vérification.

Les plus lus

  1. 1Applications de génération vidéo IA : Kling, PixVerse et autres
  2. 2Calendrier IA 2026 : lancements de modèles, conférences et IA Act
  3. 3Affaire Thélyson Orélien : j’ai testé le roman avec trois détecteurs d’IA. Même paragraphe : 100 %, 85 % et 0 %
// plan du site
promptif en chiffres 0textes dans les archives0actus des 7 derniers jours0modèles vidéo dans l'observatoire
🎬 Studio Vidéo IA : Higgsfield AI DoP Presets Caméra & Calculateur • Code Promo Higgsfield AI -50% • Higgsfield vs Kling AI
× ‹ agrandissement ›