Как OpenCode скармливает нейросетям мусорные промпты за ваши деньги

ИИ-агенты для кодинга обещают нам полную автономность и экономию времени. Российское приложение OpenCode долгое время радовало щедрыми лимитами на бесплатные модели (вроде Big Pickle).
Но за красивым фасадом и платной подпиской Zen скрывается удивительный «костыльный» промпт-инжиниринг.
Недавно я решил разобраться, почему при подключении собственного Google API лимиты RPM сгорают моментально. Я перехватил запросы приложения через прокси-сервер на Python и ужаснулся тому, что разработчики скармливают нейросети под видом «оптимизированного контекста»
Долгое время приложение работало стабильно, пока я не решил перейти на схему BYOK (Bring Your Own Key). Подключив свой ключ Google API, я моментально уперся в ошибку лимита запросов (RPM).
Чтобы понять, почему агент делает так много тяжелых запросов, я залез в конфигурационный файл opencode.json и перенаправил трафик от OpenRouter на локальный сервер, написанный на Python. Мне удалось перехватить «сырой» системный промпт, который отправляется модели перед выполнением команд

Как OpenCode скармливает нейросетям мусорные промпты за ваши деньги

Результат реверс-инжиниринга оказался комичным. Судя по всему, кто-то из разработчиков поленился вручную составить чистую и строгую схему вызова инструментов (JSON Schema). Промпт просто сгенерировали в ChatGPT и вставили "как есть", даже не потрудившись очистить от мусора.
В описании инструментов присутствует markdown (жирный шрифт, списки). Для ИИ-модели аргументы, это бесполезно, мусор, который только тратит токены и заставляет модель работать медленее
Текст перегружен типичными для ChatGPT вводными фразами, повторениями и раздутыми примерами.

Каждый раз, когда агент проверяет файлы или запускает терминал, этот огромный, неоптимизированный кусок текста отправляется в контекст. Если вы платите за токены сами — вы буквально оплачиваете плохую работу промпт-инженера стартапа
Надеюсь, разработчики увидят этот пост и наконец-то заменят маркдаун-простыни на валидный, лаконичный JSON

1