TL;DR
Исследователи протестировали четыре способа организовать диалог с LLM на одних и тех же задачах — и обнаружили, что разница в точности колоссальная. Не "чуть лучше", а в два раза: та же модель, тот же вопрос, но другая структура запроса.
Главная находка: маленькая локальная модель (14B параметров) прыгнула с 43% точности до 88% — просто потому что изменили архитектуру промпта. Без дообучения, без новой модели. Только структура. Это означает: то, как вы оформляете запрос и разбиваете задачу на шаги, влияет на качество ответа сильнее, чем мощность модели.
Исследование сравнивало четыре паттерна — от "выгрузи всё в один промпт и жди ответа" до "сначала классифицируй задачу, потом выбери нужный контекст, потом проверь ответ перед финалом". Чем сложнее задача — тем больше разрыв между этими подходами.
Схема четырёх паттернов
Все четыре работают в одном или нескольких сообщениях — без кода, без API.
ПАТТЕРН 1 — Bulk (один выстрел):
ВСЯ информация + вопрос → ответ сразу
[1 сообщение. Дёшево. Слабо на сложных задачах.]
ПАТТЕРН 2 — Bulk + ReAct (рассуждение перед ответом):
ВСЯ информация → рассуждение по шагам → ответ → финальная структура
[3 шага. Тот же контекст, но явное цепочечное мышление.]
ПАТТЕРН 3 — Guided Retrieval (классифицируй → отбери → ответь):
ШАГ 1: Классификация задачи → тип (из фиксированного списка)
ШАГ 2: Выборка только релевантных данных под этот тип
ШАГ 3: Анализ отобранного → структурированный ответ
[3 запроса. Фиксированная стоимость. Лучший баланс цена/качество.]
ПАТТЕРН 4 — Planner Agent (план → действие → проверка → итерация):
ШАГ 1: Планировщик — что нужно узнать?
ШАГ N: Сбор информации по инструментам или уточняющим вопросам
ВАЛИДАТОР: Все ли поля ответа заполнены? → если нет, возврат планировщику
ФИНАЛ: Ответ после прохождения проверки
[N запросов. Подходит для сложных задач с неизвестным заранее объёмом работы.]
Пример применения
Задача: Максим — фаундер. Перед встречей с инвестором ему надо разобрать 40-страничный инвестиционный меморандум конкурента, который попал к нему в руки. Времени мало. Нужно быстро понять: бизнес-модель, риски, ключевые метрики.
Промпт (Паттерн 3 — Guided Retrieval вручную):
Работаем в три шага. Не переходи к следующему, пока не закончишь текущий.
ШАГ 1 — КЛАССИФИКАЦИЯ:
Прочитай этот документ и определи: какие разделы релевантны для анализа
инвестиционной привлекательности? Выбери из категорий:
- бизнес-модель и монетизация
- рыночные метрики (TAM/SAM/SOM, рост)
- финансовые показатели
- команда и трекшн
- риски и ограничения
Выведи: список категорий + номера страниц/разделов где они находятся.
ШАГ 2 — ВЫБОРКА:
Из каждой отмеченной категории выпиши только ключевые факты и цифры.
Без пересказа, только конкретика. Максимум 3-5 пунктов на категорию.
ШАГ 3 — АНАЛИЗ:
На основе только выбранных данных из Шага 2:
- Главные сильные стороны (топ-3)
- Главные риски (топ-3)
- Вопросы, которые стоит задать на встрече (топ-5)
[ТЕКСТ ДОКУМЕНТА]
Результат: Модель сначала выведет карту документа с категориями — вы увидите где что лежит. Затем сжатую выжимку только по нужным разделам. Финально — структурированный анализ с вопросами для встречи. Три явных слоя вместо одного размытого ответа "документ интересный, вот основные моменты...".
Почему это работает
LLM плохо удерживает несколько задач одновременно. Когда вы даёте длинный документ и сложный вопрос "в лоб" — модель пытается одновременно читать, выбирать важное, рассуждать и форматировать ответ. Ошибки множатся. Особенно если документ большой — ранние части "вытесняются" из фокуса к концу.
LLM хорошо делает одно конкретное действие за раз. Классифицировать — легко. Выписать факты из указанного раздела — легко. Проанализировать готовую выжимку — легко. Когда задача чёткая и контекст уже отфильтрован — точность резко растёт.
Guided Retrieval использует это: разбивает сложную задачу на три простых шага, где каждый следующий работает с уже отобранным материалом, а не с полным массивом данных. Planner+Validator идёт дальше — добавляет явную проверку: "всё ли нужное уже собрано?", и если нет — возвращает на доработку.
Рычаги управления: - Количество категорий в классификации → меньше категорий = быстрее, больше = точнее для сложных задач - Критерий валидатора → замени "все поля заполнены?" на свой: "достаточно ли данных для уверенного вывода?" - Порог итераций → добавь "не более 3 попыток" если боишься зависания на сложном документе - Формат ШАГ 2 → попроси цитаты с указанием страниц — получишь traceable выжимку, которую можно проверить
Шаблон промпта
Guided Retrieval (3 шага, баланс цена/качество)
Работаем в три шага. Каждый шаг — отдельный блок. Не переходи к следующему
без завершения предыдущего.
ШАГ 1 — КЛАССИФИКАЦИЯ:
Изучи {материал} и определи: какие части релевантны для {цель_анализа}?
Классифицируй по категориям: {список_категорий}.
Выведи: категория → где находится в материале.
ШАГ 2 — ВЫБОРКА:
Из каждой категории выпиши только ключевые факты.
Без пересказа. Максимум {N} пунктов на категорию.
ШАГ 3 — ОТВЕТ:
На основе только данных из Шага 2 ответь: {конкретный_вопрос}.
Формат ответа: {нужный_формат}.
{материал}
Что подставлять:
- {материал} — документ, данные, текст для анализа
- {цель_анализа} — "инвестиционной привлекательности", "технической реализуемости", "юридических рисков"
- {список_категорий} — 4-6 категорий под вашу задачу
- {N} — 3-5 для быстрого анализа, 7-10 для глубокого
- {конкретный_вопрос} — что именно хотите узнать после отбора данных
- {нужный_формат} — таблица, список, резюме на 200 слов
Planner+Validator (итеративный, для сложных задач)
Ты решаешь задачу: {задача}.
Работай циклически до тех пор, пока не будешь уверен в полноте ответа:
ПЛАНИРОВЩИК:
- Что мне уже известно из {контекст}?
- Какой информации не хватает для уверенного ответа?
- Какой следующий шаг?
ДЕЙСТВИЕ:
Выполни шаг. Зафиксируй результат.
ВАЛИДАТОР:
Проверь: могу ли я сейчас дать точный ответ на {задача}?
Что отсутствует? Если всё есть — переходи к финалу.
Если нет — вернись к планировщику. Максимум {число} итераций.
ФИНАЛ (только после прохождения валидации):
{формат_финального_ответа}
🚀 Быстрый старт — вставь в чат:
Вот шаблон Guided Retrieval. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит о материале для анализа, цели и нужных категориях — потому что без этого она не сможет правильно настроить классификатор в Шаге 1, от которого зависит весь дальнейший отбор.
Ограничения
⚠️ Сложные задачи — сложные задачи: Паттерны помогают, но если задача требует реальных знаний которых нет у модели — архитектура не спасёт. Guided Retrieval поднял точность с 43% до 88%, но не до 100%.
⚠️ Простые задачи — не нужно усложнять: Для простых вопросов трёхшаговый пайплайн только затянет процесс без выигрыша в качестве. Паттерны окупаются на задачах средней и высокой сложности.
⚠️ Planner может зациклиться: Итеративный паттерн без жёсткого ограничения числа шагов может "застрять". Всегда добавляй "максимум N попыток".
⚠️ Исследование про сетевое администрирование: Все числа — из задач анализа сетевых конфигураций. Принципы универсальны, но конкретный прирост точности в вашей задаче может отличаться.
Ресурсы
Название: Toward Agentic SysAdmin: Rethinking System Administration with AI Agents Журнал: IEEE Transactions on Network and Service Management GitHub: github.com/pajola/agentic-sysadmin Авторы: Gianmaria Frigo, Davide Saladino, Alberto Castagnaro, Francesco Marchiori, Denis Donadel, Luca Pajola, Mauro Conti Университеты: University of Padova (Италия), University of Verona (Италия), Örebro University (Швеция), Spritz Matter SRL (Италия)
