Робота з LLM
Принципи роботи великих мовних моделей, процес генерації відповідей, оптимізація витрат та рівні моделей
📎ОФІЦІЙНА ДОКУМЕНТАЦІЯ
Робота з LLM
Великі мовні моделі (LLM) — це основа сучасних AI-інструментів для розробки. Розуміння принципів їх роботи допомагає ефективніше використовувати ці інструменти та уникати типових помилок.
Принципи
LLM — це ймовірнісна модель. Вона передбачає наступне найбільш ймовірне слово на основі патернів у даних, а не "думає" або "розуміє" в людському сенсі.
Ключові принципи роботи з LLM
-
Моделі не мають довготривалої пам'яті. Кожен новий запит обробляється ізольовано, якщо ви не передаєте історію діалогу в контексті.
-
Знання моделі обмежені датою зрізу навчальних даних. Вона не знає про події, що відбулися після цієї дати, без доступу до зовнішніх інструментів.
-
LLM схильні до галюцинацій. Завжди перевіряйте критично важливі факти.
-
LLM недетерміновані: кожна нова відповідь на той самий промпт буде іншою, але в рамках зазначених вимог.
-
Точніший промпт — точніший результат: чим чіткіше зазначені вимоги та обмеження, тим менше у LLM підстав імпровізувати.
-
Кожна модель унікальна. Промпт, що ідеально працює з однією LLM, може виявитися неефективним для іншої через відмінності в архітектурі та навчальних даних.
-
LLM — це підсилювач. Якість результату напряму залежить від експертизи. Без продуманого запиту та ретельної оцінки відповіді LLM лише масштабує помилки та невігластво.
-
Ефективність через практику. Щоб працювати з AI продуктивно, потрібно постійно експериментувати та виробляти інтуїцію: які завдання можна повністю делегувати моделі, а які потребують суворого людського контролю.
Генерація відповіді
Генерація відповіді відбувається у два етапи:
1. Prefill (Попереднє завантаження)
- Обробка всього вхідного промпту паралельно.
- Швидкий етап.
- Дешевий.
2. Decode (Генерація)
- Послідовна генерація відповіді токен за токеном.
- Кожне наступне слово залежить від попередніх.
- Повільний етап.
- Може бути дорожчим у 3-5 разів порівняно з Prefill.
Розуміння двофазної генерації пояснює, чому вхідні токени (input) зазвичай значно дешевші за вихідні (output) при роботі з API.
Оптимізація витрат
1. Key-Value Cache (KV Cache)
- Вбудований механізм оптимізації обчислень.
- При генерації довгої відповіді модель зберігає проміжні математичні обчислення для вже оброблених токенів.
- Прискорює Decode та економить ресурси.
2. Prompt Caching
- Збереження на стороні сервера великих обсягів незмінних даних, які часто відправляються у запитах.
- Зазвичай це документація, системні інструкції, описи інструментів та MCP.
- Щоб спрацювало, дані потрібно розміщувати строго на початку промпту.
- Дозволяє знизити вартість Prefill до 90%.
Anthropic та OpenAI підтримують Prompt Caching. Розміщуйте статичний контент (системний промпт, документацію, правила) на початку запиту для максимальної економії.
3. Batch API
- Інтерфейс для асинхронного виконання масових завдань, що не потребують відповіді в реальному часі.
- Великий масив незалежних запитів збирається в один пул та відправляється на сервер для фонової обробки.
- Провайдери виконують такі завдання за рахунок вільних потужностей.
- Очікування обробки значно довше, але надається знижка до 50%.
Рівні моделей
1. LLM (Базова модель)
- Генерує текст, отримує текст.
- Немає пам'яті між запитами.
- Використовується для простих питань-відповідей, генерації тексту.
Приклади: GPT-4o, Claude Sonnet, Gemini Flash.
2. Reasoning Model (Модель з міркуваннями)
- Додається покрокове мислення та техніки самоперевірки.
- Використовується для складних логічних завдань (математика, програмування).
Приклади: o1, o3, Claude з Extended Thinking, Gemini 2.5 Pro з Thinking.
Reasoning Models витрачають додаткові токени на "мислення", що збільшує вартість, але суттєво підвищує якість відповідей для складних завдань.
3. Agent (Агент)
- Автономна система, що працює у циклах: Observe (спостереження) → Reason (міркування) → Action (дія).
- Має доступ до Tools (зовнішні API, файлова система, виконання коду).
- Потребує State Management (управління станом) для збереження контексту між кроками.
- Може виконати повний цикл: знайти баг, виправити код, запустити тести, створити коміт та запустити деплоймент.
Приклади: Claude Code, OpenAI Codex, Cursor Agent, Gemini CLI.
Див. також
Основні терміни та визначення у сфері AI
Техніки написання ефективних промптів для LLM
Огляд AI-чатів, IDE, CLI та фреймворків