Могат ли LLM да проектират собствен агентски хънес? HarnessDev на ByteDance Seed показва, че само 34 от 64 промени се обобщават
Хънесът на агента е кодът около модела: цикълът на изпълнение, инструментите, контекстът, състоянието, възстановяването и верификацията. Според класацията на Terminal-Bench 2.1 GPT-5 решава 35,2% от задачите в Terminus 2, но 49,6% в Codex CLI при идентични тегла. Повечето бенчмаркове поддържат този хънес фиксиран. HarnessDev, предложен от екип изследователи от ByteDance Seed, Singapore University of Technology and Design, Georgia Institute of Technology, M-A-P и TokenWave.AI, обръща целта: оценяваният артефакт е изпълнимият хънес, който моделът създава, а не отговорът, който произвежда.
2 етапа: създаване и еволюция
При Създаване всеки създател получава един и същ слаб начален код: пасивни примитиви за файлове, търсене и процеси, както и инструменти за записване на резултати и траектории, но без цикъл, планировчик, верификатор, повторен опит или правило за спиране. В непроменен вид той получава 0 точки навсякъде. Създателят получава спецификация на семейството задачи, кратък урок по дизайн и от 1 до 3 развойни случая, изгражда пълен хънес, а след това хънесът се замразява преди изпълнението на скритите задачи.
При Еволюция създателят започва от собствения си замразен код на хънеса от етапа „Създаване“ и го преработва, използвайки обратна връзка от изпълнението върху фиксиран набор от 100 задачи от SWE-bench Pro и всичките 89 задачи от Terminal-Bench 2.1. Всеки официален кандидат трябва да завърши и двете оценки като двойка, с бюджет от 10 двойки и най-много 2 сонди от по пет задачи между двойките. Всяка официална версия впоследствие се оценява върху 630 задържани инстанции от SWE-Pro, които създателят никога не вижда.
Хънесите се оценяват по способност (успешно изпълнение на задачите) и ефективност (токени на изпълнителя, без токените на създателя).
Настройка
Бяха тествани 6 LLM модела създатели: Opus 4.8, GPT-5.5, Gemini 3.1 Pro, DeepSeek V4 Pro, Qwen 3.7 Max и Seed 2.0 Pro, работещи в Claude Code 2.1.177 (GPT-5.5 използваше Codex 0.144.3). Етапът „Създаване“ обхваща 4 области и 5 бенчмарка, общо 2 207 инстанции: публичния сплит на SWE-bench Pro (731), Terminal-Bench 2.1 (89), MLE-bench (75), EQ-Bench3 (46) и BrowseComp (1 266). Всеки създател изгражда по 3 хънеса за всеки бенчмарк, представени като avg@3. Self-Eval изпълнява всеки хънес с неговия създател; Unified-Eval изпълнява всички с Gemini 3.1 Pro.
Резултати от създаването
При Self-Eval Opus 4.8 постига най-високия среден резултат от 67,8 спрямо 86,2 за референтната система, разработена от хора. Разликата зависи от областта:
- Код: Opus 4.8 достига 69,3 при SWE-Pro спрямо 80,0 за референтната система. Gemini 3.1 Pro води при Terminal-Bench с 68,8 спрямо 88,8.
- Търсене: най-голямата разлика. Най-добрият резултат в BrowseComp е 52,6 (GPT-5.5) спрямо 92,2 за референтната система.
- Писане: Opus 4.8 получава 84,6 при EQ-Bench3, над референтните 83,7.
- Експериментиране с ML: Opus 4.8 (32,9) и Gemini (32,4) надминават референтния резултат от 24,0 при MLE-bench.
Референтните резултати за SWE-Pro, Terminal-Bench и BrowseComp са външни резултати от доклада на OpenAI за GPT-5.6, а не повторно проведени тестове.
Обемът на кода не предсказваше качеството: 18-те кодови хънеса добавиха нетно 17 111 реда, но Gemini добави най-малко (1 006) и поведе при Terminal-Bench. Броят на самотестовете имаше слаба корелация с резултата (Spearman от 0,13 до 0,26); извикванията за преработка достигнаха 0,57.
Голяма част от генерираната механика е неактивна. От 108 инстанции на кодови компоненти 72 се задействат при реални изпълнения, а 18 никога не се активират — всички те са свързани със състояние и памет. 11 от 18 хънеса дефинират клас State, но сред 26 679 траектории не се появява нито едно събитие за контролна точка. 124 от 587 функции за писане са мъртъв код.
Разходи и прехвърляне към друг изпълнител
Използването на токени при MLE-bench варираше приблизително 19 пъти. GPT-5.5 постигна 19,1% дял на медалите с 29,3 млн. токена, докато DeepSeek V4 достигна 19,6% с 208,4 млн. При замяна на изпълнителя с Gemini класиранията се промениха: Qwen спечели 17,6 точки в BrowseComp и 12,9 в MLE-bench, докато резултатът на Opus 4.8 в SWE-Pro спадна от 69,3 на 33,0, отчасти защото един хънес беше кодирал твърдо ограничение от 120 стъпки около оригиналния си изпълнител. Делът на дублираните заявки в хънеса за търсене на Opus скочи от 10,1% на 88,2% след смяната.
Резултати от еволюцията
9 родословия (5 със собствена среда за изпълнение и 4 с фиксиран Gemini) произведоха 73 официални версии и 64 последователни промени. Всичките 5 създатели със собствена среда подобриха резултатите си върху задържаните задачи — от +1,43 до +4,44 точки (средно +3,11). При фиксиран Gemini само Opus отбеляза подобрение; GPT-5.5 регресира с 10,32 точки.
Напредъкът не беше монотонен. От 64 промени 8 регресираха и по двата бенчмарка, 16 — по единия, 27 постигнаха подобрение само в рамките на шумовата граница, а 2 показаха ясни положителни доказателства. Една-единствена промяна може да варира с около ±4,75 точки в резултата за двойката. Обратната връзка и резултатите върху задържаните задачи се промениха в една и съща посока само в 34 от 64 случая (53,1%), а само 2 от 9 обявени финални версии бяха оптимални върху задържаните задачи. От 169 нови функции или класове 25 нямат извикващ код.
Най-ясната победа: Opus 4.8 забеляза, че 99 от 100 изпълнения отчитат успех, докато само 48 са преминали, проследи причината до преждевременно приключване и добави врата за завършване. В противен случай диагностицирането на неуспехи беше най-слабата стъпка: специалният интерфейс за траектории беше извикан само два пъти.
Интерактивно обяснение
Основни изводи
- HarnessDev оценява хънеса, който моделът изгражда, а не отговора, който връща.
- Самостоятелно изградените хънеси се изравняват с референтните системи или ги надминават при писане и експериментиране с ML, но изостават сериозно при код и търсене.
- Качеството на хънеса зависи от изпълнителя; Opus 4.8 спада от 69,3 на 33,0 при SWE-Pro с Gemini.
- Подобренията от еволюцията са малки и шумни, а само 34 от 64 промени сочат в една и съща посока при задържаните задачи.
- Голяма част от генерирания код за състояние и памет никога не се изпълнява.
Разгледайте статията и страницата на проекта. Също така можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия SubReddit с над 150 хил. членове за машинно обучение и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и там.
Имате нужда от партньорство с нас за популяризиране на вашето GitHub хранилище, страница в Hugging Face, продуктово представяне, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.