Практычныя прыміткі: модель 2B, якая перамагае суперніків з 4B — пакуль вы не перапрацаваеце яе як агента.
Практычныя інструкцыі па викорыстоўванні моделі 2B, якая перамагае суперніків з 4B — пакуль вы не перапрацаваеце яе як агента: контракты, перакантрольванні та месцы для вставкі коду для команд, якія викорыстоўваюць гэты патерн.
Існавайце гэта як перапрацоўаны варыянт ідэй з статті «Модель 2B, якая перамагае супернікав 4B — пакуль вы яе не прыменяеце як агента» для спеціалістаў: чыткія этапы, аранжаваныя блакіты коду і прыметкі з восстанавлення, якія застаюцца пасля перадачы.
Чаму багатоэтапныя агентскія рашэння паказваюць іншую картыну, чым рэзультаты ад однаковаго запиту, і як самі ўсе перапрацаваць.
Этапы багатоэтапных агентскіх рашэнняў працуюць найкраща, калі іх спрыяваць як вимерную паверхню. Запісаўце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыметкі з вярнення да пачатку перш чым расширваць масштаб. Дакументаваўце як успішны, так і няуспешны шляхы рашэння. Перапрыбуткі, людзкі контроль і обработка некоректных запытоў є часткай продукту, а не пасляднім дапрацоўкам.
Тэза: Модель 2,5B, якая перамагае супернікав 4B
Тэза працюе наяўней, калі яе спрыяваць як мерыемую паверхню. Зафіксавайце адна «золатая» транскрыпцыю, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валідзіце невялікія, тэставаныя элементы замест амаль неконтрольваных скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Задаўце ліміты на колькість токенав за раунд і за сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.
Што на самай працэ
Этап «Што на самай працоўны спосаб знаходзіцца пад стадіяй» работае найкраща, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная прымерка, адзін кейс неудачы і прыметкі па адвярненню змян пры расшырэнні масштаба. Спрыявайце гэты стадію як кантракт межа вхіднымі дадзеннямі і паверыжанымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падзеўляйцеся частым, некомплектным выкананнем задач. Задаце ліміт токенав на кожны раунд і на кожную сесію. Інструменты-агенты агрэсывна расширваюць контекст; строгі ліміты не дазволяюць дэманстрацыям ператварыцца на неспакоўныя рахункі.
Першыя проблемы: «23 проты 15» у індэксе штучнага аналізу
Этап «Першая траса 23» працюе наяўней, калі яго розглядаць як вимерную паверхню. Запісаўце адна «золатая» транскрыпцыю, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Запісвайце часы выканання і кост токеноў або запытаў па боку ад функцыйнаых рэзультатаў. Візуабілізацыя костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмавай версіі у спяльныя сераўы. Задазвольце бюджет на токены на кожны раунд і на кожную сесію. Інструменты з агентным падходам агрэсіўна расширваюць контекст; строгі ліміты не дазволяюць дэмавай версіям ператварыцца на неспакойныя рахункі.
Асалодзі: Інструменты з агентным падходам расказваюць іншую історыю
Этап The Real Gap Agentic працюе найкраща, калі яго розглядаць як вимерную паверхню. Зберагчыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра відкатанне раней, чым расширваце сферу дзеяння. Зберагчыце настройкі параду ўнутры коду прыемленае. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль, не чытаючы весь граф. Задаце ліміты токенав на кожны рунг і на кожную сесыю. Інструменты типу Agentic агрэсіўна расширваюць контекст; жорсткія ліміты не дазволяюць, каб дэманстрацыі ператварыліся на неспакоюючыя рахункі. Этап The Real Gap Agentic працюе найкраща, калі яго розглядаць як вимерную паверхню. Зберагчыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра відкатанне раней, чым расширваце сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы должна вказываць на адну адпаведную абавязку, а не на заплутаны ланцоўкі працы.
Відтворэнне локальна: квантызацыя, праўоўерхність і способы неудач
Для стадіі квантызацыі з мэтаю ўтварэння копіі на месца неабходна перад змянай коду адзначыць вхідныя даны, адпаведальнага за гэты крок і критэрыя завершэння. Аперацыіям павінна быць можлівасць перазапускаць гэты крок з вядомага пункта контролю без неабясненняя схованага стану. Спрыятлівае ставленне да гэтай стадіі трэба розглядаць як кантракт межа вхіднымі данымі і пераканаленымі выходнымі рэзультатамі. Назваць кантэнты, адзначыць критэрыі успеху і не падтрымляць бяспечнае часткова завершэння. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з пераканаленнем схэмы, чым працаваць з вольнай форматай тэксту.
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Recommended flags for flash attention + quantized KV cache
OLLAMA_FLASH_ATTENTION=1 OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve &
# Run directly from Ollama's registry
ollama run openbmb/minicpm5-2b
huggingface-cli download openbmb/MiniCPM5-2B-GGUF \
MiniCPM5-2B-Q4_K_M.gguf \
--local-dir ./minicpm5-2b-gguf
pip install vllm
vllm serve openbmb/MiniCPM5-2B \
--max-model-len 131072 \
--dtype bfloat16 \
--port 8000
# Query it like any OpenAI chat completion endpoint
curl http://localhost:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model": "openbmb/MiniCPM5-2B", "messages": [{"role": "user", "content": "Write a quicksort in Rust"}]}'
Тады калі ж гэты модель насправдзе є правым выборам?
Для стадіі «Калі канцэ гэта» неабяжна прадзефінаваць вхідныя даны, адпраўніка крока і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Запісваць час выконання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі траекторыя пераходзіць з дэмавай версіі ў спяльныя среды. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з паўнай верыфікацыей схемы, чым вольныя тэкстовыя апісанні.
Большая наука: тверджэння пра практычную эфективнасць є спецыфічныя для конкрэтных тестаў
Для стадіі The Bigger Lesson Benchmark неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Конфігурацыю трэба залічыць паза кодам прыкладнага програмы. Файлы сераўіса, храненнія секрэтных данных і флагі функцый належыць у аднам месца, якое працавнікі можуць пераглядаць, не чытаючы весь ланцуг задач. Калі наступны крок — це код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакранаваннем схэмы, чым вольныя тэкстовыя апісанні. Для стадіі The Bigger Lesson Benchmark неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры зміне коду. Аперацыйныя працавнікі должны магчымае перайсці на выкананне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Лепш выкарыстоўваць маленькія, тэставаныя елементы, чым велікія скрыпты. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцуг задач.
Заключныя заўважэнні
Калі працуеце на стадыі заключных заўважэнняў, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выканаецца у разы частковага нявыпання. Такі список контролю дапамагае заставіць пазнейшыя змены коду быць чыстымі. Спрыятлівае ставленне да гэтай стадыі значыць спрыятлівае ставленне да угоды межаў вхідных дадзеных і перакананых выходных рэзультатаў. Дайце назвы артыфактам, задаць критэрыя успеху і не падзеўляйцеся частковым завершэнням без паведамлення. Зберагаюце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамэра є частым выклікам зношвання ресурсаў.
Рэсурсы і подзякі
Калі працуеце над этапам размяшчання рэсурсаў і падзяк, спачатку запішыце умовы кантракту: неабходныя данні, сигнал успеху і тое, што выходзіць на частым неудачам. Такі чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Чэк-ліст для эксплуатацыі
Калі працуеце над этапам чэк-ліста для эксплуатацыі, спачатку запішыце умовы кантракту: неабходныя данні, сигнал успеху і тое, што выходзіць на частым неудачам. Такі чэк-ліст дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Дакументаваць трэба як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не чымсь, што дадаецца пазней.
Зберагаеце інструкцыі стабільной системы та схемы адзінакоў. Павторная апрабоўка ідэнтычных прамаравайных дадзеных ёсць частым выклікам працоўной нестабільнасці.
Зберагаеце стан графаў у простам і типаваным формате. Вярнутыя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спаказваюць продажу пасля перерываў.
Калі бюджет дазволяе, дадзіце тэст на перакананне, які працюе над критычным маршрутом у середовіце CI з викорыстаннем фіксатываў, а не рэальных платных API.
Запісвайце часы выканання та косты токенаў або запытак пад функцыйнальнымі рэзултатамі. Відразы костаў з самага пачатку запобегаюць неспакойным рахункам, калі маршрут пераходзіць з дэмавайго режыма ў спакульнаныя середовішчы.
Перад апраноўкай стака заморажуйце версіі, зафіксавайце ідеальны транскрыпт для критычнага маршруту і паказвайце способы абвярнення. У спакульных середовішчах неабходны ліміты швайнаў, перакананні пра адпаведнасць тэнантам і чысткі власнік для ротацыі секрэтных дадзеных. Валіце простую надзейнасць працы над крэатывнымі, адзінразовымі дэмамі.
Запіска параграфу 94ea12aa679c: не трэба кантрацеўваць ключы прадаўцаў у репазітарыі, задаць максімальную кантэйнернасць токена на кожную сесію, а таксама зберагчы транскрыпціі празаўседле фікстурамі адлікавання, каб пазнейшыя замены модэляў заставаліся парабелнымі.
Калі працуеце над стадзіяй 0 запіскі пра зміцнэнне, спачатку запісайце контракт: неабходныя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага абякання. Такі чэк-ліст дапамагае заставаць пазнейшыя змены коду чыстымі. Канфігурацыю трэба кантрацеўваць празаўседле кодам прыемлівання. Файлы сераўнавання, сховішчы таямных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць без неабходнасці чытання всей структуры.
Дзялей пра зміцнэнне 0/865: вымерайце час выканання, класію абяканняў і выкарыстаны токен для гэтай запіскі, а пасля выберыце, чы хацяце заставіць змену на адной пазычанай сэткі пытанняў, а не на адной лячбе.
Этап 1 прыцеленняя ў зміцнэнне працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаце адна «золатая» транскрыпцыя, адин прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны процес.
Дзеянне прыцеленняя ў зміцнэнне 1/865: вимеравайце час выканання, класію памылак і колькасць выкорыстоўваных токенав для гэтага запісу, а потым вырашайце, чы рашыцца застаўляць змяну, стварываючыся на адной фіксаванай сэтце пытанняў, а не на анекдотах.
Для другага этапа прыцелення на зміцнэнне неабяжна практычна вызначэння вхідных дадзеных, адпавядаючага адпаведальнага і крэтарыяў завершэння працэсы перад змінай коду. Аператары должны магчымаць паўтарнае адкананне этапу з вядомага пункта контролю, не спрабоўваючы з’ясаваць захованы стан. Неабходна фіксавацыя часу выконання, вартосці токенаў або запытак паўстаючых разам з функцыйнальнымі рэзультатамі. Відразлівае праказванне вартасцей запобегае неспакою, калі процес пераходзіць з дэмавайнага режыма ў спяльныя среды.
Дзеянне прыцелення на зміцнэнне 2/865: памеры часу выканання, класаў адказоў і вартосці токенаў для гэтага пункту, пасля чаго неабяжна вынікнуць рашэнне пра тое, чы хацяца застаўляць зміны, на адной падставе фіксаванага набору пытанняў, а не індывідуальных спазыроў.
Калі працуеце над 3-й стадзіяю прыемкі з павышэння безпекі, спачатку запісайце угоду: неабяжлівыя данні, сігнал успеху і тое, што выходзіць пад частковы нявыплэн. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі.
Документавайце як «шчаслівы» шлях, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам.
Дзялей 3/865 прыемкі з павышэння безпекі: вымерайце час выканання, класыя ошибкі і витрату токенав для гэтай прыемкі, а пасля выберайце, чы робіць змены на адной фіксаванай сэтке пытанняў, а не на адной лічбе прыкладаў.
4-я стадзія прыемкі з павышэння безпекі работае лепей, калі яе спрыямаць як меравальную плошчу. Зафіксавайце адну «золатую» транскрыпцыю, адны прыклад нявыплэну і прыемку для абратнага запуску, перш чым расширваць масштаб.
Спрыяйце гэтай стадзіі як угоды межа даннімі і перакананымі выходамі. Дайце назвы артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння.
Дзеянне паўжасткі 4/865: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Для 5-го этапа паўжасткі неабходна перад змянай коду чытко апісаць вхідныя даны, адпаведальнага за этап і крэтыяры завершэння. Аперацыяныя працавнікі должны магчымае перадзваначыць гэты этап з вядомага пункта контролю, не прымусваныя здагадвацца пра схованы стан. Канфігурацыю трэба зберагчы за межамі коду прыемленае, таму што файлы сяродавішча, хранальнікі секрэтных дадзенняў і флагі функцый належаць у аднам месца, якое працавнікі можу аудытаваць, не чытаючы весь ланцуг залежнасцяў.
Дзеянне паўжасткі 5/865: звярніце увагу на час выканання, класы памылак і витрату токенаў для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на індывідуальных прыкладах, выявіце, чы рэшацься застаўляць змяну.
Калі працуеце над 6-ю стадзіяй забезпечэння безпекі, спачатку запісайце умовы кантракта: неабяжлівыя даны, сігнал успеху і тое, што выходзіць на частым неудачам. Такі список контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і прозрачна. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якась стадзія не выйшла, неудача должна вказваць на адну конкрэтную прычыну, а не на заплутаную сістэму.
Дзялянка забезпечэння безпекі 6/865: замерайце час выканання, класію каштоўкаў і колькасць токенаў, якія былі выкарыстаны для гэтай стадзіі, а пасля выберайце, чы робіць змены на адной фіксаванай базе пытанняў, а не на адной лічбе прыкладаў.
7-я стадзія забезпечэння безпекі працуе лепей, калі яе спрыямаць як меравальную плошчу. Запісайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыказку па абратанні пазнейшых змэн, прычым не расширяючы сферу дзеяння. Запісвайце часы выканання і каштоўка токенаў або запытак праза функцыйнае рэзультат. Відкрытая інформацыя пра каштоўкі з’являецца першымі і запобегае неспакойным рахункам, калі процес пераходзіць з дэмавайнага режыма ў спяльныя сервісы.
Дзеянне паўжасткі 7/865: звярніце увагу на час выканання, класыя ошибакі і колькасць токенаў, выкорыстаных для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырах, выявіце, чы хацеце застаўіць змяну.
Этап 0 паўжасткі працуе найэфектывней, калі яго спрыяжаць з мерканымі показнікамі. Запісаце адны ідеальны прыклад, адну справу з бягункам і запіс пра адвёртанне змяны, перш чым расширваць сферу дзеяння. Спрыяжыце гэты этап з кантрактом межаў вхідных дадзенняў і перакананых выходных рэзультатаў. Даце назвы артыфактам, задзеце крэтырыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Дзеянне паўжасткі 0/884: звярніце увагу на час выканання, класыя ошибакі і колькасць токенаў, выкорыстаных для гэтага запісу, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырах, выявіце, чы хацеце застаўіць змяну.
Для першага пасэгу з узгаджанняя жорсткасці неабходна ўскладненне: пярэд тым, як зменіць код, неабходна вялічыну вхідных дадзеных, адпаведальную особу за выкананне крока і критэрыя завершэння. Аператары должны магчымае перадзваніць крок з вядомай точкі контролю, не спрабоўваючы з’ясаваць захаваны стан. Конфігурацыю трэба залічыць праза код аплікацыі. Файлы сераўнавання, храненні секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь граф.
Дзеянне узгаджанняя жорсткасці 1/884: памеры часу выканання, класаі бядаў і витрачання токенаў для гэтага пасэгу, пасля чаго неабходна вырашыць, чы робіцца змена на адной падставе фіксаванага набору пытанняў, а не на адной падставе індывідуальных спостарожэнняў.