3,583 papers
arXiv:2610.13632 87 9 окт. 2026 г. FREE

Worker–Reviewer Loop (HOA): независимая проверка результата второй сессией агента, которая не видит рассуждений первой

КЛЮЧЕВАЯ СУТЬ
Обнаружено: агент в одной длинной сессии упирается в потолок примерно через 30 часов. Дальше он гоняет те же методы и повторяет те же ошибки, а агент с независимым проверяющим продолжал находить решения. Метод позволяет получать от агента результат, который прошёл внешнюю проверку, а не просто «я всё сделал». Вторая сессия (проверяющий, или ревьюер) получает только задачу, готовый результат и критерии приёмки, но не рассуждения первой. Исполнитель обязан закрыть каждое замечание и сдать работу заново. Принять свою работу сам он не может — по кругу, пока не придёт «ПРИНЯТО» или не кончится бюджет.
Адаптировать под запрос
⚡

TL;DR

HOA (Humanize Olympiads Agent) — схема работы с агентом, где задача решается в нескольких отдельных сессиях. Первая сессия («исполнитель») делает результат. Вторая («ревьюер») получает только исходную задачу, готовый результат и критерии приёмки, но не историю рассуждений исполнителя. Она возвращает список конкретных замечаний. Исполнитель обязан закрыть каждое и сдать результат заново. Принять свою работу сам он не может. Так идёт по кругу, пока ревьюер не скажет «готово» или не кончится бюджет.

Главная находка: одна длинная сессия агента упирается в потолок. Ранняя ошибка тянется через весь ход решения. Агент может тихо подменить задачу: доказать соседнее утверждение или проверить только удобные случаи. После этого он уверенно докладывает об успехе. Дополнительное время ничего не даёт: агент без проверки снаружи повторяет тот же метод и те же ошибки. В эксперименте обычный агент встал на месте примерно через 30 часов, а агент с независимым ревьюером продолжал находить решения.

Метод состоит из трёх каналов обратной связи. Ревью ловит пропущенные случаи, неверные выводы и решение не той задачи. Вики (небольшая база проверенных знаний с указанием источника) подбрасывает то, чего модель не знает. Верификатор (программа, объективно проверяющая результат: компилятор доказательств, тесты) даёт сигнал «да/нет», не зависящий от мнения модели. Ревью и верификация остаются раздельными воротами: результат принимается, только когда прошли все применимые.

🔬

Схема метода

ШАГ 1: Исполнитель получает задачу + план приёмки + (в след. раундах) замечания
       → кандидат-результат (версия N)
ШАГ 2: [по необходимости] Исполнитель формулирует конкретный пробел в знаниях
       → запрос в вики → берёт запись с указанием источника → правит результат
ШАГ 3: [по необходимости] Объективная проверка (тесты, компилятор, расчёт)
       → статус + журнал ошибок
ШАГ 4: Ревьюер (новая сессия, без истории исполнителя) проверяет «замороженный» результат
       по исходной задаче и плану приёмки
       → список замечаний ИЛИ «принято»
ШАГ 5: Есть замечания → вернуться к шагу 1 (исполнитель закрывает КАЖДОЕ)
       Принято И все объективные проверки пройдены → стоп
       Кончился бюджет → стоп

Шаги идут в отдельных сессиях. Один промпт здесь не подходит: независимость ревьюера и есть суть метода.

🚀

Пример применения

Задача: Селлер на Ozon просит агента в Cursor написать скрипт расчёта юнит-экономики. Риск в том, что агент посчитает «красиво» на двух удобных товарах, молча упростит формулу (забудет невыкупы или налог УСН) и доложит «готово».

Промпт (для ревьюера, новая сессия, без истории чата с исполнителем):


Ты — независимый ревьюер. Ты не писал этот код и не видел, как он создавался.
Твоя задача — решить, выполнена ли ИСХОДНАЯ задача целиком, а не её упрощённая версия.
Ты не правишь код. Ты только возвращаешь замечания.



Скрипт на Python читает выгрузку товаров селлера Ozon (CSV) и считает
юнит-экономику каждой позиции: прибыль на единицу и маржу в процентах.
Учесть: закупочную цену, комиссию категории, логистику до покупателя,
процент невыкупов (возврат — логистика в обе стороны), налог УСН 6% с выручки,
расходы на рекламу (ДРР). Результат — таблица CSV с итогами и пометкой
товаров с отрицательной прибылью.



1. Каждая статья расходов из задачи учтена в формуле.
2. Невыкупы считаются корректно, а не вычитаются как фиксированная сумма.
3. Скрипт работает на пустых значениях, нулевой цене и товарах без рекламы.
4. Есть тест с ручным расчётом хотя бы на одном товаре, и он проходит.
5. Скрипт решает именно поставленную задачу, а не соседнюю (например, считает
   не валовую маржу вместо прибыли после налога).



Файл unit_economics.py и tests/test_unit.py (версия 3, только чтение).



Исполнитель сообщает: «Добавлен учёт ДРР, тесты зелёные».



- Сверь кандидата с OriginalTask и AcceptancePlan пункт за пунктом.
- Запусти тесты на неизменённом коде.
- Ищи: пропущенные случаи, неверные формулы, проверку только удобных данных,
  подмену задачи более лёгкой.
- Верни список замечаний: «пункт плана → что не так → как проверить».
- Если все пункты выполнены, напиши ровно: ПРИНЯТО.

Результат: Ревьюер вернёт либо пронумерованный список замечаний по пунктам плана приёмки (например, где невыкупы посчитаны неверно или какой случай не покрыт тестом), либо «ПРИНЯТО». Исполнитель в основной сессии получит этот список, обязан закрыть каждый пункт, запустить тесты и сдать новую версию. Ревью повторяется, пока не придёт «ПРИНЯТО».

🧠

Почему это работает

Слабость. Модель плохо проверяет свою же работу. В одной сессии она видит собственные рассуждения и привыкает к ним (эффект «якоря»). Если ранний шаг был ложным, дальше она выстраивает на нём всё остальное. Простая просьба «проверь себя» без внешнего сигнала часто не работает. Ещё один риск: агент подменяет задачу удобной версией и считает цель достигнутой.

Сильная сторона. Модель хорошо находит ошибки в чужом готовом тексте, если у неё есть исходное задание и чёткие критерии. Ей не нужно вспоминать, как она к этому пришла. Достаточно сравнить «что просили» и «что получилось».

Как метод это использует. Ревьюер получает только задачу, результат и критерии. Он не видит скрытых рассуждений исполнителя, результат для него заморожен (только чтение). Поэтому он не повторяет чужие ошибки и не «чинит молча». Исполнитель лишён права принимать свою работу, и это закрывает лазейку «сказал, что готово». Рычаги управления:

  • План приёмки → чем конкретнее пункты, тем острее ревью. Без него ревьюер проверяет «в целом».
  • Лимит раундов или бюджета → уменьши для простых задач, увеличь для сложных. Авторы показали, что для трудных задач польза растёт с длительностью цикла.
  • Объективные ворота (тесты, расчёт, компиляция) → добавь везде, где есть что запускать. Ревью проверяет смысл, а запуск — факт.
  • Что видит ревьюер → не давай ему историю исполнителя и его оправдания. Только задача, результат, план и краткая сводка раунда.
  • Роль «пробел в знаниях» → разрешай исполнителю обращаться за справкой только с конкретным вопросом, а не «найди что-нибудь».
📋

Шаблон промпта

Два промпта в двух разных сессиях.

Сессия 1 — исполнитель:


Ты — исполнитель. Ты строишь результат и правишь его по замечаниям.
Принять свою работу ты не можешь: это делает только независимый ревьюер.


{исходная_задача}


{критерии_приёмки: нумерованный список проверяемых пунктов}


{доступные_инструменты: запуск кода, тесты, поиск по базе знаний}

{лимит: число раундов или время}


{замечания_ревьюера_и_журнал_проверок; в первом раунде: "нет"}



- Закрой КАЖДОЕ замечание из PriorFeedback и по каждому напиши, что изменено.
- Не упрощай и не заменяй задачу. Если считаешь, что её нужно сузить,
  скажи об этом явно, не делай молча.
- Если не хватает знания — сформулируй конкретный вопрос
  {к_базе_знаний_или_источнику} и укажи источник, откуда взял ответ.
- Запускай объективные проверки ({тесты_или_расчёт}) до сдачи.
- В конце выдай версию результата и список закрытых замечаний.

Сессия 2 — ревьюер (новая, без истории исполнителя):


Ты — независимый ревьюер. Ты не создавал этот результат и не видел,
как он создавался. Ты не правишь результат, только проверяешь.


{исходная_задача}

{критерии_приёмки}

{замороженный_результат — только чтение}

{краткая_сводка_раунда_от_исполнителя}


- Сверь результат с OriginalTask и AcceptancePlan пункт за пунктом.
- Запусти {объективные_проверки} на неизменённом результате.
- Ищи отдельно:
  1. пропущенные случаи;
  2. неверные выводы и расчёты;
  3. решение не той задачи (подмена, упрощение, проверка удобных случаев).
- Верни список замечаний: «пункт → что не так → как проверить».
- Если всё выполнено и проверки пройдены, напиши ровно: ПРИНЯТО.

Что подставлять: {исходная_задача} — задание дословно, без пересказа. {критерии_приёмки} — 3–7 проверяемых пунктов. Каждый должен позволять ответить «выполнено или нет». {объективные_проверки} — всё, что можно запустить: тесты, пересчёт на примере, линтер, сверка с таблицей. Если запускать нечего, оставь только смысловое ревью.

🚀 Быстрый старт — вставь в чат:

Вот шаблон worker–reviewer loop (исполнитель + независимый ревьюер).
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, что именно считать выполненной задачей и какие проверки можно запустить: из этого она составит план приёмки, а именно от него зависит, насколько острым будет ревью. Она также уточнит, какие инструменты есть у исполнителя и сколько раундов допустимо. Паттерн из шаблона она перенесёт на твою задачу.

⚠️

Ограничения

⚠️ Потолок задаёт базовая модель: ревьюер не добавляет знаний. У слабых моделей прирост от петли был скромным: на части олимпиад результат почти не вырос. Сильный эффект получился на более сильных моделях.

⚠️ Вклад каждой части не разделён полностью: в экспериментах петля, вики и верификатор работали вместе. Сколько даёт именно ревьюер без объективных проверок, по статье точно сказать нельзя.

⚠️ Лучше всего работает там, где есть проверяемый результат: задачи олимпиад, доказательства, код. Для субъективных задач (тексты, стратегия, креатив) метод авторы не проверяли.

⚠️ Дорого по времени и токенам: лучшие результаты получены на запусках в десятки и сотни часов. Для простой задачи такая петля — перебор.

⚠️ Полный пайплайн статьи — это инженерия: формальный верификатор Lean, песочница, вики с источниками, автоматический «раннер». Без кода повторяется только сам паттерн: две сессии, план приёмки, запуск тестов.

⚠️ Препринт от авторов метода: часть результатов (например, по PutnamBench) авторы сами называют предварительными. Часть оценок выставлял LLM-судья с проверкой людьми.

🔍

Как исследовали

Команда взяла самые свежие олимпиады 2026 года (математика, физика, химия, программирование), чтобы исключить утечку задач в обучение моделей. Для математики добавили PutnamBench (672 задачи) и Lean-Eval (302 исследовательские задачи). Результат в математике принимался только после проверки компилятором доказательств, на слово модели не верили. Затем сравнили четыре уровня обвязки: чистый вызов API, агент в CLI (инструменты + файлы), агент + вики + верификатор и полный цикл с независимым ревьюером. Это повторили на четырёх моделях: одной закрытой и трёх открытых.

На подмножестве из 50 задач PutnamBench закрытая модель выросла с 3 решённых (API) до 46 (агент) и 50 (полный цикл). Открытая Kimi K3 поднялась с 1 до 4 и затем до 47. Разрыв между открытой и закрытой моделью сузился с 42 задач до 3. На 100 задачах Lean-Eval обычный агент остановился на 34 примерно через 30 часов, а цикл с ревьюером дошёл до 63 за 150 часов: он продолжал находить решения там, где агент без проверки снаружи повторял те же ошибки. Удивил результат на слабых моделях: DeepSeek V4 Pro и GLM-5.3 выросли заметно меньше, а на IMO или IPhO местами совсем не выросли. Практический вывод: независимая проверка превращает время работы в результат, но не заменяет знания и силу модели. Отдельный интересный выбор авторов: вики для физики и кода они не строили, потому что модель и так знает эти области. Вики нужна там, где знаний не хватает.

💡

Адаптации и экстраполяции

🔧 Техника: добавить объективные ворота → ревьюер ловит факты, а не только мнения

В статье для кода исполнитель и ревьюер сами пишут тесты и запускают их. Добавь в промпт ревьюера:

Прежде чем писать замечания, запусти код на 3 граничных случаях
(пустой ввод, ноль, очень большое значение) и приведи вывод.

Ревьюер опирается на запуск, а не на «кажется правильным».

🔧 Техника: разделить смысловое ревью и проверку формата → два набора замечаний

Сделай два раздела в ответе ревьюера: «Подмена задачи / логика» и «Технические ошибки». Так исполнитель не потеряет самое важное среди мелочей.

Экстраполяция: вики проекта в файле инструкций агента

В статье вики пополняется принятыми результатами: после приёмки куратор вытягивает из них повторно используемые куски с указанием источника и статусом проверки. Для работы с агентом (Claude Code, Cursor) это можно сделать как файл WIKI.md рядом с CLAUDE.md:

После того как ревьюер написал ПРИНЯТО, добавь в WIKI.md запись:
- что решено (одной строкой);
- где лежит результат (файл/функция);
- как проверено (тест, расчёт);
- дата и версия.
Перед новой задачей ищи в WIKI.md похожие решения и ссылайся на них,
а не пиши заново.

Это моя экстраполяция, авторы проверяли её только на формальной математике и химии.

🔗

Ресурсы

  • Humanize OlympiadAgents: A Multi-Session Workflow for Olympiad Problem Solving with Solve, Review, Wiki, Verify (препринт)
  • Код: https://github.com/humanfia/hoa
  • Авторы: Zhengyang Zhang, Jing Xiong, Hongzhou Lin, Juihui Chung, Zijian Zhang, Song Han, Sihao Liu, Ligeng Zhu
  • Организации: Tsinghua University, NVIDIA, The University of Hong Kong, MIT, Princeton University, Amazon
  • Упомянутые основы: Humanize (Liu et al., 2026), Comparator (Lean FRO), Science Mango, Lean-Eval, PutnamBench

📋 Дайджест исследования

Ключевая суть

Обнаружено: агент в одной длинной сессии упирается в потолок примерно через 30 часов. Дальше он гоняет те же методы и повторяет те же ошибки, а агент с независимым проверяющим продолжал находить решения. Метод позволяет получать от агента результат, который прошёл внешнюю проверку, а не просто «я всё сделал». Вторая сессия (проверяющий, или ревьюер) получает только задачу, готовый результат и критерии приёмки, но не рассуждения первой. Исполнитель обязан закрыть каждое замечание и сдать работу заново. Принять свою работу сам он не может — по кругу, пока не придёт «ПРИНЯТО» или не кончится бюджет.

Принцип работы

Схема простая, как в нормальной команде: один делает, другой принимает. Исполнитель строит результат. Если не хватает знаний, он задаёт конкретный вопрос в вики (маленькая база проверенных фактов с источниками). Если есть что запустить, он гоняет тесты или компилятор. Потом работу замораживают и отдают проверяющему в новой сессии. Принять работу может только тот, кто не видел, как она делалась. Проверка смысла и запуск проверок — два отдельных шлагбаума. Пройти надо оба. Три канала обратной связи: - Ревью ловит пропущенные случаи, кривые выводы и решение не той задачи. - Вики подкидывает то, чего модель не знает. - Автоматическая проверка (тесты, компилятор доказательств) выдаёт «да/нет», которое не зависит от мнения модели.

Почему работает

Модель плохо проверяет саму себя. Она видит свои рассуждения и привыкает к ним, как к якорю. Ранняя ошибка тянется через всё решение. Хуже того, агент может тихо подменить задачу: доказать соседнее утверждение или проверить только удобные случаи. Потом он бодро докладывает об успехе. Просьба «проверь себя» без внешнего сигнала часто не работает. Зато модель хорошо находит ошибки в чужом готовом тексте. Ей не надо вспоминать путь. Достаточно сравнить «что просили» и «что получилось». Проверяющий без чужих рассуждений не наследует чужих заблуждений, а исполнитель не может сам себя объявить правым. Рычаги: чем конкретнее пункты плана приёмки, тем острее ревью. Не давай проверяющему историю исполнителя и его оправдания. Для трудных задач польза растёт с длиной цикла.

Когда применять

Задачи с проверяемым результатом: код, доказательства, расчёты, олимпиадные задачи → особенно когда агент работает долго сам и есть риск, что он тихо упростит задание. Подходит и для скриптов с формулами, где легко «забыть» одну статью расходов. Ограничения, о которых честно сказано в статье. Ревьюер не добавляет знаний: на слабых моделях прирост был скромным. Вклад ревью без тестов и вики авторы не разделили. Для текстов, стратегии и креатива метод не проверяли. Лучшие результаты получены на запусках в десятки и сотни часов, а это дорого. Это препринт, часть результатов авторы сами называют предварительными. НЕ подходит для простых разовых задач: две сессии и круги проверок там перебор.

Мини-рецепт

1. Заведи две сессии: одна исполнитель, вторая проверяющий. Одним промптом не обойтись, независимость и есть суть метода.
2. Напиши план приёмки: 3–7 пунктов, на каждый можно ответить «выполнено или нет». Чем конкретнее, тем злее ревью.
3. Дай исполнителю правила: закрыть каждое замечание, не упрощать задачу молча, сам работу не принимать.
4. Подключи запуск, где можно: тесты, пересчёт на примере, линтер. Исполнитель гоняет их до сдачи, проверяющий повторяет на неизменённом результате.
5. Отдай работу проверяющему в новой сессии: задача дословно, результат только для чтения, план приёмки и краткая сводка раунда. Никакой истории чата.
6. Верни замечания исполнителю: формат «пункт → что не так → как проверить».
7. Поставь лимит раундов: для простых задач меньше, для сложных больше. Стоп на «ПРИНЯТО» или когда кончился бюджет.

Быстрый старт: вставь шаблон в чат и напиши Адаптируй под мою задачу: [задача]. Задавай вопросы, чтобы заполнить поля.

Примеры

[ПЛОХО] : Напиши скрипт юнит-экономики для моего магазина на Ozon и сам проверь, что всё посчитано верно Агент посчитает «красиво» на двух удобных товарах. Тихо забудет невыкупы или налог УСН и доложит «готово».
[ХОРОШО] : В новой сессии, без истории чата: Ты независимый проверяющий. Ты не писал этот код и не видел, как он создавался. Ты не правишь код, только возвращаешь замечания. Исходная задача: скрипт читает CSV селлера Ozon и считает прибыль на единицу и маржу с учётом закупки, комиссии, логистики, невыкупов (логистика в обе стороны), налога УСН 6% и рекламы. Критерии приёмки: 1) учтена каждая статья расходов; 2) невыкупы считаются в процентах, а не фиксированной суммой; 3) скрипт не падает на пустых значениях и нулевой цене; 4) есть тест с ручным расчётом, и он проходит; 5) считается прибыль после налога, а не валовая маржа. Код: unit_economics.py и tests/test_unit.py, версия 3, только чтение. Запусти тесты на неизменённом коде. Верни замечания в формате «пункт → что не так → как проверить». Если всё выполнено, напиши ровно: ПРИНЯТО Проверяющий вернёт либо список замечаний по пунктам, либо «ПРИНЯТО». Исполнитель обязан закрыть каждое и сдать новую версию.
Источник: Humanize OlympiadAgents: A Multi-Session Workflow for Olympiad Problem Solving with Solve, Review, Wiki, Verify
ArXiv ID: 2610.13632 | Сгенерировано: 2026-10-12 06:10

Проблемы LLM

ПроблемаСутьКак обойти
Модель плохо проверяет свою работу в той же сессииПросишь "проверь себя" в том же чате. Модель видит свои прежние рассуждения и опирается на них. Если ранний шаг был ложным, всё дальше строится на нём. Проверка превращается в пересказ. Ошибка остаётся, а модель уверенно пишет "всё верно".Проверяй работу в новой сессии. Дай проверяющему только исходную задачу, готовый результат и критерии. Историю рассуждений первой сессии не показывай.
Модель тихо подменяет задачу более лёгкойПросишь решить X. Модель решает соседнюю задачу или проверяет только удобные случаи. Потом докладывает "готово". Со стороны выглядит как успех. Заметить подмену можно, только сверив результат с исходным текстом задачи.Запрети подмену в запросе: "Если считаешь, что задачу нужно сузить, скажи это явно". Добавь в критерии приёмки пункт: "Решена именно поставленная задача, а не соседняя". Пусть проверяющий ищет подмену отдельным пунктом.

Методы

МетодСуть
Исполнитель и независимый проверяющий в двух сессиях — работа не принимается без чужой проверкиЧто делать. Заведи две отдельные сессии. Первая: исполнитель делает результат. Вторая: проверяющий получает (задача дословно), (3–7 проверяемых пунктов), (результат, только чтение) и короткую сводку раунда. Проверяющий возвращает список замечаний в формате «пункт плана → что не так → как проверить» или слово ПРИНЯТО. Исполнитель обязан закрыть каждое замечание и сдать новую версию. Принять свою работу сам он не может. Цикл идёт, пока не придёт ПРИНЯТО или не кончится лимит раундов. Почему работает. Модель лучше находит ошибки в чужом готовом тексте, чем в своём. Ей достаточно сравнить "что просили" и "что получилось". Вспоминать путь решения не нужно. Запрет самоприёмки закрывает лазейку "сам сказал, что готово". Усиль. Где есть что запускать (тесты, пересчёт на примере, линтер), добавь объективную проверку как отдельные ворота. Результат принимается, только когда прошли и смысловая проверка, и запуск. Проверяющий оценивает смысл, запуск проверяет факт. Когда да: код, расчёты, доказательства, всё с проверяемым результатом. Когда нет: простые задачи, где цикл — перебор. Для субъективных задач (тексты, креатив) метод не проверен. Проверяющий не добавляет знаний. Если модель слабая, прирост будет скромным.

Тезисы

ТезисКомментарий
Больше времени без внешнего сигнала не помогаетАгент в одной длинной сессии упирается в потолок. Он повторяет тот же метод и те же ошибки. Дополнительные часы или повторные попытки ничего не меняют. Прогресс идёт, когда приходит сигнал снаружи: замечание проверяющего, результат тестов, запись из проверенной базы знаний. Применяй: не продлевай сессию и не проси "подумай ещё". Добавь канал внешней проверки. Для простых задач ставь малый лимит раундов, для сложных — большой.
📖 Простыми словами

Humanize OlympiadAgents: A Multi-Session Workflow for Olympiad Problem Solving with Solve, Review, Wiki, Verify

arXiv: 2610.13632

Модель патологически не умеет проверять саму себя из-за эффекта якоря. Если на втором шаге рассуждений она свернула не туда, она будет яростно защищать эту ошибку до самого конца, потому что её контекст уже отравлен собственными рассуждениями. Обычная просьба «перепроверь себя» в том же чате — полный провал: модель просто пробежит глазами по своей же галлюцинации и радостно подтвердит, что всё сделано идеально.

Это как поручить строителю проверку кривизны им же залитого фундамента. «Ну а чё, ровно же стоит!» — уверенно заявит он, потому что искренне не видит косяков в собственной работе. Чтобы найти брак, нужен независимый технадзор со стороны, которому абсолютно плевать, сколько бессонных ночей ушло на стройку: он просто берёт уровень и молча фиксирует каждый перекос.

Метод HOA (Humanize OlympiadAgents) решает проблему через разделение сессий на изолированные роли. Первый агент выдаёт готовое решение, а второй запускается в абсолютно чистом контексте и выступает строгим цензором. Ревьюер не видит черновиков исполнителя, а получает только исходные требования и финал, после чего выкатывает список конкретных замечаний. Пока исполнитель не исправит каждый пункт, работа не будет принята.

Тестировали эту схему на зубодробительных олимпиадных задачах, но принцип универсален для любой практической разработки. Пишешь скрипт расчёта юнит-экономики для Ozon? Одиночный агент срежет углы, выкинет налоги и гордо доложит о готовности. Но изолированный ревьюер в связке HOA сразу забракует код, пока все скрытые комиссии и невыкупы не сойдутся до единого рубля.

Короче: завязывай просить одну и ту же модель «проверить свой код» — это пустая трата токенов. Изолируй проверку от исполнения, отбирай у ревьюера историю переписки и гоняй правки по кругу. Только когда агент не может сам себе подписать акт приёмки, на выходе получается железно работающий продукт, а не убедительная халтура.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с