Комментарии 9
Пробовал похожий подход с hooks ещё до того как Ralph стал мемом. Работает именно там где описано: тесты зелёные, линтер чист, сборка прошла. Сломался на задачах где “готово” субъективно. Агент уходил в цикл переписывания одного и того же куска по-разному. Главный вывод: completion promise должен быть машиночитаемым. “Выглядит хорошо” не работает. “Все тесты прошли” работает.
Немного непонятно в чем новизна. Я вот сказал курсору (кими, глм), что мне нужен винрейт 100% против текущей версии бота для codingame и он честно сожрал мне все лимиты. И цели добился. Но вторая такая же итерация уже не прошла, запутался в костылях.
А я запускал из Клода тестовый скрипт на баше, который убивал Клод, только когда тесты прошли. А сам Клод запускался внешним скриптом с промптом, тимеоутом,unlimits и разными локальними ллм- ками пока не получится.
Похожая идея, только снаружи а не через hooks. Внешний скрипт даёт больше контроля: промпт можно менять между итерациями, модели переключать. У нас был похожий loop на локальных LLM для рутины, остановились на трёх итерациях максимум иначе уходит в занос. Как решаете задачи где нет формальных тестов, там критерий готовности всегда субъективный?
Части, вторые можно загнать в проверяемую автоматически схему - вышеупомянутым способом, остальное ручками. Впрочем иногда можно и не ручками :)
Понял логику: изолируешь то что можно формально проверить, делаешь автоматически, остальное принимаешь как человеческое решение. Сам к этому пришёл, только через 3-4 болезненных кейса когда пытался загнать субъективное в схему и ложных срабатываний было больше реальных. Что имеешь в виду под «не ручками»? Есть какой-то трюк?
А чем это отличается от старого доброго /goal?
Ralph Wiggum простыми словами: цикл в Claude Code, который не останавливается