Головна / Статті

ReAct пояснено: як штучні інтелектуальні агенти поєднують міркування з діями у реальному світі

Як фреймворк ReAct поєднує міркування з використанням інструментів у штучних інтелектуальних агентах, та чим він відрізняється від моделей типу chain-of-thought, reinforcement learning та моделей міркувань.

6 хв читання1426 слів

Штучний інтелект розвивається далеко за межі простих чат-ботів для генерації тексту.

Сучасні системи ШІ можуть переглядати веб, звертатися до API, виконувати запити до баз даних, компілювати код, отримувати документи та потім використовувати знайдене для визначення наступних кроків. Але що саме дозволяє ШІ перейти від просто роздумів про завдання до його виконання?

Ключовою концепцією цього переходу є ReAct — скорочення від Reason + Act.

ReAct є одночасно технікою формулювання запитів та більш широкою агентською платформою. Він поєднує кроки міркувань із конкретними діями, такими як пошук, виклики API, обчислення та інші запуски інструментів. Потім модель аналізує результати цих дій та використовує їх для прийняття рішення про наступні кроки. Яо та його колеги представили цю платформу у 2022 році.

Що таке ReAct?

Простий спосіб уявити ReAct — це через такий цикл:

Міркуй → Діяй → Спостерігай → Міркуй → Діяй → Спостерігай → Кінцева відповідь

Уявімо, що ви запитуєте систему ШІ:

"Знайдіть найновішу інформацію про компанію та узагальніть її останні зміни."

Базова модель може просто відповісти, використовуючи ту інформацію, яку вона вже має у собі.

Система, побудована на принципі ReAct, вирішує цю задачу інакше:

  1. Міркування: Визначте, яка саме інформація потрібна.
  2. Дія: Здійсніть пошук, щоб її знайти.
  3. Спостереження: Ознайомтесь з результатами пошуку.
  4. Міркування: Вирішіть, чи потрібна додаткова інформація.
  5. Дія: Здійсніть пошук знову або скористайтеся іншим інструментом.
  6. Кінцева відповідь: Як тільки буде зібрано достатньо інформації, сформуйте відповідь.

Саме цей цикл постійних взаємодій робить ReAct цінним для завдань, які залежать від зовнішньої інформації чи доступу до інструментів.

ReAct проти Chain-of-Thought

ReAct багато спільного має з концепцією поетапного міркування, але існує ключова відмінність між ними.

Chain-of-Thought полягає переважно у внутрішньому розв’язанні проблеми шляхом міркувань.

ReAct поєднує ці міркування з фактичною взаємодією з зовнішнім світом.

Ось короткий ментальний швидкопідхід:

CoT = Міркування ReAct = Міркування → Дія → Спостереження → Міркування

Це робить ReAct особливо корисним, коли системі потрібно виходити за межі себе, взаємодіяти з зовнішнім середовищем, а не покладатися виключно на свої вбудовані знання.

ReAct — це не навчання з підкріпленням

Цей момент часто створює труднощі у багатьох людей.

Хоча цикл ReAct може нагадувати взаємодію агента з середовищем у спосіб, схожий на метод посилення навчання, він сам по собі не є методом посилення навчання.

Результат, отриманий від виклику інструменту, не є автоматично сигналом винагороди у розумінні посилення навчання.

Важливіше те, що спостереження, які надходять у результаті дій, можуть вплинути на те, що система обере робити далі.

Де місце моделям міркування?

Ще одним поняттям, яке варто зрозуміти, є ідея моделі міркування.

Ці моделі створені для приділення додаткових ресурсів обчислень складнішим задачам, таким як:

  • Математика
  • Програмування
  • Планування
  • Розв’язання багатоетапних задач

Універсальні моделі також здатні до міркувань, але їх зазвичай налаштовують радше для швидкої та ефективної щоденної взаємодії, ніж для глибокого розв’язання проблем.

Це дає нам ще один корисний контраст:

Універсальна модель → широка та ефективна взаємодія Модель для міркувань → додаткові обчислення для складних проблем

Проте застосування більшої кількості механізмів міркувань до проблеми не гарантує правильного результату.

Навіть модель для міркувань може помилятися у фактах, робити логічні помилки чи спиратися на хибні припущення. Додаткові обчислення підвищують шанси на розв’язання складної проблеми, але не усувають можливість помилок.

Роль обчислень під час висновків

Частина причин, чому моделі для міркувань поводяться по-різному під час виконання складних завдань, полягає у обчисленнях під час висновків.

Замість того, щоб застосовувати однакову кількість обчислень до кожного запиту, система може збільшити обчислювальні ресурси саме для складніших задач.

Цей патерн виглядає так:

Проста задача → менше міркувань → швидша відповідь

Складна задача → більше міркувань → більше обчислень → потенційно кращий результат

Це надає системам ШІ ще один інструмент для оптимізації: продуктивність залежить не лише від того, що було опановано під час навчання, а й від кількості обчислювальних зусиль, які витрачаються під час розв’язання конкретної задачі.

ReAct, виклик інструментів, RAG та агенти

На практиці ці чотири концепції перетинаються, але кожна з них стосується чогось окремого.

Виклик інструментів — це ситуація, коли модель просить виконати певний зовнішній інструмент від її імені.

ReAct — це цикл, що складається з міркувань, дій та спостереження за результатами.

RAG отримує зовнішню інформацію та передає її моделі, щоб результати її роботи ґрунтувалися на реальних даних.

Штучний інтелект-агент — це більш повна система, яка може досягати мети шляхом планування, використання інструментів, відстеження стану та прийняття низки рішень з часом.

Типовий сучасний агент може діяти за такою послідовністю: він починає з того, чого хоче користувач, переходить до обмірковування цієї мети, обирає інструмент для використання, запускає його, переглядає отримані результати, оцінює, чи цього достатньо, а потім або продовжує роботу, або коригує свій план перед тим, як надати остаточну відповідь.

Інструменти, які можуть використовуватися, можуть бути чим завгодно — від пошуку в Інтернеті та API до баз даних, середовищ виконання коду, пошуку файлів чи інших зовнішніх додатків.

Перевірка робить агентів більш надійними

Окрім дії та спостереження, агентні системи можуть додавати рівні перевірки та рефлексії.

Загальноприйнята схема є такою:

Створити → Перевірити → Виправити за потреби → Кінцева відповідь

Перевірка — це крок, коли система перевіряє, чи є те, що вона отримала або створила, справді правильним.

Рефлексія — це крок, коли система аналізує свою попередню спробу та вирішує, чи потрібно спробувати знову.

Обидві техніки можуть зробити певні робочі процеси надійнішими, але вони мають свою ціну: додаткову затримку, більше обчислень та все ще відсутню абсолютну гарантію правильності кінцевого результату.

Ширше контекст

Розвиток систем ШІ можна розглядати як серію послідовних рівнів функціональності.

Надання інструкцій дає моделі вказівки.

Міркування дозволяють йому розв’язувати складніші проблеми.

Виклик інструментів дає можливість взаємодіяти з іншими системами за межами самого себе.

ReAct поєднує міркування з діями та спостереженням.

Агенти об’єднують усе це в системи, орієнтовані на досягнення цілей, здатні планувати, діяти, спостерігати, перевіряти та за потреби повторювати цей цикл.

Основний висновок є простим:

Штучний інтелект не обмежується створенням однієї відповіді. Сучасні системи ШІ можуть міркувати про те, що їм насправді потрібно, діяти відповідно до цих міркувань, спостерігати за тим, що відбувається, та використовувати ці спостереження для прийняття рішень щодо наступних кроків.

Цей перехід — від простого створення результату до активного досягнення мети через дії — є однією з основних передумов сучасних штучних інтелектуальних агентів.