Автономний ШІ-агент за один день зафіксував 1858 викликів свого внутрішнього селектора, але не видав жодного результату. Кожен цикл він витрачав на написання складних самокритичних зауважень замість виконання завдань, що виявило «пастку самозациклення» (self-loop trap), яка може паралізувати будь-якого асистента, що працює з інструментами.

Що призвело агента в глухий кут

Правило агента змушувало використовувати інструменти. Функція перевіряла, чи було викликано мінімальну кількість інструментів, а конфігураційний файл дозволяв розробникам встановлювати цей поріг. На практиці перевірка ніколи не запускалася під час запланованих циклів активності агента. Код, який мав перевіряти виклики інструментів, був пропущений, тому агент минав фазу «дії» (do) і одразу переходив до рефлексії.

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

Три архітектурні виправлення, що розривають цикл

1. Жорсткі обмеження на системному рівні

Саме лише формулювання промптів не може гарантувати використання інструментів. Розробники впровадили жорсткий шлюз на рівні демона: цикл не може завершитися, якщо не зафіксовано конкретний слід використання інструменту (tool trace). Якщо агент намагається закрити цикл, не викликавши інструмент, система перериває цикл і змушує повторити спробу. Це не дозволяє циклам «тільки з мисленням» проходити далі.

2. Турнірний режим для прийняття рішень

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

  • Консервативний – змінити персону або незначний параметр.
  • Помірний – впровадити функцію, яка зобов'язує виконати дію перед будь-якою подальшою рефлексією.
  • Радикальний – переписати весь конвеєр міркувань.

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

3. Стиснення та тегування пам'яті

Агент зберігав приблизно 17 000 сирих спостережень, але йому бракувало стислого розуміння суті. Тепер шар тегування додає семантичну мітку до кожного нового даного. Під час кожного циклу агент має стискати теговані записи в основні записи «мудрості», відкидаючи шум. Це зменшує розростання пам'яті та змушує систему перетворювати дані на дієві знання, а не на нескінченну розповідь.

Сигнали того, що ви потрапили в пастку самозациклення

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

Коли з'являються такі патерни, припиніть покладатися на підправлення промптів і переходьте до жорстких архітектурних обмежень.

Джерело: https://dev.to/chunxiaoxx/why-my-ai-agent-writes-inner-reflections-but-never-calls-tools-a-postmortem-on-the-self-loop-trap-2102