Преминете към основното съдържание

Reflexion: Езикови агенти, които се учат от грешките си без преобучение

· 6 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Мислих си какво би било необходимо за изграждането на Beancount агент за главна книга, който става по-добър с времето, без да се налага преобучение при всяка направена грешка. Работата на Shinn et al. „Reflexion: Language Agents with Verbal Reinforcement Learning“ (NeurIPS 2023) директно разглежда този въпрос и отговорът е едновременно обещаващ и по-ограничен, отколкото сочат заглавните цифри.

Документът

2026-04-25-reflexion-language-agents-verbal-reinforcement-learning

Reflexion (Shinn, Cassano, Berman, Gopinath, Narasimhan, Yao; NeurIPS 2023) предлага вместо коригиране на теглата на модела чрез скъпоструващо обучение чрез подсилване, да подобрите агента, като го накарате да напише собствен анализ на неуспеха на естествен език. След всеки опит моделът за саморефлексия (Self-Reflection) прочита траекторията и сигнала за възнаграждение, генерира словесен анализ (post-mortem) и го добавя към буфер за епизодична памет. При следващия опит Актьорът (Actor) прочита натрупаните рефлексии, преди да действа. Не се изчислява градиент. Никакъв модел не се настройва фино. „Обучението“ живее изцяло в контекстния прозорец.

Архитектурата от три компонента — Актьор, Оценител, Саморефлексия — е достатъчно модулна, за да обхване различни видове задачи. Оценителят може да бъде двоичен резултат от модулен тест, LLM съдия или специфична за задачата евристика. Именно тази гъвкавост прави документа интересен отвъд бенчмарковете за програмиране.

Ключови идеи

  • При HumanEval Python pass@1, Reflexion + GPT-4 достига 91%, спрямо базовата линия на GPT-4 от 80% — реална и голяма разлика. При Leetcode Hard скокът е 7,5% → 15%, което е напредък, но и напомняне за това колко трудни остават тези проблеми.
  • При AlfWorld (текстово планиране на домакинството), Reflexion решава 130/134 задачи след 12 опита срещу 108/134 за базовата линия на ReAct — най-убедителният резултат за вземане на решения в документа.
  • При HotpotQA (многостъпкови въпроси и отговори), CoT + Reflexion преминава от 61% на 75% точно съвпадение при 100 извадкови въпроса.
  • При MBPP (втори бенчмарк за Python), Reflexion леко влошава представянето: 80,1% → 77,1%. Документът не акцентира върху това.
  • При WebShop, Reflexion не успява да помогне. Авторите приписват това на задачата, изискваща „значително разнообразие и изследване“ — агентът пише безполезни рефлексии, които не се обобщават при търсенето на продукти.
  • Паметта е ограничена до 1–3 съхранени преживявания. Това е прагматично предвид дължината на контекста, но означава, че агентът не може да трупа знания при продължителна работа.

Какво работи и какво не

Основното твърдение е основателно: словесната рефлексия подобрява представянето при задачи с ясна, проверима обратна връзка. Ако знаете дали кодът е преминал своите модулни тестове, модулът за рефлексия има нещо конкретно, върху което да разсъждава. Резултатите от AlfWorld и HumanEval са реални и значими.

Но неуспехът при WebShop е показателен и документът донякъде го омаловажава. Рефлексията работи, когато оценителят може да генерира ясен, приложим сигнал. Когато режимът на неуспех е „агентът е изследвал грешната част от голямо пространство за търсене“, казването му да „опита различни термини за търсене следващия път“ не води до сближаване. Това е структурно ограничение: словесното подсилване не е заместител на стратегиите за изследване.

Експериментите с кодиране също имат циклична природа, която авторите признават в публикацията си в блога: агентът генерира свои собствени модулни тестове, за да оцени собствения си код. Дефектен набор от тестове произвежда фалшиво положителни резултати. Числото 91% при HumanEval се запазва, защото HumanEval предоставя референтни тестове (ground-truth), но веригата за самооценка на агента е по-малко надеждна при нови проблеми, където не съществува външен оракул.

Възпроизводимостта е истинско притеснение. Всички основни резултати използват GPT-4, а експериментите със starchat-beta не показват никакво подобрение спрямо базовата линия, което означава, че техниката е ограничена от възможностите на модела. Екипите, работещи с по-малки модели или модели с отворени тегла, не трябва да очакват същите печалби.

Защо това е важно за финансовия AI

Случаят на използване на Beancount има точно това свойство, което прави Reflexion толкова ефективен: ясен оценител. Ако един агент неправилно категоризира трансакция, проверката на баланса на главната книга или стъпката на равняване може да генерира двоичен сигнал — книгите се уравновесяват или не. Това е много по-добра повърхност за обратна връзка от неясното възнаграждение при търсене на продукти в WebShop.

Конкретно, мога да си представя агент за записване в Beancount, който след неуспешен опит за вписване (невалидна сметка, грешна валута, грешка в проверката), генерира словесна рефлексия: „Използвах Expenses:Meals, но тази сметка изисква подкатегория. Следващия път ще проверя йерархията на сметките преди вписване.“ Тази рефлексия се съхранява и извлича при следващата подобна трансакция. Агентът ефективно натрупва специфична за сесията стратегия от собствените си грешки.

Ограничението на паметта е основното архитектурно предизвикателство. Буфер от 1–3 преживявания е подходящ за единична сесия, но внедреният счетоводен агент трябва да се учи от хиляди трансакции и седмици работа. Разширяването на Reflexion към памет с дълъг хоризонт — може би чрез обобщаване или индексиране на рефлексиите — е отворен проблем. Документът не го решава.

Какво да прочетете след това

  • Language Agent Tree Search (LATS) (Zhou et al., arXiv:2310.04406; ICML 2024) — разширява Reflexion чрез обвиване на Monte Carlo Tree Search около цикъла рефлексия-повторен опит, позволявайки на агентите да изследват множество клонове на разсъждение, вместо да се ангажират само с една траектория. Постига 92,7% при HumanEval с GPT-4.
  • Retroformer (Yao et al., arXiv:2308.02151; ICLR 2024) — вместо да разчита на същия LLM за саморефлексия, Retroformer обучава отделен лек ретроспективен модел чрез градиент на стратегията (policy gradient), правейки процеса на рефлексия подлежащ на обучение в различни задачи. По-принципен подход, но изисква фино настройване.
  • Self-Reflection in LLM Agents: Effects on Problem-Solving Performance (arXiv:2405.06682, 2024) — емпирично изследване, което конкретно проучва кога и защо рефлексията помага, с аблации при различни типове задачи. Полезно за калибриране кога да се прилага Reflexion спрямо други стратегии за корекция.