Контекстна инженерия: 3 нива на трудност и най-добри практики за AI агенти
По-голямата част от това е доста интуитивна след първите няколко грешки, но защо да ги правите, ако можете да прочетете предварително? Няколко обекта за различни типове данни, ContextBuilder и компресия с екстракция се срещат във всеки повече или по-малко сложен „дълголетен“ агент. Дори в https://github.com/korchasa/severin/tree/main/src/agent/context.
https://www.kdnuggets.com/context-engineering-explained-in-3-levels-of-difficulty
TL;DR
Контекстният прозорец на LLM не е бездънна кошница, а управляем ресурс. За надеждни AI агенти не е достатъчно просто да „натикате всичко в контекста“. Нужен е системен подход към това какво попада в прозореца, как се компресира и кога се изтласква.
3 нива на трудност в контекстната инженерия
Level 1: Разбиране на тесното място (bottleneck)
Всеки модел има лимит. В агентни сценарии (много стъпки, API отговори, документи) контекстът бързо се запълва с „шум“. Моделът започва да губи инструкции, да халюцинира или да „плава“ в логиката си. Управлението на контекста е единственият начин да се направят сложните системи стабилни.
Level 2: Практики за оптимизация
- Token budgeting: Разделяне на прозореца на компоненти (инструкции, схеми на инструменти, история, retrieval). Това позволява съзнателно да се жертва историята в името на точността на данните.
- Компресия (Compression): Вместо наивно резюмиране се използва семантична или екстрактивна компресия — запазване на ключови факти, ангажименти и намерения (intents) на потребителя.
- On-demand retrieval: Използване на Model Context Protocol (MCP) за свързване на източници на данни само тогава, когато агентът сам поиска информация.
Level 3: Production архитектура
- Многослойна памет:
- Working: текущият прозорец.
- Episodic: компресирано състояние на минали стъпки.
- Semantic: база от знания (факти).
- Procedural: динамични инструкции.
- Умен Retrieval: Хибридно търсене (Dense + BM25) с мета-филтри. Техниката Contextual Retrieval от Anthropic (добавяне на контекст към фрагментите преди ембединг) радикално намалява пропуските при търсене.
- Token-level профилиране: Опростяване на схемите (JSON вместо OpenAPI), дедупликация и йерархичен синтез (първо извлечения от документи, след това общ отговор).