
Введение
Чтобы понять, как функционируют системы больших языковых моделей (LLM) сегодня, полезно выйти за рамки размышлений только о промтах. Реальные приложения LLM редко ограничиваются одним запросом и ответом. Это полноценные системы, которые отслеживают контекст, интегрируют инструменты, получают данные и выполняют цепочку операций незаметно для пользователя. Здесь сосредоточена основная нагрузка. Вместо трюков с промтами стоит разобраться в фундаментальных элементах таких систем. Осознав их, легко объяснить, почему одни LLM-приложения работают стабильно, а другие подводят. Ниже — 10 базовых концепций инженерии LLM, показывающих устройство современных решений.
1. Инженерия контекста
Инженерия контекста определяет, какую информацию модель получает в конкретный момент. Это шире, чем составление промта: охватывает системные указания, историю диалога, найденные документы, описания инструментов, память, промежуточные результаты и логи выполнения. Речь идет о подборе данных, их последовательности и представлении. Такой подход часто перевешивает точность промта, поэтому инженерию контекста называют преемницей промт-инженерии. Проблемы с LLM возникают не всегда из-за неудачного текста запроса, а из-за пустого, устаревшего, лишнего контекста с неправильным порядком или помехами.
2. Вызов инструментов
Вызов инструментов дает модели возможность обращаться к внешним функциям, а не полагаться только на знания из обучения. На практике это реализует поиск в сети, запросы к базам данных, запуск кода, вызовы API или извлечение сведений из хранилища знаний. Модель перестает просто генерировать текст — она решает, размышлять, отвечать или действовать. Именно вызов инструментов лежит в основе большинства производственных LLM-приложений. Специалисты отмечают, что эта функция превращает LLM в агента, способного выполнять реальные операции.
3. Протокол контекста модели
Если вызов инструментов подключает конкретные функции, то Model Context Protocol (MCP) стандартизирует обмен инструментами, данными и рабочими процессами между разными ИИ-системами, словно универсальный адаптер. Без MCP связь N моделей с M инструментами требовала N×M индивидуальных настроек с риском ошибок. MCP унифицирует доступ к инструментам и данным для любых ИИ-клиентов. Этот стандарт быстро набирает популярность и помогает создавать надежные крупномасштабные системы.
4. Коммуникация между агентами
В отличие от MCP, ориентированного на инструменты и данные, коммуникация агент-к-агенту (A2A) решает задачу координации действий нескольких агентов. Это признак перехода LLM-инженерии от одиночных помощников к командам. Google представил A2A как протокол для безопасного обмена информацией и совместных действий в корпоративных средах. Сложные процессы уже не укладываются в одного ассистента: агент-исследователь, планировщик и исполнитель должны взаимодействовать. A2A структурирует такие связи, избавляя от самодельных систем обмена сообщениями.
5. Семантическое кэширование
Если системные инструкции, описания инструментов или постоянные документы в промте неизменны, их можно переиспользовать, не отправляя заново модели. Это кэширование промтов снижает задержки и расходы. Стабильные части ставят в начало, динамичные — в конец, рассматривая промт как модульные блоки. Семантическое кэширование усиливает эффект: система возвращает прошлые ответы на похожие по смыслу вопросы. Например, на перефразированный запрос не нужно генерировать текст с нуля. Главное — баланс: слишком широкий поиск сходства рискует ошибкой, слишком узкий сводит эффективность на нет.
6. Контекстная компрессия
Поиск иногда находит релевантные документы, но с избытком текста. Документ полезен целиком, но модели нужен лишь фрагмент, отвечающий на вопрос. В 20-страничном отчете ответ может скрываться в паре абзацев. Без компрессии модель тратит силы на весь объем, накапливая шум и затраты. Компрессия выделяет нужное, ускоряя и улучшая ответы. Для глубокого разбора подойдет обзорная работа: Contextual Compression in Retrieval-Augmented Generation for Large Language Models: A Survey.
7. Переранжирование
Переранжирование — это доработка после первичного поиска. Сначала ретривер собирает кандидатов-документы, затем ранкер оценивает их и выводит самые подходящие наверх контекста. Это критично для RAG-систем: неудачи случаются не от пустого поиска, а когда ключевые фрагменты тонут внизу, а слабые занимают верх промта. Переранжирование решает проблему сортировки, резко повышая качество. Модели для ранкинга выбирают по бенчмарку Massive Text Embedding Benchmark (MTEB), тестирующему на разных задачах поиска и ранкинга.
8. Гибридный поиск
Гибридный поиск повышает надежность, соединяя методы. Вместо чистого семантического поиска по эмбеддингам добавляют ключевые слова через BM25. Последний идеален для точных совпадений терминов, имен или редких маркеров, которые семантика может пропустить. Комбинация берет лучшее от обоих. Цель — умный поиск за счет разных сигналов, а не одного векторного подхода.
9. Архитектуры памяти для агентов
Путаница с памятью возникает от ее восприятия как единого блока. В агентных системах разделяют краткосрочное рабочее состояние и долгосрочное хранилище. Краткосрочная память — текущие данные для задачи. Долгосрочная — база по ключам или пространствам имен, загружаемая в контекст по необходимости. Память в ИИ сводится к поиску и управлению состоянием: что сохранять, как структурировать и когда извлекать, чтобы агент не тонул в лишней информации.
10. Шлюзы вывода и интеллектуальный роутинг
Роутинг вывода рассматривает каждый запрос как задачу распределения трафика. Система направляет его по нужному пути с учетом пользователя, сложности и бюджета. Простые вопросы идут к легкой быстрой модели, сложные — к мощной. На масштабе это обеспечивает скорость и эффективность наравне с качеством. Хороший роутинг ускоряет отклики и оптимизирует ресурсы.
Итоги
Главный вывод: лучшие LLM-приложения строят как системы, а не набор промтов.
- Сначала занимайтесь инженерией контекста.
- Добавляйте инструменты, когда нужны действия.
- Применяйте MCP и A2A для масштаба и связности.
- Оптимизируйте поиск кэшированием, компрессией и переранжированием.
- Рассматривайте память и роутинг как ключевые задачи дизайна.
С таким взглядом на LLM-приложения сфера становится проще. Прогресс — не только в росте моделей, но в умных системах вокруг них. Освоение этих элементов делает вас инженером LLM.