← На главную

Тест LLM на Magic через MCP: дёшево, но ошибки фатальны

11.06.2026 16:01 · hackernews

Автор сделал бенчмарк для LLM на основе Magic: The Gathering. Идея простая: если модель достаточно умна, чтобы нормально играть в Magic, ей не нужен внешний engine для проверки правил. Да, rules engine поднял бы планку, но не улучшил бы общее качество симуляции.

Каждый вызов LLM получает доступ к MCP-серверу с примитивными операциями над библиотекой: взять карту сверху, вернуть снизу, перетасовать. Для сложных действий вроде scry или surveil модель использует несколько таких вызовов. Всё остальное — законность ходов, подсчёт очков — проверял gpt-5.5 (medium). Оказалось, модели гораздо лучше оценивают, легален ли ход, чем сами его делают.

Почему MCP, а не обычные function calling? Автор выбрал удалённый MCP-сервер. OpenAI и Anthropic позволяют передать его URL в API, и они сами управляют циклом агента. Это даёт два бонуса. Первый: один API-запрос вместо серии, поэтому не платишь за кэширование входных токенов после каждого вызова инструмента (по крайней мере, у OpenAI). Второй: можно использовать batch API со скидкой 50%, не отправляя новый батч после каждого шага.

С кэшированием входных токенов проблема. При обычном цикле агента ты платишь за большой system prompt как за кэшированный после каждого tool call. Пример: 10k токенов промпта, 10 вызовов инструментов — получится 110k оплаченных токенов. Автор считает это бессмысленным, когда модель ждёт ответа доли секунды. OpenAI с удалённым MCP считает один раз. У Anthropic — как в примере выше. Для gpt-5.5 средний расход на ход — 11 386 токенов. Для claude-fable-5 — 51 610.

Бенчмарк жёстко наказывает модели, которые слишком рьяно дёргают инструменты. Обычно лишний вызов — просто потраченные токены. Но в Magic всё иначе. Дёрнул карту, понял, что ошибся — обратно не положишь. Даже если вернёшь, ты уже знаешь, что это за карта, симуляция нелегальна. Частая ошибка: модель начинает вызов, понимает, что накосячила, и не может это исправить. В примере с Opus 4.8 модель сначала тянет карту с причиной «Draw for turn», потом возвращает её с причиной «No-op check not needed; cancel», потом снова возвращает карту «x» с причиной «noop», и ещё раз с «stop».

Проект называется MTG Auto Deck. Автор сделал его как эксперимент с vibe coding — ни строчки кода вручную. Есть живая версия с аккаунтами и платежами, но он не рекомендует за неё платить. Сейчас модели, которые умеют нормально играть, слишком медленные и дорогие. Симуляция хода за ходом работает медленнее, чем ручной тест колоды в любом онлайн-инструменте. Запускать десятки симуляций параллельно — слишком дорого. Но с появлением дешёвых и быстрых моделей приложение может стать полезным: сотни симуляций с аналитикой по картам или автоподбор колоды.

Читать оригинал →