"Вопросы ""в глубину"" к стартовым задачкам (2/2) Прокся для доступа к нейронкам (типа OpenRouter) ⭐️⭐️⭐️ Хорошая задача, и опять же почти целиком инженерная. Сам я тут обходился готовым, так что вдвойне было бы интересно послушать тех, кто полез делать своё - что именно не закрыл OpenRouter/LiteLLM. ● как справлялись с зоопарком вендорских API? ● что делали, когда вендор отвечает 429? ● по какому признаку роутили между моделями, если роутили вообще? ● а стриминг проксировали? ● приходилось ли решать проблему дрейфа API вендоров? ● как устроена система статистики? ● что изменится, если нагрузка возрастёт в 10 раз? А в 100? MCP/CLI для какого-то сервиса ⭐️⭐️⭐️⭐️ Ухх, холиварная задача :) Тут в первую очередь захотелось бы разобрать плюсы и минусы MCP как протокола - а заодно понять, нащупал ли человек границы применимости инструмента. ● в какой задаче возьмёте MCP, а в какой CLI? ● как тот и другой способ влияет на контекст? ● что и в каком формате класть в ответ для модели? ● нужен ли скилл под CLI? Как его сделать? А без него можно? ● REST -> MCP - как подошли к решению? ● автоконверсия MCP <-> CLI - насколько хорошая практика? ● смогли бы написать инъекцию для своего MCP/CLI? Агент с нуля, голого JSON и while ⭐️⭐️⭐️⭐️⭐️ На мой вкус - лучшая стартовая задача для всех, кто лезет в агентов. Неважно, пишете вы самих агентов или агентами пишете: понимать, как оно крутится внутри, всё равно нужно. А крутится там, если убрать обёртки харнесса / агента / фреймворков, довольно простой цикл: ● собрать JSON ● послать на API-endpoint ● разобрать ответ ● выполнить вызов тула ● положить результат обратно ● повторить Даже такая наивная реализация даст вам много инфы о том, как устроены агенты. Ну а дальше начинается куча всего интересного: ● что остановит агента, решившего поработать вечно? ● пришёл ответ с парой тулов разом - исполняете подряд или параллельно? ● вызов тула упал - что увидит модель? ● предложите несколько вариантов того, что можно делать для экономии контекста ● как ""договариваетесь"" с моделью о структуре её ответа? ● пробовали сами создать и дёрнуть субагента? ● что делать, чтобы повысить cache hit rate? ● как мониторите работу агента? ● как будете подходить к задаче сэндбоксинга? Мультиагентный флоу для кодинга ⭐️⭐️⭐️⭐️ Этим, кажется, вообще все занимаются - каждый строит какой-то свой, со своим уникальным набором блоков. Но если приглядеться, то сами блоки более-менее универсальны, и вот про них бы мы предметно пообщались. А по дороге выяснили бы, не оказалось ли в итоге, что один крепкий агент с хорошими тулами сделал бы то же самое без всей этой оркестрации :) ● зачем в флоу каждый конкретный блок? ● сколько будет 0.9⁵ и при чём тут это? ● как передаётся контекст между агентами? ● как замеряете ""хорошесть"" результата и его повторяемость? ● как находите, где процесс свернул не туда? ● на каких шагах требуется участие человека (HITL)? ● где берёте одного агента, а где всё-таки мультиагентный сетап? ● а что можно было бы обычным детерминированным скриптом сделать? Бенчмарк/эвал под свои задачи ⭐️⭐️⭐️⭐️⭐️ Я считаю, что свои эвалы делать обязательно нужно под задачи, где есть недетерминированный этап обработки с помощью нейронок - это прям суперполезно при построении пайплайна обработки, выборе самих нейронок, мониторинге работы системы и т.п. Тут бы мы с вами поговорили об ограниченности нейронок в плане знания конкретных предметных областей, о загрязненности бенчмарков, об их сатурации и о том, насколько нестандартные задачи вам приходится решать, что даже собственный бенчмарк или эвал пришлось собирать. ● какова цель эвала или бенча? ● как собирали задачи для golden set? ● есть ли уверенность в том, что он отражает реальное распределение задач? ● какие метрики вывели для оценок? ● метрики автоматические или ""ручные""? ● если есть LLM-as-a-judge - как убеждались в том, что он работает как надо? ● как сохраняете результаты между разными запусками и как сравниваете между собой? ""Opus дома"" на ~27B-Q3_K_M.gguf модели ⭐️⭐️⭐️⭐️ Если у вас были какие-то мечты о том, чтобы получить Opus дома, мне было бы любопытно узнать, как вы к этому пришли и как от этого ушли - сама вот эта траектория взлётов и падений всегда интересна :) ● что по железу: сколько GPU, сколько нод, баланс VRAM/RAM ● где для вас находятся границы применимости локальных моделей и какой спектр задач вы ими решаете? ● поговорили бы про квантизацию, её виды, связь с железом ● какие inference-движки вы используете, с какими параметрами и почему? ● веса модели заняли 20/24гб VRAM - насколько хорошо она будет работать? ● сталкивались ли с задачей многопользовательского доступа к нейронкам и какие были сложности? ● TTFT, TPOT/TPS, latency, KV-cache utilization - на что обращали внимание? И обязательно была бы секция про то, каким видится будущее локальных моделей :) Послесловие Каждая из этих задач когда-то могла быть фильтром на рынке труда: ну типа ""запилил RAG"" - строчка в резюме, ""написанный с нуля агент хоть как-то шевелится"" - повод позвать на разговор. Сейчас generic-вариант любой из них навайбкодит кто угодно за вечер, и такой артефакт обесценился практически до нуля, его уже не поставить строчкой в резюме. А вот способность дожать задачу до ""идеального"" состояния, побегав по граблям и получив знания по дороге, - ну, это не ваншотится. Этим и ценно. #aiswe #hr #junior"