3,583 papers
arXiv:2508.17005 83 23 авг. 2025 г. FREE

PLANTA: долгосрочное планирование для работы с таблицами в LLM

КЛЮЧЕВАЯ СУТЬ
LLM проваливаются на таблицах с условием 'И то И это одновременно'. Пример: вопрос требует найти товары, которые продавались И в регионе A И в регионе B с объёмом >500 в каждом. CoT фильтрует: регион A, регион B, объём >500, суммирует — получает 3800 вместо 2500. Проблема: шаг 3 не знает, что результаты шагов 1 и 2 связаны условием 'оба региона одновременно'. Метод PLANTA решает это через долгосрочное планирование: сначала строит план с явными зависимостями между шагами (Цель 3 нужен результат Цели 1 и 2), потом выполняет через специализированных экспертов. Каждый шаг получает только то, от чего зависит — без лишнего контекста. Модель перестаёт 'держать всё в голове' и работает по чёткому плану.
Адаптировать под запрос

TL;DR

PLANTA — метод работы с таблицами, который сначала строит полный план действий, потом выполняет его по шагам. Вместо того чтобы рассуждать "на ходу" (как в Chain-of-Thought) или разбивать вопрос на подвопросы, метод создаёт долгосрочный план с явными зависимостями между шагами. Каждый шаг знает, от каких предыдущих шагов он зависит и что именно ему нужно. План выполняют специализированные эксперты: один ищет данные в таблице, другой считает, третий сравнивает. В конце эксперт-оценщик проверяет результат и решает — достаточно данных для ответа или план нужно скорректировать.

Главная проблема, которую решает метод: CoT и question decomposition пропускают зависимости между шагами. Например, вопрос "найди выручку продуктов, которые продавались И в регионе A И в регионе B с объёмом >500 в каждом". Стандартные методы фильтруют: (1) год 2023, (2) количество >500, (3) суммируют выручку. Результат — 3800 вместо правильных 2500, потому что пропустили условие: нужны только продукты из обоих регионов одновременно. Шаг 3 не знает о результатах шагов 1 и 2 как о связанных условиях.

Метод работает через четыре типа экспертов. (1) Planning expert — получает вопрос и таблицу, создаёт план из коротких целей (short-term goals) с явными зависимостями между ними. (2) Router — распределяет цели между исполнителями по специализации. (3) Execution experts (Search, Calculation, Comparison) — выполняют конкретные операции: ищут строки в таблице через SQL, считают, сравнивают. Передают только финальный результат, не промежуточные рассуждения. (4) Assessment expert — после нескольких шагов проверяет: хватит ли данных для ответа? План работает или нужны правки? Если да — корректирует план или даёт ранний ответ.


🔬

Схема метода

ЭТАП 1 — ПЛАНИРОВАНИЕ (один промпт):
Planning expert → долгосрочный план из N коротких целей
├─ Цель 1: [что сделать] → зависит от: [—]
├─ Цель 2: [что сделать] → зависит от: [Цель 1]
└─ Цель N: [что сделать] → зависит от: [Цель 2, Цель 5]

ЭТАП 2 — ВЫПОЛНЕНИЕ (итеративно):
Для каждой цели:
├─ Router → определяет тип задачи (search / calculation / comparison)
├─ Execution expert → выполняет цель, передаёт только результат
└─ Обновление плана: Цель X [выполнена] → результат: [данные]

ЭТАП 3 — ПРОВЕРКА (периодически):
Assessment expert → анализирует выполненные шаги
├─ Достаточно данных? → выдаёт ответ
├─ План не работает? → корректирует план
└─ Иначе → продолжаем выполнение

🚀

Пример применения

Задача: У тебя на столе три предложения от поставщиков мебели для офиса. Нужно понять: какой поставщик даст минимальную общую стоимость, если заказать 15 стульев и 3 стола, при условии что у поставщика есть оба товара в наличии?

ПоставщикТоварЦена за ед.В наличии
ООО "МебельПро"Стул3500₽Да
ООО "МебельПро"Стол12000₽Да
ИП СидоровСтул3200₽Да
ИП СидоровСтол11500₽Нет
"ОфисСнаб"Стул3800₽Да
"ОфисСнаб"Стол10500₽Да

Промпт (ЭТАП 1 — Planning):

Ты — Planning expert. Создай долгосрочный план для решения задачи.

Таблица:
[вставить таблицу]

Вопрос: Какой поставщик даст минимальную общую стоимость для заказа 15 стульев и 3 столов, если у поставщика должны быть оба товара в наличии?

Требования к плану:
1. Разбей на короткие цели (short-term goals)
2. Для каждой цели укажи: что делать, зависимости от предыдущих целей
3. Используй типы операций: search (поиск/фильтрация), calculation (расчёты), comparison (сравнение)
4. Не выполняй план, только опиши

Формат ответа:
Цель 1: [описание] | Тип: [search/calculation/comparison] | Зависит от: [—]
Цель 2: [описание] | Тип: [...] | Зависит от: [Цель X]
...

Промпт (ЭТАП 2 — Execution, для каждой цели):

Ты — Search expert / Calculation expert / Comparison expert.

Твоя цель: [цель из плана]
Зависимости: [результаты предыдущих целей, если есть]
Таблица: [таблица]

Выполни цель. Используй только доступные инструменты:
- Search: SQL-запросы для фильтрации строк
- Calculation: базовая арифметика
- Comparison: поиск мин/макс, сравнение значений

Верни только финальный результат, без промежуточных рассуждений.

Промпт (ЭТАП 3 — Assessment, после N целей):

Ты — Assessment expert. Проверь выполненный план.

Оригинальный вопрос: [вопрос]
План: [план с результатами выполненных целей]
Таблица: [таблица]

Оцени:
1. Достаточно ли данных для ответа на вопрос? Если да — дай ответ.
2. Есть ли ошибки в выполнении? Если да — скорректируй план.
3. Если всё ОК, но данных мало — продолжай выполнение.

Результат: Модель построит план из 4-5 целей: (1) найти поставщиков, у которых есть оба товара в наличии, (2) для каждого посчитать стоимость 15 стульев, (3) для каждого посчитать стоимость 3 столов, (4) суммировать для каждого поставщика, (5) найти минимум. На этапе Assessment модель проверит, что зависимость "оба товара у одного поставщика" соблюдена, и выдаст правильный ответ: "ОфисСнаб" — 88 500₽ (исключив ИП Сидоров, у которого нет столов).


🧠

Почему это работает

LLM плохо держат сложные зависимости в голове при генерации "на ходу". Chain-of-Thought генерирует следующий шаг, глядя на весь предыдущий текст — от начала вопроса до последнего действия. Чем длиннее цепочка, тем больше шанс забыть ключевое условие из вопроса (особенно если оно в середине) или утонуть в деталях промежуточных шагов. Question decomposition разбивает вопрос на подвопросы, но не видит связей между ними — каждый подвопрос решается изолированно, потом результаты склеиваются. Условия типа "И в регионе A И в регионе B" теряются.

LLM отлично планируют, если им дать время подумать до выполнения. Модель может построить граф зависимостей: "Цель 3 нужен результат Цели 1, но не Цели 2". Явная структура плана снимает с модели нагрузку "держать всё в уме" во время выполнения. Каждый шаг получает только то, от чего он зависит, без лишнего контекста. Это как разница между "решай задачу вслух, думай одновременно" и "сначала распиши план, потом делай по пунктам".

Специализация экспертов использует сильные стороны LLM для конкретных типов задач. Search expert генерирует SQL-запросы — модель умеет в структурированные языки. Calculation expert вызывает функции арифметики — вместо того чтобы считать "в уме", модель делегирует вычисления инструменту. Comparison expert фокусируется только на логике сравнения. Каждый эксперт работает локально, не отвлекаясь на чужие задачи. Результат: меньше ошибок, чем если бы одна модель делала всё сразу.

Assessment expert играет роль рефлексии — проверяет гипотезы, ловит ошибки, корректирует план. Это имитирует то, как человек периодически останавливается и спрашивает себя: "Правильно ли я иду? Хватит ли мне этих данных?". Без этого шага модель может упорно выполнять неработающий план до конца, вместо того чтобы вовремя свернуть.

Рычаги управления методом:

  • Частота Assessment (k шагов) → чаще = больше проверок и ранних ответов, но выше риск ненужных корректировок и расход токенов
  • Число экспертов → можно добавить эксперта для логического вывода или работы с текстом
  • Структура плана → требовать явные зависимости или разрешить гибкие связи
  • Глубина reasoning → позволить экспертам использовать CoT внутри своей задачи или требовать только прямой вызов функций

📋

Шаблон промпта

📋

ПРОМПТ 1: Планирование

Ты — Planning expert. Твоя задача: создать долгосрочный план решения задачи над таблицей.

Таблица:
{таблица}

Вопрос:
{вопрос}

Требования к плану:
1. Разбей задачу на короткие цели (short-term goals) — каждая цель это одна операция
2. Для каждой цели укажи:
 - Что нужно сделать
 - Тип операции: search (поиск/фильтрация в таблице), calculation (вычисления), comparison (сравнение значений)
 - От каких предыдущих целей зависит (указать номера целей или "—" если независима)
3. Цели должны быть атомарными — одна операция, не комбо
4. Явно прописывай зависимости: если Цель 3 использует результат Цели 1 — укажи это

НЕ выполняй план, только опиши его.

Формат ответа:
Цель 1: [описание действия] | Тип: [search/calculation/comparison] | Зависит от: [—]
Цель 2: [описание действия] | Тип: [...] | Зависит от: [Цель 1]
...

Что подставлять:

  • {таблица} — твоя таблица в формате Markdown или описание структуры
  • {вопрос} — вопрос над таблицей

📋

ПРОМПТ 2: Выполнение (для каждой цели отдельно)

Вариант A: Search Expert

Ты — Search expert. Работаешь с таблицами через SQL-запросы.

Твоя цель: {цель_из_плана}
Доступные данные: {результаты_зависимостей}
Таблица: {таблица}

Задача:
1. Проанализируй цель
2. Сгенерируй SQL-запрос для извлечения нужных данных
3. Опиши результат в структурированном виде

Верни ТОЛЬКО финальный результат (найденные строки или числа), без промежуточных рассуждений.

Вариант B: Calculation Expert

Ты — Calculation expert. Выполняешь вычисления.

Твоя цель: {цель_из_плана}
Доступные данные: {результаты_зависимостей}

Инструменты:
- Сложение, вычитание, умножение, деление
- Округление, проценты

Выполни расчёт. Верни ТОЛЬКО итоговое число с пояснением что это.

Вариант C: Comparison Expert

Ты — Comparison expert. Сравниваешь значения, ищешь min/max.

Твоя цель: {цель_из_плана}
Доступные данные: {результаты_зависимостей}

Операции:
- Поиск минимума/максимума
- Сравнение "больше/меньше/равно"
- Сортировка по критерию

Выполни сравнение. Верни ТОЛЬКО результат (значение + что это).

Что подставлять:

  • {цель_из_плана} — конкретная цель из плана (например, "Найти строки где Region = A и Quantity > 500")
  • {результаты_зависимостей} — результаты предыдущих целей, от которых зависит текущая (если есть)

📋

ПРОМПТ 3: Проверка

Ты — Assessment expert. Проверяешь качество выполненного плана.

Исходный вопрос: {вопрос}
Таблица: {таблица}
Долгосрочный план: {план}
Выполненные цели: {выполненные_цели_с_результатами}

Оцени ситуацию:
1. Достаточно ли собранных данных для полного ответа на вопрос? Если ДА — сформулируй финальный ответ.
2. Есть ли ошибки в выполнении (неверные данные, нарушение зависимостей)? Если ДА — предложи корректировку плана.
3. Если данных мало и ошибок нет — продолжай выполнение следующих целей.

Формат ответа:
- Если готов ответ: "ОТВЕТ: [ответ]"
- Если нужна корректировка: "КОРРЕКТИРОВКА: [новый план]"
- Если продолжать: "ПРОДОЛЖИТЬ"

Что подставлять:

  • {выполненные_цели_с_результатами} — список выполненных целей и их результатов в формате "Цель X: [описание] → Результат: [данные]"

🚀 Быстрый старт — вставь в чат:

Вот шаблон PLANTA для работы с таблицами. Адаптируй под мою задачу: [твоя задача с таблицей]. 
Задавай вопросы, чтобы заполнить поля.

[вставить ПРОМПТ 1 выше]

LLM спросит про структуру таблицы, тип вопроса, какие операции могут понадобиться — потому что для построения хорошего плана нужно понять сложность задачи и зависимости. Она возьмёт паттерн из шаблона и создаст план под твою задачу. Потом используй ПРОМПТ 2 для выполнения целей по очереди, ПРОМПТ 3 для проверки.


⚠️

Ограничения

⚠️ Требует структурированных данных: Метод заточен под таблицы с чёткой структурой (строки, столбцы, типы данных). Для неструктурированного текста или смешанных форматов эффективность падает — Planning expert не сможет построить чёткий план операций.

⚠️ Критичность планирования: Если Planning expert построит слабый план (пропустит зависимости, неправильно разобьёт задачу), весь метод рушится. Улучшение LLM для планирования даёт скачок +16% accuracy (GPT-3.5 → GPT-4 в эксперименте), в то время как улучшение LLM для выполнения даёт только +5%. Планирование — узкое горлышко метода.

⚠️ Overhead для простых задач: Если вопрос решается одним SQL-запросом ("Сколько строк где Region = A?"), полный цикл Planning → Execution → Assessment избыточен. Метод окупается на сложных вопросах с множественными условиями и зависимостями (3+ операции).

⚠️ "Ленивые исполнители": 11.7% ошибок в эксперименте связаны с тем, что Execution experts пытаются решить задачу рассуждениями вместо использования инструментов (SQL, калькулятор). Например, LLM "в уме" считает 3+3+1=6 вместо 7, хотя есть функция для вычислений. Требуется явно требовать использование инструментов в промпте.

⚠️ Непредсказуемые данные: LLM теряется на нетиповых значениях в таблицах — "TBA" вместо даты, столбцы "Примечания" с контекстом, который переворачивает основную информацию. 37.7% ошибок связаны с недостатком "экспертного знания" о реальных данных — модель не знает, что "1990-1991" это один сезон, а не два года.


🔍

Как исследовали

Команда проверила PLANTA на двух бенчмарках: WikiTableQuestions (4343 вопроса над 421 таблицей) и TabFact (2024 задачи на верификацию фактов по 298 таблицам). Вопросы в WikiTQ живые — не из шаблонов, а написаны людьми, с разнообразной формулировкой. TabFact требует не только мягкого лингвистического reasoning, но и жёсткого символьного — операции агрегации, отрицания, сравнения, подсчёта.

Сравнивали с восемью сильными baseline: TEXT2SQL (прямой перевод в SQL), Chain-of-Thought, Dater и StructGPT (CoT-based методы), BINDER и DP&PYAGENT (question decomposition), TabSQLify и Chain-of-Table (state-of-the-art на момент публикации). Метрика: denotation accuracy для WikiTQ (совпадение ответа) и binary accuracy для TabFact (верно/неверно).

Результаты удивили соотношением вклада планирования vs выполнения. PLANTA с GPT-4o-mini показала 75.7% на WikiTQ и 90.4% на TabFact — новый state-of-the-art, обогнав DP&PYAGENT (74.7% и 89.9%). Но самое интересное в ablation study: когда зафиксировали Planning на GPT-4o-mini, а Execution прокачали с GPT-3.5 до GPT-4 — accuracy выросла с 74% до 79% (+5%). Когда же зафиксировали Execution на GPT-4o-mini, а Planning прокачали — скачок с 72% до 88.5% (+16.5%). Это значит планирование в 3+ раза критичнее для качества, чем выполнение.

Инсайт для практики: вкладывайся в качество плана, а выполнение можно делать дешёвой моделью. Используй топовую LLM (GPT-4, Claude Opus) для Planning expert, а для Execution experts хватит быстрой и дешёвой модели. Это экономит токены и деньги без потери качества.

Второй инсайт из ошибок: 37.7% ошибок связаны с неправильным планированием (пропущенные зависимости, неверные связи между шагами), 20.8% — с недостатком common sense (модель не знает что "1990-1991 season" это один сезон, а не два года). LLM лучше формальной логики, чем реального "экспертного" знания предметной области.


🔗

Ресурсы

Planning for Success: Exploring LLM Long-term Planning Capabilities in Table Understanding Авторы: Thi-Nhung Nguyen, Hoang Ngo, Dinh Phung, Thuy-Trang Vu, Dat Quoc Nguyen Организации: Monash University, Qualcomm AI Research Код: https://github.com/nhungnt7/PLANTA


📋 Дайджест исследования

Ключевая суть

LLM проваливаются на таблицах с условием 'И то И это одновременно'. Пример: вопрос требует найти товары, которые продавались И в регионе A И в регионе B с объёмом >500 в каждом. CoT фильтрует: регион A, регион B, объём >500, суммирует — получает 3800 вместо 2500. Проблема: шаг 3 не знает, что результаты шагов 1 и 2 связаны условием 'оба региона одновременно'. Метод PLANTA решает это через долгосрочное планирование: сначала строит план с явными зависимостями между шагами (Цель 3 нужен результат Цели 1 и 2), потом выполняет через специализированных экспертов. Каждый шаг получает только то, от чего зависит — без лишнего контекста. Модель перестаёт 'держать всё в голове' и работает по чёткому плану.

Принцип работы

Не решай задачу 'на ходу' как в пошаговых рассуждениях (Chain-of-Thought) — построй сперва полный план действий. Каждая цель в плане содержит: что сделать, какой тип операции (поиск в таблице / расчёт / сравнение), от каких предыдущих целей зависит. Аналогия: не 'думай вслух, решай и считай одновременно', а 'распиши план, потом делай по пунктам'. После построения плана Router раздаёт цели специализированным экспертам: эксперт по поиску генерирует SQL-запросы, эксперт по расчётам вызывает функции арифметики, эксперт по сравнению ищет min/max. Каждый эксперт передаёт только финальный результат, не промежуточные рассуждения. Периодически (после k шагов) эксперт-оценщик проверяет: хватит данных для ответа или план нужно скорректировать.

Почему работает

LLM плохо держат сложные зависимости при генерации 'на ходу'. CoT генерирует следующий шаг, глядя на весь предыдущий текст — чем длиннее цепочка, тем выше шанс забыть ключевое условие из вопроса или утонуть в деталях промежуточных шагов. Разбиение вопроса на подвопросы тоже не помогает — каждый подвопрос решается изолированно, потом результаты склеиваются. Условия типа 'И в A И в B' теряются. Явная структура плана с зависимостями снимает с модели нагрузку 'держать всё в уме' — каждый шаг видит только то, что ему нужно. Специализация экспертов использует сильные стороны LLM для конкретных типов задач: Search эксперт генерирует SQL (модель умеет в структурированные языки), Calculation эксперт вызывает функции арифметики вместо счёта 'в уме', Comparison эксперт фокусируется только на логике сравнения. Цифры из эксперимента: улучшение LLM для планирования даёт скачок +16% точности, в то время как улучшение для выполнения — только +5%. Планирование — узкое горлышко метода.

Когда применять

Работа с таблицами → конкретно для вопросов с множественными условиями и зависимостями (3+ операции), особенно когда есть связки 'И то И это одновременно' или 'сначала найди X, потом для результатов X найди Y'. Примеры: фильтрация по нескольким связанным критериям, расчёты с промежуточными результатами, агрегация с условиями на несколько столбцов. НЕ подходит для простых одношаговых запросов типа 'Сколько строк где Region = A?' — для них полный цикл Planning → Execution → Assessment избыточен.

Мини-рецепт

1. Планирование: Дай Planning эксперту таблицу и вопрос. Требуй план из коротких целей с указанием: что сделать, тип операции (search/calculation/comparison), зависимости от предыдущих целей. Формат: Цель 1: [действие] | Тип: search | Зависит от: —
2. Распределение: Router определяет для каждой цели тип задачи и выбирает соответствующего эксперта (Search / Calculation / Comparison)
3. Выполнение: Каждый эксперт получает свою цель + результаты целей от которых зависит. Требуй использовать инструменты (SQL, функции расчётов), а не рассуждения 'в уме'. Верни только финальный результат
4. Проверка: После k шагов (например, каждые 3 цели) Assessment эксперт оценивает: достаточно данных для ответа? План работает или нужна корректировка? Если данных мало и ошибок нет — продолжай выполнение

Примеры

[ПЛОХО] : Найди выручку продуктов из региона A и региона B с объёмом >500. Используй пошаговые рассуждения (CoT обработает каждое условие отдельно, потом склеит — пропустит связку 'должны быть И в A И в B одновременно')
[ХОРОШО] : Построй план с явными зависимостями. Цель 1: Найти продукты которые есть И в регионе A И в регионе B | Тип: search | Зависит от: —. Цель 2: Из результата Цели 1 отфильтровать те где объём >500 в каждом регионе | Тип: search | Зависит от: Цель 1. Цель 3: Суммировать выручку для результата Цели 2 | Тип: calculation | Зависит от: Цель 2 (План явно прописывает что Цель 2 работает только с результатом Цели 1, а не со всей таблицей)
Источник: Planning for Success: Exploring LLM Long-term Planning Capabilities in Table Understanding
ArXiv ID: 2508.17005 | Сгенерировано: 2026-01-12 01:35

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с