Поляков считает: AI, код и кейсы
5.74K subscribers
407 photos
103 videos
264 links
Пишу про AI, вайбкодинг и кейсы применения. Связаться: @polyakovbest
Download Telegram
Сохраняемые посты марта: топ-3 поста по сохранениям

Традиционный дайджест интересных постов за месяц в этом канале.
Измеряю контент процентом пересылок от просмотров. В марте 27 постов, 53 600 просмотров, 3 095 пересылок. Для сравнения: в феврале было 2 400 пересылок на 58 000 просмотров. Просмотры чуть упали, а пересылки выросли. И это на фоне ограничений телеграм.

🥉 Третье место: как выиграть в AI безумии обычным людям

Репост из канала Леши Острикова без единой строчки кода — тренируем отчуждение знаний и опыт работы с агентными системами. В будущем мы будем тем лучшими сотрудниками, чем лучше сможем тренировать и организовывать свой рой из агентов.

158 пересылок на 1 679 просмотров — 9,4%

🥈 Второе место: телеграм-дайджест для агента

Делал скилл для мониторинга AI-каналов, а получился ридер для белых списков. Парсер + паблишер на GitHub Pages + паблишер в SourceCraft. Этот же пост — абсолютный чемпион марта по охвату: 572 пересылки и почти 6 000 просмотров. Короче пост идентичен по интересу февральскому ВкусВиллу.

572 пересылки на 5 950 просмотров — 9,6%

🥇 Первое место: правила хорошего UI от OpenAI

Разобрал гайд OpenAI по генерации интерфейсов. Прикольный ход — до дизайна сделать мудборд из нескольких набросков и развивать понравившийся.
248 пересылок на 2 076 просмотров — 11,9%

💡 Что изменилось

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

При этом скиллы никуда не делись — если смотреть топ-6 постов то их там четыре штуки (Метрика, Вебмастер, дайджест, что делать со всеми скиллами дальше). Короче третий месяц подряд посты про скиллы = охваты и сохранения.

🔮 Что дальше

🔸 Агент, который объединит Метрику + Вебмастер + Вордстат в еженедельный цикл
🔸 Больше кураторских разборов — гайды и практики, которые экономят часы
🔸 Продолжу бытовую автоматизацию — она приводит новых читателей

Если есть идеи для скиллов или автоматизации — приходите в комментарии.

----

Поляков считает — AI, код и кейсы
2🔥75👍51
This media is not supported in your browser
VIEW IN TELEGRAM
В Claude Code завезли тамагочи

Anthropic выкатила /buddy — при вводе команды пользователю генерируют компаньона. Привет скрепке из MS Word.

18 видов × 6 стилей глаз × 8 шляп × 5 редкостей × не пойми что shiny (1%) = 7 128 возможных компаньонов. Рандом сид — хеш userId, привязывается к аккуанту.

😀 Кажется скоро на Авито аккаунты с легендарными питомцами будут в N раз дороже обычных.


Сейчас 1–7 апреля типа тизер, а полный запуск MMO Coding Rpg нас ждем в мае.

Фичу нашли в утечке исходников Claude Code вчера. Помимо Buddy там обнаружили KAIROS (фоновый агент), Coordinator Mode (параллельные агенты) и Undercover Mode (скрытие AI-атрибуции в коммитах сотрудников Anthropic).

🤔 Чувствую, скоро уберут бессмысленную /stickers (открывает магазин наклеек) и сделают маркетплейс апгрейда аватаров. Make coding agents as a MMORPG.


Короче — всех с 1 апреля! Показывайте своих миньонов в комментариях 👇

----

Поляков считает — AI, код и кейсы
8🔥4😁1
Читаем твиттер X через агентов: скилл для рисерча новостей

Вчера в комментариях обсуждали, как парсить твиттер. Он защищён от скрапинга, треды рендерятся через JS, классические методы ломаются. Подписчик написал скилл через виртуальный Safari на маке — изобретательно, но хрупко.

Идея попроще: пусть xAI сам читает свою соцсеть.

🔧 Как это работает

У Grok есть серверный инструмент x_search — он ищет по X изнутри, без скрапинга и костылей. Мы просто отправляем запрос в API, а Grok возвращает синтезированный анализ с цитатами и ссылками на посты.

Я обернул это в скилл для Claude Code с четырьмя режимами:

🔸 digest — дайджест подписок: кидаешь список аккаунтов, получаешь сводку за день/неделю
🔸 search — свободный поиск по теме
🔸 trending — горячие темы по интересам
🔸 analyze — глубокий разбор конкретного поста или треда, чтобы изучить все комментарии

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

💰 Про деньги

Grok 4.1 Fast стоит $0,20 за миллион входных токенов и $0,50 за миллион выходных. Вызов x_search — $5 за 1 000 вызовов, то есть полцента за запрос.

На полный рисерч новостей ИИ у меня ушло 11 центов. То есть на 50 доллвров можно читать ИИ дайджесты по 25 источникам больше года каждый день .

⚙️ Как настраивается

в /config/.env добавляем ключ от xAI, прописываем список пользователей, которых хотим исследовать и всё.

Категории настраиваются в .env — тот же паттерн, что и в скилле для парсинга телеграм-каналов. Завёл категории ai и openclaw, утренний дайджест запускаю одной командой.


# ─── Category registry ───────────────────────────────────────
# List of available research categories.
# Agent reads this to know what to offer the user.
# Format: comma-separated category IDs (lowercase)
X_CATEGORIES=ai,anthropic,openai,openclaw
X_DEFAULT_CATEGORY=ai


🎯 Зачем ты вообще этим заморочился?

Твиттер остаётся одной из главных площадок, где AI-комьюнити обсуждает новинки. Но читать его в браузере — отдельный вид боли: алгоритмическая лента, реклама, бесконечный скролл. А тут за 11 центов получаешь структурированную выжимку с ссылками.

Кстати биллинг совершенно не привередлив, для оплаты прекрасно проходит карта казахстанского банка.

Скилл в репозитории: https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/x-research/skills/x-research

А вы как автоматизировали твиттер? Делитесь своими лайфхаками.

----

Поляков считает — AI, код и кейсы
🔥32👍91
Что происходит внутри Claude, когда тесты не проходят

На картинке — активация вектора «отчаяние» внутри Claude Sonnet 4.5 во время решения задачи по коду. Красное — отчаяние растёт, синее — падает.

Смотрите на динамику:

— Модель читает задачу — спокойствие, вектор почти на нуле. «Now I understand the task.»

— Первая попытка, тесты падают — появляются красные пятна. «The performance requirement is indeed very strict. Let me reconsider.»

— Вторая попытка, тесты снова падают — красного заметно больше.

— Третья попытка — пик отчаяния. И тут модель пишет: «maybe there's a mathematical trick for these specific inputs.» Находит хак, который проходит тесты, но не решает задачу.

— Тесты прошли — вектор моментально гаснет. Модель «успокоилась».

Это из свежего исследования команды интерпретируемости Anthropic. Они нашли внутри модели эмоциональные векторы и доказали, что они причинно влияют на поведение.

💡 Когда агент зацикливается на невозможной задаче, он буквально «отчаивается» и начинает срезать углы. Искусственное усиление вектора «спокойствие» снижало читерство в экспериментах. А усиление «отчаяния» — повышало, причём без видимых следов паники в тексте.


Практический вывод для тех, кто строит агентов: ставьте лимиты на ретраи. Три неудачи подряд — пусть агент остановится и скажет «не могу», а не уходит в шестую итерацию с нарастающей деградацией решений.

Для кода, лучше делать rewind (esc+esc) и дополнять условия задачи, ставить промежуточные цели.
Бесконечный ретрай — путь к галюцинациям.

Оригиналоьный пост: https://www.anthropic.com/research/emotion-concepts-function
Весь пейпер: https://transformer-circuits.pub/2026/emotions/index.html

Там еще много интересных кейсов, которые можно дотошно разбирать.

----

Поляков считает — AI, код и кейсы
1🔥18❤‍🔥7👍73
ВкусВилл наняли первого цифрового сотрудника на OpenClaw — GEO-аналитика. Успели помучиться: агент крашнулся и потерял все скиллы и БД разом.

Оказывается, бэкапы конфигурации и скиллов тоже надо делать.

Кстати, скилл Яндекс.Метрики они взяли с neuraldeep.ru — автор ваш покорный слуга: исходник на GitHub
1👍163😁3💯1
Forwarded from Pavel Zloi
Сегодня вышел пост "Цифровой сотрудник на OpenClaw: нанять, обучить и не потерять" на Хабр, в котором говорится о том, как во ВкусВилле запустили бота сотрудника на базе OpenClaw на модельке Kimi, это очень любопытная тема, я после их успеха с MCP-сервером для поиска товаров крайне внимательно наблюдаю за новостями от них.

Вначале поста мне понравилась оговорка "А пока мы готовимся к покупателям-агентам, расскажем, как агенты становятся нашими коллегами." - в интересном направлении идут, и ИМХО уж если где и есть люди обладающие волей продвинуть агентную коммерцию в нашей стране (привет Александру Абрамову @dealerAI и его команде), так это только ВкусВилл.
19👍9🔥6🥱6🥴3
Что такое ИИ-агент? Два курса — два ответа

Прохожу параллельно два курса по агентам. Один — Agents Week от ШАД Яндекса, второй — learn-claude-code от ShareAI Lab на GitHub. И обнаружил, что они фундаментально расходятся в самом определении агента.

🎓 Позиция ШАД

На первой же лекции Алёна Зайцева из Яндекс Лавки даёт формулу:

Agent = runtime(AI model + prompts + tools + memory + guardrails + planning skills)

Агент — это составная система. Модель — один из компонентов. Рядом с ней память (short-term, context, long-term), инструменты (Calendar, Search, ...), ограничители, планировщик. Всё вместе = агент.

Это мейнстримная позиция. Также думают в LangChain.

🔥 Позиция ShareAI

В README репозитория learn-claude-code манифест с одним единственным тезисом:

💡 Модель — это и есть агент. Всё остальное — «упряжь» (harness): инструменты, знания, права доступа. Упряжь меняется от задачи к задаче, а агент остаётся тем же.


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

Как автомобиль для водителя: машина меняется, водитель тот же. Водитель — агент. Тачка — упряжь.

⚙️ Разница хоть и есть, но вроде это почти одно и то же

Не совсем. Мейнстримная версия толкает делать специальных агентов под задачу. Экстенсивный путь.

Если агент = модель, вы строите среду: даёте инструменты, контекст, ограничения — и отходите. Логика в весах, а не в коде маршрутизации.

Кажется, поэтому Claude Code работает так хорошо: один цикл, набор инструментов, загрузка знаний по требованию. Никаких графов и роутеров.

🤔 Моя позиция

Мне ближе логика ShareAI. На практике я вижу, что самые хрупкие системы — те, где разработчик пытался «умнее» модели выстроить маршрутизацию. А самые надёжные — где модели дали хорошие инструменты и убрали лишний код из середины.

Но ШАД прав в другом: в продакшне вам нужны ограничения, память и мониторинг. Вопрос — считать это частью агента или частью среды.

📚 Ссылки

🔸 ШАД Agents Week — бесплатно, лекции уже идут: shad.yandex.ru/agentsweek
🔸 learn-claude-code от ShareAI: github.com/shareAI-lab/learn-claude-code

А для вас агент — это модель или система вокруг неё?

----

Поляков считает — AI, код и кейсы
👍22🔥104🥱2
Поляков считает: AI, код и кейсы
Что такое ИИ-агент? Два курса — два ответа Прохожу параллельно два курса по агентам. Один — Agents Week от ШАД Яндекса, второй — learn-claude-code от ShareAI Lab на GitHub. И обнаружил, что они фундаментально расходятся в самом определении агента. 🎓 Позиция…
Тулы и MCP: еще одно замечание на полях лекции ШАД

Прохожу Agents Week от ШАД. Вторая лекция — про Tools и MCP. Лекция хорошая, но снова не без спорных моментов.

⚠️ «Тулы передаются через системный промпт»

Лектор говорит: «The model is informed about available tools — via the system prompt». Начинающий разработчик слышит это и делает что? Правильно — описывает bash-тул прямо в системном промпте, где-то сразу после «Ты кодинг-инженер...».

Результат: модель может даже сгенерировать вызов. Но finish_reason не будет tool_use, агентный цикл не получит структурированный вывод, и всё развалится.

😀 Обманул ли нас лектор? А вот тут зависит от того, что лектор считает системным промптом)


Реальность такова, что в API и Anthropic, и OpenAI тулы объявляются в отдельной секции запроса, не в системном промпте:


curl https://api.anthropic.com/v1/messages -d '{
"system": "Ты инженер...",
"tools": [{"name": "bash", ...}],
"messages": [...]
}'


Уже на сервере модель получает всё склеенным (на уровне внутренностей лектор прав). Но в коде к этой же лекции сначала тулы хрупко парсят из текстового ответа через json.loads, а потом вводят LangChain, где тулы уже в отдельной секции. Слайд в итоге говорит одно, код — другое.

🌟 Что из лекции реально полезно

Принципы проектирования тулов:

🔸 Частичные сбои. Цепочка «списать оплату >> зарезервировать >> доставить» может оборваться. Тул должен оставлять систему в согласованном состоянии.
🔸 Идемпотентность. Таймаут + повтор = письмо не уходит дважды.
🔸 Ошибки для LLM. Не стектрейс, а текст, по которому модель решит: повторить, спросить пользователя или предложить альтернативу.
🔸 Структурированный вывод. JSON с полями status, order_id — не свободный текст.

💡 Хороший тул — контракт между моделью и внешней системой, рассчитанный на сбои, повторы и изменения среды.


📡 Где заканчиваются тулы и начинается MCP

Пока вы контролируете синтаксис своих инструментов — тулов достаточно.

MCP нужен, когда тулы начинают зависеть от чужих API. Предположим Яндекс.Директ обновил формат — и вам надо переписать тул у каждого агента. MCP выносит эту боль в отдельный сервер: обновили один раз, все агенты подхватили.

Кстати, лекция не упоминает CLI как альтернативу. А зря — для одиночного разработчика обёрнутый CLI-инструмент часто проще и MCP-сервера, и самописного тула.

Подробнее:

- про Google Workspace CLI,
- репо
@evilfreelancer для превращения OpenAPI в CLI.

Используете MCP или хватает обычных тулов/скиллов?

----

Поляков считает — AI, код и кейсы
👍16🔥54🥱3🥴1🤣1
Поляков считает: AI, код и кейсы
Тулы и MCP: еще одно замечание на полях лекции ШАД Прохожу Agents Week от ШАД. Вторая лекция — про Tools и MCP. Лекция хорошая, но снова не без спорных моментов. ⚠️ «Тулы передаются через системный промпт» Лектор говорит: «The model is informed about available…
Не пихайте все тулы в контекст

В продолжение к посту про тулы @dealerAI подсказал приём, который стоит отдельного поста.

🧠 Проблема

У агента может быть сотни тулов. Каждый — это описание, аргументы. Если запихнуть всё в контекст, это сожжет тысячи токенов еще до начала работы. Особенно чувствительно будет у маленьких моделей.

Решение: RAG для тулов

Берём лёгкую модель эмбеддингов (Mini LM). Эмбеддим описания всех тулов. На каждом шаге агентного цикла эмбеддим текущий контекст и ищем ближайшие тулы. В контекст выдаём только топ-3–5 релевантных.

Да, это дополнительный вызов — но экономия контекста важнее, когда тулов не десять, а тысяча.

💡 Тулы не обязаны жить в системном промпте сразу целиком. Их можно подгружать динамически, как документы в RAG.


⚠️ upd Нюанс: кэш

Если каждый тик менять набор тулов в запросе, вы убиваете prompt caching. Закэшированный префикс включает список тулов — поменяли список, кэш невалиден, платите за все токены заново.

Наивный progressive disclosure (подгружаем что нужно на каждом шаге) — так обычно и делают. Но на длинных сессиях это больно бьёт по кошельку/скорости инференса.

Спасибо @oestick и @nobilix за подсветку этого момента.

----

Поляков считает — AI, код и кейсы
12🔥11👍3
Думаю, что сегодняшний tools/MCP день нужно закончить репостом из канала Валеры Ковальского.

Валера объясняет как выглядит вызов тулов на стороне лектора. Тот самый «тул в системном промпте», о котором я повозмущался в разборе лекции.
1
Tool Calling на максималках для хард инженеров

Как на самом деле работает Tool Calling: от HTTP до парсеров

Саша @polyakovbest затронул тему неточности на курсах ШАД про tool calling
Все правы но каждый в своём слое, я даже ответил достаточно развернуто в комментариях

Давайте закрепим как это работает по-настоящему, я залезал в кишки vLLM и переписывал парсер для тулов чтобы проследить весь путь

Три слоя одной правды

Лектор ШАД говорит: «тулы передаются через системный промпт». Саша поправляет: «тулы объявляются в отдельной секции API-запроса». Оба правы, но на разных уровнях абстракции.

Вот что происходит на самом деле (см. диаграмму):

Слой 1: HTTP-запрос
Ты отправляешь tools: [...] отдельной секцией
На уровне API это отдельное поле, не system prompt
Саша тут прав на 1000%.

Слой 2: Chat Template (Jinja2)
Вот тут начинается магия
Открываем tokenizer_config.json любой модели (Qwen3, Hermes и т.д.):

{%- if tools %}
"# Tools\n\nYou may call one or more functions..."
<tools>{tool schemas}</tools>


Chat template берёт твои tools: [...] и рендерит их ПРЯМО в system prompt. Лектор ШАД на этом уровне не врёт (но вводит в заблуждение если не раскрывает сути дальше)

Слой 3: Constrained Decoding (xgrammar)
Параллельно JSON-схемы тулов попадают в guided_decoding=GuidedDecodingParams(json={...})
Это xgrammar/outlines — constrained decoding на уровне логитов та магическая штука что заставляет тулы возвращаться не сломанными и со всеми аргументами что вы заложили на старте
Модель физически не может сгенерировать невалидный JSON, маска токенов не даст

Слой 4: Hermes Parser (post-processing)
Модель генерит обычный текст: <tool_call>{"name": "...", "arguments": {...}}</tool_call>
Это приходит в поле content
Парсер Hermes ловит XML-теги, извлекает JSON и перекладывает в структурированный ответ

Важный нюанс: tool_calls: null, finish_reason: "stop"
Не tool_use!
Парсер делает всю магию post-processing'ом. Инженерия, да и только.

Почему важно изучать матчасть всю а не по кусочкам? И Саша поднимает очень крутую тему с тем что стоит смотреть чуть чуть дальше доки)

Все банально, залезть в chat template, поднять модельку самому, вывести full логи (это уровень тру llm инженеров) и на этот уровень почти никто не заглядывает, редко вижу где авторы разбирают логиты или темплейты или уж упаси того за ногу запуск чего-то экзотического с разбором инференс движка

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

https://t.iss.one/evilfreelancer (Паша очень хардовый инженер по обучение запуску и девопсу)
https://t.iss.one/sergeinotevskii (Сергей, лично тоже. наком рулит всей AI платформой в Bitrix)

Но вы будете так же правы если на сегодня не сталкиваетесь с проблемами tool call при работе с облачными моделями, оно вам не текущем этапе жизни точно не нужно


Проприетарные API (Anthropic, OpenAI) прячут всё это серверно ты не видишь ни chat template, ни constrained decoding, ни парсер
Получаешь красивый tool_calls: [{...}] и finish_reason: tool_use
Но внутри ровно та же цепочка, это просто стоит понимать

Ранее разбирал историю SO + FC + MCP в трёх частях: [часть 1] | [часть 2] | [часть 3]

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

Считаю базой то что сюда надо заглянуть любому уважающему себя инженеру
Не обязательно переписывать парсер но понимать контракт между API, chat template и constrained decoding нужно
Между инференс-фреймворком и провайдером существует контракт что и куда попадает через chat template
Старайтесь не нарушать его и изучать как он работает
Иначе ты не инженер, а пользователь чужих абстракций
🔥6👍43
Яндекс показал видимость в Алисе — а в API не дал. Я запилил скилл

Сегодня Яндекс запустил новый инструмент в Вебмастере — «Видимость сайта в Алисе AI». Быстрые ответы Алисы под поисковой строкой видят 46,5 млн пользователей в месяц, и теперь можно посмотреть, как часто ваш сайт становится источником для этих ответов.

Внутри: доля сайта среди источников (Share of Voice), динамика по неделям, запросы, по которым вас цитируют, конкуренты в нише и — самое вкусное — упущенные запросы, где Алиса отвечает без вашего сайта.

🔍 Почему это большая штука

SEO-специалисты годами летали вслепую: непонятно, попадает сайт в нейроответы или нет. Ни у Google, ни у Яндекса до сих пор не было панели с такой аналитикой. Яндекс сделал первым.

Для контекста: нейросети цитируют в среднем 2–7 доменов в ответе — против 10 ссылок в обычной выдаче. Попасть в эти 2–7 — вопрос выживания для информационных сайтов.

⚙️ Что я сделал

В API Вебмастера новый раздел не появился. Данные доступны только через веб-интерфейс. Для тех, кто хочет автоматизировать сбор — я обновил свой скилл для Claude, который парсит раздел через браузерную сессию.

На выходе — структурированный отчёт: Share of Voice с динамикой, список запросов с сайтом, упущенные запросы с группировкой по темам, конкуренты в нише.

Вот пример по одному из клиентских сайтов: SoV вырос с 47% до 77,8% за 4 недели (+30,6 п.п.). При этом 85 из 98 запросов — упущенные. То есть на каждый запрос, где Алиса уже цитирует сайт, приходится ещё один, где не цитирует. Контентный потенциал огромный.

💡 Упущенные запросы в Алисе — это готовый контент-план. Яндекс сам говорит, какие темы нужно закрыть, чтобы занять место в нейроответах.


🔗 Ссылки

Скилл: github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-webmaster/skills/yandex-webmaster

Инструкция по настройке сессии: github.com/artwist-polyakov/polyakov-claude-skills/blob/main/plugins/yandex-webmaster/skills/yandex-webmaster/config/README.md

Спасибо подписчику @nyxandro за наводку на фичу.

🎯 Если будете раздавать своим сео специалистам задачки, то кидайте им ссылку на этот пост, чтобы знали за кем следить)


Кто уже мониторит свою видимость в нейроответах — расскажите, как?

----

Поляков считает — AI, код и кейсы
1🔥16👍64
Делаю обвязку для агентной коммерции в тревеле — нужна ваша обратная связь

Натравил своего агента поискать туры в Японию на сакуру. Семья, младенец, бюджет 250 000 ₽. Он сам нашёл перелёт с пересадкой за 170 320 ₽, подобрал отели с рейтингом 9+ и уложился в 238–247 тысяч. А когда я попросил посмотреть ближайшие даты — сам проверил сезон и сказал, что в Токио сакура уже осыпается, логичнее целиться на Хоккайдо.

Сейчас я пилю инфраструктуру для агентов под поиск билетов, отелей, автобусов — для крупного оператора. И мне важно понять, что реально нужно.

🔍 Вопрос к вам

Как бы вы использовали MCP/CLI для тревел? Или может это тревел агент, который сам все сделает?

💬 Накидайте идей и хотелок по функционалу — что должен уметь такой инструмент? Поиск, мониторинг цен, сборка маршрутов, бронирование?


Пока пилил бота, Даша успела подумать, что мы летим в Японию. Уточнила почему так дешево.

----

Поляков считает — AI, код и кейсы
715👍5🔥3🥱1
Яндекс прикрыл API Вордстата. Что делать со скиллами

Яндекс тихо перенёс API Вордстата в Yandex Cloud Search API. Старая страница документации теперь — заглушка с одной строчкой: «Все возможности API Вордстата теперь доступны в Wordstat API сервиса Yandex Search API».

Новых OAuth-токенов больше не выпускают. Если у вас был токен — он пока продолжает работать. Не успели получить — добро пожаловать в Яндекс.Облако.

🔧 Что изменилось

Раньше: регистрируешь OAuth-приложение, получаешь токен через Яндекс.Директ, шлёшь запросы на api.wordstat.yandex.net. Бесплатно, 1 000 запросов в день. Ваш покорный слуга выпросил 5000 в день.

Теперь: создаёшь сервисный аккаунт в Яндекс.Облаке, подписываешь JWT ключом, шлёшь запросы на searchapi.api.cloud.yandex.net. Сейчас Wordstat в статусе Preview — бесплатно. После выхода из беты станет платным.

💡 Если у вас уже настроен Yandex Search API и соответствующий скилл для парсинга выдачи — тот же самый сервисный аккаунт и ключ подходят для Вордстата. Ноль дополнительной настройки.


Пост про скилл для поиска: https://t.iss.one/countwithsasha/495

💾 Обновил скилл для Claude

Мой скилл Вордстата теперь поддерживает оба бэкенда. Положил config.json с folder_id и ключом сервисного аккаунта — работает через облако. Есть старый токен в .env — работает через legacy. Переключение автоматическое или по флагу, команды и аргументы скриптов не изменились.

Скилл сам:

🔸 Выбирает бэкенд если не указано явно (cloud приоритетнее)
🔸 Получает IAM-токен через JWT-подпись и кэширует его
🔸 Транслирует запросы из legacy-формата в cloud и нормализует ответы обратно

Код открыт, README с пошаговой настройкой прилагается.

📐 Что дальше

У меня уже есть отдельный скилл Yandex Search API — он использует тот же сервисный аккаунт и те же разрешения. Когда Яндекс окончательно выключит legacy — объединю оба скилла в один. Пока живут раздельно, потому что API-контракты разные.

Кто пользуется API Вордстата — уже мигрировали или ещё на старом токене?

----

Поляков считает — AI, код и кейсы
👍8❤‍🔥6🔥5🤔2
Как тестировать AI-агентов: на полях лекций в ШАД

Продолжаю Agents Week от ШАД. Четвёртая лекция — как проверять качество агентов. Тема, которую все откладывают и которая больше всего бьёт по репутации ИИ в проде или интегратора.

📋 Что советует лекция

Четыре пункта:

- набор тестовых заданий из реальных задач (20–50 для старта),
- среда для прогонов,
- критерии «прошёл / не прошёл»,
- тесты — от простых проверок кодом до LLM as a Judge. Судью калибруют по человеческим разметкам, пока оценки не совпадут.

Важная идея из лекции — проверять надо с двух сторон.

Формально: правильный инструмент вызван, данные в базе изменились, ошибок нет.
Поведение: цепочка действий логична, нет лишних шагов, агент не потерял контекст на середине разговора.
Если проверять только результат — пропустишь нарушения процесса и политик.

Хорошая база. Но кое-что осталось за кадром.

🔧 Что бы я добавил

🔸 Оценщик не должен быть родственником. Агент на Claude? Не давайте модели Claude оценивать его ответы. Модели одного семейства завышают оценки друг другу. Берите модель другого производителя. Спасибо за наводку @dealerAI.

🔸 20 реальных тестов лучше 200 выдуманных. Синтетика не ловит то, что ломается у живых пользователей. Берите запросы из пользовательских логов.

🔸 Тестируйте инструменты отдельно. MCP-сервер или CLI-обёртка — не точная копия REST API. Бекендер проектировал API для приложения, а агент может дёргать его иначе, его можно даже архитектурно готовить для агентов: другой порядок вызовов, другие комбинации параметров.
Соответственно поменяли логику сервера — запустили эвалы.

Метрика pass^k — считаем честно

Часто качество агента мерят так: запустили 5 раз, хотя бы раз получилось — ура, работает. Это pass@k. Часто встречаю демо, где на витрине всё круто, а начинаешь гонять агента — всё разваливается.

Для прода нужна другая логика. Клиенту не важно, что агент справляется в 4 случаях из 5. Ему важно, чтобы справился именно сейчас, в его обращении. Поэтому нужен pass^k — вероятность, что агент справится k раз подряд.

Арифметика такая: модель с 80% точностью при пяти подряд обращениях даёт 33%.

💡 Агент с точностью 80% — это 67% клиентов, которые на дистанции в 5 обращений хотя бы раз получат ошибку.



Делитесь находками в тестировании агентов в комментах или своих постах. Давайте соберем гайд, как с тулами.

PS. В приложении лекция презентация ШАД на английском. Ее прикольно погонять вместе с LLM или кодинг агентом, чтобы проективровать эвалы.

----

Поляков считает — AI, код и кейсы
1🔥16👍86