Галоўная / Артыкулы

GLM 5.2 у Claude Code на рэальным SDK за пяць долараў

Эксперымент за пяць долараў праз OpenRouter: Claude Code працуе праз GLM 5.2, праводзіць аўдыт і мяняе React Native SDK — колькі каштавала кожная задача і дзе эканомія заканчваецца.

Выдавец: REACTAPP.TOP8 хв чытання1756 слоў

Крыніцы: I ran GLM 5.2 on my React Native SDK for five dollars

Законапроект Claude Code, якій стае все вышэй і вышэй, — гэта чырвоны сігнал для пашуку дышэйшага двайніка. Найбольш часта выбора — GLM 5.2, мадэль адкрытага тыпу з кінэзкаго лабораторыя, якую посты з аналізамі стацыянарна хваляць. Узамест таго, каб чытаць больш такіх пастоў, адна з разрабоцкіх груп заплатыла пяць долераў за OpenRouter і прыклікала гэтую мадэль да рэальнага кодавага базы — генератыўнага SDK для інтэрфейса, створанага для React Native, пераглядаючы кожную з рэзультатных ліній коду. Аўдыт коштаў 59 цэнтав, а стварэнне — чатыры долеры. Дакладныя даныя вартуюць увагі, укладаючы ў сябе нават майжэ-памылку ў тым, які код следуе адправляць да хоставанай модэлі.

Чаму вообшча яго тэставаць

Эксперымент быў спрычынены двума мотывамі. Першым была цена. Мадэль, якая коштуе дзесятую частку звычайнай цены і можа адмахнуцца паловыя навантажэння, дазволяла зарабляць рэальныя грошы, боўш чым для тых, хто адразу керуе многамі агентамі, іноды нават цэлым ўзборам іх. Другім мотывам была цікавасць да кітайскіх лабораторый, якія шыруюць продукты быстра і прадстаўляюць вражаючыя рэзультаты тэстаў, але чыяя мадэлі ніколі не працавалі на сэрвэры распрацоўшчыка.

Правілле тэста было простым: выкорыстаць ту базу коду, яюю распрацоўшчык знае лепшая за ўсіх, і пераканацца ў правдзівасці кожнага твэрджэння ў рэзультатах.

Аранжаванне ўсёго было корачэ, чым чакалі

GLM 5.2 выйшаў ад Z.ai. Ён з’явіўся у серэдзіні чэрвеня, мае кантэкстнае вікна на мільйон токенав і часта апісваецца як мадэль для програмавання на роўні перэдовых раўносцей за значна меншую цэну. Публічныя даны падтрымліваюць гучнасць або ўзнемаганне ўсупрацоўкі. Design Arena ад OpenRouter ставіць яго ў першы працэнт найкрашчых у сферэ коду, на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойчыну на аднойч

OpenRouter служыў канцэнтрам падключэння. Адна адзначка і адны ключ API могу быць выкарыстоўваныя для падключэння да дзесяткаў прадаўцоў, укладзячы і Z.ai, таму не была патрэба ствараць окалічную справу з рахункуванням з іншай лабораторыяй проста для адной експерыментацыі. Каля калькі долераў на пополненне ўстаўае доступ да будзь-каго модэлю за дапамогою аднаго ключа. Працэс складаецца з трох крокаў.

Створыце ключ. Створыце ключ API на OpenRouter і дадзіце каля калькі долераў крэдыту. GLM 5.2 не мае безкоштовнага тарыфу, але крэдыт дазволяе адрабатваць вельмі многа: весь эксперымент падыходзіць пад пяць долераў, заставаючыся ўсё ў запасе. Поле ліміту крэдыту на ключы служыць захоўнай сеткай, і тут ёго максімальны ліміт станавіў пяць долераў. Пасля эксперымента на панелі керування было паказана, што з гэтага ліміту было выкарыстана 4,59 долера, што пакрывае ўсё, што опісана ніжэй.

Наведзіце клавішу Claude на яго. Для гэтага патрабуецца калькі настаўк: базовы URL павінен вядаць на API OpenRouter, токен аутанацыі — гэта ключ OpenRouter, а стандартныя назвы модэляў Opus і Sonnet павінны быць заданыя як ідэнтыфікатор GLM 5.2.

ANTHROPIC_BASE_URL = https://openrouter.ai/api
ANTHROPIC_AUTH_TOKEN = your_openrouter_key
ANTHROPIC_DEFAULT_OPUS_MODEL = z-ai/glm-5.2
ANTHROPIC_DEFAULT_SONNET_MODEL = z-ai/glm-5.2
ANTHROPIC_DEFAULT_HAIKU_MODEL = z-ai/glm-4.5-air

Калі гэта налажана, запуск Claude Code означае спілкуванне з GLM. Чыгнуць назад да Claude достатнья толькі выдаліць тыя рэядкі. Гэта і ўсё, што трэба зробіць для зміны.

Фіксавацыя прадаўца. Большасць людзей прахідае гэты крок, а ён мае важлівэ значэнне. У OpenRouter адна назва модэлю можа быць аддазвана дужа довгім спіскам компаній, і цены сільна разніцяюцца – ад менш чым долар за мільйон токенав да болей чым трохоў. Гэта разніца не ў збытку. Дзеяныя хосты выкорыстоўваюць квантаваныя копіі модэлю, якія ўсё меньшыя, быстрэйшыя, але значна глупейшыя, і сама карточка «Прадаўцы» нават мае фільтр квантавацыі з гэтай прычыны. Калі налаштаванне застаецца на автаматычным маршрутызаванні, запіт можа пацягнуцца да аднаго з такіх хостоў, і тады тэставальнік будзе ацэніваць стыснутую копію, думаючы, што гэта справжні продукт.

Для справядлівага параболікі, маршрутызацыя была налаштавана на Z.ai — прымараго хоста, а функцыі альтэрнатыўных варыянтав былі выключаны. Кожны запіт тады падходзіў толькі да справжньага модэлю з высокай точнасцю, і нічога больш. Калі мета — справядлівасць, то самэ гэта налаштаванне вялічыць рэзультат.

Прыбліжныя памылкі: не весь код можа быць выкорыстаны разам

SDK ўтварае частку адкрытага кода, але ў тым жа рэпазітарыі знаходзіцца і матэрыял, які не ўтварае частку адкрытага кода: дынамічны набор для інтэграцыі, сістэма роўнаважэння, логіка аблікавання і элементы, прызначаныя для заробкі грошаў. Адправка цэлага монорэпазітарыя да хоставанага модэлю ў іншай краіне — гэта тып недбалага выліву інфармацыі, які з’яўляецца ў ведамасці толькі пасля таго, як ён адбыўся.

Перш чым ўсё запускалася, была створана чыстая копія. У ёй былі толькі тыя элементы, якія маглі быць паказаны, а самэт кантэйнер з SDK і прыкладны прыкладнік з яго бэкэндам, тады калі як комерчыя часткі коду застаўаліся на сабеўскім дыску распрацоўшчыка. Потым выконвалася простая, але важная перапачатка. У копіі шукаліся словы, якія моглі бы выдаты секрэты гэйму, такія як onboarding, billing, tenant і stripe, і рэзультатам было нуль знаходкаў, прычым жаданы токен не пакінуў апарату.

Гэты прыём — гэта справжняя нарада. Дышэўскі модэль не змінюе правіла. Публічны код можа быць размешчаны ў хоставанай API. Прыватны код застаецца локальны або вовсе не выкорыстоўваецца. Той жа логікай распрацоўшчык калісь выбраў дорожэйшы, але безпечны для ЕС модэль для бэкэнда кліента, і гэта таксама працюе, калі эксперымент ведаецца толькі для розвагі.

Першая задача: прачытаць SDK і сказаць, дзе ён не працуе

Першая задача была чыстым тэстам на чытанне. Ад GLM было прабаванне аўдытаваць архітэктуру так, як нібы на ёй заўтра мялі бы быць створаныя новыя інструменты: знайсці ключовыя элементы, пазначыць файлы, сказаць, што першая зламаецца. Адной з найважлівейшых правіл было тое, што кожна заява павінна была цікавіцца рэальным файлам і радкам, а неяснасці павінны былі прызнаны, а не пакрыты выдумкамі.

Мадэль прачытала сорака адзіны файлы і падала аўдыт, у яком было выявлены тры рэальныя проблемы, пра якія распрацоўшчык вялікі час ведаў:

  • Тыпы компонентаў закрываюцца ў пакеце пад час запуску прыложэння, таму агент не можа задаць новы компонент пад час выканання, а самэ гэта і ўсё, што трэба для наступнай функцыяльнасці.
  • Стрымінг бесшумна нічога не робіць на галоўнай дароге агента, адтолькі што адпаведны адаптар ніколі не атрымаў напісанага методу стрымінгу.
  • Была проігноравана проблема з дрыфтам: SDK можа адрасаваць трохце ўсё 13 компанентаў, але сервер дазваляе толькі 11, і модэлю паведамляе толькі пра 7, чыяму два абсалютна справныя компаненты застаюцца недоступнымі праз агента.
  • Нічага з гэтага не было прыйнята без пераканання. Кожны цітат быў пераглянуты за дапамою grep у адносе да коду, і ўсе паспела. Шляхі да файлаў і номеры ліній былі правыя, і модэль не створыла жадной функцыі. Яна нават знайшла тое, што ніхто не пазначыў: коментар у бэкендзе, які з гордасцю паведамляў пра вікорыстоўванне найновейшых модэляў Claude, які знаходзіўся прымоўна над кодам, які на самай працэ пакоўваецца дышэўшы модэль OpenAI. Стары коментар ператворыўся на маленькую брэхню. Гэта ўжо справжнія адкрыцція ад модэля, якую распрацоўшчык быў гатовы адхіліць.

    Аўдыт коштаў 59 цэнтав і трываў шасць хвілін.

    Заданне два: змяніць код

    Чытанне — гэта тады, калі кожны мадэль выглядае розумным, таму наступным крокам было дазволіць яму працаваць з кодам. Ён пачуў найжорсткія заходы пасля сэльбст-аўдыту: або ўжо назаўседы паставіць канец змінам у складовых. SDK стала бы едым аднаковым істочнікам правды, з ягоў была бы створана інструкцыя, а сервер чытаў бы гэтую інструкцыю заместо ручна запісанага спіску, тады яны ніколі больш не моглі бы розходзіцца. Як толькі бы яны розходзіліся, тэст павінен быў бы зазнаць невялікі.

    Модэль завершыла выконанне всіх частак. З SDK выйшаў маніфест, сервер быў перэключаны на яго вікорыстоўванне, два компоненты, якія засталіся без падтрымкі, сталі належнымі вбудованымі элементамі і такім чынам нарэшце сталі доступнымі, а таксама была дадзена працэзахідна перапалоховая перапалоха проты разліку. Самыя тэсты, якія запускаў распрацоўшчык, паказалі 92 працэзвялія тэстаў: 87 первісных, якія не змяніліся, плюс 5 новых. Потым была намерованая спроба яго зламаць: ручнае выдаленне компонента з маніфеста і паўторны запуск працэзахіднай перапалоховай перапалохы. Гэта неудачна адбылася, але самэлькі — у правым месцы. Сістэма безпекі мела захопнікі.

    Па дарозе модэль таксама сталкнулася з раздражаючай прыемкай інструментальнага комплексу — проблемай сінтаксісу React Native, якая не дазволяе запускачу тэстаў завантажваць певныя файлы. Яна нічога не сховала і нічога не здалася. Яна створыла невялікі спосаб працэвыкалення і задокументавала проблему як застэрэжэнне у сваёй атласці — чыстасць правды цэніцца вышэй за апрантны рэзультат.

    Прыемкі

    Стварэнне выклікала расходы у розмярэ чатыро долера, тады як чытанне — 59 цэнтава, і самэўсёль гэтага разліку не паказваюць відэа з агітаванням. Пры чытанні GLM быў явным пераможцам: ён коштаў прыблізна у дзесяць разоў менш, чым звычная наладка, і працаваў у тры разы быстрэй. Пры стварэнні ён таксама дасягнуў успеху, але большая частка чатырох долераў пайшла на адбыцье тысяч тэстаў — гэта быў цыкл: запуск, чытанне памылкі, праверкі і знову запуск, які павтарыўся прыблізна трыста разоў. Лячоныя з гэтых крокаў было толькі апошнія трыдцаць — у яных белася рэальная змена коду. Рэшта была проста вялікай канцентрацыяй і вытрываласцю.

    Такім чынам, вывад зьвярзаны лепшы, чым «GLM заменяе існуючую сістэму». Для чытання, аналізу, аўдыту і пояснення кодавой базы, калі модэль трэбаецца добра падумаць раз і даць адказ, GLM 5.2 — гэта справжня выгода, якая варта спецыяльна выбору. Для дугага часу неактуальнага развіцця, калі вітраты зрастаюць унаследке цыклаў дыбаггіну, ён таксама падходзіць, але еконамія зменшыцца, і зноў з’явіцца патрэба ў перэдовай модэлі.

    Однага вечара пяць долераў і знайомы код далі чысты адказ, якога ніколі не далі бы нават найрозмаітлівейшыя думкі, што зробіла гэта доследжэння найдэшавшым за месяц.

    Ўпрабаванне ў павсякдзеннай практыцы

    Залежна ад коду існуюць два падходы.

    Для усяго публічнага кантэксту настройкі OpenRouter знаходзяцца ў блаке з адзінакамі коментараў унутрэз настаўкаў Claude Code. Калі хочаце дасягнуць дышучай дапамогі ў аналізе рэпазітарыю на адкрытым кодзе, структуры праекта чы ў вопытах тыпу «Што тут не так», адзінакі коментараў трэба адзяліць, выбраць прадаўца Z.ai і парадзіць GLM выконваць складны аналіз за мінімальную плату. Калі прыходзіць час да стварэння, Claude застаецца стандартным выборам.

    Для усяго прыватнага кантэксту модэль пераводзіцца ў код, а не навпакі. Гэта значыць, што можна выкарыстоўваць толькі локальныя вагі, але іншага варыянту няма.

    Супаўзялёныя матэрыялы

  • Чаму фронтэнд стаець складным пасля React: стан, эфекты, межы і інструменты AI — React спрыяў таму, што ствараць інтэрфейсы стала простае, але не простае ў дызайні. Там, дзе знаходзіцца стан, з’яўляюцца заплутаныя эфекты, межы сістэмы і код, створаны AI, і ўсё гэта ёсць справжньяя праца над фронтэндам.