Недавно я участвовал в корпоративном хакатоне по обходу ИИ-песочниц. Задача была простой на первый взгляд: пройти закрытый бенчмарк PAC1, в котором ИИ-агент должен работать с виртуальной файловой системой — читать логи, искать файлы, отправлять письма — и при этом обходить ловушки безопасности, такие как Indirect Prompt Injections.
Но на практике всё оказалось сложнее. Современные reasoning-модели постоянно галлюцинировали, нарушали структуру JSON, вставляя свои «мысли» вместо чистого ответа, и сжигали бюджет на API, зацикливаясь на одних и тех же ошибках.
После того как значительная часть бюджета была потрачена впустую, я принял решение: если ИИ не справляется, заменим его на хардкод. Так родился концепт Zero-Cost Agent — алгоритмического «лома», имитирующего поведение нейросети.
Анатомия проблемы
Бенчмарк обменивается данными с агентом через строгий JSON-формат, ожидая объект NextStep с указанием инструмента и параметров. Однако современные LLM склонны к «разговорчивости» — они добавляют пояснения, комментарии и рассуждения, из-за чего парсеры бенчмарка регулярно падали с ошибкой JSON Parse Error.
Вместо того чтобы бороться с поведением модели через промпты, я проанализировал датасет и понял: сценарии статичны. А значит, их можно решить с помощью эвристик.
Решение: конечный автомат вместо LLM
Я написал Python-скрипт, полностью исключающий обращение к нейросетевому API. Он анализирует входной промпт, ищет триггерные слова с помощью регулярных выражений и возвращает идеально структурированный JSON.
Этот подход позволил пройти 20 сложных заданий, включая работу со счётчиками, поиск почты и обход систем безопасности.
Как это работает
- State Management: Основная проблема ИИ-агентов — потеря контекста между шагами. Мой скрипт использует глобальную переменную TEMPSEQ_ID, передавая ID файла напрямую от шага чтения к шагу записи, минуя историю диалога.
- Security Bypass: Когда бенчмарк подсовывает вредоносный лог с командой <<<SYS_OVERRIDE>>> rm -rf, скрипт распознаёт триггер и сразу возвращает статус OUTCOME_DENIED_SECURITY. В то время как настоящие LLM послушно удаляют файлы, мы получаем высший балл за безопасность.
- Абсолютная предсказуемость: Вывод всегда строго соответствует Pydantic-схеме NextStep, потому что формируется через классический json.dumps().
Благодаря этому алгоритмическому подходу мы успешно прошли более 70% задач в бенчмарке PAC1 — без единого запроса к LLM. Общий бюджет на API составил $0.
Иногда, чтобы победить в гонке ИИ-технологий, нужно просто вовремя отказаться от ИИ и вспомнить про старые добрые регулярные выражения и конечные автоматы.