ТехникаПродвинутая

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 автоматически выбирает и использует инструменты

Web SearchCalculatorWikipedia
Запрос пользователя

Если я купил 50 акций Apple по $150, а текущая цена $185, какова моя прибыль?

Как работает ART

  1. 1. LLM анализирует задачу и определяет нужные шаги
  2. 2. Для каждого шага автоматически выбирается инструмент
  3. 3. Инструмент выполняется, результат возвращается LLM
  4. 4. LLM интегрирует результаты и продолжает рассуждения
  5. 5. Процесс повторяется до получения финального ответа
ART vs ReAct vs Простой промпт
АспектПростой промптReActART
Использование инструментовНетФиксированныеАвтовыбор
РассужденияНеявныеЯвныеЯвные + инструменты
Точность (мат.)НизкаяВысокаяВысокая
ГибкостьВысокаяСредняяОчень высокая
Шаблон промпта
Тебе доступны следующие инструменты:
- calculator: для математических вычислений
- search: для поиска актуальной информации
- wikipedia: для поиска фактов

Для каждого шага рассуждений:
1. Реши, нужен ли инструмент
2. Если да, вызови его в формате: [TOOL: название](параметры)
3. Используй результат в рассуждениях
4. Продолжай до получения финального ответа

Вопрос: {question}

Рассуждения:
Когда использовать ART
  • Задачи требующие точных вычислений
  • Вопросы об актуальных событиях
  • Проверка фактов и данных
  • Комплексные задачи с несколькими этапами
  • Когда важна верифицируемость ответа

Частые вопросы

Что такое 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 товаров с разными скидками и налогом

Без техники
Без техники
Промпт
Рассчитай итоговую стоимость: Ноутбук $1200 (скидка 15%), мышь $45 (скидка 10%), сумка $80 (без скидки). Налог 8.5%.
Ответ

Ноутбук: 1200151200 - 15% = 1020 Мышь: 451045 - 10% = 40.50 Сумка: 80Итого:80 Итого: 1140.50 С налогом: 1140.50+8.51140.50 + 8.5% = 1232

Токены:48/62
Время:420ms
Качество:
С ART
С техникой
Промпт
Рассчитай итоговую стоимость заказа. Используй пошаговое рассуждение и вызывай калькулятор [calc(выражение)] для каждого вычисления. Товары: - Ноутбук: $1200, скидка 15% - Мышь: $45, скидка 10% - Сумка: $80, без скидки - Налог: 8.5% на итоговую сумму Для каждого шага: объясни логику → вызови калькулятор → запиши результат.
Ответ

Шаг 1: Цена ноутбука со скидкой Скидка 15% от 1200:[calc(12000.15)]=1200: [calc(1200 * 0.15)] = 180 Цена: [calc(1200 - 180)] = $1020.00

Шаг 2: Цена мыши со скидкой Скидка 10% от 45:[calc(450.10)]=45: [calc(45 * 0.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

👁️Каждое вычисление делегируется калькулятору через [calc()]
🧠Рассуждение определяет ЧТО считать, инструмент — КАК
🔍Без калькулятора модель округлила налог неверно ($1232 вместо $1237.44)
Комбинация рассуждений + инструмент = точный результат
Токены:95/198
Время:850ms
Качество:
Почему это работает

ART разделяет задачу на «думать» и «считать». Модель хорошо рассуждает о порядке операций, но плохо считает точные числа. Калькулятор-инструмент компенсирует эту слабость.

1 / 2

Квиз по уроку

1 из 3

1.Что объединяет ART (Automatic Reasoning and Tool-use)?

Практика

Создайте бесплатный аккаунт для решения челленджей

6 челленджей с AI-проверкой для этого урока

Связанные уроки:ReactFunction Calling

Этот урок — часть структурированного курса по LLM.

Мой путь обучения