Test modelos IA 16.09.2026: Claude Opus 5, GPT-6 Astra y más
7 modelos, 4 tareas, resultados completos. Protocolo de prueba automatizado con evaluación PHP: edición de texto, extracción de tablas, código Python y contexto.

Actualización (9 de noviembre de 2026): ya han salido Claude Fable 5.2 y Mythos 5.2 - precios, acceso y benchmarks en mi guía de Claude Fable 5.2.
👁 115 lecturas
Este artículo es el registro completo de una ejecución del protocolo de prueba de Fulgor (v1 del 16.09.2026). Cada uno de los 7 modelos recibió prompts idénticos en el mismo orden, temperatura 0, una sola llamada por tarea, sin reintentos tras respuestas incorrectas. La evaluación la realiza PHP, no otro modelo: comparación de números, celdas de tabla y ejecución de código sobre vectores fijos. A continuación, la tabla resumen y después cada tarea con el prompt completo y la respuesta en bruto de cada modelo. Los fallos, respuestas vacías y excesos de tiempo quedan reflejados en la tabla.
| Modelo | Edición sin cambiar números | Tabla de PDF a JSON | Código: validador PESEL con tests | Contexto (aguja en pajar) |
|---|---|---|---|---|
| Claude Opus 5anthropic/claude-opus-5 | aprobado6.2 s | 8/8 filas5 s | 10/10 vectores8 s | error @8k - error @32k - 1/1 @128k |
| GPT-6 Astraopenai/gpt-6-astra | aprobado4.9 s | 8/8 filas7.4 s | 10/10 vectores17.4 s | fuera de prueba de contexto |
| Gemini 3.1 Progoogle/gemini-3.1-pro-preview | aprobado19 s | 8/8 filas16.8 s | 10/10 vectores17 s | fuera de prueba de contexto |
| Kimi K3moonshotai/kimi-k3 | aprobado59.3 s | 8/8 filas8.6 s | 10/10 vectores155.1 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| DeepSeek V4 Prodeepseek/deepseek-v4-pro | aprobado40.2 s | 8/8 filas24.5 s | sin respuesta170 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| Grok 4.6x-ai/grok-4.6 | aprobado27.9 s | 8/8 filas32 s | 10/10 vectores45.8 s | fuera de prueba de contexto |
| Qwen 3.8 Maxqwen/qwen3.8-max-0902 | aprobado105.8 s | 8/8 filas40.9 s | sin respuesta170 s | fuera de prueba de contexto |
Edición sin cambiar números
El modelo recibe un texto administrativo con tres erratas y giros torpes. Debe mejorar el estilo y corregir las erratas sin tocar ni un solo número, fecha u hora. El evaluador compara el multiconjunto de números en el original y en la respuesta, verifica las tres erratas y el formato (solo texto, sin encabezados ni listas). Probamos en polaco.
Prompt completo (idéntico para cada modelo)
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.
Corregir el siguiente texto en cuanto a estilo y erratas: eliminar giros administrativos, corregir errores y erratas, conservar el sentido y toda la información. REGLAS: no cambiar ningún número, fecha u hora ni su escritura (las cifras siguen siendo cifras, no convertir números en palabras, no añadir números nuevos, no eliminar los existentes), no añadir encabezados, listas, comentarios ni explicaciones, devolver únicamente el texto corregido como uno o dos párrafos. TEXTO: [texto en polaco con tres erratas]
Claude Opus 5 aprobado6.2 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 98% del original.
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 aprobado4.9 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 98% del original.
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 aprobado19 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 97% del original.
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 aprobado59.3 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 94% del original.
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 aprobado40.2 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 96% del original.
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 aprobado27.9 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 97% del original.
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 aprobado105.8 s
- Números: los 18 conservados exactamente.
- Erratas: las 3 corregidas.
- Formato: solo texto, longitud 92% del original.
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.
Tabla de PDF a JSON
El modelo recibe la capa de texto de una lista de precios de un PDF: dos filas con el nombre trasladado a la siguiente línea, una fila sin datos (guiones), un servicio exento de IVA con asterisco y nota al pie. Debe devolver 8 filas como JSON. El evaluador compara cada celda con el valor esperado; la fila solo cuenta completa. Probamos en polaco.
Prompt completo (idéntico para cada modelo)
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
A continuación, texto extraído de archivo PDF (capa de texto, columnas separadas por espacios, algunos nombres trasladados a la siguiente línea). Devolver ÚNICAMENTE JSON: array de 8 objetos con claves: «lp» (número entero), «usluga» (nombre completo del servicio, incluida la parte trasladada a la siguiente línea, sin asterisco), «netto» (número o null cuando falta), «vat» (tipo como número, p.ej. 23; texto «zw.» para servicio exento; null cuando falta), «brutto» (número o null cuando falta). Sin comentarios, sin markdown, sin texto fuera del JSON. TEXTO DEL PDF: [lista de precios en polaco]
Claude Opus 5 8/8 filas5 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[{"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 filas7.4 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[
{
"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 filas16.8 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[
{
"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 filas8.6 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[{"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 filas24.5 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[
{
"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 filas32 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[{"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 filas40.9 s
- Las 8 filas coinciden con la tabla, incluidos nombres partidos en el PDF y fila sin datos.
[
{
"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
}
]
Código: validador PESEL con tests
El modelo escribe una función Python que valida el PESEL (suma de control, codificación del siglo en el mes, validez de la fecha, sexo). El código se ejecuta en un sandbox externo (Compiler Explorer, Python 3.12) sobre 10 vectores: 5 números correctos de diferentes siglos y 5 trampas (suma incorrecta, 31 de febrero, 10 caracteres, letra, cadena vacía). El resultado es el número de vectores aprobados. Probamos en polaco.
Prompt completo (idéntico para cada modelo)
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ę.
Escribe en Python 3 la función waliduj_pesel(pesel: str) -> dict. Requisitos: entrada es cualquier cadena de caracteres; PESEL correcto tiene exactamente 11 dígitos, suma de control: pesos 1,3,7,9,1,3,7,9,1,3 para los primeros 10 dígitos; dígito de control = (10 - suma mod 10) mod 10 y debe ser igual al 11º dígito, siglo codificado en el mes: 1800-1899 mes + 80, 1900-1999 sin cambios, 2000-2099 mes + 20, 2100-2199 mes + 40, 2200-2299 mes + 60, la fecha debe ser una fecha de calendario válida (p.ej. 31 de febrero es inválido), sexo del 10º dígito: par = ‘K’, impar = ‘M’. Diccionario devuelto: {‘poprawny’: bool, ‘data_urodzenia’: ‘AAAA-MM-DD’ o None, ‘plec’: ‘K’/’M’ o None}. Para número incorrecto: {‘poprawny’: False, ‘data_urodzenia’: None, ‘plec’: None}. La función no puede lanzar excepciones para ninguna entrada. Devolver ÚNICAMENTE código Python (sin markdown, sin explicación). No añadir código que ejecute la función.
10 vectores de prueba (el modelo no los ve)
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}(vacío)→ {«poprawny»:false,»data_urodzenia»:null,»plec»:null}
Claude Opus 5 10/10 vectores8 s
- Los 10 vectores aprobados, incluido 31 de febrero con suma de control correcta y año 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 vectores17.4 s
- Los 10 vectores aprobados, incluido 31 de febrero con suma de control correcta y año 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 vectores17 s
- Los 10 vectores aprobados, incluido 31 de febrero con suma de control correcta y año 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 vectores155.1 s
- Los 10 vectores aprobados, incluido 31 de febrero con suma de control correcta y año 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 sin respuesta170 s
- límite de tiempo excedido 170 s
Error: límite de tiempo excedido 170 s
Grok 4.6 10/10 vectores45.8 s
- Los 10 vectores aprobados, incluido 31 de febrero con suma de control correcta y año 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 sin respuesta170 s
- límite de tiempo excedido 170 s
Error: límite de tiempo excedido 170 s
Qué no funcionó en esta ejecución
- DeepSeek V4 Pro, Código: validador PESEL con tests: límite de tiempo excedido 170 s.
- Qwen 3.8 Max, Código: validador PESEL con tests: límite de tiempo excedido 170 s.
Metodología y advertencias
- Una llamada por par modelo-tarea, temperatura 0, sin system prompt, sin herramientas. No repetimos la llamada cuando la respuesta es incorrecta; solo repetimos cuando la API no respondió (429, 5xx, conexión cortada), y lo marcamos en el registro.
- La evaluación es determinista: código PHP compara números y celdas, y el código del modelo lo ejecuta un sandbox externo Compiler Explorer (godbolt.org, Python 3.12). Ningún modelo evalúa a otro modelo.
- Límite de tiempo de respuesta: 170 s. Excederlo cuenta como falta de respuesta y así se publica, porque desde la perspectiva del usuario es el mismo resultado. El límite de tokens de respuesta es 8000 incluido el razonamiento oculto; un modelo que lo consuma en pensar y no devuelva contenido recibe «respuesta vacía».
- Limitaciones: son tres tareas cortas en polaco, no una imagen completa del modelo. Las tareas son públicas, así que pueden acabar en datos de entrenamiento con el tiempo; por eso el protocolo tiene versión, y cambiar las tareas significa nueva versión y comparación separada.
- Al citar: «elfulgor.es, test de modelos IA, ejecución del 16.09.2026» con enlace a este artículo.
More on this from FULGOR
guías·Midjourney Style Creator: cómo entrenar tu propio estilo visualStyle Creator te permite crear estilos visuales propios sin escribir prompts largos.

