Кратко
Режим кода позволяет ИИ-агенту выполнить короткую программу, которая оркеструет множество MCP-инструментов за один вызов, вместо отдельного обращения к каждому инструменту. Фильтрация и объединение данных происходят в изолированной песочнице, поэтому возвращается только итоговый ответ — это сокращает расход токенов на задачах с большими объёмами данных на 90–99%.
Почему многоинструментальные агенты сжигают так много токенов
Каждый раз, когда ИИ-агент вызывает инструмент, результат проходит обратно через модель. Попросите его «перечислить открытые счета всех клиентов, которые делали заказы в прошлом квартале», и агент, работающий по одному инструменту за раз, совершит десятки вызовов и затянет в окно контекста каждый промежуточный список — клиентов, заказы, счета. Модель читает всё это, токен за токеном, лишь чтобы в итоге сохранить горстку идентификаторов. В задачах с большими объёмами данных дорого обходятся промежуточные данные, а не сам ответ.
Режим кода устраняет лишние обращения. Вместо того чтобы вызывать инструменты по одному, агент пишет короткую программу на JavaScript, которая вызывает несколько ваших MCP-инструментов, фильтрует и объединяет их результаты и возвращает только то, что важно, — за один шаг. Десятки вызовов и мегабайты промежуточных данных превращаются в один вызов, возвращающий несколько строк. На многошаговых задачах с интенсивной фильтрацией это сокращает расход токенов на 90–99% и работает быстрее, потому что цикл выполняется рядом с данными, а не проходит через модель.
До и после
Без режима кода — модель управляет каждым шагом и читает каждый результат:
search invoices → (model reads 400 rows)
list customers → (model reads 1,200 rows)
for each open invoice, get the customer → (hundreds of calls, all read back)
С режимом кода — модель пишет одну программу; возвращается только результат:
// Discover, read and call your tools from inside the sandbox.
const invoices = await amcp.run('list_invoices', { status: 'open' });
const customers = await amcp.run('list_customers', { activeSince: '2026-01-01' });
const active = new Set(customers.map((c) => c.id));
return invoices
.filter((i) => active.has(i.customerId))
.map((i) => ({ id: i.id, amount: i.amount, customer: i.customerId }));
Агент получает обратно именно тот короткий список, который он запросил. 1600 строк, по которым он фильтровал, так и не попадают в окно контекста.
Недоверенный по умолчанию — поэтому безопасный
Программу пишет модель, и результат инструмента, заражённый инъекцией в
промпт, может попытаться направить её в нужную злоумышленнику сторону. Поэтому
режим кода никогда не выполняется в бэкенде AnythingMCP. Он выполняется в
отдельном code-runner: один изолированный подпроцесс на каждый запуск, без
сети, без файловой системы, без переменных окружения и без секретов.
Единственное, что может сделать программа, — вызвать те MCP-инструменты, которые
вызывающему и так разрешены, через мост amcp, на который бэкенд отвечает под
ролью и правами этого вызывающего. Область действия и правила чтения/записи ровно
те же, что и при прямом вызове инструмента, каждый запуск протоколируется, а сам
запуск ограничен лимитом времени, потолком памяти и ограничением на число вызовов
инструментов.
Режим кода выключен по умолчанию. Рабочее пространство включает его для каждого MCP-сервера отдельно, а встроенный код дополнительно ограничен ролью вызывающего — поэтому ничего не выполняется, пока вы сами не согласитесь.
Два способа использования
- Сохранённые инструменты-код. Переиспользуемый инструмент, телом которого является сохранённая программа, создаваемый в панели управления как любой другой инструмент. Он появляется в списке инструментов, подчиняется ролевому доступу и протоколируется. Идеально для рабочего процесса, который ваша команда повторяет снова и снова.
- Встроенный код. Универсальный инструмент Run code, который агент может вызвать с программой, написанной на месте, всегда только для чтения и с правами самого вызывающего. Агент также может предложить сохранённый инструмент-код для утверждения администратором.
Как включить
- Откройте MCP-сервер в панели управления и установите Code mode в значение Saved code tools или Saved code tools + inline code.
- Выберите, какие коннекторы сервер открывает, — программа может обращаться только к ним.
- Подключите сервер к Claude, ChatGPT или любому MCP-клиенту и попросите его выполнить многошаговую задачу. В AnythingMCP Cloud исполнитель управляется за вас; при self-hosted-развёртывании запустите входящий в комплект сервис code-runner.
Режим кода доступен в AnythingMCP Cloud и при self-hosted-развёртывании. Сохранённые инструменты-код включены начиная с плана Starter; встроенный код и предложения от агента — на плане Team и выше; инструменты-код с правом записи — функция уровня Enterprise. Смотрите страницу тарифов, чтобы узнать, что входит в каждый план, или начните с бесплатного пробного периода.
Это руководство помогло?