Деньги защищены до списания
Бесплатный dry-run POST /generate/estimate, strict=true с явным списком rejected, pre-charge валидация всех URL-полей HEAD-запросом до списания, refunded: true при сбое провайдера, атомарный дневной лимит.
Письмо адресное и закрыто от индексации. Введите код доступа или откройте ссылку с параметром ?access=.
Отклик на позицию AI-инженера
Владимир, добрый день. Перед откликом я разобрал ваш Agent API и MCP-коннектор по документации, чтобы говорить конкретикой. Ниже — сжатая версия; полный аудит с примерами кода на отдельной странице.
Знаю, что решение вы принимаете до 15 августа, поэтому 8 августа перечитал документацию заново (её шапка — «обновлено 2026-08-05») и страницу экосистемы, обновил разбор под текущее состояние продукта и добавил в него две новые правки. Одну свою прежнюю претензию при этом снял — объясняю ниже, почему.
Оговорюсь про формат: это не только сопроводительное письмо, а часть отдельного технического досье по вашему продукту и по моему рабочему подходу. Материал останется моим самостоятельным портфолио независимо от результата отклика, поэтому он подробнее обычного отклика.
Строю production-системы в паре с coding-агентами: Factory Droid, Claude Code, Codex. Не как эксперименты, а с PR-процессом, обязательными quality-гейтами и деплоем на свой сервер. Отвечу прямо на вопрос из вакансии: обычно я веду 5–7 параллельных сессий агентов в рабочий день. При кратковременном пике число бывает выше, но качество держится не количеством окон, а механикой: одна задача — одна git-ветвь — один PR, приоритет проставлен явно (P0–P3), перед merge обязательны lint, test и build.
Моя роль в этой работе — AI-инженер и технический архитектор. Я задаю структуру системы, контракты между слоями, ограничения и критерии приёмки, а coding-агенты ускоряют реализацию. В спорных решениях беру второе мнение у другого агента или модели, иногда прямо сталкиваю их между собой и выбираю сам. Ответственность за архитектуру, безопасность, тесты и итоговый merge — на мне.
Я сейчас в Санкт-Петербурге, готов к работе в офисе 5/2 и к постоянному переезду. Могу приехать на встречу с ноутбуком и показать рабочий процесс живьём, а не на слайдах.
За последний год более 2 190 контрибуций на GitHub с учётом приватных репозиториев. Точную цифру не привожу текстом намеренно: она растёт каждый день, её видно прямо на github.com/xodapi без авторизации, а на странице резюме счётчик подтягивает её автоматически раз в час. 13 активных проектов на TypeScript, Rust и Python. Главный, kognitika.ru, работает в production: 396 коммитов во всех ветвях, 31 параллельная ветвь, 357 проходящих unit-тестов, Playwright e2e, Docker, GitHub Actions, health-check с хешем коммита в ответе.
Про Rust отдельно. Писал на нём утилиты для обработки данных информационных систем РЖД. Сейчас на Rust сделаны движок дискретно-событийного моделирования и инструменты мониторинга агентных сессий. В Kognitika веду миграцию аналитического контура с TypeScript на Rust по схеме shadow → canary → primary с временным fallback, без простоя production.
Про предметную область. 20+ лет в ОАО «РЖД» научили доводить идею до внедрения, а не до демо. Учёт топлива по каждому баку 150 тепловозов вместо единого склада, снижение повторного ввода данных диспетчерской смены на 74%, отчётность, которая ушла в масштаб сети.
Про маркетинг я знаю не по статьям. В 2010–2011 я десять месяцев жил с партнёрских программ Amazon и eBay. Механика была такая: генераторы сайтов, массовая автоматическая сборка тематических страниц под поисковый трафик. Называю прямо — по сегодняшним критериям это поисковый спам, тогда в алгоритмах Google было окно. Доход держался около $6 000 в месяц, я координировал команду контент-менеджеров, админов и программистов и заказывал ПО под автоматизацию всей рутины. Закончилось это фильтрами Google: после Panda трафик обнулился, я выгорел и вернулся в найм.
Привожу этот эпизод не как достижение, а потому что он даёт две вещи, полезные именно вам. Первое: я изнутри знаю петлю, которую сейчас закрывают вайб-маркетологи через ваш API — понять спрос, собрать контент, вывести его в канал, посчитать выручку. Тогда каждый шаг делался руками и наёмными людьми, поэтому я вижу, где у вашего пользователя настоящая экономия, а где косметика. Второе: я знаю, где кончается допустимая автоматизация и начинается то, за что платформу выкидывают из выдачи и из рекламных кабинетов. Массовая генерация контента — ровно тот инструмент, и границу здесь пересматривают каждый год. Я проходил этот сдвиг с той стороны, где считают убытки, и учитываю его в проектировании.
Впечатление хорошее, и особенно ценю то, что у вас закрыт финансовый контур. Это самое частое место, где платные генеративные API текут деньгами.
Бесплатный dry-run POST /generate/estimate, strict=true с явным списком rejected, pre-charge валидация всех URL-полей HEAD-запросом до списания, refunded: true при сбое провайдера, атомарный дневной лимит.
Тот же ключ с тем же телом — replayed: true. Другое тело — 409 idempotency_key_conflict. Параллельный дубль — 409 duplicate_request. Это ровно те три исхода, которые нужны для безопасного retry, и их обычно забывают.
GET /capabilities считаю самым важным эндпоинтом. При темпе примерно одна новая модель в неделю единственный работающий подход — тянуть каталог в рантайме, а не хардкодить. Плюс key_cooling_down как серверный circuit breaker.
Четыре пункта по приоритету. По каждому в полном разборе есть пример «как сейчас / как лучше» с кодом.
image_input для видео даёт чистый text-to-video со списанием. Ваша же документация называет это самой частой ошибкой агентов. Один флаг по умолчанию убирает целый класс жалоб «списали за не то».image_urls, first_frame_url, reference_image_urls, image_url, character_image_url. Я бы нормализовал вход единым inputs с ролями, оставив текущие поля алиасами./capabilities уже можно собрать JSON Schema и генерировать SDK. Без sandbox интеграционные тесты платные, а значит их не пишут.crm.* действия. Платформенный авто-ответчик генерирует actions сам, если агент не забрал сообщение за ~4 секунды. Whitelist ограничивает набор методов, но не содержание: crm.deal.update внутри разрешённого набора позволяет менять суммы и контакты. Это indirect prompt injection (Greshake et al., 2023, Black Hat USA) + excessive agency (OWASP LLM01 и LLM06, Top 10 for LLM Applications 2025). Автоматическая эксплуатация продемонстрирована на production Bing GPT-4 Chat и подтверждена эмпирически (Hofer et al., 2026). Здесь важная деталь, которую я нашёл, перечитывая продуктовые страницы: нужный вам механизм уже существует. У ИИ-бухгалтера заявлено «уровень автономии L2 по умолчанию: рутина сама, любая финансовая операция — после подтверждения в Telegram», а в описании ИИ-отдела автономность формализована как шкала L0–L3. То есть гейт «действие ждёт человека» спроектирован, обкатан и продаётся как преимущество. Вопрос сузился до покрытия: распространяется ли он на мутирующие crm.* в Inbox и на ключи сторонних агентов, которые пишут интеграцию сами на Agent API. Моё предложение — вынести уровень автономии в контракт API (поле у ключа, ответ pending_actions вместо немедленного исполнения, эндпоинт с исходом), чтобы у ваших агентов и у чужих на том же API был один уровень безопасности. Полная защита может быть недостижима (Abdelnabi, 2026), но изоляция агентов + human approval для мутирующих CRM операций снижает риск до приемлемого уровня.Сразу честно о способе работы. Я работаю как AI-инженер и технический архитектор: держу структуру, контракты и критерии приёмки, а coding-агенты ускоряют реализацию — Factory Droid, Claude Code, Codex. Спорные решения прогоняю через несколько моделей и выбираю сам, ответственность за архитектуру, безопасность, тесты и итоговый merge — на мне. Именно так сделаны все мои проекты, включая production, и эта страница. Поэтому сроки ниже — это план работы с агентами на две-четыре недели, а не обещание «сдам готовое к пятнице». Что гарантирую: понятную постановку, проверяемый результат и то, что мусор не уйдёт в production.
Обязательный estimate перед платным вызовом, strict по умолчанию, идемпотентность на каждый запрос, вебхук плюс страховочный поллер, экспоненциальный backoff с учётом retry_after, единая обработка таксономии ошибок.
/capabilitiesКаталог уже машиночитаемый — из него собирается JSON Schema на параметры каждой модели, а из схемы генерируются типы для TS и Python. Новая модель в каталоге — обновлённый SDK без правки руками.
По образцу вашего же замера F0 по голосам. Считаю это вашим сильнейшим неочевидным активом: вы уже измеряете то, что конкуренты берут из чужих маркетинговых страниц. Хочу масштабировать подход на остальные модальности — тогда выбор модели под задачу становится измеримым, а не вкусовым.
Разделение прав «текст» и «действие», инверсия дефолта авто-ответчика, подтверждение мутаций, изоляция недоверенного контента от исполняемых инструментов. Это то, что дешевле починить до инцидента.
Сейчас сложные задачи (текст → изображение → видео → озвучка) требуют трёх вызовов, трёх estimate, трёх idempotency_key. Клиент сам распределяет бюджет по шагам и узнаёт о перерасходе на шаге 2 после списания за шаг 1. Композиция генераций с бюджетом на цепочку — это открытая исследовательская задача (arXiv:2605.20485 «Zero-shot Budgeted Resource Allocation», май 2026: ни один существующий метод не решает split budget across phases; arXiv:2605.06110 «Constraint-Driven Online Resource Allocation», май 2026). Существующие фреймворки (LangChain LCEL) решают orchestration, но не budget constraints. POST /pipeline с полем steps[] делает цепочку атомарной: один ключ, один бюджет на всю последовательность, автоматическая передача выхода предыдущего шага на вход следующего. Меньше знаний у клиента, меньше тикетов в поддержку, выше конверсия на сложных задачах.
В разборе API я назвал это фронтиром номер один. Сейчас у вас разрыв: пользователь генерирует креатив на вашей платформе, размещает в VK/Telegram/Avito вручную, смотрит CTR в другом интерфейсе. Замыкание петли на метрики — это production pattern, который Meta внедрила в Advantage+ (25–40% улучшение ROAS, источник trylapis.com) и который стартапы продают как enterprise SaaS (Celtra, Segwise). Индустрия называет это «agentic marketing» с five-stage loop: generate → publish → measure → attribute → iterate. POST /campaign публикует ваши же generation_id в канал, GET /campaign/{id}/metrics отдаёт показы/клики/CTR, POST /campaign/{id}/optimize запускает A/B-тест: генерирует вариации, через 24 часа выбирает winner по метрикам. Ваше отличие: можете закрыть петлю кроссплатформенно (VK, Telegram, Avito) с полным спектром модальностей (текст, изображение, видео, озвучка), чего нет ни у Meta (только их ecosystem), ни у Celtra (не генерируют креатив сами).
Готов к тестовому заданию и к техническому разговору. Код открыт: github.com/xodapi. Инфраструктура, на которой лежит эта страница, тоже моя: syntog.ru, nginx, TLS, деплой через SSH-сессию агента.
Если отклик подходит — напишите или позвоните, дальше удобнее обсудить голосом. Готов к тестовому заданию и к встрече в офисе: я в Санкт-Петербурге.
Богорад Сергей Борисович · Санкт-Петербург · отвечаю в течение дня