LLMYandexGPTChatGPTAISQLаналитика

YandexGPT и ChatGPT для аналитика: генерация SQL, объяснение запросов, ограничения

2026-06-02 13 мин

LLM — главный новый инструмент аналитика 2026. YandexGPT (через Yandex AI Studio), ChatGPT/GPT-4o, Claude Sonnet — все умеют писать SQL по описанию, объяснять чужой код, ревьюить запросы. Но они врут. Этот гайд — как использовать LLM профессионально: что доверять, что НЕ доверять, как промптить.


5 задач аналитика, в которых LLM реально помогает


Что LLM делает ПЛОХО

ЗадачаПочему ломается
Сложные window-функции с frame ROWS/RANGEConfusion между ROWS и RANGE, дублирует rows
Recursive CTEЧасто бесконечный цикл, забывает termination condition
Performance optimization без EXPLAINLLM не видит реальный план, guess-and-check
Schema-specific квиркиClickHouse uniqExact vs PostgreSQL COUNT(DISTINCT) — путает
Privacy / sensitive dataLLM иногда хочет «дать дополнительный контекст», утечка PII
Точные арифметические расчётыДеление, округление, проценты — 15-25% ошибок

Правило: LLM пишет SQL быстрее, но проверка обязательна. Особенно если ты Junior — тренируйся понимать SQL в SQL-тренажёре, иначе ты не сможешь поймать LLM-ошибки.


YandexGPT через AI Studio API

С 2026 года Yandex запустил единый API через AI Studio. Доступ через тот же API-ключ что и Wordstat Search API.

import requests

YANDEX_API_KEY = "your-api-key"  # из AI Studio
YANDEX_FOLDER = "your-folder-id"

def yandex_gpt(prompt):
    url = "https://llm.api.cloud.yandex.net/foundationModels/v1/completion"
    headers = {
        "Authorization": f"Api-Key {YANDEX_API_KEY}",
        "x-folder-id": YANDEX_FOLDER,
    }
    body = {
        "modelUri": f"gpt://{YANDEX_FOLDER}/yandexgpt/latest",
        "completionOptions": {"temperature": 0.2, "maxTokens": 2000},
        "messages": [{"role": "user", "text": prompt}],
    }
    r = requests.post(url, headers=headers, json=body)
    return r.json()["result"]["alternatives"][0]["message"]["text"]

# Пример: генерация SQL
sql = yandex_gpt("""
Схема: orders(order_id, user_id, product_id, amount, created_at), products(product_id, name, category)
Задача: топ-5 категорий по выручке за 2026 год
""")
print(sql)

Стоимость (на момент 2026): YandexGPT Lite — ~5₽/M input токенов, ~10₽/M output. Pro версия дороже (~15-30₽). Для аналитика — 100-200₽/мес активного использования.

RU-данные: YandexGPT обучен на русскоязычном корпусе → лучше понимает РФ-доменные термины («МСК», «УПД», «РСМД»). Для специфики российского бизнеса это plus.


ChatGPT / GPT-4o для SQL

ChatGPT остаётся самым качественным для сложного SQL (по моим личным тестам через 12 запросов с CTE, window, recursive). Доступ через VPN.

from openai import OpenAI

client = OpenAI(api_key="sk-...")  # или через прокси

def gpt_sql(schema, task):
    resp = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "You are an expert SQL analyst. Output only SQL, no explanation."},
            {"role": "user", "content": f"Schema:\n{schema}\n\nTask:\n{task}"},
        ],
        temperature=0.1,
    )
    return resp.choices[0].message.content

Когда ChatGPT > YandexGPT: сложный SQL, английская документация, нишевые инструменты (Snowflake, Databricks). Когда YandexGPT >: РФ-доменная лексика, integration с Yandex Cloud.


Промпт-инжиниринг для SQL

LLM работает гораздо лучше с structured prompt.

Bad prompt (vague)

Напиши SQL чтобы посчитать пользователей за неделю

LLM угадает структуру таблиц, может ошибиться.

Good prompt (structured)

Контекст: e-commerce, PostgreSQL 16
Схема:
  orders(order_id BIGINT, user_id BIGINT, amount NUMERIC, status VARCHAR, created_at TIMESTAMP)
  Indexes: (user_id), (created_at)

Задача: посчитать уникальных платящих пользователей за последние 7 дней
Конвенции:
  - status='completed' = успешная оплата
  - часовой пояс UTC
  - последние 7 дней включая сегодня

Формат: Один SQL-запрос, без CTE если можно, c комментариями.

LLM напишет правильно в 95% случаев. Главное — дать ему схему + конвенции + ограничения.


Шаг 1: code-review через LLM

LLM-prompt для ревью:

Проанализируй SQL-запрос ниже. Найди:
1. Performance-проблемы (Cartesian JOIN, missing index, SELECT *)
2. Логические ошибки (NULL handling, неправильный GROUP BY)
3. Стилистические улучшения

SQL:
[твой запрос]

Формат ответа: numbered list с конкретным line/issue.

Это economic — реально находит проблемы в 60-80% запросов. Не заменяет senior DBA, но junior получает мгновенный фидбэк.


Шаг 2: миграция между диалектами

Переведи запрос с PostgreSQL на ClickHouse:

[твой PG запрос]

Особенности:
- В CH используется `uniqExact` вместо `COUNT(DISTINCT)` (быстрее)
- `date_trunc` → `toStartOfMonth` / `toStartOfDay`
- Window-функции в CH 21+ работают почти как в PG
- Сохрани комментарии

Подвох: LLM иногда забывает диалектные нюансы. Всегда тестируй на dev-БД.


Шаг 3: автогенерация docstring к dbt-моделям

Сгенерируй YAML-описание для dbt-модели:

[содержимое modelfile.sql]

Формат:
- name + description (1-2 предложения)
- columns: name + description + tests (если очевидны из контекста)

Экономит 30-60 мин на каждые 5-10 моделей. Подробнее про dbt — в нашем гайде по dbt macros.


Безопасность: что НЕ давать в LLM

ЧтоПочему
Реальные данные клиентов (PII)Может попасть в training данные
Production credentials / API keysДамп через prompt injection
Внутренние схемы с sensitive колонкамиАнонимизация обязательна
Конфиденциальные бизнес-метрикиУтечка через model providers

Используй dummy data или анонимизированные имена колонок (user_id вместо fio).

Для Enterprise: YandexGPT в Yandex Cloud Enterprise tier — данные не уходят в обучение. ChatGPT Enterprise — то же самое. Free-tier ChatGPT — по умолчанию идут в training.


Шаг 4: AI-агенты для аналитики (продвинутое)

Тренд 2026 — AI-агенты на базе LLM, которые умеют сами выполнять SQL и итерировать.

# Псевдо-пример с tool use (LangChain / LlamaIndex)
agent = create_agent(
    llm=YandexGPT(),
    tools=[
        SQLExecutorTool(database=clickhouse),
        PandasTool(),
        PlotlyTool(),
    ],
    system_prompt="Ты аналитик. Запросы тестируй сразу через SQLExecutorTool."
)
result = agent.run("Какие категории продают плохо в DE регионе?")

Агент сам итерирует: пишет SQL → запускает → видит результат → корректирует если 0 строк. Это уже не просто LLM, это data scientist в коробке. Watch-out: можно случайно дропнуть таблицу — ВСЕГДА давай LLM read-only access.


Частые вопросы

Может ли LLM заменить аналитика?

Нет. LLM — multiplier, не заменитель. Аналитик с LLM решает в 2-3× больше задач, чем без. Но без понимания бизнеса / SQL / статистики LLM бесполезен — он не знает что спросить.

YandexGPT или ChatGPT для русского?

YandexGPT — лучше для доменной лексики РФ. ChatGPT — лучше для сложного SQL. Профи используют оба: YandexGPT для doc/text, ChatGPT для code.

Сколько денег уходит в месяц?

Для аналитика с активным использованием — 200-500₽/мес (YandexGPT Lite) или $5-15/мес ChatGPT Plus. Это меньше чем час твоего времени. ROI выше 10×.

Можно ли LLM использовать на собеседовании?

Нет. На live coding interview LLM запрещён. Но тренироваться с LLM — отлично: спрашивай объяснения, прорабатывай слабые места. Особенно когда готовишься через AI-Hub — AI-интервьюер задаёт вопросы, ты отвечаешь, потом LLM объясняет ошибки.

Что делать если LLM врёт?

Всегда проверяй на dev-БД. Никогда не запускай LLM-SQL сразу на prod. Особенно DELETE/UPDATE — должно быть SELECT preview сначала.


Что дальше

Если хочешь практику — попробуй SQL-тренажёр с автопроверкой (5 задач бесплатно) или Python-тренажёр. LLM-сгенерированный SQL пишешь, гоняешь, проверяешь EXPLAIN — это лучший learning loop.

Готов к собеседованиям? AI-интервью тренирует ответы на реальных вопросах из бесплатного пула. В Pro — безлимит мок-собесов с разбором + 491 SQL-задача + 612 тестовых заданий + 50+ блог-постов.

Смежные посты

Сравнить Free и Pro → (1999₽/мес, экономит часы рутины)

Источники

AI-интервью
Тренируйся к собесам с AI-интервьюером. Реальные вопросы по SQL, статистике, продукту. 1 бесплатная сессия.
Открыть AI-интервью →