Инженерия агентных систем: преодоление ограничений LLM
Разработка автономных агентных проектов на базе больших языковых моделей (LLM) представляет собой сложную задачу, особенно в корпоративной среде, где действуют строгие политики безопасности и используются внутренние, часто менее мощные LLM. Анализ существующих практик выявил критическую проблему: большинство публичных материалов фокусируется на работе с передовыми моделями, тогда как в реальных условиях приходится адаптироваться к более слабым внутренним решениям, где простые промпты не гарантируют соблюдения процессов.
Диагностика и структурная инженерия
Опыт внедрения автономных агентов, таких как «Сурок», показал, что идиллическая картина работы ИИ-помощников быстро сменяется осознанием «Level 5 автономии при Level 1 границах». Это означает, что при высокой степени самостоятельности агента, его способность соблюдать заданные рамки и правила остается низкой. Для решения этой проблемы был разработан подход, основанный на структурной инженерии, который включает:
- Запреты в таблицах: Модель сверяет правила из внешних таблиц, а не запоминает их, что повышает надежность.
- Динамическое получение правил: Необходимые правила подгружаются в момент их актуальности, обеспечивая актуальность и контекстность.
- Изоляция агентов: Использование файлов для разделения рабочих пространств агентов минимизирует конфликты.
- Детерминированные блокировки: Внедрение программных блокировок в критически важных местах, где цена ошибки недопустимо высока.
Этот подход позволил добиться большей стабильности и предсказуемости в работе агентных систем, особенно при использовании внутренних LLM, которые не всегда способны обеспечить необходимую точность и следование инструкциям только через промпты. Методологии, подобные PDLC Сбера, уже каталогизировали подобные «грабли», что подчеркивает системный характер этих вызовов и необходимость инженерного подхода.
Очень интересно, как именно происходит динамическое получение правил и как система определяет их актуальность в моменте? Хотелось бы также глубже понять, насколько сильно «детерминированные блокировки» влияют на гибкость и адаптивность агента в нестандартных ситуациях. Обсудим?