Andersonin kulma
Ihmiskoodi vuodelta 2020 voitti vibroitiin koodattuja agenteja agenteilla tehtyjen testien aikana

ChatGPT ja muut vibrointityökalut asetettiin testiin lähes 40 000 ottelussa – ja hävisivät gradun opiskelijoiden kirjoittamalle koodille, joka oli kirjoitettu ennen suurten kielen mallien keksimistä.
Uudessa tutkimuksessa Iso-Britanniasta tutkijat asettivat ihmiskoodatut agentit vastakkain vibroituilla agenteilla, jotka oli kehitetty viimeisimmillä suurilla kielen malleilla (LLM), kuten ChatGPT-5 ja Claude, ja havaitsivat, että ilman AI:n apua luodut agentit voittivat helposti AI:lla tehtyjä versioita.
Molemmat agenttiryhmät olivat kehittäneet eri sukupolvet opiskelijoita Sveitsin liittovaltion teknillisen korkeakoulun tekoälylaboratoriosta. Ilman AI:ta kehitetyt agentit olivat kehittäneet osana kurssityötä vuonna 2020, kaksi vuotta ennen ChatGPT:n syntymää ja LLM-vallankumouksen alkamista, kun taas uudet agentit olivat kehittäneet nykyiset opiskelijat, joilla oli käytössään viimeisimmät ja parhaat LLM:t.
Even kun peli oli “villitty”, vibroitetut ratkaisut eivät voineet voittaa, ja viiden parhaan sijan pitivät aina “raakat” agentit, ja useimmat LLM-agentit (33/40) hävisivät helposti “erittäin yksinkertaisille” perusagenteille, 38 304 haasteen aikana turnauksessa, laajalla joukolla muuttujia ja olosuhteita.
Tutkimusraportissa todetaan:
‘Tutkimuksemme osoittaa, että vaikka viimeisimmät LLM:t voivat generoida koodia, joka toimii (ts. ilman syntaksivirheitä), generoitu ratkaisu ei ole kilpailukykyinen ihmisten suunnittelemiin ratkaisuihin ulottuvuuksilla, kuten strategisen suunnittelun, optimoinnin tai monen agentin kilpailun.
‘Tämä työ tuo esiin tämän uuden koodigeneraation rintaman ja pyrkii edistämään benchmarkien, tietojoukkojen ja avoimen lähdekoodin kehittämistä, jotka korostavat päätöksenteon johtamaa koodin synteesiä.’
Haaste, joka keksittiin, oli osallistua luovasti huutokauppoihin, erilaisilla strategioilla, ja järjestää voitettujen tuotteiden toimitus voittajille.
Tutkijat huomauttavat, että useita etuja annettiin LLM:lle, kuten puuttuminen koodiin parantamaan sen suorituskykyä – etu, jota ei sallittu vuoden 2020 koodille. Vaikka niin oli, LLM:t eivät pystyneet hyödyntämään sitä tai käyttämään sitä:
‘[Meidän] benchmarkissa, vaikka me esittelemme hyvän ratkaisun kontekstissa, LLM ei voi käyttää sitä.
‘Tämä tulos herättää myös mielenkiintoisia tulevaisuuden tutkimuskysymyksiä in-kontekstin oppimisen ja haun parantamisen rajoista monimutkaisissa tilanteissa.’
LLM:t, jotka käytettiin testissä, olivat GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1 ja DeepSeek R1*.
Uusi tutkimus tutkimus on otsikoitu Voittavatko vibrointikoodit gradun opiskelijat? LLM vs. ihmiskoodausturnaus markkinajohtamisen strategisessa suunnittelussa, ja se on peräisin yhdestä tekijästä Southamptonin yliopistosta ja toisesta Oxfordin yliopistosta ja Alan Turing -instituutista. Benchmark tullaan julkaisemaan lyhyen ajan kuluttua.
Menetelmä
Tutkijat huomauttavat, että perinteiset testit tässä alueella keskittyvät haasteisiin, joissa on selvästi määritelty binääriset ratkaisut (oikein tai väärin), jotka on vahvistettu yksikkötestien avulla. Väittäen, että tämä ei ole ihanteellinen tapa tutkia LLM:n avulla kehitetyn koodin rajoituksia, tutkijat keksivät monimutkaisemman haasteen, jossa voitto on mahdollinen, mutta kaukana yksinkertaisesta;
![Vertailu standardien, yksikkötestien perusteella (yllä) ja tutkijoiden kehittämästä avoimemmasta haasteesta (sinisellä, alla). Lähde [ https://arxiv.org/pdf/2511.20613 ]](https://www.unite.ai/wp-content/uploads/2025/11/figure-1-2.jpg)
Vertailu standardien, yksikkötestien perusteella (yllä) ja tutkijoiden kehittämästä avoimemmasta haasteesta (sinisellä, alla). Lähde
Huutokauppa, nouto ja toimitusongelma (APDP) käytettiin tutkijoiden tutkimuksessa osittain, koska Sveitsin yliopistosta oli saatavilla vuoden 2020 opiskelijoiden työ, jossa pyrittiin luomaan automaattisia agenteja APDP-tehtävään ennen AI:n kehittämistä. Siksi se oli suhteellisen helppo tehtävä nykyisille opiskelijoille, jotka saivat käyttää nykyisiä työkaluja.
Tutkijat pyrkivät välttämään suosittuja testirunkoja, kuten HumanEval, BigCodeBench ja WebDev Arena (muiden joukossa), koska tämäntyyppiset testimenetelmät usein kärsivät datasta, joka on saastunut (ts. tapauksia, joissa järjestelmä on koulutettu testidatalla sen sijaan, että se kunnioittaisi jakoa).
APDP on kaksivaiheinen logistiikkaongelma, joka perustuu käänteisiin huutokauppoihin ja ajoneuvon reititykseen. Ensimmäisessä vaiheessa agentit kilpailevat voittaakseen toimitustehtäviä esittämällä tarjouksia siitä, kuinka paljon heidän pitäisi maksaa kunkin tehtävän suorittamisesta. Liian korkea tarjous tarkoittaa tehtävän menettämistä; liian matala tarjous voi tarkoittaa rahan menettämistä.
Toisessa vaiheessa kunkin agentin on luotava tehokas suunnitelma tehtävien suorittamiseksi, joita he ovat voittaneet, ja määriteltävä ajoneuvot, joilla on eri kapasiteetit ja kustannukset, ajan ja resurssien rajoituksilla:

Huutokaupassa yritykset kilpailevat toimitustehtävistä esittämällä tarjouksia, ja sitten optimoivat ajoneuvon reitit voittamiensa tehtävien suorittamiseksi, pyrkien maksimoimaan voiton.
Tavoitteena ei ole ainoastaan suorittaa tehtäviä, vaan maksimoida kokonainen voitto ennustamalla, mitkä tehtävien paketit toimisivat parhaiten yhdessä, ja ennustamalla kilpailijoiden strategioita, jotka yrittävät samaa.
APDP-benchmarkin haaste koodin generoimiselle on strategisen suunnittelun esittäminen useiden riippuvien huutokauppojen sarjassa, joissa jokainen tarjous muuttaa tulevien valintojen maisemaa; ja siksi vaatii agenteilta päätöksentekoa ei ainoastaan välittömistä kustannuksista, vaan myös asemasta, ajasta ja pitkän aikavälin seurauksista.
Perusviestintäongelma on NP-hard, ts. ei ole algoritmi, joka voi luotettavasti löytää parhaan ratkaisun kohtuullisessa ajassa, kun tehtävien määrä kasvaa. Tämä tekee brute force -lähestymistavan toimimattomaksi, ja pakottaa agentit vaihtamaan tarkkuuden nopeuteen.
Kilpailu on käynnissä
Tutkijoiden arviointi vertasi 40 LLM-koodattua agenttia 17 ihmiskoodattuun agenttiin sarjassa head-to-head -turnauksissa. Jokainen 12 turnausta käytti eri yhdistelmää neljästä tiieverkkoarkkitehtuurista, ja koostui kaikki-kaikkia-ottelusta, jossa agentit kohtasivat toisensa kahdesti: kerran kunkin kahden yrityksen johtajana, eri ajoneuvon määrityksillä.
Tämä asettelu tuotti 3 192 ottelua turnauksessa, yhteensä 38 304 ottelua. Kussakin ottelussa 50 toimitustehtävää huutokaupattiin, määriteltiin niiden nouto- ja toimituspisteiden ja painon perusteella, ja ne arvottiin satunnaisesti eri tiemääritysten yli, jotka mallinnettiin Sveitsin, Ranskan, Iso-Britannian ja Alankomaiden tieverkoista:

Yksinkertaistetut tiiverkkomallit turnauksessa: Iso-Britannia (ylävasen), Sveitsi (oikea ylä), Alankomaat (ala vasen) ja Ranska (ala oikea). Siniset ja punaiset neliöt merkitsevät nouto- ja toimitustehtäviä. Väritetyt kolmiot osoittavat agenttien ajoneuvon sijainnin.
Opiskelijoiden agentit valittiin vuoden 2020 kurssiturnauksesta. Kahdeksan tuli yksinäisen poistomitalin parhaista suorittajista, ja neljä muuta valittiin vahvan suorituksen perusteella perusagenteja vastaan head-to-head -otteluissa.
Perusagentit seurasivat kiinteitä heuristiikkaa. Naive laski yhteisen etäisyyden ja tarjosi sen mukaan, käyttäen ainoastaan yhtä ajoneuvoa ja ignoroiden pakkaamisen; ExpCostFixedBid simuloitiin 10 satunnaista tehtävää, ja tarjottiin keskimääräistä marginaalikustannusta; Honest laski todellisen marginaalikustannuksen tehtävän sisällyttämisestä aikatauluun; ModelOpponent teki saman, mutta lisäsi arvion vastustajan kustannuksesta, tarjoten maksimin; ja RiskSeeking yhdisti ajan kuluvan etuoikeuden livekustannusarvioon ja vastustajan mallintamiseen – jälleen kerran tarjoten korkeamman arvon.
Arviointi sisälsi 40 LLM-koodattua agenttia, jotka oli kehittänyt (mainittujen) GPT-5 Thinking, Claude Opus 4.1, Gemini 2.5 Pro ja DeepSeek R1. Kunkin malliin annettiin viisi eri strategiaa, joita sovellettiin kahdesti kunkin mallille.
Kaksi strategiaa käytti statisia ohjelmointikieltoja, jotka oli kirjoittaneet eri tekijät, kun taas kolmas pyysi mallilta itsearviointia ja muokkaamista; toinen strategia käytti toista LLM:ää arvioimaan ja muokkaamaan. Viimeinen strategia käytti GPT-4:ää luomaan uuden ohjelmointikielen tarkastelemalla kaikkia neljää aiempaa lähestymistapaa.
Perusohjelmointikieli perustui alkuperäiseen opiskelijoiden tehtävään, jossa kuvattiin toimitusympäristö ja annettiin ohjeet tarjota ja suunnitella maksimoida voitto ilman korkean kompleksisuuden menetelmiä.
Kaikki LLM-agentit testattiin sekä itseään että turnauksessa, kunnes kaikki havaittavissa olevat virheet oli korjattu. Virheiden korjaus hoidettiin itse LLM:llä, jolle annettiin virhetiedot.
Yleiset LLM-epäonnistumiset, tutkimus huomauttaa, sisälsivät aikakatkaisujen rikkomisen, epäonnistumisen noutaa tai toimittaa määrättyjä tehtäviä ja ajoneuvon kapasiteetin rajoitusten rikkomisen – virheitä, jotka usein johtuivat ohjeiden laiminlyömisestä tai virheellisestä uudelleensuunnittelusta†:
‘Toinen yleinen ongelma, jonka havaitsemme (pääasiassa Gemini, Claude ja DeepSeek -mallien kanssa, eikä niin paljon GPT:llä), on, että LLM usein epäonnistuu jatkuvasti ratkaisemaan virheen.
‘Esimerkiksi agentti aikakatkaisee jatkuvasti, vaikka LLM:lle annetaan virhetietoja useita kertoja (esim. 5-15 kertaa) ja vastaanotetaan päivitetty versio koodista.
‘Ainoa ratkaisu, jonka löysimme tällaisiin tilanteisiin (joissa LLM toistuvasti epäonnistuu ratkaisemasta samaa virhettä), on aloittaa alusta. Yleisesti ottaen havaitsemme, että virheettömän koodin saavuttamiseksi vaaditaan merkittävää manuaalista työtä. Meidän piti generoida huomattavasti enemmän agenteja saadaksemme 40 virheettömän, joita arvioimme.’
Tulokset, jotka on esitetty alla, tiivistävät tulokset 12 kaksoispyöräpyöräturnauksesta, jotka kattoivat neljä tiieverkkoarkkitehtuuria ja kolme turnausta kunkin arkkitehtuurin kohdalla, tuottaen suurimman osan 40 000 ottelusta:
| Agentti | Keskimääräinen voitto / turnaus | SD voitto / turnaus | Keskimääräinen tappio / turnaus | SD tappio / turnaus | Yhteensä voitot | Yhteensä tappiot | Voittoprosentti |
|---|---|---|---|---|---|---|---|
| Opiskelija 1 | 108.167 | 1.193 | 3.833 | 1.193 | 1298 | 46 | 0.9658 |
| Opiskelija 2 | 104.917 | 2.539 | 7.083 | 2.539 | 1259 | 85 | 0.9368 |
| Opiskelija 3 | 103.917 | 2.466 | 8.083 | 2.466 | 1247 | 97 | 0.9278 |
| Opiskelija 4 | 103.25 | 1.815 | 8.75 | 1.815 | 1239 | 105 | 0.9219 |
| Opiskelija 5 | 96.5 | 2.908 | 15.5 | 2.908 | 1158 | 186 | 0.8616 |
| LLM(O, IR, 1) | 95.417 | 2.314 | 16.583 | 2.314 | 1145 | 199 | 0.8519 |
| LLM(O, A2, 1) | 94.583 | 2.314 | 17.417 | 2.314 | 1135 | 209 | 0.8445 |
| Opiskelija 6 | 93.167 | 1.899 | 18.833 | 1.899 | 1118 | 226 | 0.8318 |
| Opiskelija 7 | 93.167 | 3.563 | 18.833 | 3.563 | 1118 | 226 | 0.8318 |
| LLM(O, A1, 1) | 86.083 | 3.029 | 25.917 | 3.029 | 1033 | 311 | 0.7686 |
| LLM(O, GEN, 2) | 84.083 | 6.947 | 27.917 | 6.947 | 1009 | 335 | 0.7507 |
| LLM(O, CR, 2) | 83.5 | 4.442 | 28.5 | 4.442 | 1002 | 342 | 0.7455 |
| Opiskelija 8 | 83.417 | 4.122 | 28.583 | 4.122 | 1001 | 343 | 0.7448 |
| RiskSeeking | 82.417 | 3.343 | 29.583 | 3.343 | 989 | 355 | 0.7359 |
| LLM(O, GEN, 1) | 80.667 | 4.355 | 31.25 | 4.372 | 968 | 375 | 0.7208 |
| ModelOpponent | 80.583 | 3.26 | 31.417 | 3.26 | 967 | 377 | 0.7195 |
| LLM(D, A1, 1) | 79.417 | 3.965 | 32.583 | 3.965 | 953 | 391 | 0.7091 |
| ExpCostFixedBid | 77.167 | 4.951 | 34.833 | 4.951 | 926 | 418 | 0.689 |
| LLM(O, IR, 2) | 73.917 | 3.502 | 38 | 3.618 | 887 | 456 | 0.6605 |
| LLM(O, A1, 2) | 72.417 | 2.193 | 39.583 | 2.193 | 869 | 475 | 0.6466 |
| LLM(G, A1, 2) | 68.5 | 3.555 | 43.5 | 3.555 | 822 | 522 | 0.6116 |
| LLM(A, GEN, 2) | 67.917 | 2.968 | 44.083 | 2.968 | 815 | 529 | 0.6064 |
| LLM(G, IR, 2) | 65.917 | 2.314 | 46.083 | 2.314 | 791 | 553 | 0.5885 |
| Opiskelija 9 | 64.167 | 11.044 | 47.833 | 11.044 | 770 | 574 | 0.5729 |
| LLM(G, A1, 1) | 64 | 4.243 | 47.917 | 4.316 | 768 | 575 | 0.5719 |
| LLM(G, IR, 1) | 60.333 | 3.725 | 51.667 | 3.725 | 724 | 620 | 0.5387 |
| LLM(O, A2, 2) | 59.333 | 4.499 | 52.667 | 4.499 | 712 | 632 | 0.5298 |
| LLM(D, CR, 1) | 55.083 | 6.694 | 56.833 | 6.59 | 661 | 682 | 0.4922 |
| LLM(G, GEN, 2) | 53.167 | 3.664 | 58.833 | 3.664 | 638 | 706 | 0.4747 |
| LLM(D, GEN, 2) | 52.083 | 9.06 | 59.917 | 9.06 | 625 | 719 | 0.465 |
| Honest | 50.583 | 3.848 | 61.417 | 3.848 | 607 | 737 | 0.4516 |
| Opiskelija 10 | 48.833 | 2.98 | 63.167 | 2.98 | 586 | 758 | 0.436 |
| LLM(D, IR, 1) | 48.583 | 10.211 | 63.417 | 10.211 | 583 | 761 | 0.4338 |
| LLM(A, A1, 1) | 48 | 4.69 | 64 | 4.69 | 576 | 768 | 0.4286 |
| LLM(G, A2, 1) | 47.25 | 3.864 | 64.75 | 3.864 | 567 | 777 | 0.4219 |
| LLM(A, CR, 1) | 43.833 | 4.609 | 68.167 | 4.609 | 526 | 818 | 0.3914 |
| LLM(A, A1, 2) | 43.75 | 2.05 | 68.25 | 2.05 | 525 | 819 | 0.3906 |
| Opiskelija 11 | 42.083 | 5.664 | 69.917 | 5.664 | 505 | 839 | 0.3757 |
| LLM(A, IR, 1) | 39.5 | 2.541 | 72.5 | 2.541 | 474 | 870 | 0.3527 |
| Naive | 36.75 | 1.712 | 75.25 | 1.712 | 441 | 903 | 0.3281 |
| Opiskelija 12 | 36.333 | 1.775 | 75.667 | 1.775 | 436 | 908 | 0.3244 |
| LLM(D, A2, 1) | 33.917 | 2.193 | 78.083 | 2.193 | 407 | 937 | 0.3028 |
| LLM(A, GEN, 1) | 30.167 | 1.749 | 81.833 | 1.749 | 362 | 982 | 0.2693 |
| LLM(D, A2, 2) | 29.833 | 2.038 | 82.167 | 2.038 | 358 | 986 | 0.2664 |
| LLM(G, A2, 2) | 27 | 2.256 | 85 | 2.256 | 324 | 1020 | 0.2411 |
| LLM(A, A2, 1) | 26.333 | 0.985 | 85.667 | 0.985 | 316 | 1028 | 0.2351 |
| LLM(O, CR, 1) | 25 | 3.411 | 87 | 3.411 | 300 | 1044 | 0.2232 |
| LLM(A, IR, 2) | 24.333 | 8.542 | 87.667 | 8.542 | 292 | 1052 | 0.2173 |
| LLM(A, A2, 2) | 24 | 1.809 | 88 | 1.809 | 288 | 1056 | 0.2143 |
| LLM(A, CR, 2) | 23.333 | 1.557 | 88.667 | 1.557 | 280 | 1064 | 0.2083 |
| LLM(D, GEN, 1) | 22.5 | 1.784 | 89.5 | 1.784 | 270 | 1074 | 0.2009 |
| LLM(D, A1, 2) | 13.333 | 1.826 | 98.667 | 1.826 | 160 | 1184 | 0.119 |
| LLM(G, CR, 1) | 9.5 | 1.087 | 102.5 | 1.087 | 114 | 1230 | 0.0848 |
| LLM(G, GEN, 1) | 9.167 | 0.937 | 102.833 | 0.937 | 110 | 1234 | 0.0818 |
| LLM(D, IR, 2) | 7.75 | 0.622 | 104.25 | 0.622 | 93 | 1251 | 0.0692 |
| LLM(G, CR, 2) | 7.25 | 1.422 | 104.75 | 1.422 | 87 | 1257 | 0.0647 |
| LLM(D, CR, 2) | 5.667 | 0.985 | 106.333 | 0.985 | 68 | 1276 | 0.0506 |
Kontekstissa kunkin agentin pelasi 112 ottelua turnauksessa, joten keskimääräinen voitto tai tappio per agentti on 112. Standardipoikkeama (SD) heijastaa muutoksia turnauksissa. Ihmiskoodatut agentit ovat lihavoituja. LLM-koodatut agentit on merkitty mallin, kahden kirjaimen ohjelmointistrategian ja luvun mukaan, joka osoittaa, onko agentti ensimmäinen vai toinen, joka on generoitu kyseisellä ohjelmointistrategialla. Lähde
Tuloksia koskien tutkijat toteavat†:
‘LLM:t eivät generoineet odotettua/ kilpailukykyistä koodia, jopa yksinkertaisemmissa APDP-ongelmien muodoissa (vaikka koodi oli suurelta osin syntaksivirheiden vailla). Tämä korostaa LLM:ien uusia heikkouksia, jotka menevät auto-completion ja tunnistamisen ulkopuolelle.’
‘Tuloksemme osoittavat selvän ylemmän tason ihmiskoodattujen agenttien ylivoiman: (i) Viiden parhaan sijan pitävät aina opiskelijat, ja (ii) useimmat LLM-agentit (33/40) hävisivät erittäin yksinkertaisille perusagenteille (kuten odotetun kustannuksen kiinteä tarjous).
‘Tärkeää on, että emme debugannut opiskelijoiden koodia (vaikka testasimme ja debugasimme LLM-koodin sekä itse että turnaustilanteissa). Jokaisella kerralla, kun opiskelijan agentti kaatui, annimme automaattisesti voiton LLM:lle. Suuri osa näistä kaatuksista olisi helppo korjata (esim. agentit aikakatkaisevat), joten opiskelijoiden agentit voisivat mahdollisesti sijoittua vielä korkeammalle.’
Lisäksi GPT-5 Thinkingiä pyydettiin parantamaan parhaan suorittaneen ihmisen agentin, Opiskelija 1, koodia; mutta nyt LLM:llä muokattu agentti putosi kymmenenneksi, josta tuli huonoin opiskelijan suoritus. Sen sijaan, että LLM paransi ratkaisua, se heikensi sitä lähes 20 prosentilla.
Tutkijat toteavat:
‘[Meidän] tulokset korostavat LLM-koodin generoinnin tärkeitä rajoituksia, erityisesti niiden rajoitettua päätöksentekoa ja suunnittelukykyä koodin generoimisessa.
Johtopäätös
Tutkijat itse huomauttavat tutkimuksensa lopussa, että vibrointi on antanut mahdollisuuksia kaiken tasoisille teknisille taustoille, ja kuvaavat tätä käytännön hyvänä tasa-arvon tekijänä. He kuitenkin viittaavat siihen, että koska vibrointi on vasta saapunut, sen rajoja ei voida tietää, ja ne voidaan olettaa olevan korkeammat kuin mitä voidaan realistisesti odottaa.
He päättävät tarjoamalla tavoitteen muutoksen ‘koodista, joka kääntyy koodiin, joka kilpailee‘.
Yksi kysymys, jonka tutkimuksen epävirallinen lukija saattaa kysyä, on se, ovatko tutkijat iskevästi ylös- vai alaspäin, koska kyseessä oleva agenteille asetettu tehtävä on huomattavasti monimutkaisempi ja monipuolisempi kuin se, mitä vibrointi on hyvin sovellettavissa, kuten PowerShell-komentosarjojen ja muiden pienten toimintojen ja korjausten tuottaminen.
* Huomaa, että tutkimus viittaa jatkuvasti ‘DeepThink R1′:iin, joka näyttää olemattomalta, ja josta on vain muutamia viittauksia internetissä (luultavasti muiden kirjoittajien, jotka ovat virheellisesti kirjoittaneet ‘DeepSeek R1’). Jos tämä on minun virheeni, ole hyvä ja ota yhteyttä minuun profiilitietojeni kautta, ja korjaan sen.
† Tekijöiden painotus, ei minun.
Julkaistu ensimmäisen kerran keskiviikkona, 26. marraskuuta 2025. Muutettu 17:35 itäisen aikavyöhykkeen aikaan muotoilun vuoksi.












