Локальная демка агента — не проверка: автор предлагает удалённый «канареечный» прогон
Локальная демка агента — не проверка: автор предлагает удалённый «канареечный» прогон Автор DEV Community Emery Chen утверждает: если ИИ-агент (программа, которая сама выполняет шаги через инструменты) работал только на вашем ноутбуке, вы его не проверяли. Плавный локальный чат скрывает главные сбои — задержки сети, «холодный старт» сервера, очереди и расхождения в договорённостях между системами. Зелёная демка, по его словам, остаётся черновиком. Вместо оценки красоты текста он предлагает проверять «поверхность инструментов»: вызвал ли агент запрещённый инструмент, не пропал ли обязательный параметр, не превысил ли лимит шагов, не упал ли удалённый сервер раньше модели. Это вопросы для слияния кода, а не для презентации — качество формулировок можно проверить позже, когда контракт соблюдён. Метод такой. Сначала фиксируется «контракт» — файл со списком разрешённых и запрещённых инструментов, который хранится в репозитории (хранилище кода) и проверяется как обычный код: например, чтение и поиск по проекту разрешены, запуск команд и запись файлов — нет. Затем пишется несколько «фикстур» — замороженных заданий с ожидаемым результатом: например, «перескажи запрос на слияние №1842, используя только чтение файлов». Автор советует удалить любую фикстуру, которая не может провалиться. Дальше агент запускается на удалённом сервере, а не на ноутбуке. Автор приводит помеченный как пример скрипт: он отправляет задание на сервер, сверяет действия агента с контрактом и возвращает код результата — 0, если правила соблюдены, 1, если агент их нарушил, 2, если первым упал сам сервер. Скрипт встраивается в автоматическую проверку при каждом изменении кода; код 2 означает блокировку слияния, а не «пропустить». Если вы не можете указать команду на чужой сервер — вы всё ещё на localhost, и ритуал нельзя называть проверкой. Важно: материал подготовлен в рамках продвижения продукта MonkeyCode, который даёт бесплатный доступ к моделям и бесплатный сервер — автор предлагает использовать его как цель для такого удалённого прогона, но подчёркивает, что метод не зависит от одного поставщика: если этот хост не подходит, нужен любой другой удалённый сервер. Автор честно очерчивает границы. Канарейка не доказывает правильность ответов — она лишь показывает, что агент не вышел за рамки разрешённых инструментов; после зелёного отчёта всё равно нужна проверка человеком. Она пропустит тихие логические ошибки внутри разрешённых инструментов, «отравленные» файлы, которые агенту разрешили читать, и перерасход, не превышающий лимит шагов. Метод не подходит, если агенту разрешён прямой запуск команд — список разрешений для такой «оболочки» автор называет пожатием плечами. Ещё две оговорки: удалённый сервер не равен продакшену — бесплатный хост может отличаться по очередям и лимитам, и автор не придумывает цифр для этих разрывов; локальная среда оптимистична, удалённая — менее, но ни одна не является боевым окружением. И метод не нужен вовсе, если вы делаете одноразовый эксперимент, правите текст без инструментов или модель не вызывает функций. Практический итог для команды: зафиксировать список инструментов в файле, прогонять замороженные задания на удалённом сервере при каждом изменении и принимать слияние только при коде 0. Скриншот удачного чата доказательством не считается — рецензент вправе требовать код результата. Источник: https://dev.to/airs_6907/stop-calling-it-staging-if-the-agent-never-leaves-localhost-oh1