Skip to main content

Needle in a Haystack & Long-Context Retrieval(Пошук голки в копиці сіна та феномен Lost in the Middle)

Проблема деградації уваги мовних моделей всередині гігантських контекстних вікон (1M–2M токенів), коли модель ігнорує інструкції, заховані в середині тексту, та інженерні методи її подолання.

1. Огляд концепції та системна проблема

Коли вендори моделей гордо оголошують: "Наша модель тепер має вікно контексту в 2 000 000 токенів!", у розробників виникає ілюзія, що RAG і пошукові індекси більше не потрібні — можна просто скинути в один запит увесь репозиторій, усю документацію та логи.

Проте на практиці виникає феномен «контекстної сліпоти» (Attention Sinks & Lost in the Middle):

  • Навіть якщо модель проходить простий тест на пошук одного слова, у складних логічних задачах якість міркувань починає стрімко деградувати вже після 100k–200k токенів.
  • Модель починає "забувати" винятки, змішувати назви функцій і часто ігнорує суворі заборони, розміщені в середині масиву тексту.

2. Архітектурна таксономія та ментальна модель

┌─────────────────────────────────────────────────────────────┐
│                 ATTENTION U-CURVE PHENOMENON                │
├─────────────────────────────────────────────────────────────┤
│ Рівень уваги                                                │
│ 100% ──┐                                         ┌── 100%   │
│         \                                       /           │
│          \   LOST IN THE MIDDLE ZONE (30%-70%) /            │
│  20% ────┴─────────────────────────────────────┴────  20%   │
│         0%                     50%                  100%    │
│      (Початок)              (Середина)            (Кінець)  │
│   [System Prompt]      [Massive Code Dump]     [User Query] │
├─────────────────────────────────────────────────────────────┤
│ СТРАТЕГІЯ "PROMPT SANDWICH":                                │
│ 1. Header: Primary Rules & Goal                             │
│ 2. Middle: Raw Data / Reference Docs                        │
│ 3. Footer: Reminder of Critical Invariants & Schema         │
└─────────────────────────────────────────────────────────────┘

3. Практичні інженерні сценарії в продакшені

01. Застосування патерну Prompt Sandwiching

При передачі великого кодового контексту найважливіші інструкції дублюються в кінці:

[System Prompt: Ти експертний кодер. Дотримуйся правил нижче.]
---
[200k токенів файлів кодової бази]
---
[CRITICAL INSTRUCTION REMINDER:
Перед відповіддю перевір:
1. Ти не додав жодного `any`.
2. Ти використав виключно функції з модуля `@/lib/db`.
Тепер згенеруй виправлення для bug #42:]

02. Чому RAG залишається необхідним навіть при вікні 2M токенів

Замість передачі 2M токенів сирого коду ($10 за запит) використання RAG знаходить 15k дійсно потрібних токенів ($0.05 за запит). Це скорочує витрати у 200 разів і гарантує, що модель оперує в зоні 100% фокусування уваги.

4. Підводні камені, типові помилки та безпека

  • Сліпа довіра до рекламних графіків NIAH: Зелені таблиці NIAH (100% Retrieval) від виробників моделей часто тестуються на штучному тексті (Paul Graham essays). На щільному коді або таблицях із цифрами реальна точність вилучення падає до 70–80%.
  • Повільний час Prefill: Обробка 1M токенів на сервері займає від 15 до 40 секунд ще до того, як з'явиться перший токен відповіді.

5. Стратегічний висновок для інженера 2026 року

Велике контекстне вікно — це розкішна можливість, а не привід відмовитися від дисципліни архітектури даних. Розуміння обмежень розподілу уваги трансформера дозволяє інженерам будувати системи з максимальною щільністю сенсу на кожен використаний токен.

/ Часті запитанняSchema.org FAQPage

FAQ: Needle in a Haystack & Long-Context Retrieval

Це синтетичний стрес-тест: у довільне місце гігантського документа (наприклад, 1 000 000 слів) вставляється один незв'язаний факт ('Секретний пароль до сховища — 94812'). Моделі дається запит знайти цей пароль, перевіряючи здатність знайти голку на будь-якій глибині контексту (від 0% до 100%).
/ Внутрішня перелінковка
Всі терміни
Промптинг & RAG

Контекстне вікно (Context Window)

Максимальний робочий обсяг токенів, який мовна модель здатна одночасно утримувати в механізмі Self-Attention та пам'яті KV-кешу під час обчислення одного інференс-запиту.

Читати термін
Промптинг & RAG

Деградація контексту (Context Rot & Attention Decay)

Системне зниження точності, слідування інструкціям та логічної узгодженості LLM у міру накопичення в робочому вікні діалогового шуму, застарілих чернеток коду та виводів компілятора.

Читати термін
Промптинг & RAG

Системний промпт (System Instructions & Metaprompting)

Пріоритетний метаконтекстний блок інструкцій, що передається на нульовій позиції контекстного вікна і визначає роль, правила безпеки, доступні інструменти та межі поведінки агента.

Читати термін
Промптинг & RAG

Кешування промптів (Prompt Caching & KV Cache Reuse)

Технологія сучасних інференс-двигунів та хмарних API (Anthropic, OpenAI, DeepSeek, vLLM), що зберігає попередньо обчислені матриці уваги (KV Cache) статичного префіксу, зменшуючи вартість обробки на 80–90% та скорочуючи час до першого токена (TTFT) у 4–8 разів.

Читати термін