Test modelli AI settembre 2026: 7 modelli, 4 compiti, risultati
Claude Opus 5, GPT-6 Astra, Gemini 3.1 Pro e altri 4 modelli messi alla prova con prompt identici: editing, estrazione dati, codice Python e finestra di contesto.

👁 115 letture
Questo articolo è la registrazione completa di un’esecuzione del protocollo di test di Nitido (v1, 16.09.2026). Ciascuno dei 7 modelli ha ricevuto prompt identici nello stesso ordine, temperatura 0, una sola chiamata per compito, senza nuovi tentativi dopo risposte errate. La valutazione è affidata a PHP, non a un altro modello: confronto di numeri, celle di tabella ed esecuzione di codice su vettori fissi. Di seguito la tabella riepilogativa, poi ogni compito con il prompt completo e la risposta grezza di ciascun modello. Fallimenti, risposte vuote e timeout restano nella tabella.
| Modello | Editing senza modificare numeri | Tabella da PDF a JSON | Codice: validatore PESEL con test | Contesto (ago nel pagliaio) |
|---|---|---|---|---|
| Claude Opus 5anthropic/claude-opus-5 | superato6.2 s | 8/8 righe5 s | 10/10 vettori8 s | errore @8k - errore @32k - 1/1 @128k |
| GPT-6 Astraopenai/gpt-6-astra | superato4.9 s | 8/8 righe7.4 s | 10/10 vettori17.4 s | fuori dal test di contesto |
| Gemini 3.1 Progoogle/gemini-3.1-pro-preview | superato19 s | 8/8 righe16.8 s | 10/10 vettori17 s | fuori dal test di contesto |
| Kimi K3moonshotai/kimi-k3 | superato59.3 s | 8/8 righe8.6 s | 10/10 vettori155.1 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| DeepSeek V4 Prodeepseek/deepseek-v4-pro | superato40.2 s | 8/8 righe24.5 s | nessuna risposta170 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| Grok 4.6x-ai/grok-4.6 | superato27.9 s | 8/8 righe32 s | 10/10 vettori45.8 s | fuori dal test di contesto |
| Qwen 3.8 Maxqwen/qwen3.8-max-0902 | superato105.8 s | 8/8 righe40.9 s | nessuna risposta170 s | fuori dal test di contesto |
Editing senza modificare numeri
Il modello riceve un testo burocratico con tre errori di battitura e frasi rigide. Deve correggere lo stile e gli errori, senza toccare nemmeno un numero, una data o un orario. Il valutatore confronta il multiset di numeri nell’originale e nella risposta, verifica i tre errori e il formato (solo testo, senza titoli ed elenchi). Abbiamo testato in polacco.
Prompt completo (identico per ogni modello)
Popraw poniższy tekst pod względem stylu i literówek: usuń urzędowe zwroty, popraw błędy i literówki, zachowaj sens i wszystkie informacje. ZASADY: - nie zmieniaj żadnej liczby, daty ani godziny ani ich zapisu (cyfry zostają cyframi, nie zamieniaj liczb na słowa, nie dodawaj nowych liczb, nie usuwaj istniejących), - nie dodawaj nagłówków, list, komentarzy ani wyjaśnień, - zwróć wyłącznie poprawiony tekst jako jeden lub dwa akapity. TEKST: 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.
Correggi il testo seguente per stile ed errori: rimuovi espressioni burocratiche, correggi errori e refusi, mantieni il senso e tutte le informazioni. REGOLE: non modificare alcun numero, data o ora né la loro scrittura (le cifre restano cifre, non convertire numeri in parole, non aggiungere nuovi numeri, non rimuovere quelli esistenti), non aggiungere titoli, elenchi, commenti o spiegazioni, restituisci solo il testo corretto in uno o due paragrafi.
Claude Opus 5 superato6.2 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 98% dell’originale.
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 superato4.9 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 98% dell’originale.
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 superato19 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 97% dell’originale.
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 superato59.3 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 94% dell’originale.
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 superato40.2 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 96% dell’originale.
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 superato27.9 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 97% dell’originale.
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 superato105.8 s
- Numeri: tutti i 18 conservati alla lettera.
- Errori: tutti i 3 corretti.
- Formato: solo testo, lunghezza 92% dell’originale.
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.
Tabella da PDF a JSON
Il modello riceve il livello testuale di un listino prezzi da PDF: due righe con il nome portato alla riga successiva, una riga senza dati (trattini), un servizio esente IVA con asterisco e nota. Deve restituire 8 righe come JSON. Il valutatore confronta ogni cella con il valore atteso; la riga conta solo per intero. Abbiamo testato in polacco.
Prompt completo (identico per ogni modello)
Poniżej tekst wyciągnięty z pliku PDF (warstwa tekstowa, kolumny rozdzielone spacjami, niektóre nazwy przeniesione do następnej linii). Zwróć WYŁĄCZNIE JSON: tablicę 8 obiektów z kluczami: - "lp" (liczba całkowita), - "usluga" (pełna nazwa usługi, łącznie z częścią przeniesioną do następnej linii, bez gwiazdki), - "netto" (liczba lub null, gdy brak), - "vat" (stawka jako liczba, np. 23; tekst "zw." dla usługi zwolnionej; null, gdy brak), - "brutto" (liczba lub null, gdy brak). Bez komentarzy, bez markdownu, bez tekstu poza JSON-em. TEKST Z 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
Di seguito il testo estratto da un file PDF (livello testuale, colonne separate da spazi, alcuni nomi portati alla riga successiva). Restituisci SOLO JSON: array di 8 oggetti con chiavi: “lp” (numero intero), “usluga” (nome completo del servizio, inclusa la parte portata alla riga successiva, senza asterisco), “netto” (numero o null se mancante), “vat” (aliquota come numero, es. 23; testo “zw.” per servizio esente; null se mancante), “brutto” (numero o null se mancante). Senza commenti, senza markdown, senza testo oltre il JSON.
Claude Opus 5 8/8 righe5 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[{"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 righe7.4 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[
{
"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 righe16.8 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[
{
"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 righe8.6 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[{"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 righe24.5 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[
{
"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 righe32 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[{"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 righe40.9 s
- Tutte le 8 righe conformi alla tabella, inclusi i nomi spezzati nel PDF e la riga senza dati.
[
{
"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
}
]
Codice: validatore PESEL con test
Il modello scrive una funzione Python che valida il PESEL (somma di controllo, codifica del secolo nel mese, correttezza della data, sesso). Il codice viene eseguito in una sandbox esterna (Compiler Explorer, Python 3.12) su 10 vettori: 5 numeri corretti di secoli diversi e 5 trappole (somma errata, 31 febbraio, 10 caratteri, lettera, stringa vuota). Il risultato è il numero di vettori superati. Abbiamo testato in polacco.
Prompt completo (identico per ogni modello)
Napisz w Pythonie 3 funkcję waliduj_pesel(pesel: str) -> dict. Wymagania: - wejście to dowolny ciąg znaków; poprawny PESEL ma dokładnie 11 cyfr, - suma kontrolna: wagi 1,3,7,9,1,3,7,9,1,3 dla pierwszych 10 cyfr; cyfra kontrolna = (10 - suma mod 10) mod 10 i musi być równa 11. cyfrze, - stulecie zakodowane w miesiącu: 1800-1899 miesiąc + 80, 1900-1999 bez zmian, 2000-2099 miesiąc + 20, 2100-2199 miesiąc + 40, 2200-2299 miesiąc + 60, - data musi być poprawną datą kalendarzową (np. 31 lutego jest błędny), - płeć z 10. cyfry: parzysta = 'K', nieparzysta = 'M'. Zwracany słownik: {'poprawny': bool, 'data_urodzenia': 'RRRR-MM-DD' albo None, 'plec': 'K'/'M' albo None}. Dla niepoprawnego numeru: {'poprawny': False, 'data_urodzenia': None, 'plec': None}. Funkcja nie może rzucać wyjątków dla żadnego wejścia. Zwróć WYŁĄCZNIE kod Pythona (bez markdownu, bez omówienia). Nie dopisuj kodu uruchamiającego funkcję.
Scrivi in Python 3 una funzione waliduj_pesel(pesel: str) -> dict. Requisiti: l’input è una stringa qualsiasi; un PESEL corretto ha esattamente 11 cifre, somma di controllo: pesi 1,3,7,9,1,3,7,9,1,3 per le prime 10 cifre; cifra di controllo = (10 - somma mod 10) mod 10 e deve essere uguale all’11a cifra, secolo codificato nel mese: 1800-1899 mese + 80, 1900-1999 senza modifiche, 2000-2099 mese + 20, 2100-2199 mese + 40, 2200-2299 mese + 60, la data deve essere una data di calendario valida (es. 31 febbraio non è valido), sesso dalla 10a cifra: pari = ‘K’, dispari = ‘M’. Dizionario restituito: {‘poprawny’: bool, ‘data_urodzenia’: ‘AAAA-MM-GG’ oppure None, ‘plec’: ‘K’/’M’ oppure None}. Per numero non valido: {‘poprawny’: False, ‘data_urodzenia’: None, ‘plec’: None}. La funzione non deve sollevare eccezioni per nessun input. Restituisci SOLO codice Python (senza markdown, senza discussione). Non aggiungere codice che esegue la funzione.
10 vettori di test (il modello non li vede)
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}(vuoto)→ {"poprawny":false,"data_urodzenia":null,"plec":null}
Claude Opus 5 10/10 vettori8 s
- Tutti i 10 vettori superati, inclusi 31 febbraio con somma di controllo corretta e anno 1899.
```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 vettori17.4 s
- Tutti i 10 vettori superati, inclusi 31 febbraio con somma di controllo corretta e anno 1899.
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 vettori17 s
- Tutti i 10 vettori superati, inclusi 31 febbraio con somma di controllo corretta e anno 1899.
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 vettori155.1 s
- Tutti i 10 vettori superati, inclusi 31 febbraio con somma di controllo corretta e anno 1899.
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 nessuna risposta170 s
- superato il limite di tempo di 170 s
Errore: superato il limite di tempo di 170 s
Grok 4.6 10/10 vettori45.8 s
- Tutti i 10 vettori superati, inclusi 31 febbraio con somma di controllo corretta e anno 1899.
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 nessuna risposta170 s
- superato il limite di tempo di 170 s
Errore: superato il limite di tempo di 170 s
Cosa non ha funzionato in questa esecuzione
- DeepSeek V4 Pro, Codice: validatore PESEL con test: superato il limite di tempo di 170 s.
- Qwen 3.8 Max, Codice: validatore PESEL con test: superato il limite di tempo di 170 s.
Metodologia e avvertenze
- Una chiamata per coppia modello-compito, temperatura 0, senza system prompt, senza strumenti. Non ripetiamo la chiamata quando la risposta è errata; ripetiamo solo quando l’API non ha risposto (429, 5xx, connessione interrotta), e lo segnaliamo nel registro.
- La valutazione è deterministica: codice PHP confronta numeri e celle, e il codice del modello viene eseguito dalla sandbox esterna Compiler Explorer (godbolt.org, Python 3.12). Nessun modello valuta un altro modello.
- Limite di tempo di risposta: 170 s. Il superamento conta come nessuna risposta e viene pubblicato così, perché dal punto di vista dell’utente è lo stesso risultato. Il limite di token di risposta è 8000 incluso il ragionamento nascosto; un modello che lo consuma per pensare e non restituisce contenuto riceve “risposta vuota”.
- Limiti: sono tre compiti brevi in polacco, non un quadro completo del modello. I compiti sono pubblici, quindi potrebbero finire nei dati di addestramento col tempo; per questo il protocollo ha una versione, e il cambio di compiti significa una nuova versione e un confronto separato.
- Citando: “nitidezza.it, test modelli AI, esecuzione del 16.09.2026” con link a questo articolo.
More on this from NITIDO
magazine·Allucinazione chatbot: operazione militare USA quasi avviataUn'allucinazione AI ha quasi causato un attacco militare USA contro una nave cinese. Abbiamo calcolato quanti errori passano attraverso un livello di verifica.

