AI-modellen test 16.09.2026: 7 modellen, 4 taken, volledige resultaten
Zeven AI-modellen getest op identieke taken: tekstredactie, tabel-extractie, code en contextvenster. Eén doorloop, temperatuur 0, PHP-validatie.

👁 117 keer gelezen
Dit artikel is een ruwe registratie van één doorloop van het Helder-testprotocol (v1 (16.09.2026)). Elk van de 7 modellen kreeg identieke prompts in dezelfde volgorde, temperatuur 0, één aanroep per taak, zonder herhalingen na een fout antwoord. PHP beoordeelt, niet een ander model: vergelijking van getallen, tabelcellen en uitvoering van code op vaste vectoren. Hieronder de overzichtstabel, daarna elke taak met de volledige prompt en het ruwe antwoord van elk model. Mislukkingen, lege antwoorden en time-outs blijven in de tabel staan.
| Model | Redactie zonder getallen te wijzigen | Tabel uit PDF naar JSON | Code: PESEL-validator met tests | Context (naald in hooiberg) |
|---|---|---|---|---|
| Claude Opus 5anthropic/claude-opus-5 | geslaagd6.2 s | 8/8 rijen5 s | 10/10 vectoren8 s | fout @8k - fout @32k - 1/1 @128k |
| GPT-6 Astraopenai/gpt-6-astra | geslaagd4.9 s | 8/8 rijen7.4 s | 10/10 vectoren17.4 s | buiten contexttest |
| Gemini 3.1 Progoogle/gemini-3.1-pro-preview | geslaagd19 s | 8/8 rijen16.8 s | 10/10 vectoren17 s | buiten contexttest |
| Kimi K3moonshotai/kimi-k3 | geslaagd59.3 s | 8/8 rijen8.6 s | 10/10 vectoren155.1 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| DeepSeek V4 Prodeepseek/deepseek-v4-pro | geslaagd40.2 s | 8/8 rijen24.5 s | geen antwoord170 s | 2/2 @8k - 2/2 @32k - 2/2 @128k |
| Grok 4.6x-ai/grok-4.6 | geslaagd27.9 s | 8/8 rijen32 s | 10/10 vectoren45.8 s | buiten contexttest |
| Qwen 3.8 Maxqwen/qwen3.8-max-0902 | geslaagd105.8 s | 8/8 rijen40.9 s | geen antwoord170 s | buiten contexttest |
Redactie zonder getallen te wijzigen
Het model krijgt een ambtelijke tekst met drie typefouten en stijve formuleringen. Het moet de stijl en typefouten corrigeren zonder een enkel getal, datum of tijdstip te wijzigen. De beoordelaar vergelijkt de multiset van getallen in het origineel en in het antwoord, controleert de drie typefouten en het format (alleen tekst, zonder koppen en lijsten). We hebben dit in het Pools getest.
Volledige prompt (identiek voor elk model)
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.
Vertaling: Verbeter de onderstaande tekst qua stijl en typefouten: verwijder ambtelijke formuleringen, corrigeer fouten en typefouten, behoud de betekenis en alle informatie. REGELS: - verander geen enkel getal, datum of tijdstip noch hun notatie (cijfers blijven cijfers, verander getallen niet in woorden, voeg geen nieuwe getallen toe, verwijder geen bestaande), - voeg geen koppen, lijsten, commentaren of uitleg toe, - retourneer uitsluitend de gecorrigeerde tekst als één of twee alinea’s. TEKST: In 2025 gaf de gemeente Lipowo 14,3 miljoen zł uit aan wegenonderhoud, 2,1 miljoen zł meer dan het jaar ervoor. Het duurste bleek de heraanleg van de Długa-straat, die 3 850 000 zł kostte voor een traject van 1,8 km. Momenteel hebben raadsleden voor 2026 een bedrag van 16 miljoen zł gepland, maar de penningmeester waarschuwt dat bij een inflatie van 4,7% de reële waarde van dit bedrag lager zal zijn. In de gemeente wonen 12 480 mensen en er zijn 7 912 geregistreerde auto’s, dus per inwoner komt dat neer op 1 146 zł aan wegenuitgaven. Publieke consultaties hierover vinden plaats op 21 oktober 2026 om 17:30 uur in zaal nr. 3 van het gemeentehuis aan de Rynek 1, en het doel is prioriteiten vast te stellen voor de komende 4 jaar.
Claude Opus 5 geslaagd6.2 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 98% van origineel.
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 geslaagd4.9 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 98% van origineel.
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 geslaagd19 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 97% van origineel.
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 geslaagd59.3 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 94% van origineel.
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 geslaagd40.2 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 96% van origineel.
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 geslaagd27.9 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 97% van origineel.
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 geslaagd105.8 s
- Getallen: alle 18 behouden tot op het teken.
- Typefouten: alle 3 gecorrigeerd.
- Format: alleen tekst, lengte 92% van origineel.
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.
Tabel uit PDF naar JSON
Het model krijgt de tekstlaag van een prijslijst uit een PDF: twee rijen met de naam doorlopend naar de volgende regel, een rij zonder gegevens (streepjes), een van btw vrijgestelde dienst met een sterretje en voetnoot. Het moet 8 rijen als JSON retourneren. De beoordelaar vergelijkt elke cel met de verwachte waarde; een rij telt alleen volledig mee. We hebben dit in het Pools getest.
Volledige prompt (identiek voor elk model)
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
Vertaling: Hieronder tekst geëxtraheerd uit een PDF-bestand (tekstlaag, kolommen gescheiden door spaties, sommige namen doorlopend naar de volgende regel). Retourneer UITSLUITEND JSON: een array van 8 objecten met sleutels: - “lp” (geheel getal), - “usluga” (volledige dienstnaam, inclusief het deel doorlopend naar de volgende regel, zonder sterretje), - “netto” (getal of null, indien ontbreekt), - “vat” (tarief als getal, bijv. 23; tekst “zw.” voor vrijgestelde dienst; null, indien ontbreekt), - “brutto” (getal of null, indien ontbreekt). Zonder commentaar, zonder markdown, zonder tekst buiten de JSON. TEKST UIT PDF: PRIJSLIJST SERVICEDIENSTEN geldig vanaf 1.03.2026 [tabel met 8 diensten]
Claude Opus 5 8/8 rijen5 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[{"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 rijen7.4 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[
{
"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 rijen16.8 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[
{
"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 rijen8.6 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[{"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 rijen24.5 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[
{
"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 rijen32 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[{"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 rijen40.9 s
- Alle 8 rijen komen overeen met de tabel, inclusief namen die in de PDF doorlopen en de rij zonder gegevens.
[
{
"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: PESEL-validator met tests
Het model schrijft een Python-functie die een PESEL valideert (controlecijfer, eeuwcodering in de maand, geldigheid van de datum, geslacht). De code wordt uitgevoerd in een externe sandbox (Compiler Explorer, Python 3.12) op 10 vectoren: 5 geldige nummers uit verschillende eeuwen en 5 valkuilen (fout controlecijfer, 31 februari, 10 tekens, letter, lege string). Het resultaat is het aantal geslaagde vectoren. We hebben dit in het Pools getest.
Volledige prompt (identiek voor elk model)
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ę.
Vertaling: Schrijf in Python 3 een functie waliduj_pesel(pesel: str) -> dict. Vereisten: - invoer is een willekeurige tekenreeks; een geldig PESEL heeft precies 11 cijfers, - controlecijfer: gewichten 1,3,7,9,1,3,7,9,1,3 voor de eerste 10 cijfers; controlecijfer = (10 - som mod 10) mod 10 en moet gelijk zijn aan het 11e cijfer, - eeuw gecodeerd in de maand: 1800-1899 maand + 80, 1900-1999 ongewijzigd, 2000-2099 maand + 20, 2100-2199 maand + 40, 2200-2299 maand + 60, - datum moet een geldige kalenderdatum zijn (bijv. 31 februari is ongeldig), - geslacht uit het 10e cijfer: even = ‘K’, oneven = ‘M’. Geretourneerd dictionary: {‘poprawny’: bool, ‘data_urodzenia’: ‘JJJJ-MM-DD’ of None, ‘plec’: ‘K’/’M’ of None}. Voor een ongeldig nummer: {‘poprawny’: False, ‘data_urodzenia’: None, ‘plec’: None}. De functie mag geen uitzonderingen gooien voor welke invoer dan ook. Retourneer UITSLUITEND Python-code (zonder markdown, zonder toelichting). Voeg geen code toe die de functie uitvoert.
10 testvectoren (het model ziet deze niet)
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}(leeg)→ {“poprawny”:false,”data_urodzenia”:null,”plec”:null}
Claude Opus 5 10/10 vectoren8 s
- Alle 10 vectoren geslaagd, inclusief 31 februari met correct controlecijfer en het jaar 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 vectoren17.4 s
- Alle 10 vectoren geslaagd, inclusief 31 februari met correct controlecijfer en het jaar 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 vectoren17 s
- Alle 10 vectoren geslaagd, inclusief 31 februari met correct controlecijfer en het jaar 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 vectoren155.1 s
- Alle 10 vectoren geslaagd, inclusief 31 februari met correct controlecijfer en het jaar 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 geen antwoord170 s
- tijdslimiet van 170 s overschreden
Fout: tijdslimiet van 170 s overschreden
Grok 4.6 10/10 vectoren45.8 s
- Alle 10 vectoren geslaagd, inclusief 31 februari met correct controlecijfer en het jaar 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 geen antwoord170 s
- tijdslimiet van 170 s overschreden
Fout: tijdslimiet van 170 s overschreden
Wat werkte niet in deze doorloop
- DeepSeek V4 Pro, Code: PESEL-validator met tests: tijdslimiet van 170 s overschreden.
- Qwen 3.8 Max, Code: PESEL-validator met tests: tijdslimiet van 170 s overschreden.
Methodologie en voorbehouden
- Eén aanroep per model-taak-paar, temperatuur 0, zonder systeemprompt, zonder tools. We herhalen de aanroep niet wanneer het antwoord fout is; we herhalen alleen wanneer de API niet antwoordde (429, 5xx, verbroken verbinding), en markeren dit in de registratie.
- De beoordeling is deterministisch: PHP-code vergelijkt getallen en cellen, en modelcode wordt uitgevoerd door de externe sandbox Compiler Explorer (godbolt.org, Python 3.12). Geen enkel model beoordeelt een ander model.
- Tijdslimiet voor antwoord: 170 s. Overschrijding telt als geen antwoord en wordt zo gepubliceerd, omdat het vanuit gebruikersperspectief hetzelfde effect heeft. De tokenlimiet voor antwoorden is 8000 inclusief verborgen redenering; een model dat deze opgebruikt aan denken en geen inhoud teruggeeft, krijgt “leeg antwoord”.
- Beperkingen: dit zijn drie korte taken in het Pools, geen volledig beeld van het model. De taken zijn openbaar, dus kunnen in de loop van de tijd in trainingsdata terechtkomen; daarom heeft het protocol een versie, en een wijziging van taken betekent een nieuwe versie en een aparte vergelijking.
- Bij citeren: “helderte.nl, AI-modellentest, doorloop van 16.09.2026” met link naar dit artikel.
More on this from HELDER
ai-overzicht·Chatbot-hallucinatie bijna oorzaak militaire operatie VSAmerikaanse gevechtsvliegtuigen waren al in de lucht toen bleek dat het inlichtingenrapport verzonnen was door een chatbot.

