Взгляд Anderson
Человеческий код 2020 года победил агентов, созданных с помощью вибрационного кодирования, в тестах агентов

ChatGPT и другие инструменты вибрационного кодирования были протестированы в почти 40 000 матчах – и проиграли коду, написанному аспирантом до изобретения больших языковых моделей.
В новом исследовании из Великобритании исследователи противопоставили человеческий код агентам, созданным с помощью вибрационного кодирования, разработанным с использованием последних больших языковых моделей (БЯМ), таких как ChatGPT-5 и Claude, и обнаружили, что агенты, созданные без помощи ИИ, легко победили версии, созданные с помощью ИИ.
Оба набора агентов были созданы разными поколениями студентов из лаборатории искусственного интеллекта Федерального технологического института Лозанны. НекИИ-агенты были разработаны в рамках курсовой работы в 2020 году, за два года до появления ChatGPT и начала революции БЯМ, в то время как новые агенты были созданы текущими студентами, с помощью последних и лучших БЯМ.
Даже с подстроенной игрой, вибрационно-кодированные решения не смогли выиграть, и первые пять мест постоянно занимали “сырые” агенты, а большинство агентов БЯМ (33 из 40) легко победили “очень простые” базовые агенты, в 38 304 вызовах в турнире, в широком диапазоне переменных и обстоятельств.
В статье говорится:
‘Наша работа демонстрирует, что хотя современные БЯМ могут генерировать код, который запускается (т. е. свободен от синтаксических ошибок), сгенерированное решение не является конкурентоспособным для человеческих решений по таким измерениям, как стратегическое планирование, оптимизация или многомерная конкуренция.
‘Таким образом, эта работа подчеркивает новый рубеж в генерации кода и направлена на содействие разработке эталонов, наборов данных и открытых исходных кодов, которые подчеркивают синтез кода, основанный на рассуждениях.’
Задача, разработанная для исследования авторов, заключалась в том, чтобы творчески участвовать в аукционах, по различным стратегиям, и организовывать логистику доставки выигранных предметов победителям.
Авторы отмечают, что БЯМ были даны несколько преимуществ, таких как вмешательство в их код для улучшения их производительности – преимущество, не разрешенное 2020-му коду. Несмотря на это, даже когда им была предоставлена исправленная код, которая, безусловно, улучшила бы их результаты, БЯМ не смогли использовать ее:
‘[В] нашем эталоне даже когда мы предоставляем хорошее решение в контексте, БЯМ все равно не может использовать его.
‘Этот результат также поднимает интересные вопросы о будущих исследованиях по пределам контекстного обучения и решения проблем, дополненных извлечением в сложных сценариях.’
БЯМ, использованные в тесте, были GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1 и DeepSeek R1*.
Новая статья называется Может ли вибрационное кодирование победить студентов-магистров? Турнир БЯМ против человеческого кодирования на рыночном стратегическом планировании, и исходит от одного автора из Университета Саутгемптона и другого из Университета Оксфорда и Института Алана Тьюринга. Эталон, утверждают авторы, будет выпущен вскоре.
Метод
Авторы отмечают, что традиционные тесты в этой области фокусируются на вызовах с четко определенным бинарным решением (правильно или неправильно), проверяемым с помощью юнит-тестов. Считая, что это не идеальный способ изучения ограничений кодирования БЯМ, авторы разработали более сложный сценарий вызова, с несколькими внутренними эталонами и вехами, в котором победа возможна, но далеко не проста:
![Сравнение стандартных подходов, основанных на юнит-тестах (выше), и разработанного авторами сценария вызова (синий, ниже). Источник [ https://arxiv.org/pdf/2511.20613 ]](https://www.unite.ai/wp-content/uploads/2025/11/figure-1-2.jpg)
Сравнение стандартных подходов, основанных на юнит-тестах (выше), и разработанного авторами сценария вызова (синий, ниже). Источник
Задача аукциона, подачи и доставки (APDP) использовалась для исследования авторов частично потому, что была доступна корпуса 2020 года студенческой работы из швейцарского университета; работы, которая стремилась создать автоматические агенты для задачи APDP, до появления возможности укрепить разработку с помощью ИИ. Поэтому было относительно легко задать современным студентам ту же задачу, но предоставить им современные инструменты.
Авторы стремились избежать популярных тестовых фреймворков, таких как HumanEval, BigCodeBench и WebDev Arena (среди многих других), поскольку этот класс тестовых процедур склонен страдать от загрязнения данных (т. е. случаев, когда система может обучиться на тестовых данных вместо соблюдения разделения).
APDP – это двухэтапная логистическая задача, основанная на обратных аукционах и маршрутизации транспортных средств. На первом этапе агенты конкурируют за выигрыш задач доставки, подавая заявки на то, сколько они должны быть оплачены за каждую задачу. Заявка слишком высокой означает потерю задачи; заявка слишком низкой может означать потерю денег.
На втором этапе каждый агент должен создать эффективный план для выполнения только тех задач, которые он выиграл, присваивая их транспортным средствам с разными емкостями и затратами, под временными и ресурсными ограничениями:

В APDP компании участвуют в обратных аукционах за задачи доставки, затем оптимизируют маршруты транспортных средств для выполнения только тех задач, которые они выиграли, стремясь максимизировать прибыль.
Цель не только выполнить задачи, но и максимизировать общую прибыль, предвидя, какие наборы задач будут работать лучше всего вместе, и предсказывая стратегии конкурентов, которые все пытаются сделать то же самое.
Эталон APDP повышает сложность задач генерации кода, вводя стратегическое планирование на протяжении последовательности взаимозависимых аукционов, с каждой заявкой, меняющей ландшафт будущих выборов; и поэтому требует от агентов рассуждения не только о непосредственных затратах, но и о позиционировании, времени и долгосрочных последствиях.
Основная проблема доставки NP-сложна, т. е. нет алгоритма, который может надежно найти лучшее решение в разумное время, когда количество задач растет. Это делает метод грубой силы неработоспособным и заставляет агентов торговать точностью за скорость.
Гонка началась
Оценка авторов сравнивает 40 агентов, созданных с помощью БЯМ, с 17 человеческими агентами в серии матчей один на один. Каждый из 12 турниров использовал разную комбинацию четырех топологий дорожной сети, и состоял из всех против всех пар, с агентами, сталкивающимися с каждым другим соперником дважды: один раз, контролируя каждую из двух компаний, с разными характеристиками транспортных средств.
Эта установка дала 3 192 матча на турнир, в общей сложности 38 304 матча. В каждом матче 50 задач доставки были аукционированы, определенные их точками подачи и сдачи и весом, и были случайно распределены по сетям дорог, смоделированным на Швейцарии, Франции, Великобритании и Нидерландах:

Упрощенные дорожные сети, использованные в турнире: Великобритания (вверху слева), Швейцария (вверху справа), Нидерланды (внизу слева) и Франция (внизу справа). Синие и красные квадраты обозначают задачи подачи и доставки. Цветные треугольники показывают текущие позиции транспортных средств агентов.
Студенческие агенты были выбраны из турнира 2020 года. Восемь из них были из лучших исполнителей в финале на выбывание, и четыре были выбраны за сильную производительность против базовых агентов в матчах один на один.
Базовые агенты следовали фиксированным эвристикам. Наивный рассчитывал общее расстояние и заявлял соответственно, используя только одно транспортное средство и игнорируя пакетирование; ExpCostFixedBid симулировал 10 случайных задач, и заявлял среднюю маржинальную стоимость; Честный рассчитывал фактическую маржинальную стоимость вставки задачи в график; ModelOpponent делал то же самое, но добавлял оценку стоимости соперника, заявляя максимум; и RiskSeeking смешивал время-затухающий приоритет с живой оценкой стоимости и моделированием соперника – снова заявляя максимум.
Оценка включала 40 агентов, созданных с помощью БЯМ, построенных с использованием (вышеупомянутых) GPT-5 Thinking, Claude Opus 4.1, Gemini 2.5 Pro и DeepSeek R1. Каждая модель была запущена с пятью различными стратегиями, примененными дважды для каждой модели.
Две стратегии использовали статические подсказки, написанные разными авторами, в то время как третья просила модель саморефлексировать и пересмотреть свой собственный вывод; еще одна включала критику и пересмотр отдельным БЯМ. Последняя стратегия использовала GPT-4 для синтеза новой подсказки, просматривая все четыре предыдущих подхода.
Базовая подсказка отражала исходное студенческое задание, описывая среду доставки и инструктируя модель заявлять и планировать для максимизации прибыли, не полагаясь на высоко сложные методы.
Все агенты БЯМ были протестированы в обоих режимах самоигры и турнира до тех пор, пока все наблюдаемые ошибки не были исправлены. Исправление ошибок обрабатывалось автономно БЯМ, запущенными с информацией об ошибке.
Общие провалы БЯМ, отмеченные в статье, включали нарушения пределов времени, неисправность подачи или доставки назначенных задач и нарушения ограничений емкости транспортных средств – ошибки, которые часто возникали из-за игнорирования явных инструкций или из-за ошибочной логики повторного планирования†:
‘Другой распространенной проблемой, которую мы обнаружили (в основном с Gemini, Claude и DeepSeek, и не так много с GPT), является то, что БЯМ часто последовательно не могут решить ошибку.
‘Например, агент может последовательно превышать время; несмотря на несколько (например, 5-15) циклов запуска БЯМ с ошибкой и получения обновленной версии кода.
‘Единственное решение, которое мы нашли для таких ситуаций (где БЯМ повторно не может решить одну и ту же ошибку), – это перезапустить с нуля. В целом мы наблюдали необходимость в значительных ручных усилиях для достижения кода без ошибок. Нам пришлось сгенерировать значительно больше агентов, чтобы получить 40 агентов без ошибок, которые мы оценили.’
Результаты, представленные ниже, суммируют исходы из 12 двойных круговых турниров, охватывающих четыре топологии сетей и три турнира на каждой топологии, в общей сложности около 40 000 матчей:
| Агент | Среднее количество побед / Турнир | Стандартное отклонение количества побед / Турнир | Среднее количество поражений / Турнир | Стандартное отклонение количества поражений / Турнир | Общее количество побед | Общее количество поражений | Коэффициент побед |
|---|---|---|---|---|---|---|---|
| Студент 1 | 108.167 | 1.193 | 3.833 | 1.193 | 1298 | 46 | 0.9658 |
| Студент 2 | 104.917 | 2.539 | 7.083 | 2.539 | 1259 | 85 | 0.9368 |
| Студент 3 | 103.917 | 2.466 | 8.083 | 2.466 | 1247 | 97 | 0.9278 |
| Студент 4 | 103.25 | 1.815 | 8.75 | 1.815 | 1239 | 105 | 0.9219 |
| Студент 5 | 96.5 | 2.908 | 15.5 | 2.908 | 1158 | 186 | 0.8616 |
| БЯМ(O, IR, 1) | 95.417 | 2.314 | 16.583 | 2.314 | 1145 | 199 | 0.8519 |
| БЯМ(O, A2, 1) | 94.583 | 2.314 | 17.417 | 2.314 | 1135 | 209 | 0.8445 |
| Студент 6 | 93.167 | 1.899 | 18.833 | 1.899 | 1118 | 226 | 0.8318 |
| Студент 7 | 93.167 | 3.563 | 18.833 | 3.563 | 1118 | 226 | 0.8318 |
| БЯМ(O, A1, 1) | 86.083 | 3.029 | 25.917 | 3.029 | 1033 | 311 | 0.7686 |
| БЯМ(O, GEN, 2) | 84.083 | 6.947 | 27.917 | 6.947 | 1009 | 335 | 0.7507 |
| БЯМ(O, CR, 2) | 83.5 | 4.442 | 28.5 | 4.442 | 1002 | 342 | 0.7455 |
| Студент 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 |
| БЯМ(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 |
| БЯМ(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 |
| БЯМ(O, IR, 2) | 73.917 | 3.502 | 38 | 3.618 | 887 | 456 | 0.6605 |
| БЯМ(O, A1, 2) | 72.417 | 2.193 | 39.583 | 2.193 | 869 | 475 | 0.6466 |
| БЯМ(G, A1, 2) | 68.5 | 3.555 | 43.5 | 3.555 | 822 | 522 | 0.6116 |
| БЯМ(A, GEN, 2) | 67.917 | 2.968 | 44.083 | 2.968 | 815 | 529 | 0.6064 |
| БЯМ(G, IR, 2) | 65.917 | 2.314 | 46.083 | 2.314 | 791 | 553 | 0.5885 |
| Студент 9 | 64.167 | 11.044 | 47.833 | 11.044 | 770 | 574 | 0.5729 |
| БЯМ(G, A1, 1) | 64 | 4.243 | 47.917 | 4.316 | 768 | 575 | 0.5719 |
| БЯМ(G, IR, 1) | 60.333 | 3.725 | 51.667 | 3.725 | 724 | 620 | 0.5387 |
| БЯМ(O, A2, 2) | 59.333 | 4.499 | 52.667 | 4.499 | 712 | 632 | 0.5298 |
| БЯМ(D, CR, 1) | 55.083 | 6.694 | 56.833 | 6.59 | 661 | 682 | 0.4922 |
| БЯМ(G, GEN, 2) | 53.167 | 3.664 | 58.833 | 3.664 | 638 | 706 | 0.4747 |
| БЯМ(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 |
| Студент 10 | 48.833 | 2.98 | 63.167 | 2.98 | 586 | 758 | 0.436 |
| БЯМ(D, IR, 1) | 48.583 | 10.211 | 63.417 | 10.211 | 583 | 761 | 0.4338 |
| БЯМ(A, A1, 1) | 48 | 4.69 | 64 | 4.69 | 576 | 768 | 0.4286 |
| БЯМ(G, A2, 1) | 47.25 | 3.864 | 64.75 | 3.864 | 567 | 777 | 0.4219 |
| БЯМ(A, CR, 1) | 43.833 | 4.609 | 68.167 | 4.609 | 526 | 818 | 0.3914 |
| БЯМ(A, A1, 2) | 43.75 | 2.05 | 68.25 | 2.05 | 525 | 819 | 0.3906 |
| Студент 11 | 42.083 | 5.664 | 69.917 | 5.664 | 505 | 839 | 0.3757 |
| БЯМ(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 |
| Студент 12 | 36.333 | 1.775 | 75.667 | 1.775 | 436 | 908 | 0.3244 |
| БЯМ(D, A2, 1) | 33.917 | 2.193 | 78.083 | 2.193 | 407 | 937 | 0.3028 |
| БЯМ(A, GEN, 1) | 30.167 | 1.749 | 81.833 | 1.749 | 362 | 982 | 0.2693 |
| БЯМ(D, A2, 2) | 29.833 | 2.038 | 82.167 | 2.038 | 358 | 986 | 0.2664 |
| БЯМ(G, A2, 2) | 27 | 2.256 | 85 | 2.256 | 324 | 1020 | 0.2411 |
| БЯМ(A, A2, 1) | 26.333 | 0.985 | 85.667 | 0.985 | 316 | 1028 | 0.2351 |
| БЯМ(O, CR, 1) | 25 | 3.411 | 87 | 3.411 | 300 | 1044 | 0.2232 |
| БЯМ(A, IR, 2) | 24.333 | 8.542 | 87.667 | 8.542 | 292 | 1052 | 0.2173 |
| БЯМ(A, A2, 2) | 24 | 1.809 | 88 | 1.809 | 288 | 1056 | 0.2143 |
| БЯМ(A, CR, 2) | 23.333 | 1.557 | 88.667 | 1.557 | 280 | 1064 | 0.2083 |
| БЯМ(D, GEN, 1) | 22.5 | 1.784 | 89.5 | 1.784 | 270 | 1074 | 0.2009 |
| БЯМ(D, A1, 2) | 13.333 | 1.826 | 98.667 | 1.826 | 160 | 1184 | 0.119 |
| БЯМ(G, CR, 1) | 9.5 | 1.087 | 102.5 | 1.087 | 114 | 1230 | 0.0848 |
| БЯМ(G, GEN, 1) | 9.167 | 0.937 | 102.833 | 0.937 | 110 | 1234 | 0.0818 |
| БЯМ(D, IR, 2) | 7.75 | 0.622 | 104.25 | 0.622 | 93 | 1251 | 0.0692 |
| БЯМ(G, CR, 2) | 7.25 | 1.422 | 104.75 | 1.422 | 87 | 1257 | 0.0647 |
| БЯМ(D, CR, 2) | 5.667 | 0.985 | 106.333 | 0.985 | 68 | 1276 | 0.0506 |
Для контекста, каждый агент играл 112 матчей на турнир, поэтому максимально возможное среднее значение для побед или поражений на агента составляет 112. Стандартное отклонение (SD) отражает изменчивость по турнирам. Человеческие агенты выделены жирным шрифтом. Агенты БЯМ обозначены моделью (O = GPT-5 Thinking, G = Gemini 2.5 Pro, A = Claude Opus 4.1, D = DeepSeek R1), за которой следует двухбуквенный код стратегии подсказки и цифра, указывающая, является ли агент первым или вторым, сгенерированным с этой подсказкой. Источник
В отношении результатов, представленных выше, авторы заявляют†:
‘БЯМ не генерировали ожидаемый/конкурентный код даже в более простых вариантах проблемы APDP (несмотря на то, что код был в основном свободен от синтаксических ошибок). Это подчеркивает важность оценки кода, основанной на рассуждениях, которая выходит за рамки автозаполнения и выявляет новые слабости БЯМ.’
‘Наши результаты демонстрируют явное превосходство человеческих агентов: (i) первые пять мест постоянно занимают студенческие агенты, и (ii) большинство агентов БЯМ (33 из 40) легко побеждаются очень простыми базовыми агентами (такими как фиксированная заявка ожидаемой стоимости).
‘Важно отметить, что мы не отлаживали студенческий код (в то время как мы тщательно тестировали/отлаживали код БЯМ, как в самоигре, так и в турнирных настройках). Каждый раз, когда студенческий агент крахнулся, мы автоматически присуждали победу БЯМ. Большое количество этих крахов было бы легко исправимо (например, агенты превышали время), поэтому студенческие агенты могли бы потенциально занять еще более высокие места.’
Как дополнительный эксперимент, GPT-5 Thinking была запущена для улучшения кода лучшего человеческого агента, Студент 1; но теперь модифицированный агент БЯМ впоследствии упал на десятое место, теперь худшее из всех человеческих результатов. Вместо того, чтобы улучшить решение, изменения БЯМ ухудшили его примерно на 20%.
Авторы заключают:
‘[Наши] результаты подчеркивают важные ограничения генерации кода БЯМ, наиболее заметные из которых – ограниченные возможности рассуждения и планирования при генерации [кода]. Современные БЯМ способны предоставлять код, свободный от синтаксических ошибок, но это не тот эталон, который мы должны использовать для измерения прогресса в направлении продвинутого общего ИИ.’
Заключение
Авторы сами отмечают в конце статьи, что вибрационное кодирование расширило возможности людей всех технических фонов и характеризуют эту практику в положительном свете, как выравнивающую силу. Однако они также подразумевают, что поскольку вибрационное кодирование только что появилось, его пределы неизвестны и могут быть приняты за гораздо более высокие, чем можно реалистично ожидать.
Они заканчивают свою работу, призывая к сдвигу цели ‘от кода, который компилируется, до кода, который конкурирует’.
Один вопрос, который может возникнуть у случайного читателя этой интересной новой статьи, заключается в том, бьют ли авторы выше или ниже, поскольку агентская задача в вопросе значительно более сложна и сложна, чем выплевывание скриптов PowerShell и других форм минимальной функциональности и исправлений, для которых вибрационное кодирование хорошо подходит.
* Пожалуйста, обратите внимание, что статья постоянно ссылается на ‘DeepThink R1′, который, кажется, не существует, обнаруживая только несколько ссылок в Интернете (предположительно из других авторов, которые неправильно написали ‘DeepSeek R1)’. Если это ошибка с моей стороны, пожалуйста, свяжитесь со мной через мои профильные данные, и я исправлю.
† Подчеркивание авторов, а не мое.
Опубликовано в среду, 26 ноября 2025 года. Исправлено 17:35 по восточному времени для форматирования.












