evilfreelancer | Unsorted

Telegram-канал evilfreelancer - Pavel Zloi

3071

директор ИИ · инженер‑интегратор @eprogrammist | https://github.com/EvilFreelancer 20 лет в IT ∈ 10 лет в разработке ∈ 3 года в ML/AI ∈ 1 год - вайбмастер Бусти: https://boosty.to/evilfreelancer Пожертвования: https://pay.cloudtips.ru/p/937f48ac

Subscribe to a channel

Pavel Zloi

Демонстрация Coddy Agent

Опубликовал на бусти видеоролик в котором провожу небольшую демонстрацию проекта Coddy Agent, а для тех кому лень смотреть видео вот скриншотики.

UPD. По просьбам трудящихся докладываю, Coddy Agent это минималистичный distroless harness, в формате одного бинарника, способный работать с on-prem моделями и не только.

UPD2. Готовые бинарники скачать тут, а docker-образы тут.

Читать полностью…

Pavel Zloi

Прочел публикацию Я сделал альтернативу Cursor за выходные: она ничего не пишет за программиста и приносит 1,29 млн рублей в месяц, подорвала она меня знатно, а все дело в том, что в ней затрагивается близкая мне тема и в том что я не заметил что в шапке написано что это юмористическая статья.

Поначалу я был в недоумении, а потом рассмеялся аки конь, короче рекомендую для прочтения :)

Читать полностью…

Pavel Zloi

Как искать вайбкодера?

Намедни мне задали один интересный вопрос:

Как пишут навыки по вайбкоду в резюме?

Казалось бы, простой вопрос, ведь действительно как найти именно вайбкодера, как оформить резюме, чтобы показать, что у тебя есть навыки вайбкода, но при этом есть и нормальный технический бэкграунд и понимание того, как всё работает. Прошерстил hh.

По каким словам искать?

В заголовке должности на hh встречается солянка различных вариантов, искать стоит не только по слову "вайб", иначе пропустим половину людей, которые попросту стесняются говорить о том, что умеют вайбкодить.

У меня нет оплаченной учётки работодателя на hh, базу резюме нормально не почекать, поэтому смотрел по описаниям вакансий (полнотекстовый поиск, вся Россия, май 2026). Цифры в скобках возле ключевых слов значат сколько вакансий нашлось по этому запросу.

Какие должны быть заголовки?

- вайб-кодер (8), vibe coder (12), vibe-coding (63), vibe coding (63), вайбкодинг (56), вайбкодер (19)
- AI-native developer (47), AI automation builder (16)
- full stack + vibe-coding в одной строке (7)
- AI-оператор (8), LLM оператор (52), prompt engineer (219) - часто рядом с vibe-coding
- инженер по вайбкодингу (14) - да, такое тоже бывает

Что должно быть в ключевых навыках?

- Cursor (290), Claude Code (285), Codex (111), Windsurf (13), GitHub Copilot (91), ChatGPT (1021), OpenClaw (23), OpenCode (8), Hermess (30), Antigravity (16)
- vibe-coding (63), AI-assisted development (451), разработка с ИИ (2389)
- prompt engineering (219), промпт-инжиниринг (84), in context learning (29)
- n8n (202), flowice (1), langgraph (185), langchain (272), llamaindex (87)
- плюс обычный стек, его я не считал: JS/TS, Python, Go, React, API, SQL, Git, Linux, Docker

Что должно быть в описании опыта?

- MVP за дней (33) - имеется в виду "MVP за N дней"
- доработка кода AI (65) - имеется в виду доработка и отладка кода, который нагенерил AI
- RAG (604), боты, harness (17), интеграции, деплой
- ссылки на конкретные репозитории и проекты, выведенные в прод

Что писать в CV?

Важно помнить, что вайбкодинг - это нечто среднее между soft и hard скиллами, так как AI-агенты - это уникальная в своём роде технология, которая требует от разработчика опыта бизнес-анализа для составления спецификаций, опыта менеджмента для декомпозиции сложных задач, опыта использования инструментов для вайбкодинга и, наконец, технического бэкграунда для валидации результата.

Исходя из сказанного ранее, можно сделать ряд предположений о том, как правильно оформить своё резюме, чтобы и отобразить свои скилы правильно и чтобы был хороший матчинг с вакансиями.

Иными словами, нормальный вайбкодер с хорошим бэкграундом должен в резюме иметь следующие признаки:
- в навыках обязательно упоминаются AI-инструменты, указаны языки, фреймворки и так далее, плюс хорошо, если упомянуты системы тестирования, системы CI/CD, а также Linux, контейнеризация и так далее
- в опыте - конкретные проекты и желательно ссылки, а не абстрактное "работаю с нейросетями"
- используется терминология, которая предполагает наличие навыков менеджмента, или, например, прямое указание на соответствующий опыт, скажем тим лид или пм
- есть ключевые слова, связанные с бизнес-аналитикой и написанием спецификаций, разработкой документации по ГОСТу или, например, упоминание Cucumber и подобных систем

При этом подозрительно будет, если в резюме у соискателя:
- только условный Claude Code и "вайбкодинг", без стека
- ни одного кейса с деплоем, API, БД, Git
- опыт как у классического джуна

Короче как-то так, это само собой моё имхо, а как у вас? Напишите в комментариях, по каким словам вы ищете вакансии и что реально пишете в резюме про AI, агентов и вайбкодинг - в заголовке, в навыках, в описании проектов. Интересно сравнить, кто как упаковывает опыт и что срабатывает на hh и других площадках. Если есть удачные формулировки или, наоборот, провальные - делитесь, разберём вместе.

Читать полностью…

Pavel Zloi

Не так давно я публиковал пост про репозиторий RPA Skills со скилами которыми пользуюсь каждый день.

С момента релиза придумал новый формат использования скила /rpa-init, теперь я пишу не просто этот скил в запросе, а уточняю на что агенту следует обратить внимание, скажем если я хочу править документацию пишу что-то типа:

/rpa-init с упором на документацию и спецификации

Ну или если скажем надо доработать API-эндпоинты прошу сделать инит с детализацией того как эти эндпоинты устроены и работают.

Это помогает чуть более тонко направить агента в нужное русло без последующих уточнений.

Читать полностью…

Pavel Zloi

Прочёл на канале Тимура @the_ai_architect только что вышедший пост про очередное обновление Codex, меня в нём зацепило то, что создатели Codex добавили в своего агента возможность работать с одной общей сессией с компьютера и мобильного устройства. Крайне полезная функция на мой скромный взгляд, так как у меня уже например возникла острая потребность начать кодовую сессию дома, продолжить в месенджере на мобилке и потом подключиться с ноута к сайтику.

Это очень забавно, потому что я сегодня реализовал ровно тоже самое в Coddy Agent, только у меня в отличии от Codex все сессии хранятся on-premise. Можно работать с несколькими сессиями одновременно, можно запустить агент в режиме ACP через скажем Obsidian, а потом ещё зайти через браузер и смотреть за тем что генерит агент и там и сям.

Читать полностью…

Pavel Zloi

Не вайбкод, а сгенерированный техдолг.

Читать полностью…

Pavel Zloi

По работе приходится много взаимодействовать с Jira и Confluence, и вот сколько лет в ИТ работаю столько мне претит сама мысль о том, что придётся что-то в этих системах делать.

Но благодаря проекту mcp-atlassian - простому навайбленному MCP-серверу, я могу работать с обеими системами через любой кодовый агент, хоть Cursor, хоть Coddy или скажем Kimi. Пишу агенту найди посты он находит, пишу эксортируй в markdown рекурсивно посты он делает, правлю и переделываю доку, затем прошу залить обратно, агент заливает (только вот вёрстка если хитрая есть, едет).

Настраивается сервер очень просто, нужно только Personal Access Tokens сгенерить через настройки профиля (к сожалению всего на 90 дней максимум), прописать его в .env параметр *_PERSONAL_TOKEN, затем в *_URL указать адрес где на вашем сервере обитает /rest/api/ эндпоинт и запустить сервер.

Вот пример docker-compose.yaml для быстрого запуска:

services:

mcp-atlassian:
restart: unless-stopped
image: ghcr.io/sooperset/mcp-atlassian:latest
container_name: confluence-mcp
environment:
TRANSPORT: streamable-http
HOST: 0.0.0.0
PORT: 8000
JIRA_URL: ${JIRA_URL}
JIRA_PERSONAL_TOKEN: ${JIRA_PERSONAL_TOKEN}
JIRA_SSL_VERIFY: "false"
CONFLUENCE_URL: ${CONFLUENCE_URL}
CONFLUENCE_PERSONAL_TOKEN: ${CONFLUENCE_PERSONAL_TOKEN}
CONFLUENCE_SSL_VERIFY: "false"
ports:
- "8000:8000"
volumes:
- "./mcp-atlassian_data:/home/app/.mcp-atlassian"

Подключаться через например Cursor к нему можно наприме вот так:
{
"mcpServers": {
"atlassian-local": {
"url": "http://localhost:8001/mcp"
}
}
}

Мне предпочтительнее HTTP формат подключения к серверу, но есть варианты запустить этот MCP локально, так как он поставляется в виде испоплняемого файла который можно через npx поставить и потом юзать.

В общем рекомендую, мне он среди всех MCP для работы с конфлуенс и джирой (включая то что я сам навайбил) нравится больше всех.

Читать полностью…

Pavel Zloi

Claude Mythos это самая мощная модель-хакер или самый дорогой маркетинговый миф в истории ИИ?

Anthropic анонсировала модель, которая находит zero-day во всех ОС и браузерах, ломает чруты и пишет эксплойты на раз-два. Рынок кибербезопасности дрогнул, правительства созывают совещания, эксперты бьют тревогу. Но что, если под капотом у модели не революция в машинном обучении, а просто грамотно собранный harness с тулами и снятые safety-ограничения?

В свежем посте разбираю, почему название "Mythos" (читается как Мифос) само по себе это почти спойлер, сравниваю рекламную компанию Mythos с рекламной компанией стирального порошкам "Миф", разбираю оценки экспертов, и делаю предположение о том, что любой разработчик с Claude Code и парой MCP-серверов может собрать нечто похожее у себя дома.

Если вам интересно, где проходит грань между реальным прорывом и морозной свежестью, то приглашаю подписаться.

Читать на Бусти: Миф про Mythos?

Читать полностью…

Pavel Zloi

Запись вчерашнего стрима "Как создавать AI-агентов на on-prem-моделях?".

YouTube: https://www.youtube.com/live/wjA9aPg7pjQ

Telegram: в медиа этого поста

Участники:
1. @neuraldeep
2. @kdoronin_blog

Паша. На стриме его несколько раз вспоминали:
@evilfreelancer

Платформа, с помощью которой тестировали on-prem-модели:
https://hub.neuraldeep.ru/

Презентация – в комментариях.

Читать полностью…

Pavel Zloi

Ну чтож, хочу рассказать с какой целью я решил заморочиться с настройкой gpt2giga и покупкой токенов моделей GigaChat-2 (Max, Pro и Lite).

Для оценки семейства GigaChat-2 на агентном сценарии использован агент phantom-agent Валерия @neuraldeep, данный агент реализован в формате harness и ориентирован на бенчмарк BitGN PAC1 за авторством Рината @llm_under_hood.

Агент строит цикл ReAct с набором навыков и дашбордом, в README заявлен ориентир порядка ~86% на pac1-dev на gpt-oss-120b.

Методология

Прогоны выполнялись на датасете pac1-dev, он меньше продового pac1-prod и даёт валидацию, поэтому корректность ответа по задаче проверялась сразу, без ожидания сервера BitGN, плюс видно на каких задачах были совершены ошибки.

Тестирование проводилось в 1 поток (в один момент времени решается одна задача).

Тесты моделей GigaChat выполнялись через прокси gpt2giga на тестовом аккаунте, тесты моделей gpt-oss и qwen 3.6 через Hub Neuraldeep.

Во время проведения тестов gpt-oss зависла апишка BitGN на t30, поэтому тест пришлось перезапускать из-за чего такой высокий wall time, при прочих равных он должен быть на уровне qwen 3.6.

Эконономика

Для теста закуплены пакеты:
- GigaChat Max - 3M токенов за 1950 ₽
- GigaChat Pro - 3M токенов за 1500 ₽
- GigaChat Lite - 20M токенов за 1300 ₽

Оценка по купленным пакетам:
- Max: ~0,65 ₽ / 1K токенов (~650 ₽ / 1M)
- Pro: ~0,50 ₽ / 1K (~500 ₽ / 1M)
- Lite: ~0,065 ₽ / 1K (~65 ₽ / 1M)

В пересчёте на объём токенов цена укладывается в диапазон "дешёвый относительно тарифов OpenAI и Anthropic".

Результаты тестирования

Точность (доля успешных задач на PAC1-dev):
- 79.1% - GPT-OSS-120B
- 41.9% - Qwen 3.6 35B A3B
- 37,2% - GigaChat-2-Pro
- 32,6% - GigaChat-2-Max
- 14,0% - GigaChat-2 (Lite)

Время (затраченное на прогон 43 задач в 1 поток):
- GigaChat-2-Max: ~51 мин
- GigaChat-2-Pro: ~79 мин
- GigaChat-2 (Lite): ~60 мин
- GPT-OSS-120B: ~187 мин
- Qwen 3.6 35B A3B: ~15 мин

Итого

На бенчмарке pac1-dev через агента Phantom семейство моделей GigaChat-2 показало низкий результат на агентных задачах представленных в соревновании BitGN, даже по сравнению с более слабыми on-premise моделями. При этом точность работы модели Max на агентных задачах ниже чем у модели Pro.

PS. Была ещё идея провести тестирование публичный модели GigaChat 3.1 10B, но я уже ранее проводил её тестирование, результаты были слабые. Ещё очень хотелось бы провести тестирование модельки GigaChat 3.1 702B Ultra, но она к сожалению не доступна мне через API, а свободного железа чтобы запустить 702B модель под руками не имеется.

Читать полностью…

Pavel Zloi

Встроил в хаб OpenWebUI, чтобы показать реальную скорость, и вы сразу могли проверить модели!

Работает фича из личного кабинета после авторизации (если вы нашли баг или вам интересен такой ИИкит, пишите в ЛС)

https://hub.neuraldeep.ru/

P.S. Токен из видео уже не работает))))
Скорость на видео реальная х1

За идею спасибо Паше

Читать полностью…

Pavel Zloi

Расширение каталога на Hub NeuralDeep

Сегодня вместе с Валерием (@neuraldeep) добавили новых моделей в публичный API проекта NeuralDeep. Базовый URL для запросов api.neuraldeep.ru (OpenAI-совместимо, Bearer с ключом). Ключ можно получить после регистрации на hub.neuraldeep.ru.

Итого:
- LLM'ки - из коробки через апишку доступны две флагманские модельки gpt-oss-120b и qwen3.6-35b-a3b, их можно крутить в кодовых агентах и чатботах.
- Эмбеддинги - в дополнение к bge-m3 и e5-large добавили русскоязычную frida, мультимодальную jina-embeddings-v4 и толстушку qwen3-embedding-4b.
- Реранкеры - уже была bge-reranker для ранжирования чанков, пригодится для вашего RAGу.
- Голос в текст (ASR) - помимо whisper-1 добавили ещё и whisper-podlodka-turbo.

Полный список моделей можно посмотреть так:

curl -sS "https://api.neuraldeep.ru/v1/models" \
-H "Authorization: Bearer <ваш-ключ-с-хаба>"


Регистрируйтесь, пользуйтесь, предлагайте свои модельки, поддерживайте рублём, рассказывайте друзьям - нам пригодится любая ваша помощь.

Читать полностью…

Pavel Zloi

Сижу пробую OpenDesign через qwen 3.6 35b, которая к слову доступна всем желающим на Hub NeuralDeep по подписке.

Первый результат получил спустя пару минут, агент принял задачу, задал уточняющие вопросы, принял мои пожелания и инструкцию о том, что я хочу получить интерфейс чата похожий на ChatGPT и вот такой результат выдал.

Тут конечно потребуются ещё доработки, но похоже концепция жизнеспособна, есть у меня в фигме один старенький макет чатика с моделями, попробую его скормить в качестве референса.

Читать полностью…

Pavel Zloi

Фир оф мессинг офигенного

Прочел у Влада @NGI_ru пост про то как избавиться от FOMO и пост мне настолько понравился, что захотелось тоже высказаться на этот счет.

Для тех кому лень читать, fomo это получивший в эпоху когда все массово начали пинать ИИ силу страх пропустить что-то интересное. Эдакий думскролинг, но со знаком плюс (аналогия ложная, но суть передать позволяет). Люди с этим страхом находятся в состоянии стресса, следят за всеми новостями и стараются пробовать все новинки, так как боятся оказаться на обочине прогресса если что-то пропустят.

Мой рецепт как бороться с этим страхом следующий: никак.

Страх не победить, его можно только принять и забить, выбрать себе интересную тему и развиваться в её направлении, а лучше делать что-то свое и стать ведущим, а не ведомым, не бойтесь что-то пропустить, ваши друзья или знакомые все равно вам расскажут обо всех интересных новостях (хотите вы этого или нет;)

Лично я за новостями так наблюдаю: если выходит что-то прикольное, добавляю это в виде напоминалки в список «попробовать через две недели», а каждые выходные провожу 1-2 часа изучая то, что накопилось в этих буферных списках.

То есть если я сегодня прочту про релиз очередной суперпрорывной аки трубы зимой технологии, то попробую ее рукам через выходные.

Мотивация у меня такая, вот например выходит новая модель или новый проект, за две недели её кто-то уже и протестирует и решит проблемы с промтами и с интеграцией в vllm, а я приду уже на все готовое и без нервов и стресса сразу получу хороший результат ну или как минимум приму решение стоит ли история внимания.

При этом информационный шум меня не отвлекает от работы и творчества, но я все равно успеваю попробовать то что хотел.

Конечно же бывают и исключения навроде новых моделей в кодовых агентах, или новых фичей, они просто под рукой, поэтому изучать новинку можно начать сразу же на релизе, без подготовки.

Читать полностью…

Pavel Zloi

Вайбкодинг для DevOps

Размышлял намедни о порядке в своем зоопарке серверов. Моя самая главная и рутинная проблема - развертывание десятков контейнеров на разных машинах, их автоматическое обновление и поддержка. На docker swarm у меня аллергия, ansible не годится, потому что эти скрипты неустойчивы к изменениям, и их тоже надо сопровождать. Вдоволь наигравшись с *Claw и прочими Harness и агентами, составил для себя что-то типа правил администрирования серверов через агентов. Делал всё по мотивам поста про вайбкодинг документации (ведь настройки серверов в формате эдакой вики тоже суть документация) и другого поста про создание каскадного скила.

Создаю папку с директориями, каждая директория названа как хостнейм машины. В каждой директории находится README файл с описанием того, как подключиться к серверу, что этот сервер делает, какие у него есть особенные настройки, задачи по расписанию. Короче, все, на что имеет смысл обратить внимание.

В корне проекта глобальный AGENTS, в нём описываю как и куда подключаться, что делать и так далее.

Помимо этого, в этих директориях я решил хранить папки, дублирующие структуру домашней папки пользователя. А в них у меня всякие разные docker-compose.yaml, настройки env, конечно же README с описанием чего и как делать и так далее, получается что-то типа этого:

servers/
README.md
AGENTS.md
lb01/
README.md
containers/
docker-langfuse/
docker-compose.yaml
README.md
...
gpu02/
README.md
containers/
docker-tei/
docker-compose.yml
gpu03/
README.md
nas01/
README.md
...


По итогу получается, что настройки моих серверов хранятся локально у меня и копия на сервере git. Файлы для стейтфул приложений (типа логов того же langfuse) лежат при этом на той машине, на которой это приложение запущено. Плюс секреты и конфиги там же, так как в репу я коммичу только примеры.

Кстати, знающие люди, наверное, заметят, что это напоминает систему контроля конфигураций NixOS, а кто-то скажет, что это скорее ansible. Обои будут правы ;) т.к. я вдохновлялся всеми указанными проектами. Но мое решение чуть более универсальное и, в отличие от NixOS, не привязывается к конкретной ОС, а в отличие от ansible агент работает недетерминированно и может справиться с любой операционкой и любой задачей, что я ему поручу.

То есть по сути в такой схеме каждый сервер становится уникальным саб-скилом, доступным через мета-скил.

Читать полностью…

Pavel Zloi

Вот те раз https://x.com/karpathy/status/2056753169888334312

Читать полностью…

Pavel Zloi

С начала майских праздников почти каждый день занимался доработками проекта Coddy Agent.

Изначально задумывал его как простой файловый ReAct-агент, но в какой-то момент понял, что мне этого мало и что хочется сделать полноценный harness, с Ralph-loop, но так чтобы он был не такой перегруженный как OpenClaw или Hermes Agent.

Поэтому Coddy имеет компактный конфиг и простой интерфейс настройки, минимально необходимый набор конфигураций для него это провайдер (с возможностью работать через прокси) и модель, после чего агент может работать. Агент памяти и агент планировщика используют модель по умолчанию выбранную для агента.

Сам агент имеет два режима работы: agent и plan, первый выполняет работы и может править файлы, второй позволяет сгенерировать план действий, который далее можно использовать в обычно агенте.

При этом хотелось чтобы Coddy был компилируемым и самодостаточным как ZeroClaw, так что я сразу делал Coddy на Go с прицелом на distroless (то есть когда собирается беарник не зависящий от дистрибутива) и упаковал его во from scratch образ Docker.

Ещё мне очень нравится как реализован модульный PicoClaw, поэтому и отключаемые модули, как через конфигурацию так и на этапе сборки, размер финального бинарника варьируется от 10 до 35мб.

Из коробки набор модулей следующий:
- Agent Client Protocol (ACP) доступен из коробки
- OpenAI-совместимое API
- Web-интерфейс
- долгосрочный сабагент памяти
- планировщик задач

По умолчанию агент собирается в режиме кодового агента на тающего через ACP, это позволяет встроить его в любую IDE.

Ещё одна важная фича это согласованность асинхронных сессий, за этой сложной фразой кроется очень простая фича, вы можете работал с агентом одновременно через браузер, ide и с мобильного и телефона, сессии не простой из одного пула как у Coddex App, но ещё и одновременно доступны, вполне логичная вытекающая фича это возможность запустить несколько одновременных асинхронных чатов и переключаясь смотреть что где происходит.

Плюс мне не нравится, что все упомянутые выше harness повторяли в том или ином виде функционал ChatGPT, иными словами агент общего назначения, но никто не пытался повторить гораздо более удачный Cursor, заточенный под разработку, посему я пытался максимально точно повторить именно кодовый агент, чтобы система ощущалась как помощник программиста, а не рандомный чатик с агентом общего назначения. Отсюда так много фишечек и нюансов пришлось предусмотреть в UI, но вы сами все увидите.

Больше всего усилий было вложено в UI, там темная тема и mobile first, и системы вопросов которые задает агент, и планирования задач, и стилистика ответа моделей и тулов, и обработка ошибок моделей. Плюс мне очень нравится элемент мутного черного стекла, поэтому модалки имею специфический вид.

Каждая мелочь в проекте продумана, каждый элемент дизайна, конфига и кода который вы увидите в проекте я просмотрел глазами и в несколько итераций выверил, там нет случайных или нелогичных элементов, все на своих местах, инет причину и назначение.

В общем вот такой вот кратенький список фичей, мне очень хотелось сделать harness мечты, которым бы я мог пользоваться каждый день.

PS. В течении дня ещё покидаю скриншоты и демо работы с агентом, но вы можете начать им пользоваться уже сейчас.

Читать полностью…

Pavel Zloi

Классификация ИИ-решений

Периодически мои собеседники путают простых чатботов с агентами и harness, чтобы каждый раз не повторяться решил написать данный пост в котором постараюсь рассказать какие системы бывают, из чего состоят и какие проблемы решают.

1. Чат с LLM (чат-бот)

Веб- или мобильный интерфейс с нескольким (или одной) моделями. Пользователь пишет, модель отвечает. История сессии - краткосрочная память, системный промпт задаёт характер ассистента. При этом у чата может и не быть памяти, тогда это час с instruct моделью, которая "помнит" только свой промт и вопрос пользователя.

LM + инструкция + (обычно) контекст диалога. Тулов нет или они спрятаны внутри продукта и пользователь о них не знает.

Например: ChatGPT, Claude.ai, chat.qwen.ai, chat.deepseek.com, GigaChat в браузере, локальный Open WebUI, LibreChat, LM Studio и так далее, тысячи их.

2. LLM с тулами (роутер)

По сути тот же чат с LLM, но не обязательно в виде веб-приложения, оркестратор по запросу вызывает один или несколько инструментов - погода, калькулятор, поиск картинок, отправка письма - и подставляет ответ в контекст. Решение "какой тул дернуть" часто одношаговое, модель сама решает как тул нужно выбрать, без явного плана из нескольких пунктов и без переоценки плана по ходу дела.
LLM + инструкция + тулы. Память - по желанию (диалог).

Например: ранний Bing Chat с поиском, боты в Telegram с tool calling, "умные" колонки и голосовые ассистенты и так далее.

3. Deep Search / Deep Research

Системы, которая исследует открытый мир (веб, индекс, API новостей) в несколько шагов. Типичный сценарий - уточнить запрос, составить план подзапросов, в цикле искать и читать источники, собрать отчёт с проверкой полноты.
LLM + инструкция (роль исследователя) + тулы поиска/чтения страниц + рабочая память (черновики, найденные ссылки). Долгосрочная память пользователя чаще не обязательна.

Например: Perplexity Pro, Google AI Mode, ChatGPT с глубоким исследованием, OpenAI Deep Research, sgr-agent-core и аналоги, кастомные пайплайны по схеме "уточнение - план - цикл по задачам - финальная проверка - отчёт".

4. RAG

Ответы и действия опираются на базу знаний - векторная БД, Confluence, PDF, Obsidian, тикеты. Ретривер (часто отдельный тул в виде скрытого шага) вытаскивает релевантные чанки и подкладывает их в промт, затем LLM синтезирует релевантный ответ с опорой на них.
LLM + инструкция ("отвечай только по контексту") + память (индекс) + тул retrieval. Краткосрочная память - диалог.

Обычно этого достаточно для систем FAQ, онбординга, поиска по внутренней документации. Один-два прохода retrieve + generate, но даже самые сложные и продвинутые RAG в отличии от даже простых агентов частенько показывают меньшую точность на задачах широкого спектра ввиду своего детерминизма.

5. Агент

Недетерминированная система, которая сама себе ставит задачи, анализирует историю диалога, вызывает тулы и оценивает, проверяет получилось ли как было задумано. В инструкции зашиты планирование, ReAct, Ralph-loop или Get Shit Done Loop и критерии успеха.
LLM + инструкция с планом/рефлексией + память (краткая и долгая) + набор тулов (для работы с файлами и взаимодействия с внешним миром)

Например: Claude Code, Cursor Agent, Codex, и так далее.

6. Harness

Не "ещё более умная модель", а инфраструктура вокруг агента. Песочница, лимиты, ретраи, очередь задач, логи, верификация артефактов, долгосрочная память, MCP/skills, расписание, human-in-the-loop. Модель может быть любой - качество системы сильно зависит от harness.
Агент (как выше) + слой исполнения, безопасности и жизненного цикла.OpenAI в 2026 называла это Harness Engineering - миллион строк кода, сгенерированных Codex, при маленькой команде и жёсткой обвязке.

Например: OpenClaw, Coddy Agent, Hermes Agent, ZeroClaw и так далее.

Итого

Harness > Agent > RAG | Deep (Re?)Search > LLM

Границы размыты, часто системы включают в себя компоненты других системы, да развитие ИИ-решений идёт очень быстро, поэтому люди, особенно новички в агентах, путаются в терминологии, и я надеюсь благодаря этой заметке путаницы станет чуточку поменьше.

Читать полностью…

Pavel Zloi

Пока все шумят про it's revolution, Johnny обновление Codex я наткнулся на вот это видео, поначалу всё было как обычно, коробочка на базе ESP, но под конец я немного подафигел.

И так, в нём идёт речь про экосистему оборудования Genesis созданную компанией Axiometa, скорее всего вам всё это ничего не говорит, но возможно вы когда-то слышали про микрокомпьютеры ESP и Arduino, которые позиционируются как коробочки для обучения микроэлектронике для самых маленьких в формате эдакого конструктора.

И вот представьте, что вместо классических плат прототипирования, проводков и электронных элементов у вас плата со входами аля Raspberry Pi и 50+ готовых заменяемых стандартизированных модулей, любой их которых можно подключить в плату и собрать коробочку с нужными модулям себе по вкусу.

Но самое любопытное в том, что Axiometa реализовали Axiometa Studio которая позволяет общаться с агентом Axie, просто пишешь какие модули есть и что хочешь сделать, а нейронка в формате вайбкода генерирует решение заточенное под текущий набор модулей. Готовую прошивку можно сразу из браузера залить на железку.

PS. К сожалению в Россию коробочки можно доставить только через байеров (сервисы доставки типа сдек шопинг).

Читать полностью…

Pavel Zloi

Прощай vibe coding, да здравствует agent engineering😜

Андрей Карпати провел очередной разговор, на этот раз с партнёром Стефани Чжан. Что символично, год спустя после того, как он придумал термин "vibe coding".

Основные тезисы.
1. Эра Software 3.0, теперь LLM это вычислительная среда, где естественный язык как код, а агенты как runtime.
LLM - это новая операционная система. Сразу вспоминаю MemoryOS.

2. Почему Карпати и ты чувствуете себя ламером даже после 20+ лет в коде. Карпаты раньше читал любой репозиторий и понимал, что происходит. Сейчас LLM генерирует код, который он не писал и не полностью контролирует. Теперь, человек управляет не логикой, а намерением через естественный язык. Парадокс - чем лучше модели, тем меньше традиционное программирование гарантирует понимание системы.

3. Таким образом, теперь классическое обучение кодеров должно измениться, нужно не только учить человека писать код самому, но и работать с агентами. Глубина понимания + инструмент МАС.

4. Vibe Coding vs Agentic Engineering. Vibe coding - хаотичные промпты, выглядит ок, но нет архитектуры.
Agentic engineering - процесс работы с памятью и инструментами, формальные проверки, многоагентные системы, оркестрация, безопасность и мониторинг. В целом появляется сопутствующее понятие AgentOps.

5. Вопросы доверия, безопасности и контроля.
Агенты уже нуждаются в жёстких рамках, к примеру, меню доступных действий, а не свободный диалог. Проблема верифицируемости встаёт на важное место.
В классике, если код компилируется и проходит тесты - скорее всего правильно. В Software 3.0 LLM прошла тесты, но логика непрозрачная, дырки в безопасности и тп. Крч без работы не останемся. 👍

Итого в 2026 и далее:
1. Агенты повсюду, но не как умные ассистенты, а как спец юниты.
2. Инструменты для агентов станут важнее самих промптов.
3. Верификация через симуляцию/среду - запуск агента в песочнице станет стандартном.
4. Человеческое суждение станет ключевым навыком, заменяя знания синтаксиса ЯП.

Читать полностью…

Pavel Zloi

А я всё чаще замечаю, что...

На сайт ChatGPT я всё меньше захожу, да и вообще на любой сайт-чат с моделями.

Мне сложно описать, что изменилось в моих привычках, но как-то так оказалось, что что-то быстрое и простое удобнее в Google поиске через AI Mode спросить (потому что там не нужно включать туннели).

Если я готовлю пост для блога то удобнее открыть Obsidian, а в нём плагин obsidian-agent-client, и к нему по ACP уже подключены Coddy Agent и KimiCode.

Если что-то посложнее либо через Coddy Agent, либо через Cursor, либо через KimiCode, либо через OpenCode удобнее спросить.

Читать полностью…

Pavel Zloi

Немного теории заговора

А я вот задумался, а что если большинство багов которые нашел Mythos были изначально сгенерированы клод кодом и как закладки добавлены в кодовую базу которую агенты нагенерировали, и именно в этом причина почем Mythos так много багов находит, быть может она знает что и где искать?

Читать полностью…

Pavel Zloi

UPDATE:

Kimi k2.6 теперь доступна всем PRO кто приобрел подписку через юкассу

https://hub.neuraldeep.ru/

Читать полностью…

Pavel Zloi

Продолжая эксперимент с оценкой моделей на агентном сценарии.

Выполнил прогоны по Yandex Cloud API и несколько моделей через локальный инференс, опираясь на ту же связку что и раньше: агент phantom-agent Валерия @neuraldeep, формат harness, тот же набор задач и валидация по PAC1-dev из бенчмарка BitGN PAC Рината @llm_under_hood.

Методология

Без изменений, совпадает с предыдущим тестом, один поток на прогон, датасет pac1-dev, ответ проверяется сразу. YandexGPT-5.1-Pro, YandexGPT-5-Lite и Alice AI LLM - тестировал через облако, затраты в рублях по факту смотрел в Yandex AI Studio.

Экономика

Пакетов как у GigaChat нет, списание происходит по типам токенов, цены тут: Правила тарификации для Yandex AI Studio

Выжимка для истории из таблицы выше (синхронный режим, цена за 1000 токенов, ₽ с НДС, на 2026-05-07):
- YandexGPT Pro 5.1 - входящие 0.8, кешированные 0.8, токены инструментов 0.2, исходящие 0.8
- YandexGPT Lite - 0.2 для всех перечисленных типов
- Alice AI LLM - входящие 0.5, кешированные 0.5, инструменты 0.13, исходящие 1.2

Расчёт фактической стоимости:
- YandexGPT-5.1-Pro - ~1482 ₽ за 1M
- YandexGPT-5-Lite - ~292 ₽ за 1M
- Alice AI LLM - ~478 ₽ за 1M

Результаты тестирования

Точность (доля успешных задач на PAC1-dev):
- 67,4% - gpt-oss:20b
- 44,2% - YandexGPT-5.1-Pro
- 23,3% - Alice AI LLM
- 20,9% - YandexGPT-5-Lite
- 2,3% - Liquid LFM2.5-1.2B Instruct

Время (затраченное на прогон 43 задач в 1 поток):
- gpt-oss:20b - ~81 мин
- YandexGPT-5.1-Pro - ~19 мин
- Alice AI LLM - ~30 мин
- YandexGPT-5-Lite - ~35 мин
- LFM2.5-1.2B - ~4 мин

Итого

Модель YandexGPT-5.1-Pro по тестам показал себя выше GigaChat-2-Pro на PAC1-dev, тратит меньше токенов, но вот цена великовата.

Модель gpt-oss:20b даёт середнячка по качеству.

Lite и Alice в облаке на агенте BitGN дали меньше правильных ответов, чем ожидалось, вероятно их тюнили под другие задачи, здесь они скорее для полноты сравнения с Pro 5.1 и с остальной матрицей. Ну а малютка LFM 2.5 подтвердила, что маленькая модель (пусть даже специально обученная на агентную работу) не тянет агентный PAC1, что ожидаемо но полезно как нижняя отметка.

PS. Модель YandexGPT-5-Pro тестировать не стал, так как уже потратил на эксперименты почти 11 тысяч рублей, а цена за её токены на четверть больше чем за 5.1 Pro.

Читать полностью…

Pavel Zloi

Нашёл, как мне показалось, баг в gpt2giga, запросы на модель Max через прокси почему-то вели на Lite модель.

Делаю запрос:

curl -sS -X POST "http://127.0.0.1:8091/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{"model":"GigaChat-2-Max","messages":[{"role":"user","content":"hi"}],"max_tokens":10}'

В ответе:
{"detail":{"url":"https://gigachat.devices.sberbank.ru/api/v1/chat/completions","error":{"status":402,"message":"Payment Required"}}}

(ожидаемо, потому что я за Lite модель не заплатил, токены закончились)

Списался с ведущим мейнтейнером проекта, рассказал о моей проблеме, оказалось дело было в настройках gpt2giga, вот правильная конфигурация:
services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True

Там внизу я добавил GPT2GIGA_PASS_MODEL: True, эта опция заставляет прокси прокидывать название модели из поля model (смотри пейлод curl запроса), по дефолту опция имеет значение False и поэтому прокси не читает из model и шлёт мой запрос на дефолт (просто GigaChat-2 модель, то есть Lite).

Кстати, между делом выяснил что GigaChat это алиас для GigaChat-2, GigaChat-Pro для GigaChat-2-Pro, а GigaChat-Max для GigaChat-2-Max, такой вот занятный факт.

PS. Оригинальный пост тоже поправил.

Читать полностью…

Pavel Zloi

Похоже зря я критиковал облачные модельки от Сбера, так как после экспериментов с gpt2giga и litellm мне удалось заставить модели GigaChat-2 доступные по API работать в качестве сердца агентной системы.

В качестве harness взял Hermes, так как при всех её "особенностях" в виде экстравагантного UI, странностей в подключения скилов и провайдеров, она настраивается и ощущается в разы приятнее чем OpenClaw и аналоги.

И так, что надо сделать чтобы пощупать флагманские сберовские модельки в режим agentic loop:

1️⃣ регаемся тут https://developers.sber.ru/studio/login (если у вас уже есть сберовская карта, то можно через приложение зайти)

2️⃣ создаём проект, в модалке выбираем GigaChat API

3️⃣ там будет Настроить API, следуем инструкции, сохраняем все полученные ключи, позже пригодятся

4️⃣ теперь запустим апишку gpt2giga, я всё через docker делаю, так что ловите docker-compose.yaml

services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True

запускаем через docker-compose up -d, после чего на 8091 становится доступно API с моделями, запросим список доступных моделей командой:
curl http://127.0.0.1:8091/v1/models

если в ответе пачка моделей, включая GigaChat-2, GigaChat-2-Pro, Embeddings и так далее (кстати где Frida и sbert?) то всё сделали правильно.

5️⃣ теперь клонируем исходники Hermes:
git clone https://github.com/NousResearch/hermes-agent.git

и перейдём в корень папки hermes-agent.

6️⃣ придётся чуть прокачать docker-compose.yml, приведём его к следующему виду:
services:
gateway:
build: .
image: hermes-agent
container_name: hermes
restart: unless-stopped
network_mode: host
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
- API_SERVER_HOST=${API_SERVER_HOST:-0.0.0.0}
- API_SERVER_KEY=${API_SERVER_KEY}
command:
- "gateway"
- "run"

dashboard:
image: hermes-agent
container_name: hermes-dashboard
restart: unless-stopped
network_mode: host
depends_on:
- gateway
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
command:
- "dashboard"
- "--host"
- "0.0.0.0"
- "--no-open"
- "--insecure"

плюс создадим в папке .env файл следующего содержания:
HERMES_UID=1000
HERMES_GID=1000
API_SERVER_HOST=0.0.0.0
API_SERVER_KEY=<тут пишем свой api ключ>

запускаем композицию через docker-compose up -d, если всё ок, то в хомяке пользователя появится папка .hermes, она нам и нужна.

7️⃣ теперь надо подправить конфиг, находится он тут: ~/.hermes/config.yaml, вверху, в поле модель заменим блок models, на строки вида:
model:
provider: custom
default: GigaChat-2-Pro
base_url: http://127.0.0.1:8091/v1
api_key: ~
api_mode: chat_completions

Кстати, помимо двушки Pro, есть двушка Max, просто двушка и модели первого поколения.

Настройки системы тут http://127.0.0.1:9119

———

После рестарта при помощи docker compose restart эта конфигурация станет активной и вы сможете работать с Hermes через OpenAI-совместимое API, например:
curl -sS --max-time 120 -N -X POST "http://127.0.0.1:8642/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <тут пишем свой api ключ из .env>" \
-d '{
"model": "hermes-agent",
"messages": [
{"role": "user", "content": "Кто ты?"}
],
"stream": false
}'

А ещё эту апишку можно использовать через Open WebUI, LibreChat или в качестве модели агента OpenCode.

Если у вас возникнут какие-то сложности, то не стесняйтесь задавать вопросы, постараюсь подсказать.

Читать полностью…

Pavel Zloi

По просьбам трудящихся конвертировал в GGUF модельку bond005/whisper-podlodka-turbo, которая как я понял затачивалась под качественный ASR русской речи.

Доступны квантизации до f16, q8 и q4, запустить модельку вы можете дома например через мой проект docker-whisper-server.

Так как оригинальная моделька основана на whisper large v3 turbo много памяти она кушать не будет.

Читать полностью…

Pavel Zloi

С праздником, товAIрищи!

Читать полностью…

Pavel Zloi

В продолжение темы с дизайном через агентов, намедни состоялся релиз проекта OpenDesign, это открытая альтернатива Claude Design без вендорлока на модели Antropic.

Заявлена поддержка многих кодовых агентов, включая опенкод, а это значит можно будет задействовать on-prem модели, что очень хорошо, так как у меня как-раз стоит копытом бьет qwen 3.6 35b на паре 4090.

Короче план чем заняться в праздничные дни финализирован.

Читать полностью…

Pavel Zloi

#300tps
Бабушкины рецепты

Сегодня наш LLMOps (Серёга, привет!) показал новый интерфейс рецептов vLLM.
На первый взгляд просто удобный конструктор: выбираешь модель, железо, параметры - получаешь готовый vllm serve.

Но мне кажется важнее не UI и даже не JSON API.

Важнее сама попытка вынести то «как правильно запустить конкретную
модель на конкретном железе» в отдельный воспроизводимый
артефакт. Потому что обычно это знание живёт где угодно:
в model card, в README, в issue, в PR, в Discord, в голове
инженера который «уже поднимал Qwen на H200 и помнит где грабли».

Что конкретно появилось.
Раньше рецепты были md файлами
в подразделе доки - свободный текст, каждый автор писал как
удобно. Сейчас YAML-схема со строгими полями (hardware_configs,
flags, throughput_vs_latency), валидация и формула VRAM при
билде, JSON API, ну и конечно селектор на странице модели.

Живой пример скорости: сегодня релизнулся DeepSeek V4, PR
поддержки в vllm (#40760) ещё мержится - а рецепт для V4-Pro
уже на сайте, верифицирован на 8×H200, с готовыми флагами вроде --tool-call-parser deepseek_v4.
Раньше при выходе модели такое собирали бы неделю по чатам и issue.

По сути мы чуть продвинулись на пути от набора шаманских команд к набору версионируемых рецептов.

Читать полностью…
Subscribe to a channel