AI: Работа с LLM


URL

Принципы

  • LLM — это вероятностная языковая модель. Она предсказывает следующее наиболее вероятное слово на основе паттернов в данных, а не "думает" или "понимает" в человеческом смысле.
  • Модели не имеют долговременной памяти. Каждый новый запрос обрабатывается изолированно, если вы не передаете историю диалога в контексте.
  • Знания модели ограничены датой среза ее обучающих данных. Она не знает о событиях, произошедших после этой даты, без доступа к внешним инструментам.
  • LLM склонны к галлюцинациям. Всегда проверяйте критически важные факты.
  • LLM недетерминированы: каждый новый ответ на один и тот же промпт будет другим, но в рамках обозначенных требований.
  • Точнее промпт — точнее результат: чем чётче обозначены требования и ограничения, тем меньше у LLM поводов импровизировать.
  • Каждая модель уникальна. Промпт, идеально работающий с одной LLM, может оказаться неэффективным для другой из-за различий в архитектуре и обучающих данных.
  • LLM — это усилитель. Качество результата напрямую зависит от экспертизы. Без продуманного запроса и продуманной оценки ответа LLM лишь масштабирует ошибки и неведение.
  • Эффективность через практику. Чтобы работать с AI продуктивно, нужно постоянно экспериментировать и вырабатывать интуицию, какие задачи можно полностью делегировать модели, а какие требуют строгого человеческого контроля.


Генерация ответа

Генерация ответа происходит в два этапа:
    Prefill (Предзагрузка):
  • Обработка всего входного промта параллельно.
  • Быстрый этап.
  • Дешёвый.
    Decode (Генерация):
  • Последовательная генерация ответа токен за токеном.
  • Каждое следующее слово зависит от предыдущих.
  • Медленный этап.
  • Может быть дороже в 3-5 раз.


Оптимизация расходов

    Key-Value Cache:
  • Встроенный механизм оптимизации вычислений.
  • При генерации длинного ответа модель сохраняет промежуточные математические вычисления для уже обработанных токенов.
  • Ускоряет Decode и экономит ресурсы.
    Prompt Caching:
  • Сохранение на стороне сервера больших объемов неизменяемых данных, которые часто отправляются в запросах.
  • Обычно документация, системные инструкции, описания инструментов и MCP.
  • Чтобы сработало, данные нужно размещать строго в самом начале промпта.
  • Позволяет снизить стоимость Prefill до 70%.
    Batch API:
  • Интерфейс для асинхронного выполнения массовых задач, не требующих ответа в реальном времени.
  • Большой массив независимых запросов собирается в один пул и отправляется на сервер для фоновой обработки.
  • Провайдеры выполняют такие задачи за счет свободных мощностей.
  • Ожидание обработки сильно дольше, но предоставляется скидка до 50%.


Уровни

    LLM (Базовая Модель):
  • Генерирует текст, получает текст.
  • Нет памяти между запросами.
  • Используется для простого вопрос-ответ, генерации текста.
    Reasoning Model (Модель с Рассуждениями):
  • Добавляется пошаговое мышление и техники самопроверки.
  • Используется для сложных логических задач (математика, программирование).
    Agent (Агент):
  • Автономная система, работающая в циклах:
  • Observe (наблюдение) → Reason (рассуждение) → Action (действие).
  • Имеет доступ к Tools (внешние API, файловая система, выполнение кода).
  • Требует State Management (управление состоянием) для сохранения контекста между шагами.
  • Может выполнить полный цикл: найти баг, исправить код, запустить тесты, создать коммит и запустить деплоймент.