Стварэнне локальнага клону Angry Birds з адпаведнасцю Qwen3.8-27B і Pi
Дазвольце даклэ научыцца, як стварыць абсалютна локальную рабочую схему для програмавання з ай-і, выкарыстоўваючы LM Studio і агента Pi, каб стварыць гэмавы рывень для Angry Birds з аднойчынай Qwen3.8-27B.
Каля калькі вёсен невялікі падпраект пачаў адпаведзаць на дыявольна абсурдны вопыт: чы можна стварыць адзін гэмэўны рывень для Angry Birds — з фізычным двыжкам, механікай атрабля, рушаючыміся вежамі, усім неабходным — выкарыстоўваючы толькі локальную модель, якая працуе на звычным спожывачскім апаратазе? Без ключаў API з хмары, без платні за выкарыстоўванне, без коду, які выходзіць за межы апарата.
Усё працавало. Птахі падлеталі через экран, дрэвяныя блокі падаўалі, а свіньі раздавляліся пад час зіткнення. Модэль, якая керавала всім гэтым, была Qwen3.8-27B; яна працавала ўнутры LM Studio, а её функціонаванне координаваў Pi — агент для програмавання на базе тэрміналу з відкрытым кодам. Чытаць далей — значыт прачытаць абоўсюдзе паказаную настройку: вступ у модэль і прычыны, чаму яна па своім потэнцыялу перавышае аспекты, якія можна спадзявацца ад модэлі, якая помешчаецца на аднам Mac-комп’ютеры, а таксама точныя крокі для інсталляцыі LM Studio, інсталляцыі Pi і з’ѐеднання ўсьго гэтага так, каб Pi направляў свае запиты да вашай локальнай модэлі, а не да хоставанага прадаўцы.
Чаму вообща выбіраць локальную версію?
Простая прычына — це вартасць і контроль. Работа з усім локальна дае вам:
- Безкоштовнае відсутнае аблакавае зняць, незалежна ад таго, сколькі гадзін вы працуеце над сваім хобі-проектам.
Тое, чым вы жерчыце, — это первосортная швайна генерацыі і, як правило, якасць рэзультата. Аднак гэтыя разлікі зменшыліся набагато быстрэй, чым думае большасць людзей, і Qwen3.8-27B ўсёлякі падтверджэння таго, насколькі спроможным можа стаць модэль з прыблізна 27 мільярда параметраў, калі яго рэтельна натрэнаваюць і належным чынам квантуюць для апаратуры паводле стандартаў спожытчыкаў.
Пазнайоміцеся з модэлью: Qwen3.8–27B
Qwen3.8-27B створены командай Qwen ад Alibaba. Це ўплотнённая модэль з падтрымкай візуальных даных, выданая пад ліцэнсам Apache 2.0, таму яе можна безкоштовна вжываць нават у комерчыях проектах. Перш чым запускайце завантажэнне ў размере 16+ ГБ, ось тыя характэрыстыкі, якія варта знать:
Архітэктура
- 27 мільярда параметраў, распадзеленых па 64 шары з вялічынай схованага простору 5,120 выразоў
- Гібрыдная схема атэнцыі: павторныя блакі, якія спаююць лінейную атэнцыю „Gated DeltaNet“ з стандартным шаром атэнцыі з кантролем, чыя дапамога дазволяе модэлю заставацца шырокаспектным нават праз збільшэнне контексту
- Власныя вікна контексту па 262,144 токенам, якія можна расширыць да 1,000,000
- Трэніраванне, якое включае прыбліжэння калькуляцый для колькіса токенав, што рэальна падвышае швалість локальных вычыслаў
Рэзультаты тэстаў (як паведамляе Qwen, з порэвняннямі з Anthropic's Opus 4.6 Max, калі гэта стосуецца):
Галоўны вывад заключаецца у тым, што модель размерам 27 мільярда елементаў може параганацца або нават перагнаць модель з закрытым вазовым распадам у тэстах на програмаванне і роботу агентаў, што пояснюе, чаму я ёсткі выбар для такога прыладу, як агент Pi. Это самазвястныя цыфры, таму паказваецца пэўны скепсізм, пакуль не будуць адбыты незалежныя тэсты — але рэзультаты практычнага викорыстання для проекту Angry Birds, описанага пазней, састоюцца з гэтымі тверджэннямі.
Адзін момент, якій трэба зважыць з самага пачатку: Qwen3.8-27B за замовчаннем мае акыўнае розширэнне „мышлення“ (рацыянаванне), налаштаванае на рэвень зусілля xhigh. Гэта корыстна для сапраўда складных задач, але гэта таксама значыць, што модель можа выкарыстоўваць тыячы токенав рацыянавання для простых запитоў, якім не трэба столькі аналізу. Для звычной роботы кодаванням у LM Studio достатньа зменшыць рэвень зусілля для рацыянавання да medium або low — так адпаведныя адпаведзі будуць значна шырэй, без сутэчнага падбіцца ў якасці. Заказваючы xhigh, выкарыстоўвайце яго толькі для задач, якія сапраўды гэта выкарыстоўваюць.
Даступныя форматы квантызаціі для запуску модэлі локальна включаю GGUF і MLX; кожны з іх доступны ў точнасці 4-бітной, 5-бітной, 6-бітной і 8-бітной. MLX — гэта варыянт, створаны спецыяльна для Apple Silicon.
Для корыстакоў Mac патрабаванні да памяці за адмасовым прыкладам выглядаюць так, і гэта павінна дапамогчы выбраць роўень квантаваціі, які падходзіць вашай апаратуры:
Як прамен для пораўнання, Mac mini з чыпам M4 і 32 гігабайтамі спакульнай системнай памяці можа запускаць 4-бітную квантаваную версію з прыблізна 5-6 токенамі, якія гэнеруюцца за секунду. Гэта не ўсё так вельмі шырока скорасць, але гэта цалкам прыемна для агента, чыя задача — пісаць і рэдагаваць код, а не транслявацыя прозы у рэальны час. На моцнейшых чыпах Apple Silicon — моделях Max або Ultra — або на супэльнай відеакарцы Nvidia праўоўерхносць значна зрастае; некалькі адчытакоў паказваюць, што на моцнейшых спожытчыцкіх працэсарах квантаваная скорасць становіць 15-30 токенав за секунду.
Шаг 1: Установіце LM Studio
LM Studio — это пакет для рабочага столу, які выконвае нацыяганне модэлі локальна і ўпрыемляе яе через сервер API, сумесны з OpenAI. Самэй гэты сервер і ўтварае канект пры яком развіваець адносіны з системай Pi.
Заўяжыце яго з офіцыйнага сайту з завантажэнням — ёсць версіі для macOS, Windows і Linux.
З’явіце яго так, як і будзь-якую іншую програму для рабочага столу, а пасля запусціце.
Шаг 2: Завантажыце Qwen3.8–27B у LM Studio
- У LM Studio ачыніце панель пошуку/выбору модэляў.
- Знайдзіце
qwen/qwen3.8-27b, але можна таксама перайсці безпосередня на сторанку гэтага модэля на сайце LM Studio.
xhigh да medium або low для задач кодавання і агентных задач, з тых сабе прычын, якія былі обгавораны раней.Шаг 3: Запуск локальнага сервера LM Studio
Шмато людзей паспяшацца на гэты шаг — завантажэнне моделі ў інтерфейс чату не робіць яе аўтаматычна доступной як API.
- Перайдзіце на вкладку «Разработчык» у LM Studio.
- Увімкніце опцыю «Запуск сервера».
- По значэнню прызначэння гэта стварае канцэнтры падтрымкі OpenAI за адресай
http://localhost:1234/v1.
Вы можете пераканацца, што сервер працуе, з тэрміналу:
curl http://localhost:1234/v1/models
У адпаведзі ў формате JSON павінен быць пераказаны qwen/qwen3.8-27b (альбо любы іншы точны ідэнтыфікатор) — запісаце гэты точны тэкст, калі ён вам скора знадобіцца.
Шаг 4: Установка Pi
Pi — это агент для кодавання на адмін-панелі, з адаптаваным кодам. Ён падтрымлівае прыемку власных канаў захавання і не залежыць ад конкрэтнага модэлю, і ўжо з самага пачатку спроектаваны так, каб равна добра працаваў як з прадстаўнікамі хмарных сервісаў, так і з локальнымі серверамі, сумеснымі з OpenAI, такімі як LM Studio чыста Ollama.
Афіцыйны інсталляр:
curl -fsSL https://pi.dev/install.sh | sh
Альбо, якщо вы воліяце использоваць npm:
npm install -g @earendil-works/pi-coding-agent
Паказвайце, чы ўстановка завершылася успешна:
pi --version
Полная дакументацыя доступна на pi.dev/docs/latest.
Шаг 5: Настаўьце Pi на ваш локальны модэль LM Studio
Pi зберагае настройкі свога прадстаўніка ў файле ~/.pi/agent/models.json. Ачыніце гэты файл (заўважна, якшо ён яшчэ не існуе) і дадзіце елемент, які будзе аднасіцца да локальнага сервера LM Studio:
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{
"id": "qwen/qwen3.8-27b",
"input": ["text"],
"contextWindow": 65536,
"reasoning": true
}
]
}
}
}
Калісць деталяў тут легка памыліцца:
baseUrlпавінен абсалютна прымусова збігацца з адресай, яка паказваецца ў вікні Developer у LM Studio; стандартны значэнне —http://localhost:1234/v1.apiKeyможа мець будзь-які тэкст-заместычнік — локальны сервер LM Studio яго не будзе перакантраваць, але Pi не пакажае модэль, якщо гэта поле не заполнена.models[].idпавінен збігацца, апошнім символам, з тым, што вяртае LM Studio праз запускcurl http://localhost:1234/v1/models. Невялікі расхід тут ёсць найчастэйшым прычынам, чаму локальная модэль не паказваецца там, дзе яна трэба.contextWindowпавінен відпаваць дужоўжыне контэксту, яку вы фактычна налаштавалі пад час завантажэння модэль, а не абсалютнаму максімуму для гэтай модэль.
Вы таксама можете зробіць гэты варыянт стандартным прадаўцам, вырэшыўшы файл ~/.pi/agent/settings.json:
{
"defaultProvider": "lmstudio",
"defaultModel": "qwen/qwen3.8-27b"
}
Пасля перзапуску Pi — або пасля запуску /model у вялікай, яка ўжо ачынутая — выберыце lmstudio / qwen/qwen3.8-27b. З таго моменту кожны запит, які надае Pi, застаецца на вашай сабе машыне; нічога не адправляецца за межы вашай локальной сеті.
Стварэнне фазы Angry Birds
Калі все было падключана, наступным крокам была дача Pi спецыяльна нечыткага заведамства: стварыць адну фазу, якая можа работаць у браузеры, у стылі Angry Birds — з механікай атракцыяны, фізикай праметаў, стакам блокоў, якія можна разбіць, і свінёй, яку трэба перакрысць — усе гэта пакавана ў адной самодастатнай сторонцы HTML/JS/Canvas.
Цікавым было не толькі тое, што ў першай жа спробе была створана працюючая версія — гэта адбылася толькі пасля таго, як зусілля на аналіз было зменшана да рэвярсу medium. Пры рэвярсе xhigh модель витрачала велікую колькасць токенав, перэацэнюючы базовыя константы фізікі, прычым не напісавшы ні адной лініі коду. Калі ёй было правильна налаштавана, яна могла правільна аналізаваць:
- Механіку запуску за дапамою тягі і рух снарода для атлеты
- Базовы цикл фізікі, який включаў гравітацыю, зіткнення і перакідванне блакоў
- Зберагчы весь проект у аднам чыстам файле JavaScript, які можна было перерабляць пры кожным наступным кроку, не втрачаючы контролю над тым, што ўжо было напісана
Гэта самэйш той тип работы з кодаваннем, якую прагне вимерваць такі інструменты, як SWE-bench Pro, Terminal-Bench і LiveCodeBench, а ўжо явыкадзець паспакоўвае тое, што прыказуюць гэтыя рэйтынгі. Гэта не проста поверхневая трюкавка з чат-ботамі — гэта модель, якая можа весті багатофайловую, багаторазовую сесію кодавання з самага пачатку да канца, абсалютна без падключэння да інтарнету, на апаратным забезпечэнні, якое вялікасцю на вашым столе.
Практычныя патроны, якія можна выкарыстаць, калі вы самі налаштовваеце гэта
- За замовчаннем выберыце средній рывень зусиль для разумовых вычынкаў. Зберагаеце
xhighдля сапраўдна складных архітектурных чы или алгорытмічных задач. У звычайных циклах кодавання-агента гэта пераважна толькі паўзяе роботу, не павышаючы якосці рэзультатаў.
models.json, якая не адпавядае точна ID, які паказвае LM Studio.Заключэнне
Нядаўна просьба да абсалютна локальнага модэлю стварыць гру на адной фізыцы звучала як амбіцыйная ідея. Адным часам модэль з 27 мільярдаў параметраў, квантаваныя так, каб яна могла комфортна працаваць на аднам Mac, у поўнай злучэнні з лёгкім агентам на адкрытым кансольным прыстрое, здолаў гэта за аднаго дня. Якщо у вас є 24 GB або больш аднароднай памяці, або дастаткова супэльны GPU, які інакш працуе без дзейнасці, гэта рашэнне ёсць справжняя, без додатковых костоў способнасць для таго, каб пераканацца, насколькі прыбліжыліся локальныя інструменты для програмавання на AI.
Рэсурсы, упомянутыя ў гідзе:
Старонка для завантажэння LM Studio доступна пад адрэсам lmstudio.ai/download, а інфармацыя пра гэты конкрэтны модель можна знайсці пад лінкам lmstudio.ai/models/qwen/qwen3.8-27b. Самыя квантаваныя вагі MLX размешчаны на Hugging Face пад іменем прастора lmstudio-community, адзначаныя як Qwen3.8-27B-MLX-4bit. Агент для програмавання на Pi мае свой сайт пад адрэсам pi.dev, а супакомплектуючая документацыя — пад adrese pi.dev/docs/latest.
Спакульна літэратура
- Стварэнне інтерфейсаў AI-агента з калькамі шагоў за дапамогою Next.js і AI SDK — Дазнаецеся, як спроекаваць інтерфейс AI-агента, гатовы да выкарыстання ў працэсе виробніцтва, з выкарыстанням інструментаў з типаваннем, цікламоў калькамоў шагоў і компонентаў UI для генеравання дадзенаў у Next.js.