VibeCoderzVibeCoderz

Конспекты

Смарт-конспекты YouTube-видео — ключевые идеи и инсайты без необходимости смотреть часовые ролики

Все конспекты
📝 Конспект2026/09/28

Jev AI для Claude Code: 7 способов ускорить AI-агента и снизить расходы на API

Полный гайд по интеграции decision-модели Jev в Claude Code: моментальный compact, умный поиск файлов, жесткие хуки на CLAUDE.md и ускорение E2E-тестов.

Содержание (11)+
📝

Смарт-конспект

Jev AI для Claude Code: кратко о главном

🎯 О чём этот конспект: Архитектура связки агентного CLI (Claude Code, Codex) с ультрабыстрой decision-моделью Jev от компании Typesafe. Разбор принципа работы моделей решений (decision models) и 7 прикладных сценариев: от мгновенной компактификации сессий и выбора скиллов до жесткого блокирования нарушений CLAUDE.md и ускорения E2E-тестов.

👤 Кому будет полезно: Вайбкодерам, инженерам и создателям AI-продуктов, которые активно используют Claude Code / Codex и сталкиваются с медлительностью агентов, перерасходом токенов на тяжелых моделях (Opus/Sonnet) и игнорированием системных правил проекта.

✨ Что получите: Пошаговые алгоритмы интеграции Jev через Vercel AI Gateway, готовые шаблоны хуков и конфигураций для Claude Code, позволяющие сократить время выполнения рутинных шагов с десятков секунд до долей секунды и сделать поведение агента строго детерминированным.


1. Архитектура Decision Model: чем Jev принципиально отличается от Claude и GPT

Контекст: Классические LLM (Claude, GPT) генерируют текст токен за токеном. Когда агенту нужно принять простое решение — выбрать скилл, оценить релевантность файла или ответить «да/нет», — большая модель тратит драгоценные секунды на рассуждения (chain-of-thought) и генерацию текстового ответа, сжигая бюджет сессии. Jev от Typesafe не генерирует произвольный текст и не пишет код. Это специализированная decision model, которая одновременно оценивает входные данные и моментально выбирает вариант из заданного списка (бинарный выбор, классификация или числовой скоринг), возвращая результат вместе с показателем уверенности (confidence value). Время ответа измеряется долями секунды, а исходящие токены бесплатны — оплачиваются только входные данные.

Тайминг: , ,

Выгода:

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

Как применить:

  • Шаг 1: Получение доступа — Поскольку прямая регистрация на платформе Typesafe периодически приостанавливается из-за наплыва пользователей, подключите модель через сторонние провайдеры: OpenRouter или Vercel AI Gateway.
  • Шаг 2: Генерация API-ключа в Vercel AI Gateway — Перейдите в панель управления Vercel: Dashboard → вкладка AI Gateway → API Keys. Создайте новый ключ и немедленно скопируйте его (сервис показывает ключ только один раз).
  • Шаг 3: Экспорт переменной окружения — Сохраните полученный ключ в переменные окружения вашего терминала перед запуском агентной сессии Claude Code:
export VERCEL_AI_GATEWAY_KEY="ваш_скопированный_ключ"
# Или добавьте в ~/.zshrc / ~/.bashrc для постоянного использования:
echo 'export VERCEL_AI_GATEWAY_KEY="ваш_скопированный_ключ"' >> ~/.zshrc
source ~/.zshrc

Результат: Терминал и запущенный в нем Claude Code получают доступ к легковесному и скоростному шлюзу для передачи микрорешений в Jev.


2. Мгновенная компактификация контекста (Fast Jev Compaction)

Контекст: Когда контекстное окно агента переполняется, Claude Code по умолчанию запускает команду /compact. Стандартный процесс отправляет весь лог диалога обратно в модель и просит составить подробное саммари по набору правил. Это занимает от 20 до 60 секунд дорогого времени сессии. Jev способен моментально оценить каждую реплику и системный ответ, принимая решение: является ли данная информация критически важной для продолжения задачи или ее можно отбросить. Плагин fast-jev-compaction заменяет тяжелое суммирование на селективную фильтрацию решений Jev, сокращая процесс до менее чем одной секунды.

Тайминг: , ,

Выгода: Сжатие контекста происходит менее чем за 1 секунду вместо десятков секунд ожидания.

Как применить:

  • Шаг 1: Размещение плагина в проекте — Скачайте или скопируйте репозиторий плагина fast-jev-compaction в рабочую папку проекта (например, в директорию .claude/plugins/fast-jev-compaction), так как стандартная версия часто привязана напрямую к платформе Typesafe.
  • Шаг 2: Адаптация под Vercel AI Gateway — Попросите Claude Code адаптировать хук вызова плагина под Vercel AI Gateway:
Пожалуйста, открой код плагина fast-jev-compaction в локальной директории и обнови конфигурацию клиента: вместо прямого эндпоинта Typesafe настрои обращение к Vercel AI Gateway с использованием переменной окружения VERCEL_AI_GATEWAY_KEY. Настрой хук перехвата команды compact.
  • Шаг 3: Настройка порога срабатывания — Убедитесь, что в логике плагина выставлен лимит заполнения контекста: плагин должен передавать задачу в Jev только тогда, когда размер сессии превышает 25% от доступного окна контекста. Если занято менее 25%, хук оставляет стандартное поведение Claude.
  • Шаг 4: Запуск компактификации — Используйте привычную команду:
/compact

Результат: Хук автоматически перехватывает команду сжатия, и Jev за доли секунды отсекает вторичный контекст, сохраняя только ключевые факты и решения.


3. Слой аудита документации и автоматический поиск пробелов в тестах

Контекст: В сложных проектах спецификации и правила доступа распределены по множеству markdown-документов. Агент, реализующий функционал, часто забывает покрыть тестами отдельные требования из документации. При этом проверку нельзя доверять той же модели, которая писала код: она склонна подтверждать корректность собственных решений. С помощью хука на редактирование критических файлов контроля доступа (RBAC / Auth) вызывается Jev, который сопоставляет пункты спецификации с существующими тестами и выявляет пропущенные требования.

Тайминг: , ,

Выгода: 100% покрытие бизнес-требований тестами без необходимости ручной сверки спецификации разработчиком.

Как применить:

  • Шаг 1: Настройка хука отслеживания изменений — Добавьте хук, реагирующий на модификацию конфигураций ролей, прав доступа и схем безопасности (например, src/auth/*, policies/*).
  • Шаг 2: Создание скилла сверки с Jev — Сформулируйте промпт для Claude Code, создающий скилл проверки соответствия кода и документации:
Создай Claude Code skill 'test-coverage-auditor'. Логика работы: 
1. Прочитать правила доступа из docs/security-rules.md.
2. Прочитать тестовые файлы в tests/auth/*.
3. Для каждого отдельного правила из документации отправить запрос в Jev: 'Имеет ли данное правило явный unit- или e2e-тест в представленном коде? Варианты: YES / NO'.
4. Сформировать итоговый отчет со списком требований, получивших ответ NO.
  • Шаг 3: Генерация тестов по отчету — Запустите аудит и передайте отчет в работу Claude:
Запусти аудит прав доступа через Jev. По правилам из отчета, где тесты отсутствуют, напиши недостающие интеграционные тесты в tests/auth/permissions.test.ts.

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


4. Мгновенная маршрутизация инструментов через Skill Picker

Контекст: Когда в проекте подключено множество скиллов и MCP-серверов, Claude Code вынужден удерживать имена и описания всех инструментов в контекстном окне. После каждого пользовательского промпта большая модель тратит время и токены на анализ того, какой именно инструмент вызвать. Jev решает эту задачу эффективнее: хук-перехватчик считывает только запрос пользователя и описания доступных скиллов, после чего моментально указывает агенту единственный нужный инструмент либо сообщает, что скилл не требуется.

Тайминг: , ,

Выгода: Снижение задержки перед началом выполнения каждого промпта, оптимизация контекстного окна Claude.

Как применить:

  • Шаг 1: Создание хука Skill Picker — Настройте pre-prompt хук в конфигурации агента. Хук должен считывать поступающий промпт до того, как Claude начнет строить план действий.
  • Шаг 2: Формирование матрицы скиллов для Jev — Хук сериализует названия и назначения скиллов в краткий список вариантов выбора.
  • Шаг 3: Автоматический выбор инструмента — Направьте задачу в Jev через хук со следующей логикой:
Промпт пользователя: {{USER_PROMPT}}
Список доступных навыков:
1. database-migration: миграции БД и схемы Prisma.
2. api-client-generator: создание типизированных эндпоинтов.
3. ui-component: генерация компонентов Tailwind/React.
4. NONE: навык не требуется, стандартный ответ.
 
Задача Jev: выбери ровно один наиболее подходящий вариант.
  • Шаг 4: Передача управления агенту — Полученный выбор передается в Claude Code в виде директивы Use skill: [выбранный_скилл].

Результат: Claude Code не рассуждает над десятком инструментов вслепую, а мгновенно подгружает строго определенный скилл и начинает выполнение задачи.


5. Замена медленного субагента Explore на Jev-ранжирование файлов

Контекст: Для поиска релевантных файлов Claude Code использует субагента Explore. Изначально он работал на легковесной модели Haiku, однако в последних обновлениях Anthropic перевела Explore на ту же модель, что и в основной сессии. Если вы работаете на Opus, поиск файлов выполняется на Opus, что крайне медленно и дорого. Замена агента Explore на кастомный скилл на базе Jev позволяет выполнять умный поиск за секунды. Скилл сначала находит потенциальные файлы по ключевым словам, а затем отправляет их в Jev пакетами по 20 штук для числового скоринга релевантности.

Тайминг: , , ,

Выгода: Ранжирование 35 файлов за 1.6 секунды с минимальными затратами, без засорения основного контекста нерелевантными файлами.

Как применить:

  • Шаг 1: Создание кастомного скилла поиска — Попросите Claude Code создать скилл быстрого поиска на базе Jev:
Создай для текущего проекта скилл 'fast-file-finder'. 
Алгоритм:
1. Принимает текстовый запрос от пользователя или агента.
2. Делает быстрый поиск по именам файлов и ripgrep по ключевым словам.
3. Формирует список кандидатов (до 40-50 файлов).
4. Пачками по 20 штук отправляет пути и контекст файлов в Jev с задачей: 'Оцени релевантность файла запросу от 0 до 100'.
5. Сортирует результаты по убыванию скора и возвращает Claude только топ-3 файла.
  • Шаг 2: Вызов скилла вместо стандартного поиска — При необходимости найти нужный модуль в незнакомой кодовой базе используйте вызов:
Найди компонент, отвечающий за расчет скидки в корзине, используя fast-file-finder.

Результат: За 1.5–2 секунды агент получает точные ссылки на целевые файлы без длительного обхода дерева каталогов тяжелой моделью.


6. Двухэтапный триаж код-ревью (Review Pre-filter)

Контекст: Проводить глубокое код-ревью с помощью тяжелой модели для каждого микроизменения неэффективно: Claude построчно изучает каждую деталь, что сильно затягивает пайплайн. Чтобы оптимизировать процесс, перед основным ревью ставится фильтр на Jev. Модель отвечает на 7 бинарных вопросов («Да/Нет»), проверяя изменения на предмет архитектурных рисков, модификаций схем данных или изменений в политиках безопасности. Если на все вопросы получен ответ «НЕТ», запускается экспресс-ревью. Если хотя бы на один вопрос получен ответ «ДА» или уверенность модели низкая — запускается глубокое комплексное ревью Claude.

Тайминг: , ,

Выгода: Безопасные и мелкие правки одобряются мгновенно, а дорогие мощности Claude концентрируются исключительно на рискованных изменениях.

Как применить:

  • Шаг 1: Формулирование 7 контрольных вопросов — Определите критические границы для вашего проекта:
Вопросы для Jev-триажа (Ответ: YES / NO):
1. Затрагивает ли diff миграции базы данных или схемы таблиц?
2. Изменяются ли правила маршрутизации или эндпоинты аутентификации?
3. Добавляются ли новые внешние npm-зависимости?
4. Удаляются ли существующие unit/integration тесты?
5. Меняются ли переменные окружения (.env) или конфигурации секретов?
6. Превышает ли объем изменений 150 строк кода?
7. Содержит ли код прямое отключение проверок типов (any, @ts-ignore)?
  • Шаг 2: Встраивание триажа в git-хук или команду ревью — Настройте запуск проверки diff'а перед передачей задачи ревьюеру.
  • Шаг 3: Маршрутизация сценария ревью — Реализуйте ветвление логики:
    • Все ответы NO (уверенность высокая) → Claude запускает быструю проверку синтаксиса и стиля в 1 проход.
    • Любой YES или низкий confidence value → Claude выполняет углубленный анализ логики, безопасности и регрессионных рисков.

Результат: Время ожидания ревью на небольших коммитах снижается на 70–80%, при этом рискованный код гарантированно проходит детальную проверку.


7. Ускорение E2E-тестирования в браузере

Контекст: Агенты умеют открывать headless-браузер, кликать по интерфейсу и проверять работоспособность приложения с точки зрения пользователя. Однако когда Claude анализирует дерево DOM после каждого действия, чтобы решить, на какую кнопку нажать дальше, процесс становится мучительно медленным. Разделение обязанностей решает эту проблему: Claude оценивает итоговый результат («Успешно ли выполнен сценарий»), а Jev берет на себя пошаговую навигацию по элементам интерфейса.

Тайминг: , , ,

Выгода: Многократное ускорение прогона пользовательских сценариев в браузере за счет моментального выбора элементов для клика.

Как применить:

  • Шаг 1: Сбор интерактивных элементов страницы — Скилл браузера собирает список всех кликабельных кнопок, ссылок и инпутов с текущего экрана вместе с их селекторами и текстом.
  • Шаг 2: Делегирование выбора шага в Jev — Список элементов и текущая подзадача передаются в Jev:
Цель: Войти в систему под ролью менеджера и открыть страницу финансовых отчетов.
Текущий список элементов на экране:
- [ID: 1] Button: 'Sign In'
- [ID: 2] Input: 'Email'
- [ID: 3] Link: 'Forgot Password?'
- [ID: 4] Link: 'Documentation'
 
Задача Jev: выбери ID элемента, клик по которому продвигает к выполнению цели, либо верни 'BLOCKED'/'DONE'.
  • Шаг 3: Циклический переход — Скрипт кликает по выбранному элементу, получает обновленный DOM и повторяет выбор через Jev до статуса DONE.
  • Шаг 4: Финальная валидация в Claude — Claude подключается только на конечном экране, чтобы сопоставить фактически отобразившиеся данные с требованиями из документации проекта (например, подтвердить, что менеджер не имеет доступа к административным настройкам).

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


8. Жесткий перехват нарушений CLAUDE.md через Pre-Edit хук

Контекст: Правила, записанные в файлах CLAUDE.md или системных промптах, воспринимаются языковыми моделями как мягкие инструкции: в 90% случаев агент им следует, но периодически нарушает проектные соглашения (например, обращается к защищенным данным клиента напрямую из браузерного кода). Обычный промптинг не гарантирует соблюдения правил. Решение — жесткий хук на событие до выполнения редактирования (pre-tool-call / before-edit), который физически невозможно пропустить. Хук отправляет планируемый diff и специфичные правила файла в Jev. Если уверенность нарушения составляет 80% и выше, хук блокирует запись файла и возвращает ошибку с указанием нарушенного пункта.

Тайминг: , ,

Выгода: Детерминированное соблюдение архитектурных правил; устранение галлюцинаций до того, как поврежденный код попадет на диск.

Как применить:

  • Шаг 1: Создание конфигурации pre-edit хука — Настройте хук, перехватывающий вызовы инструментов записи файлов (WriteFile, EditFile) в вашей агентной среде.
  • Шаг 2: Формирование запроса валидации для Jev — Хук читает локальные архитектурные правила для изменяемого модуля и передает их в Jev:
Предлагаемый diff:
{{FILE_DIFF}}
 
Правило проекта:
'Клиентские компоненты (директория /src/components) не имеют права напрямую импортировать базу данных или обращаться к API персональных данных сотрудников без проксирования через /api/secure-proxy.'
 
Вопрос к Jev:
Нарушает ли данный diff указанное правило?
Верни: YES / NO и свой confidence_value (от 0.0 до 1.0).
  • Шаг 3: Логика прерывания операции — Если Jev отвечает YES с уверенностью confidence >= 0.80, операция записи отменяется с генерацией системной ошибки:
[HOOK BLOCKED]: Попытка сохранения файла заблокирована Jev Guard.
Нарушено правило: Прямое чтение данных сотрудников из браузерного компонента запрещено архитектурным гайдлайном.
Исправьте код, используя прокси-эндпоинт /api/secure-proxy.
  • Шаг 4: Автоматическое исправление агентом — Получив точное системное сообщение об ошибке, Claude Code сразу же переписывает код согласно требованиям, не повторяя ошибку.

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


Jev AI для Claude Code: ответы на частые вопросы

В: Можно ли использовать Jev как полную замену Claude Code или Sonnet? О: Нет. Jev — это узкоспециализированная decision model (модель решений). Она не способна писать связный программный код, вести диалог или генерировать произвольный текст. Jev используется как вспомогательный высокоскоростной арбитр и маршрутизатор внутри процессов Claude Code.

В: Почему запросы к Jev стоят значительно дешевле обычных LLM? О: Традиционные LLM тарифицируют генерацию каждого токена ответа, на что уходит основная часть вычислительных ресурсов. Jev возвращает только выбор из вариантов (или числовую оценку с уровнем уверенности), поэтому исходящие токены бесплатны — пользователь оплачивает исключительно входной контекст.

В: Что делать, если регистрация на платформе Typesafe закрыта? О: Используйте альтернативные шлюзы доступа к моделям: Vercel AI Gateway или OpenRouter. В них доступна модель Jev, а подключение осуществляется через единый API-ключ шлюза без необходимости ожидания прямого доступа от Typesafe.

В: Что такое confidence value в Jev и как его использовать в автоматизации? О: Confidence value — это числовой коэффициент (от 0.0 до 1.0), отражающий степень уверенности модели в выбранном ответе. Его используют для построения безопасных пороговых условий: например, жестко блокировать редактирование файла только при уверенности от 0.80 (80%), а при более низких значениях передавать спорный кейс на ручное подтверждение или на детальный анализ в старшую модель.

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

В: Как настроить хук Fast Compaction, чтобы не тратить лимиты на ранних этапах диалога? О: В логику хука закладывается условие проверки заполненности контекста. Пока объем текущей сессии не превышает 25%, хук передает управление стандартному компакт-механизму Claude. Jev подключается только тогда, когда сессия становится тяжелой и сжатие дает реальный выигрыш в скорости.


Jev AI для Claude Code: инструменты и ссылки из видео

  • Jev (Typesafe) — сверхбыстрая модель принятия решений (decision model) — https://typesafe.com (упомянута в видео)
  • Vercel AI Gateway — унифицированный интерфейс и шлюз доступа к AI-моделям, используемый автором для подключения к Jev — https://vercel.com (упомянут в видео)
  • OpenRouter — альтернативный шлюз для доступа к Jev без ожидания очереди — https://openrouter.ai (упомянут в видео)
  • Claude Code — агентный инструмент командной строки от Anthropic — https://claude.ai (упомянут в видео)
  • Fast Jev Compaction — специализированный плагин для замены стандартного сжатия контекста в агентах на решения Jev — упомянут в видео
  • Zapier Integration Platform — инструмент интеграции пользовательских приложений через Node.js с экосистемой из 9000+ сервисов (спонсор выпуска) — https://zapier.com (упомянут в видео)
  • AI Labs Pro — сообщество авторов видео с готовыми конфигами хуков, скиллов и скриптов — упомянут в видео

Конспект создан на основе видео «Jev + Claude Code Integration Guide» канала AI Labs. Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=2nc_QMuNp18

Редактор конспекта

Максим Наговицын

Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу

10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.

Об авторе →
Все конспекты

Источник

КаналAI Labs
Конспект добавлен2026/09/28
Смотреть на YouTube

Инструменты из конспекта

Похожие конспекты

📝 Конспект

Claude Code + TestSprite: Полный гид по созданию и автономному AI-тестированию B2B SaaS перед запуском

Как создать B2B SaaS на Claude Code и протестировать биллинг, роли и флоу с помощью 7 AI-агентов TestSprite перед запуском.

2026/11/02
📝 Конспект

Автоматизация компании через ИИ-агентов: Полное руководство по внедрению фреймворка EVE от CEO Vercel

Практический гид по созданию корпоративных ИИ-агентов на базе фреймворка EVE от Гильермо Рауша (Vercel). Архитектура, RBAC, устранение AI-slop и ночные evals.

2026/09/29
📝 Конспект

Классификационная нейросеть Jev от TypeSafe AI: Архитектура, бенчмарки и внедрение в AI-пайплайны

Полный разбор модели Jev от TypeSafe AI: классификация за $0.04/1M токенов, параллельный инференс, сравнение с Claude Sonnet и реальные юзкейсы.

2026/09/28
📝 Конспект

Claude Code + Higgsfield: Создание премиальных анимированных сайтов за часы

Пошаговый гайд по созданию анимированных сайтов уровня Apple с помощью Claude Code и Higgsfield MCP. От вайрфреймов до деплоя на Vercel.

2026/05/14
📝 Конспект

Auto-research: Полный гид по автоматической оптимизации IT-продуктов

Как использовать метод Андрея Карпатого Auto-research для автоматического улучшения метрик сайта, конверсии и кода с помощью AI-агентов.

2026/05/06
📝 Конспект

Создание кроссплатформенного AI-ассистента за 1 день: Эмуляторы, скриншот-верификация и автомердж PR

Пошаговый разбор создания open-source AI-бота Ricazo: архитектурная изоляция, тестирование через эмуляторы API, скриншоты и автономный CI/CD.

2026/11/02

Читать далее

📢 Новость

Экосистема Anthropic 2026: от чат-бота к автономному агенту Claude Code

Разбор взрывного роста Anthropic в 2026 году: 29 релизов за 5 месяцев, переход к многорепозиторному кодингу и автономным агентам.

2026/06/01
📢 Новость

Claude Code против OpenCode: битва терминальных AI-агентов 2026 года

Разбираем, что выбрать вайбкодеру: закрытую экосистему Anthropic или опенсорсную свободу OpenCode с поддержкой 75+ провайдеров.

2026/06/01
📢 Новость

BMAD + Claude Code: Новый фреймворк для системной iOS-разработки

Разбираем связку BMAD и Claude Code для создания iOS-приложений на SwiftUI: от генерации PRD до чистого кода.

2026/05/29
📄 Статья

Claude Code: советы от создателя. Конспект доклада Бориса Черни из Anthropic

Борис Черни, автор Claude Code, показал на конференции Anthropic, как реально пользоваться инструментом: с чего начать, зачем CLAUDE.md, какие горячие клавиши никто не знает и как запускать несколько агентов параллельно. Конспект доклада с командами и разбором.

2026/08/1411 мин
📄 Статья

Плейбук основателя: как построить AI-нативный стартап в 2026

Раскроем, как в 2026 году AI‑нативные стартапы ускоряют путь от идеи до масштабирования: от превращения кода в агента до практических советов по использованию Claude и его инструментов.

2026/06/1721 мин
📄 Статья

Qwen 3.8 Max 2026 обзор, доступ и как запустить локально

Qwen 3.8 Max стала первой моделью линейки Max, у которой Alibaba открыла веса. 12 августа 2026 года чекпоинт на 2,4 трлн параметров появился на Hugging Face, и скачать его может любой. А вот запустить дома не выйдет: даже 1-битная версия весит 397 ГБ…

2026/10/1212 мин