Погляд Anderson

Людський код 2020 року переміг агентів, створених за допомогою Vibe-Coding, у тестах агентських можливостей

mm
Додайте Unite.AI до бажаних джерел у Google
AI-generated image: a Victorian coach and horses winning formula 1 against modern race car competitors. gpt-image-1.

ChatGPT та інші інструменти vibe coding перевірили майже у 40 000 матчах — і вони програли коду аспірантів, написаному до появи великих мовних моделей.Нове британське дослідження порівняло агентів, написаних людьми, з агентами, створеними за допомогою vibe coding на базі найновіших великих мовних моделей на кшталт GPT-5 і Claude. Агенти без допомоги AI легко перемогли. Обидві групи створили різні покоління студентів лабораторії AI в EPFL. Агенти без AI були курсовою роботою 2020 року, за два роки до ChatGPT, а нових створили нинішні студенти за допомогою найкращих LLM. Навіть із перевагами для AI vibe-coded рішення не виграли: перші п’ять місць посіли людські агенти, а 33 з 40 агентів LLM програли дуже простим базовим стратегіям у 38 304 випробуваннях. Автори пишуть:

«Хоча сучасні LLM можуть генерувати працездатний код без синтаксичних помилок, їхні рішення не конкурують із людськими у стратегічному плануванні, оптимізації чи багатоагентній конкуренції.»

«Ця робота висуває на перший план новий рубіж генерації коду та сприяє розробці benchmark-ів, наборів даних і відкритих базових рішень, що перевіряють синтез коду на основі міркувань.»

Завдання вимагало творчо брати участь в аукціонах за різними стратегіями й планувати логістику виграних доставок. LLM отримали переваги, зокрема можливість виправляти код, якої не мали рішення 2020 року. Та навіть коли їм показували корисний код, вони не могли ним скористатися:

«Навіть коли ми показуємо добрий розв’язок у контексті, LLM усе одно не може його використати.»

«Результат порушує питання про межі навчання в контексті та розв’язання складних задач із пошуком інформації.»

Тестували GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1 і DeepSeek R1*. Нова стаття має назву Can Vibe Coding Beat Graduate CS Students? An LLM vs. Human Coding Tournament on Market-driven Strategic Planning; її автори представляють University of Southampton, University of Oxford та Alan Turing Institute. Benchmark мають невдовзі опублікувати.

Метод

Традиційні тести зосереджуються на бінарних відповідях — правильно або неправильно — які перевіряють модульними тестами. Автори натомість створили відкриту багаторівневу задачу, де перемога можлива, але непроста.Порівняння стандартних модульних тестів із відкритим сценарієм авторів Порівняння підходів на основі модульних тестів та відкритішої задачі. ДжерелоAuction, Pickup and Delivery Problem (APDP) обрали зокрема через наявність студентського коду 2020 року, створеного до можливості допомоги AI. Сучасні студенти отримали те саме завдання з новими інструментами. Автори уникали benchmark-ів HumanEval, BigCodeBench і WebDev Arena через ризик забруднення даних, коли система могла навчатися на тестових даних замість правильного розділення.Зворотні аукціони та маршрутизація транспорту утворюють двоетапну APDP. Спочатку агенти пропонують ціну за доставку: зависока ставка програє, занизька може спричинити збиток. Потім вони планують лише виграні завдання для машин із різною місткістю та вартістю за часових і ресурсних обмежень.В APDP компанії торгуються за доставки й оптимізують маршрути виграних завдань для максимального прибутку. Компанії беруть участь у зворотних аукціонах і оптимізують маршрути транспорту для виграних завдань.Мета — максимізувати прибуток, передбачаючи вигідні пакети завдань і стратегії суперників. Кожен аукціон змінює майбутні варіанти, тому агент має міркувати про витрати, позицію, час і довгострокові наслідки. Основна задача є NP-складною: зі зростанням кількості завдань жоден алгоритм не знаходить надійно найкращий розв’язок за прийнятний час.

Перегони починаються

Оцінювання порівняло 40 агентів LLM із 17 людськими агентами у 12 турнірах на чотирьох дорожніх топологіях за системою кожен із кожним. Кожна пара грала двічі, що дало 3 192 матчі на турнір і 38 304 загалом. У кожному матчі продавали 50 доставок на картах Швейцарії, Франції, Великої Британії та Нідерландів.Спрощені дорожні мережі Великої Британії, Швейцарії, Нідерландів і Франції із завданнями та позиціями машин. Дорожні мережі турніру та позначення завдань і транспортних засобів.Студентських агентів взяли з турніру курсу 2020 року: вісім фіналістів і ще чотири сильні проти базових агентів. Базові агенти використовували сталі евристики. Naive рахував загальну відстань і використовував одну машину; ExpCostFixedBid моделював десять завдань і пропонував середню граничну вартість; Honest рахував фактичну вартість додавання завдання; ModelOpponent додавав оцінку витрат суперника; а RiskSeeking поєднував часово-змінну попередню оцінку з поточною вартістю та моделлю суперника. Сорок агентів LLM створили за допомогою GPT-5 Thinking, Claude Opus 4.1, Gemini 2.5 Pro і DeepSeek R1, використавши п’ять стратегій prompt двічі для кожної моделі. Два prompt були статичними, третій вимагав саморефлексії, четвертий — критики іншим LLM, а п’ятий синтезував GPT-4. Базовий prompt повторював оригінальне студентське завдання. Агенти LLM тестувалися й виправлялися самими моделями до усунення видимих помилок. Типові збої включали перевищення часу, невиконання забору чи доставки та порушення місткості через ігнорування інструкцій або хибне перепланування†:

«Поширеною проблемою, переважно в Gemini, Claude та DeepSeek, була повторна нездатність виправити помилку.»

«Агент постійно перевищував час навіть після 5–15 циклів, коли LLM отримував повідомлення про помилку й повертав оновлений код.»

«Єдиним розв’язком було почати з нуля. Код без помилок вимагав значних ручних зусиль, і нам довелося створити набагато більше агентів, щоб отримати 40 працездатних.»

Таблиця підсумовує 12 подвійних кругових турнірів, майже 40 000 матчів:

Агент Сер. перемог / турнір SD перемог / турнір Сер. поразок / турнір SD поразок / турнір Усього перемог Усього поразок Частка перемог
Student 1 108.167 1.193 3.833 1.193 1298 46 0.9658
Student 2 104.917 2.539 7.083 2.539 1259 85 0.9368
Student 3 103.917 2.466 8.083 2.466 1247 97 0.9278
Student 4 103.25 1.815 8.75 1.815 1239 105 0.9219
Student 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
Student 6 93.167 1.899 18.833 1.899 1118 226 0.8318
Student 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
Student 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
Student 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
Student 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
Student 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
Student 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

Кожен агент грав 112 матчів на турнір. Стандартне відхилення (SD) показує мінливість. Людські агенти виділені жирним. Агенти LLM позначені моделлю (O = GPT-5 Thinking, G = Gemini 2.5 Pro, A = Claude Opus 4.1, D = DeepSeek R1), кодом стратегії prompt і номером першої чи другої генерації. ДжерелоЩодо результатів автори зазначають†:

«LLM не створили очікуваного чи конкурентного коду навіть у простіших варіантах APDP, хоча код переважно не мав синтаксичних помилок. Це показує потребу в benchmark-ах на основі міркувань, що виходять за межі автодоповнення.»

«Людські агенти явно переважали: перші п’ять місць стабільно займали студенти, а 33 з 40 агентів LLM програли дуже простим базовим агентам.»

«Ми не виправляли студентський код, зате ретельно тестували й виправляли код LLM. Кожен збій студента автоматично давав перемогу LLM. Багато збоїв легко усунути, тому студенти могли б посісти ще вищі місця.»

У додатковому експерименті GPT-5 Thinking попросили поліпшити найкращого людського агента Student 1; змінений агент упав на десяте, найгірше серед людей місце. Зміни погіршили результат майже на 20%. Автори підсумовують:

«Результати показують важливі обмеження генерації коду LLM, передусім слабке міркування й планування. Сучасні LLM можуть давати працездатний код без синтаксичних помилок, але це не той benchmark, яким слід міряти прогрес до розвиненого загального AI.»

Висновок

Автори визнають, що vibe coding надає можливості людям із різним технічним досвідом і вирівнює доступ. Однак його межі ще невідомі й можуть бути нижчими за поширені очікування. Вони закликають змістити мету «від коду, який компілюється, до коду, який конкурує». Читач може запитати, чи не є порівняння надто суворим, адже агентне завдання значно складніше за невеликі PowerShell-скрипти й виправлення, для яких vibe coding добре підходить. * Примітка: стаття постійно використовує назву «DeepThink R1», яка, схоже, не існує й, імовірно, є помилковим написанням «DeepSeek R1». Якщо це моя помилка, зв’яжіться через профіль, і я виправлю текст.† Виділення належить авторам.Вперше опубліковано в середу, 26 листопада 2025 року. Форматування змінено о 17:35 EST.

Автор у галузі машинного навчання, фахівець у сфері синтезу зображень людей. Колишній керівник дослідницького контенту в Metaphysic.ai, до його злиття з Brahma.ai, що належить DNEG.
Веб‑сайт: martinanderson.ai
Контакт: martin@martinanderson.ai