Блог Zukko

Гайды по Claude Code, Cursor, Codex и API Claude и GPT: настройка, экономия токенов, разбор ошибок.

Как получать строго структурированный JSON от модели

3 мин · · API

Просить модель «ответь в формате JSON» в системном промпте работает через раз. Разбираем способ понадёжнее — через tools с жёсткой схемой.

Почему русский текст считается в токенах иначе, чем английский

4 мин · · модели

Одна и та же фраза на русском и английском стоит по-разному не потому, что кто-то накручивает счётчик, а потому, что токенизатор режет кириллицу иначе.

Таймауты при длинных генерациях: как их не ловить

4 мин · · разработка

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

Полный пример на Node.js: официальные SDK через наш шлюз

2 мин · · разработка

Node-версии официальных SDK настраиваются так же, как Python — один параметр baseURL меняет весь маршрут запроса.

Полный пример на Python: официальные SDK через наш шлюз

3 мин · · разработка

Официальные SDK не нужно ничем заменять — их достаточно направить на другой адрес. Разбираем оба клиента на реальном коде.

OpenAI Agents SDK через наш /v1/responses

4 мин · · агенты

Agents SDK по умолчанию ходит в OpenAI. Меняем два параметра клиента — и агенты работают через наш шлюз на моделях из каталога.

LlamaIndex: индексация данных на Claude и GPT

5 мин · · разработка

LlamaIndex разделяет LLM для синтеза ответов и модель для эмбеддингов — гейтвей закрывает только первую часть. Разбираем, как это настроить честно.

Vercel AI SDK: подключение в Next.js-приложении к Claude и GPT

5 мин · · разработка

В AI SDK OpenAI- и Anthropic-провайдер по-разному достраивают путь к baseURL — ошибиться с /v1 в одном route handler легче, чем кажется. Разбираем настройку.

Semantic Kernel: подключение .NET-приложения к Claude и GPT

5 мин · · агенты

SK ходит к OpenAI через официальный .NET SDK, который слушается HttpClient.BaseAddress. Разбираем настройку, частые 404 и повторные списания.

Массовая обработка запросов без упора в лимит скорости

4 мин · · разработка

Один ключ с лимитом на батч-задаче — гарантированный 429 на середине прогона. Разбираем, как строить массовую обработку так, чтобы это не случилось.

Интеграция ИИ-бота в Slack через API

4 мин · · разработка

Slack ждёт ответ на команду за три секунды, а модель может думать дольше. Разбираем, как обойти это через response_url, и рабочий код на Bolt.

ИИ-инструменты в терминале: какие бывают и когда что

2 мин · · cli

Не всё, что зовут агентом, им является. Разбираем три класса инструментов и задачи, под которые они сделаны.

Расширения VS Code для работы с ИИ: чем отличаются

2 мин · · подключение

Расширений много, отличаются они тремя вещами: как подключают модель, как собирают контекст и как спрашивают разрешение.

Как перенести проект с официального API на шлюз

2 мин · · миграция

Переезд на совместимый шлюз — это две строки конфигурации и один час на проверку. Разбираем, что именно меняется.

Утёк API-ключ — что делать по шагам

2 мин · · безопасность

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