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

74ce6b13862c для сістэм вырабатчыка — контракты і пераконтрольваннія

Запусціце Qwen3.8-Flash-Next як локальнага агента для програмавання: што такое мадэль, які вімогі до GPU і памяці NVIDIA, і як ўпрацаваць яго праз канцэнтр падтрымкі OpenAI.

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

Крыніцы: https://medium.com/@anooshmughal471/run-qwen3-8-flash-next-locally-a-complete-guide-to-building-a-local-coding-agent-74ce6b13862c

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

Выконанне Qwen3.8-Flash-Next локальна: Паўныя інструкцыі па стварэнні локальнага агента для програмавання

Для этапу «Выконанне Qwen3 8-Flash-Next локальна» неабходна прадзефінаваць вхідныя даны, адпаведальную особу за крок і крытэрыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перывыканне кроку з вядомай точкі контролю без неабяснення схованага стану. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выконваецца, прычына нехаўкалівыя павінна вказываць на адзіну адпаведальнасць, а не на заплутаны працэс. Пры кроках, якія вітрачаюць грошы або зменяюць даны праўлення, неабходна людская апрацоўка. Компіляцыйныя налашчэння не ўзначаюць пачатковасці бізнес-процэсаў.

Qwen3.8-Flash-Next
        ↓
UD-Q4_K_XL GGUF
        ↓
llama.cpp
        ↓
OpenAI-compatible API
        ↓
OpenCode
        ↓
Local Coding Agent

Што такое Qwen3.8-Flash-Next?

Для этапы What Is Qwen3 8-Flash-Next неабяжна ўскладнення вхідных дадзеных, адпаведальнага за шаг адпрацоўкі і крэтарыяў завершэння працы перад зменым коду. Аперацыйныя працавнікі павінны магчымае перзапускаць шаг з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Спрыяйце цій этапы як даговору межа вхідных дадзеных і перакананых выходных рэзультатаў. Даўце назвы артыфактам, ускладнення пераканання ў успеху і адмовіцеся ад тыхнай частковай адработкі без паведамлення. Размешчайце стан разам з компонентам, які керуея мутацыяй. Размешчэнне всаго ў глобальным хранільніку ускладняе выяўленне багоў, зв’язаных з часам адработкі.

Тэхнічныя выкарыстанні

У стадыі апэйранаў да хардверных трэбаванняях неабходна прадзефініраваць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння пры перадзмене коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Запісваюць час выканання і кост токенаў або запытаў разам з функцыйнаімі рэзультатамі. Відразлівасць костаў з самага пачатку запобегае неспакою, калі працэс пераходзіць з дэмавай версіі ў спакоюваныя сераўсы. Калі бюджэт дазволяе, трэба дадаць тэст на працэсаванне крытычнага шляху ў сістэме CI з вікорыстаннем фіксатараў, а не рэальных платных API.

Крок 1 — Пераканайцеся ў працэсаванні вашага NVIDIA GPU

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

nvidia-smi

Крок 2 — Установіце залежнасці для будовы

Для этапа 2 «Установка» неабямо паказаць параметры вводу, адпаведнага адпавядача і крэтарыі завершэння пры перадзеяванні коду. Аператары должны магчымаць перзапуск гэтага этапа з вядомай точкі контролю, не падозрываючы схованы стан. Неабямо задокументаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, перакрыцця ад чалавека і апрацоўка непрацюючых паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней. Калі бюджэт дазволяе, неабямо адключыць тэст на пераверкю крытычнага шляху ў сістэме CI з вікорыстанням фіксатываў, а не рэальных платных API. Для этапа 2 «Установка» неабямо паказаць параметры вводу, адпаведнага адпавядача і крэтарыі завершэння пры перадзеяванні коду. Аператары должны магчымаць перзапуск гэтага этапа з вядомай точкі контролю, не падозрываючы схованы стан. Спрыяць гэтаму этапу як кантракту межа параметрамі вводу і перавернутымі рэзультатамі. Даць назвы файлам, паказаць крэтарыі успеху і не дазволяць тыхамую частковую завершэння.

sudo apt update
sudo apt install -y \
  git \
  cmake \
  build-essential \
  curl \
  libcurl4-openssl-dev \
  python3-pip

Шаг 3 — Стварэнне llama.cpp

Калі працуеце над шагам 3, спачатку запісайце умовы вікорыстання: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі спіс дапамагае заліцварыць будучыя змены ў кодзе. Запісвайце час выканання і вартасьць токеноў або запытанняя пры ўсіх функцыйнальных рэзультатах. Відразлівае паказанне вартасцей запобегае неспадзяваным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя сераўры. Напісце кароткі посібнік: як змяніць кантрольныя ключы, як спрачыслаць очакванні на чэрзі, як анулюваць пярэдню імпортацыю дадзенняў.

cd /workspace
git clone \
  --branch qwen4exp/qwen3.8-flash-next \
  https://github.com/unslothai/llama.cpp.git
cd llama.cpp
cmake -B build \
  -DGGML_CUDA=ON \
  -DCMAKE_BUILD_TYPE=Release
cmake --build build \
  --config Release \
  -j"$(nproc)"
./build/bin/llama-server --version

Шаг 4 — З’явіць мадэль GGUF

Калі вы працуеце над этапам 4 «Зяўленне», спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выканаецца у разы частковага нявучнасці. Такі спіс пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Зберагаеце настройкі праза код аплікацыі. Файлы сераўса, хранільнікі секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можуць адбавіць аўдыт без неабходнасці чытання всей структуры. Зберагаеце у кэшы стабільныя інструкцыі сістэмы і схемы інструментаў. Перадача таго ж прамэра знову ёсць частым выклікам вітратаў рэсурсаў.

pip install -U huggingface_hub
export HF_HUB_DISABLE_XET=1
unset HF_XET_HIGH_PERFORMANCE
unset HF_XET_NUM_CONCURRENT_RANGE_GETS
unset HF_HUB_ENABLE_HF_TRANSFER
cd /workspace
mkdir -p Qwen3.8-Flash-Next-GGUF
for i in 1 2 3 4; do
  shard=$(printf "%05d" "$i")
  hf download unsloth/Qwen3.8-Flash-Next-GGUF \
    "UD-Q4_K_XL/Qwen3.8-Flash-Next-UD-Q4_K_XL-${shard}-of-00004.gguf" \
    --local-dir Qwen3.8-Flash-Next-GGUF &
donewait

Этап 5 — Заўяжыце локальны сервер модэля

Калі працуеце над этапам 5 «Пачатак», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўвае чыстасць пазнейшых змян у кодзе. Документавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі сістэмы і схемы інструментаў. Перадача таго ж самога прамера ёсць частым выклікам зношэння рэсурсаў. Калі працуеце над этапам 5 «Пачатак», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі спіс пераконтроўвае чыстасць пазнейшых змян у кодзе. Спрыймайце этап як угоду межа данымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задайце крытэрыя успеху і не падтрымайце тыхія частковыя завершэння.

cd /workspace/llama.cpp
./build/bin/llama-server \
  -m /workspace/Qwen3.8-Flash-Next-GGUF/UD-Q4_K_XL/Qwen3.8-Flash-Next-UD-Q4_K_XL-00001-of-00004.gguf \
  --alias qwen3.8-flash-next \
  --host 0.0.0.0 \
  --port 8080 \
  --ctx-size 131072 \
  --parallel 1 \
  --flash-attn on \
  --fit on \
  --fit-target 4096 \
  --jinja \
  --batch-size 1024 \
  --ubatch-size 512 \
  --temp 1.0 \
  --top-p 0.95 \
  --top-k 20 \
  --min-p 0.0

Этап 6 — Тэставанне API

Этап 6 «Тэставанне» працюе найкрашча, калі яго розглядаць як вімерную плошчу. Зафіксавайце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіску пра вярнэнне да пачатковага стану перад расшырэнням масштаба. Запісвайце часы выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відкрытыя даныя пра косцы запобегаюць неспакоўным рахункам, калі працэс пераходзіць з дэмавайнага рэжыма ў спяльныя асяроддзя. Закрэпіце версіі залежнасцей і запісвайце хеш адобраза, які выканаў дэму. Возможнасць павтарэння перажыцця важлівей, чым традыцыйныя знання.

curl http://127.0.0.1:8080/v1/models
qwen3.8-flash-next
curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-flash-next",
    "messages": [
      {
        "role": "user",
        "content": "Write a Python function that checks whether a number is prime."
      }
    ]
  }'

Этап 7 — Іспользаванне WebUI llama.cpp

Сёмы крок «Выкорыстоўваць сцэну» працюе найкрашча, калі яго спрыяваць як вімерную паверхню. Зафіксавайце адна ідэальная версія, адзін прыклад неудачы і запіс пра вярнэнне да поперадньяго стану пры расшырэнні масштаба. Зберагайце настройкі пазыроўна ад коду прыемлівання. Файлы сераўнавальных сэраў, хранілішчы секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабяжнага чытання всіх дадзеных. Закрэпіце версіі залежнасцей і зафіксавайце хэш адобраза, які выканаў дэманстрацыю. Возможнасць павтарэння перадуе індывідуальным знаёмствам.

http://localhost:8080

8-й крок — Установіце OpenCode

Этап 8 «Установка OpenCode» працюе найкрашча, калі яго розглядаць як меркавыя паракетры. Запісайце адны ідэальны прыклад працы, адну сітуацыю неудачы і прыметкі па поверненню да пачатковага стану пры розшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка некорэктных паведамленняў ёсць часткаю продукту, а не элементамі пазнейшай дапрацоўкі. Зафіксавайце версіі залежнасцяў і запісайце хэш адобраза, які выканаў дамэ. Возможнасць перадзвірнення рэзультатаў важлівей, чым традыцыйныя знання.

curl -fsSL https://opencode.ai/install | bash
opencode --version

Этап 9 — Прыўязка OpenCode да llama.cpp

Для этапы «З’еднання OpenCode» на 9-му кроці неабяжна праблема — перад тым, як зменшыць код, неабяжна задаць вхідныя даны, адпаведнага адпаведальнага за крок і крэтырыя для завершэння. Аперацыёныя працавнікі павінны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Запісваць трываласць выканання і кост токеноў або запытаў разам з функцыйнальнымі рэзултатамі. Візуабельнасць костаў з самага пачатку запобегае неспакою, калі працэс пераходзіць з дэмовай асяроддзя ў спакульнае сераўерное сераўсцтво. Калі бюджэт дазволяе, неабяжна дадаць тэст на перакананне, які працуе з крытычным шляхам у сістэме CI за дапамогою фікстураў, а не рэальных платных API.

mkdir -p ~/.config/opencode
printf '%s\n' '{"$schema":"https://opencode.ai/config.json","model":"llama.cpp/qwen3.8-flash-next","provider":{"llama.cpp":{"npm":"@ai-sdk/openai-compatible","name":"Qwen3.8 Flash Next Local","options":{"baseURL":"http://127.0.0.1:8080/v1"},"models":{"qwen3.8-flash-next":{"name":"Qwen3.8 Flash Next","limit":{"context":65536,"output":32768}}}}}}' > ~/.config/opencode/opencode.json
http://127.0.0.1:8080/v1

10-й крок — Запуск вашага локальнага агента для кодавання

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

cd /workspace/my-project
opencode
Your Project
     ↓
OpenCode
     ↓
llama.cpp API
     ↓
Qwen3.8-Flash-Next
     ↓
Local AI Coding Agent
Build a modern system analytics and task-management dashboard.
Monitor CPU, RAM, VRAM, GPU usage, temperatures, disk usage,
running processes, and temporary files.

Эфектывасць

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

Што вы навучыліся

Калі працюеце над этапам «Што вы научыліся», спачатку запісайце умовы кантракта: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць пад частыя неудачы. Такі спіс контроля дапамагае заліцварваць будучыя змены ў кодзе. Запісвайце час выканання і кост токеноў або запытаў праза функцыйнае рэзультат. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Напісце кароткі посібнік: як роцыяваць клучы, як апустошыць чэргу, як вярнуць стан да пярэднега кроку.

Завершаная архітэктура

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

┌──────────────────────────┐
│ Qwen3.8-Flash-Next       │
│ 125B MoE / ~6B active   │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│ UD-Q4_K_XL GGUF          │
│ ~111GB                   │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│ llama.cpp                │
│ CUDA + 131K Context      │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│ OpenAI-Compatible API    │
│ localhost:8080/v1        │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│ OpenCode                 │
│ Agentic Coding           │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│ Fully Local AI Developer │
│ Environment              │
└──────────────────────────┘

Заключэнне

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

Чысткі ліст для эксплуатацыі