Чаму агенты кадавання ўсё яшчэ блытаюцца ў прыватным кодзе кампаній
Real-SWE тэстуе восем агентаў кадавання на ліцэнзаваных прыватных кодавых базах. Лепшы вырашае 38,8% задач, а пяць класаў збояў паказваюць, дзе агенты памыляюцца.
Крыніцы: Coding Agents Still Struggle With Private Company Code
Аварыяныя тэсты кодавання пераканаюць у корыстнасці некаторых навыкаў, але яны мало што сказваюць пра тое, што відбываецца ў прыватным кодзе, выкарыстоўваным у компаніях. Тэст пад назвай Real-SWE прыменяе другі тып такіх тэстаў. Яго стваральнікі — маленькая стартап-компанія Specific Labs, якая фінансуецца за падтрымкай Y Combinator — апранавалі прыватны код рэальных компаній, выявілі дзесяць задач, якія інжынеры там ужэ завершылі, і далі ўсе гэтыя задачы восьму помочнікам-кодавальнікам. Найлепшы з іх справіўся з 38,8 процэнтамі задач.
Одна з задач пачынаецца з экстрэнай сітуацыі ў вырахоўванні платы: счыты, выдаваемыя службай, выходзіць без жадных податкаў, а вырахоўвання платы пачынаецца у паўтароць. Усі помочнікі спробавалі ўсьмох сорак чатыры разы, і толькі два разы ўсё выйшла. Гэта заведамчасць называецца «Tax jurisdiction» і ёй прыналежыць месца сярод дзесяці задач.
Чаму гэты код застаецца секрэтным
Заснавальнікі неяк недзе публікуяць этот бенчмарк, і ён прабрался на главную старонку Hacker News з калькама соткаў балоў і падараводам больш чым соткі каментароў. Real-SWE ацэнюе васьмыя камбінацыі мадэлі і агента на дзесяць заданняў, з васьмымі спробамі па заданню. Гэта дае 640 ацэнёванных запускаў, а галоўны бал — гэта частка спроб, якія працавалі.
Асновныя праекты выглядаюць як звычны комерчыяй програма: дапытнае застосунак для спрабоў з падараводам 200 000 і болей выкарыстоўвачаў, які знаходзіцца сярод 100 найлепшых у App Store, фінтэх-продукт, які обработаў больш чым 100 000 банкавых выказаў, і платформа для продажоў для падпрыемстваў. Агенты выкарыстоўваюць Docker і Kubernetes, тры базы дадзенаў (Postgres, MySQL, MongoDB), Redis, GitHub і эмульаваныя хмарныя сервісы Amazon, хоць кожна заданне адкрывае толькі тыя сервісы, якія патрэбны для ўласнага рабочага прыему.
У дзеяннях дэякых срэдаў ёсць Slack, Intercom, Google Drive, ClickUp і сервер Linear MCP, які дазволяе агенту чытаць заявкі безпасцерага з Linear. Калі якісь дэталі так і не паўтрапілі ў заявку, агенту трэба шукаць іх у паведамленнях чыста ў документах, так сама, як і самі інжынеры групы.
Толькі праца з податкамі вядзецца за дапамогою сервіса NestJS на TypeScript, двух экземпляраў той самай зовнішней податковай адустаноўкі (сервіс для тэставання і рэальная сістэма для подачы заявок), а таксама базы дадзеных InfluxDB, дзе фіксуюцца завершаныя продажы.
Задачы выкананыя ў фармаце Harbor, а перакананне ў правільнасці застаецца непазорным да часу ацэнкі. Гэта робіцца для таго, каб зменшыць шансы, што агент будзе падлашоўвацца пад тэст, які ёсць відкрытым, а не пад рэальныя вакуфы. Асобы, якія пераканваюць, выклікаюцца з набораў тэстаў, якія гэтыя компаніі вядуць, у дзеякіх случаях без жадных змян.
Аварыяяць раз'ясняюць сваёі мотыў выразным тверджэнням: 99 працоцента токенаў у рэальных падпрыемствах залічваюцца недоступнымі для модэляў Frontier. Паколькі гэтыя задачы выходзяць з прыватнага програмнага апарата, а не з публічных праектаў на GitHub, модэлям не ўдалося пабачыць код чы яго секрэты падчас навучання.
Самыя цыфры бенчмарка паказваюць, што медыянная дужнасць складае 1,742 сімволы, што менейшая цыфра, чым у FrontierCode (2,056) чы DeepSWE (1,975). Аднак у медыянальным случае рэферэнсныя способы выкарыстоўваюць 11 файлаў, тады калі тыя два — 6.
Рэзультаты сільна разніцяюцца з адной задачы да іншай
Адзіны загальны бал маскіруе два аблічна разных групы: задачы, якія агенты рашаюць знову і зноў, і задачы, у якіх яны паспяшаюць ўсё час. Метод мнагарэгіональнага аналізу рашыў 67,2 працоцента задач, API-кліявы і сэрвісныя сераўакі — 65,6, задачы з перадмерным выкарыстоўванням прав — 50, а міграцыя ідэнтыфікацыйных даных клёяў — 40,6.
Рэзультаты ў канцы спіса ўжо не такія вельмі хорашы. Рэгламентаванне падатковых аспектаў даходзіць да 3,1 процента, а лінейны скан — да 4,7; показатары S3 datastore (10,9), метрабілінг API token (12,5) і міграцыя графіка выклэку (14,1) таксама знаходзяцца на высокім рэвэле. Чыгульнае скарыданне дадзеных у аналітычных задачах не прынесла нічога: нуль успехоў за шасцьдзесят чатыры спробы.
Ёдзіныя два успеху ў рэгламентаванні падатковых аспектаў былі атрыманы за дапамогою двух разных модэляў, прычым кожны з гэтых модэляў не паспеў выконаць тую ж задачу ў своіх іншых семі спробах. У задачы сканавання колькіх рэгіёнаў, якая была найлёгшая, тры модэляў выконалі задачу усе восем разоў, а ўсё іншыя — по два разы. Серэйваванне гэтых значэнняў у 67,2 процентая прыкрывае адну групу, якая ніколі не паспела, і другую, якая практычна ніколі не паспела.
Аднам з автараў на Hacker News сказалі, што нізкія показатары адбіваюцься ад задач, «над якімі справжніі інжынеры працавалі недзеяўкі».
Полны спіс:
| Ранг | Модэль і інструменты |
|---|
Рэйтынг не можа адказаць на праблему
Кожны неудачны запуск мае адну з пяці катэгорыяў, запозначаных у таксанаміі DeepSWE:
- Непарабяжаная прыпуск. У замест на перакананне ў правільнасці рабочай суперфісу, агент проста здагадваецца, як будзе дзейснавацца сістэма.
Кожны паказваны процэнт вырахоўваецца на адносе да колькасці неудачных запускаў самой модэлі.
Grok 4.6 меў 61 адказ, з якіх двыя трэці (67,2 процента) стосаваліся неяксанняя трэбаванняў. Gemini 3.8 Flash меў 55 адказоў, пры чым 49,1 процента з іх былі памылкі інтэграцыі. У GPT-5.6 Sol найбольшая група адказоў — неперакананыя прыпускі, 43,3 процента з 67 адказоў, тады як у Fable 5.1 з 49 адказоў памылкі распадзеліліся роўнамерна: апошнія 37 процента — неяксанняя трэбаванняў, а апошнія 35 процента — памылкі інтэграцыі.
Два модэлі, Grok 4.6 і Muse Spark 1.3, завершылі тэст на 23,8 процента, але маюць разныя прычыны адказоў. У Grok адказы большасцю стосаваліся неяксанняя трэбаванняў, у Muse Spark — памылкі інтэграцыі, якія станавілі 41 процента. Рэгрэсіі ніколі не перасягаюць 10,9 процента і станавяць нуль у трох з восьмі конфігурацый. Клас «неправільны файл» з’яўляецца толькі два разы: у GLM 5.3 (7 процента) і Kimi K3 (3,1).
Ёсць парадокс: абяцкі знакі былі опублікованы, але працэс, які стоўчы за іх стварэнням, не опісаны дастаткова дакладна, ўсёле каб процэнты моглі счытацца остаточнымі доказамі. У публічных матэрыялах не чытна, чыім спосабам была адбывалася класыфікацыя — людзьмі-інжынерамі, автаматычным модэлем чы ў сумеснай форме.
Дольшыя працэсы не былі надзеянней
Таксама тэсты былі раздзелены па калькольнай часу. За менш чым дзесяць хвілін 70 з 98 тэстоў не выйшлі, тое ў 71,4 процэна. За дзесяць хвілін і больш 398 з 542 тэстоў не выйшлі, тое ў 73,4 процэна.
Колькасць выкарыстоўваных токенаў таксама розпаведае адносную історыю. Grok 4.6 у сярэжнім мерку выкарыстоўвае ад 3 000 да 20 000 токенаў на васьмых з дзесяці заданняў, пры тым ён выдае 261 000 токенаў пад час аперацыі linearizable scan і 315 000 токенаў пад час аперацыі analytics stream reducer — двух заданняў з найніжэйшымі рэзультатамі. Вялікая колькасць токенаў можа быць сігналам апазору, ўсаболей калі яя значна перавышае нормальны рубеж для данага рэпазітарыя. Калі рэзультат выканання задання значна перавышае прыпускаемую колькасць выходных дадзеных, трэба пераглянуць ход выканання або втручыцца, замест таго каб нештафтавана спроба выканання выкарыстоўвала рэсурсы безрэзультатна.
Найдорожэйшы агент не завжды быў найкрашчым
Розрахункова вартысць одніеі працы залежыць ад версіі: ад 2,50 доларыв (Gemini 3.8 Flash) до 6,96 доларыв (Fable 5.1), прычому ціні майжэ не відповідаюць рэйтынгу. GPT-5.6 Sol коштуе 2,65 долара і опіняецца останнім, тоды як найдэшэвшый варыант – Gemini 3.8 Flash – займае трэце місце. Усі ці значэння ёсць орыентовнімі оцінкамі, а не універсальнім рэйтынгом цін, оскількі фактычні вітраты залежаць ад ціноутворэння, налаштувань, трывалосты задачы, колькасці спроб і вікорыстання інструментаў.
Fable 5.1 коштуе у 2,78 раза більшэ, ніж Gemini 3.8 Flash, і ефектывнішый на 7,6 відсотковіх пунктыв. Чы варто гэта – залежыць ад вартосты невдаліх завдань. У гэтым кантэксты невдача означае помілку у формуванні рахунку, сцягнення коштыв з кліента, які мав буты звільненій ад оплаты, або неправільне завершэння апрацоўкі даных напрыкінці кварталу. Для незначніх змін у інтэрфейсі сумі значно відрызняюцца.
Значная частка разліку выклікаецца колькасцю токенав у выходным даныях. GLM 5.3 у серэднем выдае 117 000 токенав на кожны запуск, а GPT-6 Astra — 24 000, тое ўсьмо гэта майжэ у пяце разоў больш за тыя ж дзесяць задач. Два показнікі супакоўваны застэрэжэннямі аўтараў тэсту: Grok 4.6 за $3,44 і Kimi K3 за $3,90 не маюць дакладных даных пра выкарыстанне, таму рэальная цена можа быць вышэй. Іх следзіце спрыятаць як мінімальныя значэння.
Адна і тая ж платформа, але разлік у семнаццаць балоў
Кожны пункт супакоюе мадэль з інструментамі яе прымальніка, таму ў тэсце оценкі паказваюцца як „комбінацыі модэля і платформы, а не модэлі окрэма“. Аднак две платформы прыступлены два разы, што дазволяе зробіць прыбліжнае паўстанавленне. За дапамогою Codex CLI GPT-6 Astra даходзіць до 33,8 процэнта, тым час як GPT-5.6 Sol — толькі 16,2, тое ўсьмо разлік у 17,6 балоў. За дапамогою Claude Code Fable 5.1 даходзіць до 38,8, а GLM 5.3 — да 28,8, тое ўсьмо разлік у дзесяць балоў.
Тым часам дзесяць задач і вясьмі конфігурацыі ствараюць маленькую таблыцу, і кожны рэйтынг супакоўваецца паведамленым інтэрвалам паверы. Кожны мадэль быў запусканы 80 разоў, таму 38,8 процэнта у Fable 5.1 адпавядае 31 успеху, а 16,2 процэнта у GPT-5.6 Sol — 13 успехам. Калі для аднаго модэлю адна задача скануецца інача, яго рэйтынг зменшыцца на калькі балоў. Ніхто не павінен выбіраць прадавца на такой маленькай таблыцы, і автары не прасябя нікога пра гэта. Гэты эксперымент паказвае, што публічныя рэйтынгі можаць быць непূরным кераваннем для выконвальных якостэй у прыватным кодбэсе, і ён прыязначае пяць практычных класаў неудач да гэтага разліку.
Запустыце пяць метак у своем кодзе
Таксанамія — гэта і частка, якая перавозіцца. Вы можэце застосоўваць ёю свой рэпазітарый калі толькі захочаце.
Возьміце апошнія дваццаць запрошэнняў да змены, якія адкрыў агент, і кожнаму з тых, якія не прыняты або сільна змененыя, прызначыце адну з пяці класаў. Падсчытайце іх. Распад гэтых класаў ёсць рынактам, і ён не будзе падабацца ніякой модэлі, пра якую чыталі за гэты тыдзень, адтуды што ён залежыць як ад вашай базы коду і прычын заявок, так і ад самай модэлі. Клас, які выявіцца найбольш папулярным, абмежыце для яго доступ.
Калі домінуюць неперакананыя прыпускі, неабходна ўстановка журналу чытання. Папросіце агента запісаць, якія файлы ён ачыў пры перадзеяванні чаго-небудзь, і адхіліце такое перадзеяванне, калі ў спіску не будзе файлу, дзе знаходзіцца адпаведная функцыя. Неадаптаваныя трэбованні зазвычай маюць свою прычыну ў самай заявке. Ператворыце інструкцію на спіс крэтарыяў прыйнятнасці і пазначайце іх адна за адной, адтолькі ўважайце, што інструкцыя з пяцьма трэбованнямі, захаванымі ў дужа дзяўгам параграфе, являецца прычыной 67,2 процэнта проблем у Grok. Адыянацыйныя бягі значаюць, што тэсты праходзяць на рэвеню, але прабуюцца неудачна ў ланцугу вызываў, таму тэставайце па маршруту, які следуе жывая аплікацыя, пачынаючы з ее точкі входу. Праблемы, вызваныя неправым файлам, ўтыклівы, таму кожны такі случай трэба розследаваць: пераканайцеся, што да кожнага зменаванага файлу можна дасягнуць з коду, які аплікацыя на самай працэ пакойвае.
З таго часу трэба старацца прыкладваць увагу да аднаго показніка: часткі запросаў агента, якія праходзяць перагляд з першай спробы, разбітых па класах адмов. Ён зменшыцца, калі умовы стануць строгей, і знова зменшыцца, калі змяніцца алгорытм, які лежыць у основе.