GigaChat для бизнеса: как использовать skills и function calling
Честный разбор GigaChat: модели и цены, как правильно передать skill через API, function calling vs tools, практические сценарии и что проверить перед запуском в production.
✏️ Обновлено 4 августа 2026 г.
GigaChat для бизнеса: как использовать skills и function calling
GigaChat — языковая модель от Сбера с российской инфраструктурой и рублёвыми ценами. Для бизнеса работающего в корпоративной экосистеме Сбера или с повышенными требованиями к локализации данных — это практичный выбор. Но GigaChat работает иначе чем Claude или ChatGPT, и это важно понимать до внедрения.
Линейка моделей и цены
| Модель | Что умеет | Когда использовать |
|---|---|---|
| GigaChat Lite | Быстрые задачи, простые тексты | Массовые операции, черновики, классификация |
| GigaChat Pro | Сложные тексты, аналитика, function calling | Рабочие сценарии с инструментами |
| GigaChat Max | Максимальное качество | Сложный анализ, длинные документы |
| GigaChat Pro Preview | Улучшенный reasoning | Тендерная аналитика, юридические тексты |
Для function calling и серьёзных бизнес-задач используйте GigaChat Pro или Max. Lite-версия справляется с простыми текстовыми задачами, но при сложных инструкциях и функциях теряет в точности.
Доступ через API Сбера с тарификацией по токенам. Для корпоративных клиентов доступны on-premises варианты размещения.
Почему GigaChat не принимает SKILL.md
Это первое что удивляет тех, кто пришёл с Claude или Cursor. Claude Desktop умеет загружать файлы инструкций в Project Knowledge. Cursor читает .mdc файлы из папки. GigaChat так не работает.
GigaChat — это API-первая модель. Все инструкции передаются в момент запроса через поле system в теле API-запроса. Нет GUI для загрузки файлов (если не считать веб-чат на gigachat.ru — но это пользовательский интерфейс, не рабочий API).
Что это значит для skill: skill превращается в system prompt (текст инструкций) и, если нужны действия, в описание functions (JSON-схема). Всё это вы передаёте в каждом API-запросе.
Как передать skill через API
Базовый запрос с system prompt
POST https://gigachat.devices.sberbank.ru/api/v1/chat/completions
Authorization: Bearer <ваш_токен>
{
"model": "GigaChat-Pro",
"messages": [
{
"role": "system",
"content": "Ты помощник интернет-магазина электроники. Отвечай на отзывы покупателей вежливо и по делу. Не обещай возврат средств без уточнения деталей. Всегда предлагай конкретный следующий шаг."
},
{
"role": "user",
"content": "Заказал наушники, пришли без документации и с царапиной на корпусе."
}
]
}
System prompt — это ваш skill в текстовом виде. Пишите его как инструкцию для нового сотрудника: что делать, как отвечать, чего не делать, какой тон.
Запрос с function calling
Function calling позволяет AI «вызывать» ваши инструменты — например, искать товар в каталоге или создавать задачу. Важно: AI только описывает что нужно вызвать и с какими аргументами. Реально вызывает функцию ваш код.
{
"model": "GigaChat-Pro",
"messages": [
{
"role": "system",
"content": "Ты помощник по заказам. Когда клиент спрашивает о статусе заказа — используй функцию get_order_status."
},
{
"role": "user",
"content": "Где мой заказ #12345?"
}
],
"functions": [
{
"name": "get_order_status",
"description": "Получить статус заказа по его номеру",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Номер заказа"
}
},
"required": ["order_id"]
}
}
],
"function_call": "auto"
}
GigaChat ответит не текстом, а вызовом функции:
{
"message": {
"role": "assistant",
"function_call": {
"name": "get_order_status",
"arguments": "{\"order_id\": \"12345\"}"
}
}
}
Ваш код перехватывает этот ответ, вызывает реальный API получения статуса, и возвращает результат в следующем запросе. GigaChat формулирует итоговый ответ клиенту на основе этих данных.
GigaChat functions vs OpenAI tools: в чём разница
Это частый источник ошибок при переходе с OpenAI или при использовании библиотек.
| Параметр | GigaChat | OpenAI / Claude |
|---|---|---|
| Поле для инструментов | functions | tools |
| Выбор инструмента | function_call | tool_choice |
| Формат вызова | function_call в ответе | tool_calls в ответе |
| Вложенность схем | До 2–3 уровней | Глубокая вложенность |
Если вы используете LangChain, LiteLLM или другую библиотеку — проверьте поддерживает ли она GigaChat-формат. LangChain имеет поддержку GigaChat через langchain-community. LiteLLM поддерживает GigaChat через провайдер sber.
Правило для схем: держите структуру параметров плоской — не больше 2–3 уровней вложенности объектов. Сложные вложенные схемы снижают точность function calling у GigaChat.
Получение токена для API
GigaChat использует OAuth 2.0. Схема:
- Регистрируетесь в Сбере и получаете
Client IDиClient Secret - Обмениваете credentials на access token (TTL: 30 минут)
- Используете token в заголовке
Authorization: Bearer <token> - Когда token истёк — получаете новый
Важно: не кэшируйте токен больше 30 минут. Встройте обновление токена в ваш код заранее — это типичный источник ошибок 401 в production.
Для корпоративных клиентов доступна схема с scope=GIGACHAT_API_CORP — отдельный контур с повышенными квотами и SLA.
Практические сценарии
Ответы на отзывы (только system prompt, без functions)
Простейший сценарий: skill передаётся как system prompt, отзыв — как user message. Нет интеграций, нет function calling. Подходит для команд которые работают через интерфейс или простой HTTP-запрос.
Чат-бот поддержки с поиском по FAQ
Function calling: search_faq(query) — ваш код ищет в базе знаний, GigaChat формулирует ответ на основе найденного. Клиент получает точный ответ основанный на реальной информации компании, а не выдумку модели.
Классификация входящих обращений
Скилл инструктирует GigaChat вернуть категорию и приоритет обращения в виде JSON. Function calling не нужен — достаточно попросить модель ответить в нужном формате и указать параметр "response_format": {"type": "json_object"}.
Обработка документов в корпоративном контуре
Для компаний в экосистеме Сбера: GigaChat Pro/Max с on-premises размещением, документы не покидают инфраструктуру. Подходит для обработки договоров, актов, внутренней документации с повышенными требованиями к конфиденциальности.
Что проверить перед запуском в production
Обновление токена. Убедитесь что ваш код автоматически обновляет access token до истечения срока. Тестируйте длинные сессии.
Глубина вложенности schemas. Если function calling даёт непредсказуемые результаты — упростите схему параметров.
Валидация аргументов. Всегда проверяйте аргументы которые GigaChat передаёт в function_call перед тем как передать их в реальный API. Модель может вернуть аргумент не того типа или с неожиданным значением.
Rate limits. У GigaChat есть ограничения на количество запросов в минуту. При пиковой нагрузке (например, одновременная обработка многих отзывов) учитывайте это и добавляйте очередь запросов.
Логирование. Сохраняйте system prompt, user message и ответ модели для каждого запроса. Это критично для отладки и для ответа на вопрос «почему агент сделал именно это».
Fallback при ошибке. Что делает ваш код если GigaChat вернул 429 (rate limit) или 500? Должен быть graceful fallback: повторить через N секунд, уведомить пользователя, передать задачу человеку.
Честно об ограничениях
Нет нативного файлового интерфейса для skills. Если вам важно загружать инструкции через GUI — посмотрите в сторону Yandex AI Studio или платных надстроек над GigaChat.
Function calling менее стабилен чем у GPT-4. Особенно на сложных схемах и в многоходовых диалогах. Тестируйте тщательно прежде чем запускать в автономный режим.
Ограниченная экосистема библиотек. Меньше готовых интеграций чем у OpenAI. Для нестандартных задач придётся писать больше кода самостоятельно или через интегратора.
Кому GigaChat подходит лучше всего: компании с корпоративными контрактами со Сбером, организации с требованием on-premises, бизнесы в финансовом секторе где важна экосистема Сбера, команды с техническим ресурсом для работы с API.
🚀 Попробуйте на практике
После гайда откройте связанный skill, пройдите демо или запросите адаптацию под ваш процесс.