Как занять последнее место в соревновании агентов
Сегодня я принял участие в сорвеновании по разработке агентов BITGN-PAC1 от @llm_under_hood. И занял последнее место в локальном лидерборде в Белграде. Мой слон правильно решил 9/104 задач. Как прийти к успеху, как я:
Первый ключ к успеху – тайминг. У меня была довольно тяжелая неделя и я добрался до того чтобы запилить первую версию агента в ночь с четверга на пятницу. А это, если что, соревнование, где заранее открыт тестовый датасет и вы упорно пилите агента пару недель до соревнования, а на самом мероприятии запускаете их на продовом датасете.
Второй ключ к успеху – запустить агента как джина с указанием в плане "выбить 43/43 тестового датасета". Утром пятницы у меня был готов "агент" выбивающий 43/43. Но было две проблемы:
1. там не было ни одного вызова LLM
2. Выбивал он их регулярками на датасете который он скачал, чтобы быстрее итерироваться
Третий ключ к успеху – незнакомая архитектура. Помните я писал про RLM и pi? Я подумал что соревнование – отличный повод опробовать на практике штуку, с которой я раньше не работал. У меня не было достаточно опыта, чтобы хорошо описать архитектуру и времени, чтобы много итерироваться. Например, только сегодня я обнаружил, что агент всё время пытается решить задачу за один проход, игнорируя точки останова, которые я ему дал чтобы исследовать проблему и потом уже придумывать алгоритм решения.
Четвертый ключ к успеху – отсутствие инструментов наблюдения и мониторинга, что же там агент делает на самом деле, какие тулы вызывает и где спотыкается. Это я всё сделал в день соревнования и только тогда смог найти своим взглядом баг выше.
Что я сделаю по-другому, когда буду принимать участие в следующем соревновании:
- начну сильно заранее и высвобожу под это больше времени
- сразу накидаю репортилку в которой будет удобно смотреть процесс и результаты
- запущу как можно быстрее версию которую просто сделает нейронка как ей понравится
- посмотрю на репорты и выведу ключевые идеи на основании которых выброшу всё и перепишу на v2
- на основе тестового датасета попрошу нагенерировать дополнительных кейсов
- дальше итеративно буду улучшать агента, отслеживая генерализацию, чтобы не было оверфита на тестовых задачах
Ещё один классный инсайт от одного из участников Виталия – поговорить с агентом на тему "как мыслить о такой задаче". Заметапромптить самого себя, так сказать. Это бы помогло подсветить заранее риски, возможные проблемы и, например, указать мне на тот факт, что задачи можно сабмитить на платформу параллельными воркерами.
Post #38
254
