Стек консультанта
Перевод с иврита
Йонатан Гросс
Стек: технологии и ИИ: В основном инструменты для создания софта, ИИ и автоматизацийИнженер AI-систем · Yonyon AI
Коротко
- 69 инструментов
- 6 категорий
- 69 использует сам
Основной стек
Выбрано только по словам самого консультанта: ежедневное использование, годы использования, «почти исключительно».

Claude CodeКаждый день
«Инструмент, который построил этот сайт и большую часть моего бизнеса».
GitHub24 репозитория
«Код, issues, CI и релизы — в одном месте».

Wispr FlowКаждый день
«Большая часть того, что я отправляю агенту, начинается с речи, а не с набора текста».

OrchestKitЕго собственный проект
«Плагин, который превращает Claude Code в команду с ролями».
Anthropic API
«Claude управляет агентами, чатом на сайте и операционными ботами».

Docker
«Локальная разработка совпадает с продакшеном, потому что это один и тот же стек».

Slack19 каналов
«Каждый бот, деплой и алерт отчитываются в канал, а не в лог-файл».
«Я создаю AI, который работает сам, а потом слежу, чтобы он продолжал работать». Здесь — стек, на котором работает yonyon.ai, в том виде, в каком Йонатан опубликовал его на своей странице стека: «В центре — моя повседневная работа, за ней — инфраструктура и модели, на которых всё работает, а вокруг — каналы и аналитика, которые выносят это наружу». Все 69 инструментов, с досье на каждый, есть на yonyon.ai.
Подробно о каждом инструменте
Словами самого консультанта, со ссылкой на источник каждой цитаты.
Копирует оценённые инструменты в ваш личный My Stack. Ничего не публикуется.
Каждый день7
Claude CodeПока нет в CuraloПользуется самЗачем:Строит всё: «Инструмент, который построил этот сайт и большую часть моего бизнеса». На практике: этот сайт — более 500 PR, написанных вместе с Claude Code; чат на сайте работает на Claude с моей базой знаний; мои операционные боты разбирают деплои и присылают сводки в Slack.
- GitHubПока нет в CuraloПользуется сам
Зачем:Где живёт работа: «Код, issues, CI и релизы — в одном месте». На практике: 24 активных репозитория в организации; каждый pull request проходит все проверки перед слиянием; выкладки в продакшен сливает приложение, никогда не вручную.
Wispr FlowПока нет в CuraloПользуется самЗачем:Я говорю, оно печатает: «Большая часть того, что я отправляю агенту, начинается с речи, а не с набора текста». На практике: брифы для моих агентов надиктовываются, а не печатаются; фраза, где смешаны иврит и английский, всё равно выходит чистой.
DockerПока нет в CuraloПользуется самЗачем:Всё работает в контейнере: «Локальная разработка совпадает с продакшеном, потому что это один и тот же стек». На практике: локальная разработка запускает тот же compose-стек, что и продакшен; продакшен выкатывается по схеме blue-green; тестовый стек временный, так что интеграционные тесты не трогают базу данных разработки.
- Google WorkspaceПока нет в CuraloПользуется сам
Зачем:Почта, календарь и документы: «Здесь живут почта и календарь бизнеса, доступные моим агентам». На практике: мои агенты ищут в моих почтовых ящиках вместо того, чтобы я листал; время встреч предлагается по реальному календарю, а не наугад.
Codex CLIПока нет в CuraloПользуется самЗачем:Второй агент для кода: «Агент для кода от OpenAI, для задач, которым больше подходит вторая модель». На практике: часть задач по коду уходит в Codex вместо Claude Code.
- CCandleKeepПока нет в CuraloПользуется сам
Зачем:Библиотека, которую читают мои агенты: «Книги и мои заметки, доступные для поиска агентам, прежде чем они заново изобретут ответ». На практике: мои агенты проверяют библиотеку, прежде чем снова выводить уже усвоенный урок.
Разработка и код20
OrchestKitПока нет в CuraloПользуется самЗачем:Операционная система для моих агентов: «Плагин, который превращает Claude Code в команду с ролями». На практике: 106 скиллов и 37 агентов, установленных в каждом репозитории, где я работаю; его хуки отклоняют коммиты, повторяющие ошибку, за которую я уже заплатил.
- StorybookПока нет в CuraloПользуется сам
Зачем:Каждый компонент — изолированно: «Место, где компонент доказывает себя, прежде чем попасть на страницу». На практике: мои агенты сверяются с каталогом, прежде чем писать новый компонент, поэтому переиспользуют, а не дублируют; компоненты проверяются без входа в приложение.
shadcn/uiПока нет в CuraloПользуется самЗачем:Строительные блоки интерфейса: «Компоненты, код которых принадлежит мне, а не библиотека, к которой я привязан». На практике: каждый базовый элемент на этом сайте начинался как компонент shadcn, который я сделал своим; моя дизайн-система добавляет поверх него токены и шаблоны.
- CursorПока нет в CuraloПользуется сам
Зачем:Вторая пара глаз: «Отдельная линия ревью, чтобы одна модель не проверяла саму себя». На практике: намеренно держится как линия ревью рядом с моим основным агентом; оправдывает своё место, только если ловит тип багов, который другая линия пропускает.
- Next.jsПока нет в CuraloПользуется сам
Зачем:Веб-фреймворк: «Фреймворк, на котором работают этот сайт и сайты, которые я делаю для клиентов». На практике: этот сайт работает на Next.js 16, на английском и иврите; сайты, которые я делаю для клиентов, тоже работают на нём.
TypeScriptПока нет в CuraloПользуется самЗачем:Типы везде: «Каждый мой JavaScript-репозиторий написан на TypeScript, так что ошибка роняет сборку, а не посетителя». На практике: каждый мой JavaScript-репозиторий написан на TypeScript; ошибка типов блокирует слияние на этом сайте.
ReactПока нет в CuraloПользуется самЗачем:Каждый интерфейс, который я выпускаю: «Слой интерфейса под этим сайтом, моим дашбордом и сайтами клиентов». На практике: этот сайт, мой дашборд и сайты клиентов — все на React 19.
Tailwind CSSПока нет в CuraloПользуется самЗачем:Слой стилей: «Утилитарные классы поверх дизайн-токенов, так что светлая тема, тёмная тема и иврит берутся из одного источника». На практике: каждый стиль на этом сайте — класс Tailwind или токен; вёрстка на иврите строится на логических свойствах, а не на отдельной таблице стилей.
FastAPIПока нет в CuraloПользуется самЗачем:API за моими агентами: «API на Python, через который работают моя платформа и её агенты». На практике: API моей платформы — это приложение FastAPI; модели запросов и ответов типизированы от начала до конца.
- PlaywrightПока нет в CuraloПользуется сам
Зачем:Сквозные тесты: «Настоящие браузеры проходят по сайту, прежде чем изменение может быть слито». На практике: набор сквозных тестов запускается на каждый pull request на этот сайт; у первого экрана есть эталонные снимки в Chromium, Firefox и WebKit.
MotionПока нет в CuraloПользуется самЗачем:Анимация: «Движение на этом сайте, от появления секций до открытия досье на этой орбите». На практике: появление секций и открытие досье на этом сайте сделаны на Motion.
RemotionПока нет в CuraloПользуется самЗачем:Видео, написанное кодом: «Видео, собранные на React, так что изменение — это коммит, а не повторный монтаж». На практике: мой креативный набор инструментов рендерит видео через Remotion.
- VitestПока нет в CuraloПользуется сам
Зачем:Юнит-тесты: «Быстрый слой тестов, который запускается при каждом push». На практике: этот сайт прогоняет около 2 600 юнит-тестов, прежде чем push уходит.
- pnpmПока нет в CuraloПользуется сам
Зачем:Менеджер пакетов: «Установки в каждом JavaScript-репозитории, с задержкой для совсем новых версий». На практике: каждый мой JavaScript-репозиторий устанавливается через pnpm; пакету должно быть хотя бы день, прежде чем он попадёт внутрь.
CodeRabbitПока нет в CuraloПользуется самЗачем:Код-ревью с AI: «Ревьюер, который читает каждый pull request раньше меня». На практике: проверяет pull requests в трёх моих репозиториях.
RenovateПока нет в CuraloПользуется самЗачем:Зависимости в актуальном состоянии: «Бот, который открывает pull requests с обновлениями, так что мне остаётся только их проверить». На практике: поддерживает зависимости актуальными в 12 моих репозиториях.
uv + RuffПока нет в CuraloПользуется самЗачем:Python, быстро: «Установщик и линтер от Astral для каждого Python-проекта, который я веду». На практике: установки и линт Python в моём CI идут через uv и Ruff.
TurborepoПока нет в CuraloПользуется самЗачем:Сборка монорепозитория: «Собирает и тестирует только то, что изменилось, и помнит остальное». На практике: монорепозиторий моей платформы собирается и тестируется через Turborepo.
Context7Пока нет в CuraloПользуется самЗачем:Актуальная документация для агентов: «Агенты читают документацию библиотек такой, какая она сегодня, а не какой была на момент обучения». На практике: мои агенты сверяются с актуальной документацией, прежде чем писать код под библиотеку.
21st.devПока нет в CuraloПользуется самЗачем:Поиск компонентов: «Каталог готовых компонентов, в котором мои агенты ищут, прежде чем создать свой». На практике: мои агенты ищут в нём, прежде чем писать новый компонент с нуля.
Инфраструктура5
VercelПока нет в CuraloПользуется самЗачем:Выкладывает фронтенды: «Каждый клиентский сайт и каждый дашборд выходят отсюда при каждом push». На практике: этот сайт выкладывается при каждом слиянии, с адресом предпросмотра для каждого PR; клиентские сайты тоже работают здесь, каждый в своём проекте.
CloudflareПока нет в CuraloПользуется самЗачем:Слой перед всем: «DNS, файрвол и защита почты перед каждым сайтом, который я веду». На практике: все мои домены управляются и защищаются здесь.
- TerraformПока нет в CuraloПользуется сам
Зачем:Серверы — это файл: «Ни один сервер не существует потому, что кто-то нажал кнопку». На практике: размер и структура парка CI хранятся в системе контроля версий, а не в консоли; машину можно пересобрать из репозитория, а не по памяти.
Cloudflare R2Пока нет в CuraloПользуется самЗачем:Где живут файлы: «Объектное хранилище без платы за egress, и в этом вся причина». На практике: материалы для клиентов и сгенерированные медиа хранятся и раздаются отсюда; публичный и приватный бакеты разделены, так что по умолчанию ничего не утекает.
UpstashПока нет в CuraloПользуется самЗачем:Ограничение частоты без сервера: «Serverless Redis, который ограничивает частоту запросов к чату и API на этом сайте». На практике: ограничивает частоту запросов к чату и API на этом сайте.
Модели и AI21
- Claude Agent SDKПока нет в CuraloПользуется сам
Зачем:Агенты внутри моего API: «Тот же цикл агента, что и в Claude Code, работающий внутри моих сервисов». На практике: API моей платформы запускает агентов Claude через SDK.
- Vercel AI SDKПока нет в CuraloПользуется сам
Зачем:AI в веб-приложениях: «Способ, которым вывод моделей потоком поступает в интерфейсы, которые я создаю». На практике: этот сайт и мой дашборд передают через него вывод моделей потоком.
- Anthropic APIПока нет в CuraloПользуется сам
Зачем:Модель, стоящая за работой: «Claude управляет агентами, чатом на сайте и операционными ботами». На практике: чат на этом сайте отвечает из моей базы знаний; мои операционные боты читают деплои и сами пишут сводку.
OpenAIПока нет в CuraloПользуется самЗачем:Второе мнение и изображения: «Куда я иду, когда другая модель — более подходящий инструмент». На практике: маркетинговые изображения и карточки продуктов создаются здесь; остаётся в резервной цепочке, так что сбой у одного провайдера — не сбой у меня.
Google GeminiПока нет в CuraloПользуется самЗачем:Видео, изображения и голос: «Семейство моделей Google для всего, что не текст». На практике: голосовой вывод на иврите использует синтез речи Google с заранее заданным голосом; генерация видео и изображений стоит за circuit breaker, так что упавший провайдер пропускается, а не вызывается повторно.
GroqПока нет в CuraloПользуется самЗачем:Транскрипция, быстро: «Whisper на скорости, при которой голосовые сообщения становятся практичными». На практике: короткие голосовые сообщения расшифровываются здесь, прежде чем что-либо их читает.
OpenRouterПока нет в CuraloПользуется самЗачем:Один ключ, много моделей: «Позволяет сменить модель, не меняя интеграцию». На практике: стоит в моём контуре оценки: матрица сравнения моделей прогоняет один и тот же промпт на моделях нескольких провайдеров через один ключ.
HiggsfieldПока нет в CuraloПользуется самЗачем:Визуалы бренда и видео: «Место, где делается кинематографичная работа над брендом». На практике: изображения и рилсы этого бренда производятся здесь; кадры утверждаются до рендера видео, так что плохой кадр не превращается в плохой клип.
fal.aiПока нет в CuraloПользуется самЗачем:Модели изображений по запросу: «Движок, стоящий за креативным пайплайном». На практике: стоит за circuit breaker с запасной цепочкой провайдеров, так что один неисправный провайдер не останавливает пайплайн.
DeepgramПока нет в CuraloПользуется самЗачем:Кто что сказал: «Разделение говорящих в записанных звонках». На практике: запускается только на аудио, достаточно длинном, чтобы это окупалось, так что короткие клипы ничего не стоят.
SonioxПока нет в CuraloПользуется самЗачем:Иврит, который выживает: «Единственный транскрибер, который справляется с ивритом и английским в одном предложении». На практике: аудио встреч сначала пробует Soniox, потому что смешанный иврит ломает остальные.
CartesiaПока нет в CuraloПользуется самЗачем:Голос на английском: «Речь с низкой задержкой для всего, что отвечает голосом». На практике: отвечает за речевой вывод на английском и берёт на себя фразы, где смешаны языки.
ElevenLabsПока нет в CuraloПользуется самЗачем:Музыкальные подложки для студии: «Подключён к моей креативной студии для генерируемой музыки; речь работает в другом месте». На практике: подключён для саундтреков в моей креативной студии, а повседневную речь обеспечивают Cartesia и Google.
TavilyПока нет в CuraloПользуется самЗачем:Поиск, созданный для агентов: «Результаты из сети, которыми агент действительно может пользоваться, без шума страницы». На практике: мои исследовательские скиллы вызывают его вместо того, чтобы скрейпить страницы в контекст.
- NotebookLMПока нет в CuraloПользуется сам
Зачем:Превращает документы в брифинг: «Место, где груда источников становится тем, что я могу послушать». На практике: каждая версия получает блокнот и аудиосводку, которую я слушаю вместо того, чтобы читать.
- Voyage AIПока нет в CuraloПользуется сам
Зачем:Помогает поиску понимать смысл: «Эмбеддинги, стоящие за моей базой знаний». На практике: база знаний находит ответы по смыслу, поэтому чат на сайте может отвечать моими словами.
LangGraphПока нет в CuraloПользуется самЗачем:Рабочие процессы агентов: «Многошаговые процессы агентов, которые можно приостановить, продолжить и проверить». На практике: многошаговые процессы агентов в API моей платформы — это графы LangGraph.
- PipecatПока нет в CuraloПользуется сам
Зачем:Голосовые агенты: «Связывает распознавание речи, модель и голос в один разговор в реальном времени». На практике: мои голосовые агенты — это пайплайны Pipecat в API моей платформы.
FastMCPПока нет в CuraloПользуется самЗачем:Мои MCP-серверы: «Фреймворк, стоящий за MCP-серверами, которые дают моим агентам типизированные инструменты». На практике: восемь MCP-серверов, которые я построил, дают моим агентам их инструменты.
GrokПока нет в CuraloПользуется самЗачем:Ещё одна модель в наборе: «Модель от xAI, одна из моделей, которые я сравниваю бок о бок, прежде чем выбрать модель для задачи». На практике: я прогоняю Grok против других моделей на одних и тех же задачах.
WhisperПока нет в CuraloПользуется самЗачем:Транскрипция на моём компьютере: «Преобразование речи в текст, работающее локально, так что аудио звонков не покидает компьютер». На практике: записи звонков с клиентами расшифровываются на моём компьютере.
Каналы и распространение12
SlackПока нет в CuraloПользуется самЗачем:Где я читаю бизнес: «Каждый бот, деплой и алерт отчитываются в канал, а не в лог-файл». На практике: у каждого канала свой тип сообщений, так что алерты не тонут в ленте; деплои, аномалии расходов и состояние клиентов публикуются здесь сами.
- WhatsAppПока нет в CuraloПользуется сам
Зачем:Канал, в котором клиенты действительно отвечают: «В Израиле email — это место, где переписка умирает». На практике: голосовые сообщения клиентов автоматически расшифровываются и подшиваются к этому клиенту.
ResendПока нет в CuraloПользуется самЗачем:Почта, которая доходит: «Транзакционные письма без целого проекта по доставляемости». На практике: подтверждения заказов, доставки и счета отправляются отсюда; открытия и bounces возвращаются вебхуками, так что тихий сбой становится заметен.
Зачем:Запись на встречу без переписки туда-сюда: «Ссылка вместо шести сообщений про вторник». На практике: лиды выбирают время по ссылке, так что я не согласовываю время в сообщениях; каждая запись отправляет вебхук на этот сайт, и он отправляет письмо с продолжением.
XПока нет в CuraloПользуется самЗачем:Где я публикуюсь на английском: «Коротко, технично и обычно о том, что только что сломалось». На практике: каждый пост пишет агент, а я утверждаю его перед публикацией; бот публикует со своего аккаунта, никогда с моего личного.
- LinkedInПока нет в CuraloПользуется сам
Зачем:Где я публикую длинные тексты: «Более длинные посты, для людей, которые действительно меня нанимают». На практике: длинные посты выходят здесь, агент пишет, а я редактирую; ничего не публикуется без моего одобрения.
InstagramПока нет в CuraloПользуется самЗачем:Куда уходит визуальная работа: «Визуалы бренда и клиентов, публикуемые из одного места». На практике: визуальная работа публикуется из того же пайплайна, что и всё остальное, не вручную.
ThreadsПока нет в CuraloПользуется самЗачем:Вторая англоязычная лента: «Те же черновики, ещё одна аудитория, без дополнительной работы». На практике: посты приходят сюда из того же утверждённого черновика, так что это не требует лишней работы.
TelegramПока нет в CuraloПользуется самЗачем:Канал для ботов: «Куда уходит болтовня машин, чтобы не загромождать человеческий канал». На практике: уведомления между машинами живут здесь, вдали от всего, что может увидеть клиент.
DiscordПока нет в CuraloПользуется самЗачем:Где сообщества: «Скорее не инструмент, который я веду, а место, где сидят люди, у которых я учусь». На практике: аккаунт на бесплатном тарифе — место, чтобы учиться, а не то, на чём я что-то запускаю.
Зачем:Длинная версия: «Куда идёт то, чему нужно 2 000 слов». На практике: одна из точек распространения в моём контент-пайплайне, а сам список подписчиков хранится в моей базе данных.
RiversideПока нет в CuraloПользуется самЗачем:Запись и монтаж: «Место, где я записываю видео и где мои агенты помогают его монтировать». На практике: мои агенты могут искать по транскрипту записи и резать монтаж.
Аналитика и операции4
LangfuseПока нет в CuraloПользуется самЗачем:Каждый вызов модели — с трассировкой: «Каждый промпт и вывод записываются, так что можно показать, что сделал агент и сколько это стоило». На практике: каждый запуск агента можно отследить от начала до конца, включая его стоимость.
PostHogПока нет в CuraloПользуется самЗачем:Что люди на самом деле делают: «Продуктовая аналитика без отправки моих пользователей в рекламную сеть». На практике: загружается только после согласия и только по необходимости, так что не стоит посетителю скорости страницы.
ProdigiПока нет в CuraloПользуется самЗачем:Печатает и отправляет за меня: «Печать по требованию, так что я не держу склад». На практике: заказ идёт прямо на исполнение, и клиент получает трекинг без моего участия.
SanityПока нет в CuraloПользуется самЗачем:Контент для восьми сайтов: «Одна CMS, восемь проектов, редактирование без деплоя». На практике: восемь отдельных проектов, по одному на сайт, все доступны из одного места; сам этот раздел редактируется здесь, и замена инструмента не требует деплоя.
Вопросы и ответы
- Чем вы занимаетесь и для каких клиентов?
- «Помимо курсов и воркшопов, я создаю и эксплуатирую AI в продакшене: операционная система моего собственного бизнеса работает на AI-агентах, с мониторингом, алертами и разбором сбоев».
- Что вы доверяете ИИ в работе с клиентами, а что никогда?
- «Один инженер задаёт направление и проверяет каждое изменение. AI-команда выполняет текущую работу».