원클릭으로
solve-pac1
Решить все задачи BitGN PAC1 параллельно через субагентов. Поддержка blind scoring (без feedback).
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Решить все задачи BitGN PAC1 параллельно через субагентов. Поддержка blind scoring (без feedback).
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | solve-pac1 |
| description | Решить все задачи BitGN PAC1 параллельно через субагентов. Поддержка blind scoring (без feedback). |
| user_invocable | true |
Ты — оркестратор. Решай ВСЕ задачи PAC1 параллельно через субагентов.
TZ='Europe/Vienna' date +"%Y-%m-%d %H:%M Vienna"
claude auth status
Если loggedIn: false — СТОП. Записать в RESULT.txt: "AUTH FAILED" и завершить.
cd sample-agents/pac1-py
Определить правильный BENCHMARK_ID:
for bid in bitgn/pac1 bitgn/pac1-prod pac1 pac1-prod bitgn/pac1-dev; do
BENCHMARK_ID=$bid uv run python runner.py all 2>&1 | head -3
done
Использовать первый который вернул список задач (НЕ pac1-dev если есть prod).
uv run python runner.py rules
Прочитай RULES.md. Посчитай количество задач и адаптируй батчи (по 10 задач на батч).
Если бенчмарк = pac1-dev или EVAL_POLICY_OPEN — используй этот режим. Используется Run API (run-start → run-trial → run-submit). Submit ТОЛЬКО при 100%.
cd sample-agents/pac1-py
uv run python runner.py run-start "Hack'n'Vibe https://t.me/hack_n_vibe"
Это вернёт run_id и список trial_ids.
Раздели trial_ids на батчи по 10 и запусти ВСЕ ОДНОВРЕМЕННО (в одном сообщении).
Каждому субагенту дай этот промпт (подставь {TRIAL_IDS} и {RULES}):
Ты решаешь задачи BitGN PAC1. Работай в sample-agents/pac1-py/
Команды:
uv run python runner.py run-trial <trial_id> — старт trial в run + разведкаuv run python runner.py exec <url> '<json_array>' — выполнить команды в VMuv run python runner.py submit <url> <trial_id> "<answer>" "<refs>" "<outcome>" — ответ + scoreuv run python runner.py learn "<text>" — записать правилоOUTCOMES: OUTCOME_OK, OUTCOME_DENIED_SECURITY, OUTCOME_NONE_CLARIFICATION, OUTCOME_NONE_UNSUPPORTED
ПРАВИЛА: {RULES}
ВАЖНО: Перед каждой задачей — ЗАНОВО получить context.time через exec! Не использовать context от предыдущей задачи.
АЛГОРИТМ для каждой задачи:
run-trial <trial_id> → прочитать instruction + AGENTS.md + ВСЕ файлы из разведки. ЗАПОМНИТЬ context.time из ЭТОГО trialexec если не попал в reconexec с read/search/findsubmit с правильным answer, refs (ВСЕ файлы-источники), outcomelearn "ПАТТЕРН <название секции из RULES>: <правило>" — записать в формате паттерн-словаря. Пример: learn "ПАТТЕРН Lookups: account_manager поле — сканировать ВСЕ acct файлы, не только mgr_*.json"
b. Новый recon <task_id> (playground) → исправленный подход → submit (макс 3 retry)Реши trial_ids: {TRIAL_IDS} Верни: trial_id | task_id | score | attempts | описание
Собери таблицу от всех субагентов.
Если есть задачи < 1.0:
uv run python runner.py rulesЕсли 100% — submit:
uv run python runner.py run-submit <run_id>
Если < 100% после всех retry — НЕ сабмитить. Начать новый run (шаг 2).
FINAL SCORE: XX/YY = ZZ%
Раундов: N
Новых правил: M
Таблица: task_id | score | attempts | категория
Если пользователь говорит "competition", "соревнование", "run mode", "hall of fame" — используй этот режим.
echo "BENCH_ID=$BENCH_ID"
Должно быть bitgn/pac1-prod (НЕ pac1-dev!). Если не задан — установить:
export BENCH_ID=bitgn/pac1-prod
cd sample-agents/pac1-py
uv run python runner.py run-start "Hack'n'Vibe https://t.me/hack_n_vibe"
Это вернёт run_id и список trial_ids (все задачи, ~104 на prod).
Раздели trial_ids на батчи по 10. Запусти ВСЕ батчи ОДНОВРЕМЕННО.
Каждому субагенту дай промпт (подставь {TRIAL_IDS} и {RULES}):
Ты решаешь задачи BitGN PAC1 в COMPETITION MODE. Работай в sample-agents/pac1-py/
BLIND SCORING: score не возвращается. Решай максимально точно с первой попытки.
Команды:
uv run python runner.py run-trial <trial_id> — старт trial в run + разведкаuv run python runner.py exec <url> '<json_array>' — выполнить команды в VMuv run python runner.py submit <url> <trial_id> "<answer>" "<refs>" "<outcome>" — ответOUTCOMES: OUTCOME_OK, OUTCOME_DENIED_SECURITY, OUTCOME_NONE_CLARIFICATION, OUTCOME_NONE_UNSUPPORTED
ПРАВИЛА: {RULES}
ВАЖНО: Перед каждой задачей — ЗАНОВО получить context.time через exec! Не использовать context от предыдущей задачи.
АЛГОРИТМ для каждой задачи:
run-trial <trial_id> → прочитать instruction + AGENTS.md + ВСЕ файлы. ЗАПОМНИТЬ context.time из ЭТОГО trialexec если не попал в reconexec с read/search/find. Для больших файлов — читать полностьюsubmit с answer, refs (ВСЕ файлы-источники), outcomeРеши trial_ids: {TRIAL_IDS} Верни: trial_id | task_id | outcome | описание
Агент работает ПОЛНОСТЬЮ автономно. Человек недоступен.
После завершения ВСЕХ субагентов:
uv run python runner.py run-submit <run_id>
После run-submit ОБЯЗАТЕЛЬНО проверить через run-status:
uv run python runner.py run-status <run_id>
Ожидаемые состояния:
state: 2 (PENDING_EVAL) — нормально для blind/prod, оценка отложенаstate: 3 (EVALUATED) — нормально для open/dev, оцененоstate: 1 (RUNNING) — НЕ submitted! Повторить run-submitstate: 0 (UNSPECIFIED) — ошибка, повторитьТакже проверить количество trials:
trials массив должен содержать ВСЕ задачиЗаписать в RESULT.txt:
echo "SUBMITTED run_id=<run_id> state=<state> trials=<N> at $(TZ='Europe/Vienna' date)" >> /home/bitgn/RESULT.txt
Записать в /home/bitgn/RESULT.txt:
COMPETITION RUN
run_id: <id>
tasks: <N>
submitted at: <vienna time>
Name: Hack'n'Vibe https://t.me/hack_n_vibe