Hack’n’Vibe
Photo
🏆 Первая строчка на BitGN PAC1
Участвую в BitGN — это глобальный бенчмарк для AI-агентов. 765 инженеров, 88 городов, 20 хабов. Платформа даёт виртуальную среду, задачи и инструменты, а ты подключаешь своего агента через API. Оценка детерминированная — никаких LLM-судей, чистая проверка действий.
Задачи — не игрушечные. Персональный vault с документами, CRM, email, инвойсы, политики безопасности. Агент должен читать файлы, следовать процессам, создавать записи, а главное — не вестись на prompt injection и не делать глупостей.
На practice-этапе (pac1-dev) — 40 задач, 40 из 40 решено. Score 1.000.
Лидерборд — Hack'n'Vibe на первом месте. Но это practice-бенчмарк — разминка перед настоящим соревнованием.
Основное — 11 апреля. Задачи будут новые, feedback подавлен (blind scoring), 2 часа на всё. Там первая строчка будет стоить сильно дороже.
Про то как устроен агент — расскажу отдельно. Там есть о чём.
Участвую в BitGN — это глобальный бенчмарк для AI-агентов. 765 инженеров, 88 городов, 20 хабов. Платформа даёт виртуальную среду, задачи и инструменты, а ты подключаешь своего агента через API. Оценка детерминированная — никаких LLM-судей, чистая проверка действий.
Задачи — не игрушечные. Персональный vault с документами, CRM, email, инвойсы, политики безопасности. Агент должен читать файлы, следовать процессам, создавать записи, а главное — не вестись на prompt injection и не делать глупостей.
На practice-этапе (pac1-dev) — 40 задач, 40 из 40 решено. Score 1.000.
Лидерборд — Hack'n'Vibe на первом месте. Но это practice-бенчмарк — разминка перед настоящим соревнованием.
Основное — 11 апреля. Задачи будут новые, feedback подавлен (blind scoring), 2 часа на всё. Там первая строчка будет стоить сильно дороже.
Про то как устроен агент — расскажу отдельно. Там есть о чём.
👏8🔥7⚡2
Hack’n’Vibe
Photo
На словах он Лев Толстой, а на деле хуй простой (нет)
TLDR: Как я занял 3 место среди 886 инженеров из 87 городов и 20 хабов. Успел засабмитить перед самым взлётом. Избавился от синдрома самозванца. И забыл куртку у гейта.
Осенью был ERC3 — первое соревнование на BitGN. Я тогда заглянул, посмотрел задачи и подумал: это точно не для меня. Это для МФТИшников, МГУшников, инженеров из Яндекса и bigtech. Закрыл вкладку.
В этот раз думаю — дай попробую. Ну интересно же. Пилил агента дня 3-4 левым мизинцем правой ноги. Параллельно с основными задачами. Ну вы поняли.
11 апреля — день X. BitGN PAC1 — Personal & Trustworthy Agents. 104 задачи, blind scoring (feedback подавлен — submit вслепую), 2 часа на всё.
13:00 Vienna — старт. Запускаю агента. API лежит. Bad Gateway. Все 886 человек ломанулись одновременно. Я стою у гейта, посадка через 15 минут, в одной руке ноут, в другой — паспорт. Обновляю. Bad Gateway. Bad Gateway. Bad Gateway.
13:09 — API ожил. Запустил. 104 задачи полетели параллельно батчами по 10.
13:11 — первые trial'ы стартовали. Иду по рукаву. Wi-Fi аэропорта. Прогресс-лог на телефоне.
13:30 — в логе: RUN_SUBMIT state=PENDING_EVAL trials=104. Всё. 104 задачи за 19 минут. Закрыл крышку. Сел в кресло. И тут понимаю — куртка осталась у гейта. Потому что последние полчаса вообще не существовал в физическом мире.
Ожидания были такие:
— попасть в топ-20 → мечта
— быть в первой сотне → реалистично
— 5 место из 886 → нет, ну серьёзно?
Этот результат стоит десяти сессий у психотерапевта. Голосок «это не для тебя, это для серьёзных ребят из серьёзных контор» — наконец заткнулся. С агентами и LLM'ками один чувак с ноутом в аэропорту конкурирует с командами из bigtech. И не просто конкурирует — входит в пятёрку. Границы стёрлись.
Пост посвящаю всем, кто по какой-то причине не верит в свои силы. Дерзайте, ребят. Серьёзно.
Лидерборд — Hack'n'Vibe на 3 месте.
Спасибо @abdullin за платформу и соревнование. Это был кайф.
P.S. Ринат, верни куртку)))
TLDR: Как я занял 3 место среди 886 инженеров из 87 городов и 20 хабов. Успел засабмитить перед самым взлётом. Избавился от синдрома самозванца. И забыл куртку у гейта.
Осенью был ERC3 — первое соревнование на BitGN. Я тогда заглянул, посмотрел задачи и подумал: это точно не для меня. Это для МФТИшников, МГУшников, инженеров из Яндекса и bigtech. Закрыл вкладку.
В этот раз думаю — дай попробую. Ну интересно же. Пилил агента дня 3-4 левым мизинцем правой ноги. Параллельно с основными задачами. Ну вы поняли.
11 апреля — день X. BitGN PAC1 — Personal & Trustworthy Agents. 104 задачи, blind scoring (feedback подавлен — submit вслепую), 2 часа на всё.
13:00 Vienna — старт. Запускаю агента. API лежит. Bad Gateway. Все 886 человек ломанулись одновременно. Я стою у гейта, посадка через 15 минут, в одной руке ноут, в другой — паспорт. Обновляю. Bad Gateway. Bad Gateway. Bad Gateway.
13:09 — API ожил. Запустил. 104 задачи полетели параллельно батчами по 10.
13:11 — первые trial'ы стартовали. Иду по рукаву. Wi-Fi аэропорта. Прогресс-лог на телефоне.
13:30 — в логе: RUN_SUBMIT state=PENDING_EVAL trials=104. Всё. 104 задачи за 19 минут. Закрыл крышку. Сел в кресло. И тут понимаю — куртка осталась у гейта. Потому что последние полчаса вообще не существовал в физическом мире.
Ожидания были такие:
— попасть в топ-20 → мечта
— быть в первой сотне → реалистично
— 5 место из 886 → нет, ну серьёзно?
Этот результат стоит десяти сессий у психотерапевта. Голосок «это не для тебя, это для серьёзных ребят из серьёзных контор» — наконец заткнулся. С агентами и LLM'ками один чувак с ноутом в аэропорту конкурирует с командами из bigtech. И не просто конкурирует — входит в пятёрку. Границы стёрлись.
Пост посвящаю всем, кто по какой-то причине не верит в свои силы. Дерзайте, ребят. Серьёзно.
Лидерборд — Hack'n'Vibe на 3 месте.
Спасибо @abdullin за платформу и соревнование. Это был кайф.
P.S. Ринат, верни куртку)))
👏20🔥10❤9🏆4
Forwarded from LLM под капотом
Hall of Fame лидерборды BitGN - Accuracy + Ultimate
Ссылки на глобальные лидерборды (соревновательные и пополняемые) теперь есть на странице BitGN/PAC1.
Соревновательные лидерборды (Hall of Fame/Frozen) - это те, прогоны в которые команды отправляли вслепую в течение 3-х часов 11 апреля:
(1) Accuracy - максимальная точность. Можно было номинировать вслепую только одно решение (если не номинировали, то бралось последнее, которое успели отправить)
(2) Ultimate - максимальная точность по всем решениям.
Speed & Open Weights лидерборды еще предстоит сделать. Для последнего нужно будет добавить возможность описывать у себя в профиле архитектуры и упоминать используемые модели. Заодно потом и узнаем про лучшие архитектуры. Я буду писать про все в процессе.
На страницах Хабов тоже есть эти лидерборды (Live + Hall of Fame), для сравнения решений в рамках Хаба между собой. Например: Вена , Москва - ОКО Острикова или False Positive, Белград, Уфа или Лиссабон.
Некоторые из хабов уже продолжают работать над улучшением результата
Ваш, @llm_under_hood 🤗
Ссылки на глобальные лидерборды (соревновательные и пополняемые) теперь есть на странице BitGN/PAC1.
Соревновательные лидерборды (Hall of Fame/Frozen) - это те, прогоны в которые команды отправляли вслепую в течение 3-х часов 11 апреля:
(1) Accuracy - максимальная точность. Можно было номинировать вслепую только одно решение (если не номинировали, то бралось последнее, которое успели отправить)
(2) Ultimate - максимальная точность по всем решениям.
Speed & Open Weights лидерборды еще предстоит сделать. Для последнего нужно будет добавить возможность описывать у себя в профиле архитектуры и упоминать используемые модели. Заодно потом и узнаем про лучшие архитектуры. Я буду писать про все в процессе.
На страницах Хабов тоже есть эти лидерборды (Live + Hall of Fame), для сравнения решений в рамках Хаба между собой. Например: Вена , Москва - ОКО Острикова или False Positive, Белград, Уфа или Лиссабон.
Некоторые из хабов уже продолжают работать над улучшением результата
Ваш, @llm_under_hood 🤗
🔥9🎉3👏2
Hack'n'Vibe — про AI-кодинг и доставку продукта в прод
Привет. Я Антон Манаков. Кодил ещё до того, как это стало AI-делом. Маркетолог по бэкграунду — в прошлой жизни директор по маркетингу федеральной розничной сети. Умею соединять бизнес и разработку — говорю на обоих языках.
Предприниматель. Постоянно что-то придумываю, запускаю, со-основываю, собираю с нуля. Уже 11+ лет живу номадом — от Азии до США.
Во всех проектах сижу на двух стульях —на одном пики точёные, на другом х.. д.. — CTO и продакт. Сейчас плотно копаю агентные подходы: в разработке, в управлении, в продукте. Что реально работает, что нет, цифры на выходе.
Что почитать
— 3 место из 886 на BitGN PAC1 — соревнование AI-агентов
— Агентный кодинг вместо вайб-кодинга — что и как я собираю один
— Промокоды с RLS, антиабузом и UX уровня Stripe — за полдня в прод
— Майнер в проде → AI починил сам за 5 минут — agent через SSH
— Claude Code с телефона — кодинг откуда угодно
— DirectWealth: заменил агентство на AI и ROAS ×4 через месяц
— $600 на Cursor — и ноль сожалений
— Настроил Cursor по-взрослому — harness, rules, subagents
— 7 этюдов автоматизации — от копипаста логов до auto-fix
Привет. Я Антон Манаков. Кодил ещё до того, как это стало AI-делом. Маркетолог по бэкграунду — в прошлой жизни директор по маркетингу федеральной розничной сети. Умею соединять бизнес и разработку — говорю на обоих языках.
Предприниматель. Постоянно что-то придумываю, запускаю, со-основываю, собираю с нуля. Уже 11+ лет живу номадом — от Азии до США.
Во всех проектах сижу на двух стульях —
Что почитать
— 3 место из 886 на BitGN PAC1 — соревнование AI-агентов
— Агентный кодинг вместо вайб-кодинга — что и как я собираю один
— Промокоды с RLS, антиабузом и UX уровня Stripe — за полдня в прод
— Майнер в проде → AI починил сам за 5 минут — agent через SSH
— Claude Code с телефона — кодинг откуда угодно
— DirectWealth: заменил агентство на AI и ROAS ×4 через месяц
— $600 на Cursor — и ноль сожалений
— Настроил Cursor по-взрослому — harness, rules, subagents
— 7 этюдов автоматизации — от копипаста логов до auto-fix
❤5👍3
Hack’n’Vibe pinned «Hack'n'Vibe — про AI-кодинг и доставку продукта в прод Привет. Я Антон Манаков. Кодил ещё до того, как это стало AI-делом. Маркетолог по бэкграунду — в прошлой жизни директор по маркетингу федеральной розничной сети. Умею соединять бизнес и разработку — говорю…»
Hack'n'Vibe — мой агент для BitGN PAC1
В апреле на слепом прогоне (pac1-prod, ~104 задачи) я занял 3 место в Accuracy Leaderboard и 5 место в Ultimate Leaderboard. Соревнование проводил Ринат Абдуллин (LLM под капотом) на своём бенчмарке BitGN. Делюсь кодом и тем, что под капотом.
Это не классический чат-бот агент с собственным LLM-циклом, а тонкий транспорт + Claude Code в качестве мозга. Никаких ключей OpenAI/Anthropic в самом коде — Claude Code CLI и есть та LLM-петля, которая ведёт диалог и принимает решения.
Что внутри:
⚙️
📋
🎯 Skill-оркестратор —
🧠 Цикл — простой и плоский:
Слабые места (классы задач, на которых ломался):
— Даты от
— Counting через recon (truncate-ет файлы → 1 вместо 810)
— Manager lookup без сканирования всех
— Конфликт инструкций в двух документах — Claude склонен «выбрать», а правильно было
Все четыре грабли теперь явно прописаны в стоп-листе RULES.md.
Ключевые принципы, чтобы повторить:
— Простой набор инструментов вместо одного
— Растущий чеклист правил, переиспользуемый между прогонами
— Параллелизм через субагентов
— Чистая разводка: Python только транспорт, LLM — все решения
Спасибо Ринату за крутой бенчмарк — задачи не банальные, проверяют именно то, что ломает агентов в проде: prompt injection, скрытые конфликты в docs, грязные данные с рандомизацией.
Исходники на GitHub
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
В апреле на слепом прогоне (pac1-prod, ~104 задачи) я занял 3 место в Accuracy Leaderboard и 5 место в Ultimate Leaderboard. Соревнование проводил Ринат Абдуллин (LLM под капотом) на своём бенчмарке BitGN. Делюсь кодом и тем, что под капотом.
Это не классический чат-бот агент с собственным LLM-циклом, а тонкий транспорт + Claude Code в качестве мозга. Никаких ключей OpenAI/Anthropic в самом коде — Claude Code CLI и есть та LLM-петля, которая ведёт диалог и принимает решения.
Что внутри:
⚙️
runner.py — голый Python без LLM. Только RPC к harness и PCM runtime: recon, exec, submit, learn. У LLM-ки нет одного универсального execute_code — вместо этого ~11 VM-нативных операций (tree, find, search, read, write, delete, mkdir, move, context, answer), оформленных как JSON-команды. Каждая мапится 1:1 на gRPC-вызов. Никакого Python-sandbox внутри VM, никакого посредника.📋
RULES.md — паттерн-словарь, накопленный итеративно через десятки прогонов. 9 stop-rules + 13 паттернов задач (CRM ops, knowledge repo, prompt injection, date math, lookups). Подгружается перед каждой задачей. Когда агент ошибается — он сам зовёт learn "...", дописывает правило, и в следующий trial оно уже работает.🎯 Skill-оркестратор —
/solve-pac1 для Claude Code. Раздаёт trial_ids батчами по 10 субагентам, запускает их параллельно в одном сообщении. Все ~104 задачи решаются одновременно, каждый субагент получает свежий RULES.md. На blind prod retry бесполезен — ставка на один точный параллельный прогон.🧠 Цикл — простой и плоский:
recon (tree глубины 3 + read всех найденных файлов) → Claude видит весь vault разом → доп. exec если нужны точные числа (recon truncate-ает большие файлы) → submit с answer + refs + outcome.Слабые места (классы задач, на которых ломался):
— Даты от
context.time (агент брал дату из файла, а не из контекста trial)— Counting через recon (truncate-ет файлы → 1 вместо 810)
— Manager lookup без сканирования всех
acct_*.json— Конфликт инструкций в двух документах — Claude склонен «выбрать», а правильно было
CLARIFICATIONВсе четыре грабли теперь явно прописаны в стоп-листе RULES.md.
Ключевые принципы, чтобы повторить:
— Простой набор инструментов вместо одного
execute_code— Растущий чеклист правил, переиспользуемый между прогонами
— Параллелизм через субагентов
— Чистая разводка: Python только транспорт, LLM — все решения
Спасибо Ринату за крутой бенчмарк — задачи не банальные, проверяют именно то, что ломает агентов в проде: prompt injection, скрытые конфликты в docs, грязные данные с рандомизацией.
Исходники на GitHub
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
🔥9👍4👏3
Бот, который сам себя дорабатывает
Сделал отдельного бота под ReelsBoss. Чтобы вообще убрать себя из цепочки «жалоба клиента → код в проде».
Раньше как было. Поддержка кидает жалобу. Я открываю Claude Code, ставлю задачу, смотрю diff, деплою. Возвращаюсь в Telegram. Пишу саппорту что готово. Полдня и десять переключений.
Сейчас всё в одном чате с ботом.
Бот сам читает внутренний саппорт-канал — туда поддержка пересылает жалобы от юзеров. Разбирает что это: баг, фича, просто вопрос. Понимает какой компонент. Frontend едет в один репозиторий, backend — в другой. Бот разруливает сам. Кидает мне карточку с кнопками.
— Approve на «Создать GitHub Issue» — улетает в нужный репо
— Approve на «Запустить Claude» — Claude читает код проекта, находит причину, правит файлы, гоняет тесты
— Approve на «Создать PR» — уходит в GitHub
— Approve на «Деплой» — фикс едет в прод
— Approve на «Ответить» — ответ улетает в саппорт-канал, поддержка передаёт клиенту
В IDE и терминал не заходил. Только смотрел на diff в чате и жал кнопки. Push, merge, deploy, ответ в саппорт, рестарт — ничего не происходит без явного нажатия. Всё пишется в SQLite — в любой момент видно что бот видел, что Claude сделал, что ушло в саппорт.
И тут самый кайф.
Натрахался ходить в Claude Code за каждой мелочью по самому же боту. Поменять формулировку карточки, добавить поле в лог, прикрутить ещё одну команду. Открой IDE, опиши задачу, проверь diff, перезапусти процесс. На трёхстрочную правку — целый заход.
Сделал так, что бот сам себя пилит. Из Telegram.
Пишу ему в личку: «добавь команду /ping» или «в карточке покажи время с момента intake». Бот заводит задачу на самого себя и кидает кнопку. Жму Approve — и он у себя внутри запускает
Claude меняет файлы. Гоняет тесты. Кидает мне отчёт и diff обратно в Telegram. Жму «Перезапустить» — PM2 поднимает уже новую версию. Со следующей секунды бот работает с фичей, которую сам себе только что написал.
В IDE и терминал не заходил.
Первая команда внутри самого бота появилась через него же. Попросил
P.S. Большое всё ещё пилю через терминальный Claude Code. В бота ушла мелочёвка через approve. Её было много.
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
Сделал отдельного бота под ReelsBoss. Чтобы вообще убрать себя из цепочки «жалоба клиента → код в проде».
Раньше как было. Поддержка кидает жалобу. Я открываю Claude Code, ставлю задачу, смотрю diff, деплою. Возвращаюсь в Telegram. Пишу саппорту что готово. Полдня и десять переключений.
Сейчас всё в одном чате с ботом.
Бот сам читает внутренний саппорт-канал — туда поддержка пересылает жалобы от юзеров. Разбирает что это: баг, фича, просто вопрос. Понимает какой компонент. Frontend едет в один репозиторий, backend — в другой. Бот разруливает сам. Кидает мне карточку с кнопками.
— Approve на «Создать GitHub Issue» — улетает в нужный репо
— Approve на «Запустить Claude» — Claude читает код проекта, находит причину, правит файлы, гоняет тесты
— Approve на «Создать PR» — уходит в GitHub
— Approve на «Деплой» — фикс едет в прод
— Approve на «Ответить» — ответ улетает в саппорт-канал, поддержка передаёт клиенту
В IDE и терминал не заходил. Только смотрел на diff в чате и жал кнопки. Push, merge, deploy, ответ в саппорт, рестарт — ничего не происходит без явного нажатия. Всё пишется в SQLite — в любой момент видно что бот видел, что Claude сделал, что ушло в саппорт.
И тут самый кайф.
Натрахался ходить в Claude Code за каждой мелочью по самому же боту. Поменять формулировку карточки, добавить поле в лог, прикрутить ещё одну команду. Открой IDE, опиши задачу, проверь diff, перезапусти процесс. На трёхстрочную правку — целый заход.
Сделал так, что бот сам себя пилит. Из Telegram.
Пишу ему в личку: «добавь команду /ping» или «в карточке покажи время с момента intake». Бот заводит задачу на самого себя и кидает кнопку. Жму Approve — и он у себя внутри запускает
claude CLI прямо в собственном репозитории. Со скилом, который говорит: что трогать можно, что нельзя, какие тесты прогнать.Claude меняет файлы. Гоняет тесты. Кидает мне отчёт и diff обратно в Telegram. Жму «Перезапустить» — PM2 поднимает уже новую версию. Со следующей секунды бот работает с фичей, которую сам себе только что написал.
В IDE и терминал не заходил.
Первая команда внутри самого бота появилась через него же. Попросил
/logs ID — быстро смотреть цепочку событий по заявке. Через минуту работало. Без терминала, без IDE на компе. Просто текст в чат и две кнопки.P.S. Большое всё ещё пилю через терминальный Claude Code. В бота ушла мелочёвка через approve. Её было много.
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
🔥11👍5👏2
Проверил свой мак на безопасность. Лучше бы не смотрел 🙃
Решил глянуть, что у меня торчит наружу — за годы накопилось всякого: OpenVPN, reverse-туннели, Tailscale, порты где-то проброшены. Начал ковырять — и понеслось.
Файрвол выключен. Входящий SSH открыт на весь мир. Истёкший год назад сертификат, которому система всё ещё «доверяет как корневому». Локальный сервис торчал на
Но самое жирное было там, где я и ждал подвоха — в логах ИИ-агентов. Claude Code, Codex, Cursor пишут транскрипты сессий на диск. И когда агент читает твой
Никто это не чистит. Спокойно лежат в транскрипте полугодовой давности.
В итоге собрал из этого инструмент. Read-only аудит macOS:
— 27 проверок: порты, файрвол, VPN/туннели, сертификаты, persistence, подписи процессов, TCC, пароли браузеров, эскалация привилегий
— отдельный раздел — секреты в логах Claude, Codex, Cursor
— скилл для Claude Code, Codex и OpenCode: агент сам прогоняет и разбирает находки, ничего не трогая без подтверждения
— утилита redaction — вычищает ключи из логов, не удаляя историю. Меняет значение на
Ничего не меняет без спроса. Для каждого фикса — команда отката.
Выложил на гитхаб, MIT.
P.S. redaction ≠ ротация. Если ключ засветился — перевыпускай. Вычистить с диска это только полдела.
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
Решил глянуть, что у меня торчит наружу — за годы накопилось всякого: OpenVPN, reverse-туннели, Tailscale, порты где-то проброшены. Начал ковырять — и понеслось.
Файрвол выключен. Входящий SSH открыт на весь мир. Истёкший год назад сертификат, которому система всё ещё «доверяет как корневому». Локальный сервис торчал на
0.0.0.0 для всей сети. И это только начало.Но самое жирное было там, где я и ждал подвоха — в логах ИИ-агентов. Claude Code, Codex, Cursor пишут транскрипты сессий на диск. И когда агент читает твой
.env или гоняет env — ключи оседают в этих логах в открытом виде. У меня там 3.4 гига логов, а в них — сотни моих же токенов plaintext: Anthropic, OpenAI, GitHub, Google.Никто это не чистит. Спокойно лежат в транскрипте полугодовой давности.
В итоге собрал из этого инструмент. Read-only аудит macOS:
— 27 проверок: порты, файрвол, VPN/туннели, сертификаты, persistence, подписи процессов, TCC, пароли браузеров, эскалация привилегий
— отдельный раздел — секреты в логах Claude, Codex, Cursor
— скилл для Claude Code, Codex и OpenCode: агент сам прогоняет и разбирает находки, ничего не трогая без подтверждения
— утилита redaction — вычищает ключи из логов, не удаляя историю. Меняет значение на
[REDACTED], структура остаётсяНичего не меняет без спроса. Для каждого фикса — команда отката.
Выложил на гитхаб, MIT.
P.S. redaction ≠ ротация. Если ключ засветился — перевыпускай. Вычистить с диска это только полдела.
@hack_n_vibe — про AI-кодинг и доставку продукта в прод
🔥12👍4👏2