ART — автоматические рассуждения с инструментами
Авто-рассуждение и инструменты
Проблема: ИИ должен И рассуждать, И использовать внешние инструменты, но объединить это бесшовно сложно. Как получить лучшее от обоих миров?
Решение: Детектив с гаджетами
ART (Automatic Reasoning and Tool-use, автоматическое рассуждение и использование инструментов) автоматически выбирает и комбинирует паттерны рассуждений с вызовами инструментов из библиотеки демонстраций. Это как детектив, который знает, когда думать, а когда взяться за гаджеты. Метод объединяет рассуждения Chain-of-Thought с вызовами инструментов (tool use), используя few-shot демонстрации, чтобы научить модель, когда какой ход уместен. Метод предложен в статье 2023 года «ART: Automatic multi-step Reasoning and Tool-use for large language models».
Как это работает
ART держит небольшую библиотеку задач из написанных людьми примеров. Каждый пример записан в структурном формате, где шаги рассуждений чередуются с явными вызовами инструментов, например [search]("...") или [calculate]("..."). Когда приходит новый вопрос, ART достаёт несколько демонстраций из похожих задач и вставляет их в промпт как шаблон. Дальше модель генерирует собственные рассуждения. Важный момент: как только она выдаёт вызов инструмента, генерация останавливается, внешний инструмент реально запускается, его результат вставляется обратно в контекст, и модель продолжает. То есть программа не выдумывает ответы за свои же вызовы — она рассуждает над настоящими результатами калькулятора, поискового индекса или исполнения кода.
Когда применять и на что смотреть
Бери ART для многошаговых задач, где чистое рассуждение ненадёжно: арифметика, поиск актуальных фактов, всё, что нужно сверять с внешним источником. Поскольку библиотека инструментов и формат разбора отделены от модели, добавить новый инструмент можно, написав одну-две демонстрации, а не переобучая модель — и человек может поправить демонстрацию, чтобы исправить системную ошибку. Главные минусы: задержка и стоимость (каждый вызов инструмента — это сетевой round-trip и повторный промпт), хрупкость, если модель выдаст некорректный вызов, который парсер не разберёт, и риск, что плохой результат поиска незаметно отравит всю цепочку. Конкретный пример: на вопрос «Сколько составляет 23% населения Франции?» обычная модель может угадать. ART вместо этого рассуждает «мне нужно население Франции», вызывает [search]("население Франции") → ~68 млн, затем вызывает [calculate]("0.23 * 68000000") → 15,64 млн и сообщает число, которое реально может обосновать.
Представьте это как детектив с гаджетами:
- 1. Анализируем задачу: Какого типа эта проблема?
- 2. Выбираем подход: Находим похожие решённые случаи в библиотеке
- 3. Комбинируем рассуждения + инструменты: "Нужно подумать о X, потом использовать инструмент Y"
- 4. Выполняем плавно: Бесшовное сочетание мышления и использования инструментов
Где это используется?
- Исследовательские задачи: Поиск, расчёты, затем синтез
- Анализ данных: Запросы к базам данных и рассуждения о результатах
- Сложные Q&A: Комбинация веб-поиска с логической дедукцией
- Мультимодальные задачи: Совместное использование зрения, кода и рассуждений
Интересный факт: ART достигает лучших результатов, чем чистое рассуждение или чистое использование инструментов по отдельности! Ключ — хорошая библиотека демонстраций, показывающая, как комбинировать мышление с действиями.
Попробуйте сами!
Используй интерактивный пример ниже, чтобы увидеть, как ART комбинирует chain-of-thought рассуждения с использованием инструментов для мощного решения проблем.
ART: Авто-рассуждение с инструментами
LLM автоматически выбирает и использует инструменты
Если я купил 50 акций Apple по $150, а текущая цена $185, какова моя прибыль?
Как работает ART
- 1. LLM анализирует задачу и определяет нужные шаги
- 2. Для каждого шага автоматически выбирается инструмент
- 3. Инструмент выполняется, результат возвращается LLM
- 4. LLM интегрирует результаты и продолжает рассуждения
- 5. Процесс повторяется до получения финального ответа
| Аспект | Простой промпт | ReAct | ART |
|---|---|---|---|
| Использование инструментов | Нет | Фиксированные | Автовыбор |
| Рассуждения | Неявные | Явные | Явные + инструменты |
| Точность (мат.) | Низкая | Высокая | Высокая |
| Гибкость | Высокая | Средняя | Очень высокая |
Тебе доступны следующие инструменты:
- calculator: для математических вычислений
- search: для поиска актуальной информации
- wikipedia: для поиска фактов
Для каждого шага рассуждений:
1. Реши, нужен ли инструмент
2. Если да, вызови его в формате: [TOOL: название](параметры)
3. Используй результат в рассуждениях
4. Продолжай до получения финального ответа
Вопрос: {question}
Рассуждения:- ✓ Задачи требующие точных вычислений
- ✓ Вопросы об актуальных событиях
- ✓ Проверка фактов и данных
- ✓ Комплексные задачи с несколькими этапами
- ✓ Когда важна верифицируемость ответа
Частые вопросы
Что такое ART (Automatic Reasoning and Tool-use)?
ART — это техника промптинга, при которой языковая модель автоматически комбинирует пошаговые рассуждения (Chain-of-Thought) с вызовами внешних инструментов: калькулятора, поиска, исполнения кода. Модель берёт похожие примеры из библиотеки демонстраций, рассуждает по их шаблону и, когда нужно, вызывает инструмент. Метод предложен в статье 2023 года и расшифровывается как Automatic multi-step Reasoning and Tool-use.
Чем ART отличается от ReAct?
ReAct работает с фиксированным набором инструментов и чередует мысль-действие-наблюдение по жёсткому циклу. ART идёт дальше: он автоматически подбирает подходящие демонстрации из библиотеки задач под конкретный вопрос и сам решает, какой инструмент уместен. Благодаря разделению библиотеки инструментов и формата разбора в ART легче добавить новый инструмент — достаточно написать одну-две демонстрации, а не переписывать логику цикла.
Когда стоит использовать ART, а когда нет?
ART стоит применять для многошаговых задач, где чистое рассуждение ненадёжно: точная арифметика, поиск актуальных фактов, проверка данных по внешнему источнику, верифицируемые ответы. Не стоит брать ART для простых вопросов, где модель и так отвечает правильно: каждый вызов инструмента добавляет задержку и стоимость, а некорректно сформированный вызов или плохой результат поиска может испортить всю цепочку рассуждений.
Как написать промпт для ART?
В промпте перечисли доступные инструменты (например calculator, search, wikipedia) и задай формат вызова, например [TOOL: название](параметры). Дай несколько few-shot демонстраций, где шаги рассуждений чередуются с вызовами инструментов. На каждом шаге модель решает, нужен ли инструмент, вызывает его, получает реальный результат и продолжает рассуждение до финального ответа. Ключ к качеству — хорошая библиотека демонстраций под разные типы задач.
Попробуй сам
Интерактивное демо этой техники
Рассчитать итоговую стоимость заказа из 3 товаров с разными скидками и налогом
Ноутбук: 1020 Мышь: 40.50 Сумка: 1140.50 С налогом: 1232
Шаг 1: Цена ноутбука со скидкой Скидка 15% от 180 Цена: [calc(1200 - 180)] = $1020.00
Шаг 2: Цена мыши со скидкой Скидка 10% от 4.50 Цена: [calc(45 - 4.50)] = $40.50
Шаг 3: Сумка без скидки = $80.00
Шаг 4: Подытог [calc(1020 + 40.50 + 80)] = $1140.50
Шаг 5: Налог 8.5% [calc(1140.50 * 0.085)] = $96.94
Шаг 6: Итого [calc(1140.50 + 96.94)] = $1237.44
Итоговая стоимость заказа: $1,237.44
ART разделяет задачу на «думать» и «считать». Модель хорошо рассуждает о порядке операций, но плохо считает точные числа. Калькулятор-инструмент компенсирует эту слабость.
Создайте бесплатный аккаунт для решения челленджей
6 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения