[{"data":1,"prerenderedAt":73},["ShallowReactive",2],{"wiki-mcp-evaluating-mcp-servers-ru":3},{"meta":4,"html":8,"headings":9,"words":72},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Оценка MCP-сервера на моделях","Оценка MCP-сервера на моделях: задачи с проверяемым результатом, повторные попытки, pass@k и pass^k, метрики, матрица моделей и хостов, стенограммы.","2026-11-03","\u003Cp>\u003Cstrong>Оценка MCP-сервера на моделях\u003C/strong> - прогон фиксированного набора задач через модель с подключённым сервером, по нескольку раз на каждую задачу, с автоматической проверкой результата и замером вызовов инструментов, токенов, времени и ошибок. Она показывает, выполняют ли модели задачи, для которых сервер создан, с помощью его инструментов, их описаний и результатов. Место оценки среди других уровней тестирования описано в статье \u003Ca href=\"/ru/wiki/mcp/testing-mcp-servers\" class=\"wiki-link wiki-link--article\">Тестирование MCP-серверов: основы\u003C/a>.\u003C/p>\n\u003Cp>Спецификация MCP, текущая версия \u003Cstrong>2026-07-28\u003C/strong>, описывает протокол и не описывает оценку: в документации протокола такого раздела нет. Метод для инструментов агентов описан Anthropic в двух инженерных статьях: «Writing effective tools for agents» (11 сентября 2025) и «Demystifying evals for AI agents» (9 января 2026). Кроме того, Anthropic публикует руководство и стенд для оценки \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"mcp-server\">MCP-серверов\u003C/span> в составе скила \u003Ccode>mcp-builder\u003C/code> в репозитории \u003Ccode>anthropics/skills\u003C/code>.\u003C/p>\n\u003Ch2 id=\"кратко\" class=\"wiki-heading\">Кратко\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"кратко\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Параметр\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Объект\u003C/td>\n\u003Ctd>Инструменты, описания и результаты MCP-сервера в работе модели\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Единица\u003C/td>\n\u003Ctd>Задача: входной промпт и критерии успеха\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Повторение\u003C/td>\n\u003Ctd>Несколько попыток каждой задачи\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Оценщики\u003C/td>\n\u003Ctd>Код (точный ответ, проверка состояния), модель (LLM-as-judge), человек\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Метрики\u003C/td>\n\u003Ctd>Доля успешных попыток, pass@k, pass^k, вызовы инструментов, токены, время, ошибки инструментов\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>В спецификации MCP\u003C/td>\n\u003Ctd>Не описана\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Основные источники\u003C/td>\n\u003Ctd>Инженерные статьи Anthropic, 2025-2026\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"какую-задачу-решает\" class=\"wiki-heading\">Какую задачу решает\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"какую-задачу-решает\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"unit-test\">Модульные тесты\u003C/span> и тестирование соответствия проверяют код и протокол, но не показывают, что модель делает с сервером: она может вызвать не тот инструмент, неверно заполнить аргументы или остановиться, не закончив задачу.\u003C/p>\n\u003Cp>Ручная проверка в чат-ассистенте даёт одну попытку одного сценария. Её нельзя точно повторить, а результат нельзя сравнить между двумя версиями описаний или двумя моделями.\u003C/p>\n\u003Cp>Оценка заменяет это фиксированным набором задач, автоматической проверкой и повторными попытками. Её числа можно сравнивать между версиями сервера, версиями описаний и моделями.\u003C/p>\n\u003Ch2 id=\"из-чего-состоит-оценка\" class=\"wiki-heading\">Из чего состоит оценка\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"из-чего-состоит-оценка\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Словарь ниже определён в статье «Demystifying evals for AI agents». В третьем столбце - что каждая часть означает для MCP-сервера.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Часть\u003C/th>\n\u003Cth>Определение\u003C/th>\n\u003Cth>Для MCP-сервера\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Задача (task)\u003C/td>\n\u003Ctd>Отдельный тест с заданными входными данными и критериями успеха\u003C/td>\n\u003Ctd>Запрос пользователя, для которого нужны инструменты сервера\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Попытка (trial)\u003C/td>\n\u003Ctd>Одно выполнение задачи\u003C/td>\n\u003Ctd>Один проход агентного цикла по задаче\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Оценщик (grader)\u003C/td>\n\u003Ctd>Логика, которая оценивает одну сторону результата\u003C/td>\n\u003Ctd>Точный ответ, проверка состояния, LLM-as-judge\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стенограмма (transcript)\u003C/td>\n\u003Ctd>Полная запись попытки\u003C/td>\n\u003Ctd>Сообщения, вызовы инструментов, аргументы, результаты, рассуждения\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Итоговое состояние (outcome)\u003C/td>\n\u003Ctd>Состояние окружения после попытки\u003C/td>\n\u003Ctd>Например, запись, которую создал инструмент\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стенд оценки (evaluation harness)\u003C/td>\n\u003Ctd>Инфраструктура, которая запускает задачи, записывает шаги, проверяет и сводит результаты\u003C/td>\n\u003Ctd>Скрипт или фреймворк вокруг API модели\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Агентная обвязка (agent harness)\u003C/td>\n\u003Ctd>Система, которая позволяет модели действовать как агент\u003C/td>\n\u003Ctd>Хост или SDK для агентов\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Статья подчёркивает: оценить агента - значит оценить модель и агентную обвязку вместе. Для MCP-сервера третий компонент - сам сервер.\u003C/p>\n\u003Ch2 id=\"задачи\" class=\"wiki-heading\">Задачи\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"задачи\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"какой-должна-быть-задача\" class=\"wiki-heading\">Какой должна быть задача\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"какой-должна-быть-задача\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Anthropic рекомендует задачи из реального использования и на реальных данных, а не в упрощённой песочнице. Сильная задача требует нескольких вызовов инструментов, иногда десятков. Слабая задача называет всё прямо: назначить встречу с указанным адресом почты. Сильная задача требует сначала найти данные: назначить встречу по проекту, приложить заметки с прошлой встречи и забронировать переговорную.\u003C/p>\n\u003Cp>Статья «Demystifying evals» добавляет практические правила:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Источник.\u003C/strong> Для начала достаточно 20-50 простых задач, взятых из реальных сбоев. Такие задачи дают баг-трекер и обращения в поддержку.\u003C/li>\n\u003Cli>\u003Cstrong>Однозначность.\u003C/strong> Два эксперта выносят по результату один и тот же вердикт. У каждой задачи есть эталонное решение.\u003C/li>\n\u003Cli>\u003Cstrong>Баланс.\u003C/strong> В наборе есть задачи, где инструмент нужно вызвать, и задачи, где вызов - ошибка.\u003C/li>\n\u003Cli>\u003Cstrong>Сломанные задачи.\u003C/strong> Задача, которую не проходит ни одна попытка, обычно указывает на \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"defect\">дефект\u003C/span> задачи или оценщика, а не агента.\u003C/li>\n\u003C/ul>\n\u003Cp>Руководство \u003Ccode>mcp-builder\u003C/code> добавляет, что вопросы независимы друг от друга, требуют только операций чтения и имеют ответы, которые не меняются со временем: число реакций на сообщение не подходит, факт о закрытом проекте подходит.\u003C/p>\n\u003Ch3 id=\"проверяемый-результат\" class=\"wiki-heading\">Проверяемый результат\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"проверяемый-результат\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>В таблице - три вида оценщиков, которые применяют для MCP-серверов.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Оценщик\u003C/th>\n\u003Cth>Что проверяет\u003C/th>\n\u003Cth>Ограничения\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Точный ответ\u003C/td>\n\u003Ctd>Итоговый ответ совпадает с известным значением\u003C/td>\n\u003Ctd>Задача должна задать формат ответа\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Проверка состояния\u003C/td>\n\u003Ctd>Окружение после попытки: запись есть, статус изменился\u003C/td>\n\u003Ctd>Нужен доступ к системе за сервером\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>LLM-as-judge\u003C/td>\n\u003Ctd>Другая модель оценивает ответ по рубрике\u003C/td>\n\u003Ctd>Недетерминирован, нужна калибровка людьми\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Точный ответ подходит для вопросов с одним значением: имя, дата, число. Оценщик не должен отклонять верный ответ из-за форматирования или равнозначной формулировки, поэтому задача указывает формат, например «use YYYY/MM/DD».\u003C/p>\n\u003Cp>Проверка состояния оценивает итог, а не отчёт агента: оценщик ищет бронь в базе данных, а не верит словам агента, что бронь сделана. Для инструментов, которые меняют данные, это основной вид оценщика.\u003C/p>\n\u003Cp>\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"llm-as-judge\">LLM-as-judge\u003C/span> применяют, когда результат - свободный текст. Общий метод, рубрики и калибровка описаны в статье \u003Ca href=\"/ru/wiki/ai-testing/testing-llm-applications\" class=\"wiki-link wiki-link--article\">Тестирование LLM-приложений\u003C/a>.\u003C/p>\n\u003Cp>В задаче можно перечислить и ожидаемые инструменты, но Anthropic предостерегает от излишней детализации: у задачи часто несколько верных путей решения, и оценивается результат, а не путь.\u003C/p>\n\u003Ch3 id=\"описание-задачи\" class=\"wiki-heading\">Описание задачи\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"описание-задачи\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Спецификация и статьи не определяют формат файла задач. Пример ниже показывает поля, которые обычно нужны описанию задачи; имена полей произвольные.\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;id&quot;: &quot;issues-017&quot;,\n  &quot;split&quot;: &quot;train&quot;,\n  &quot;prompt&quot;: &quot;Find the bug that was reopened most often in the Billing project during March 2026 and add the label needs-review to it. Reply with the issue key only.&quot;,\n  &quot;grader&quot;: [\n    { &quot;type&quot;: &quot;exact_answer&quot;, &quot;expected&quot;: &quot;BILL-482&quot; },\n    { &quot;type&quot;: &quot;state_check&quot;, &quot;query&quot;: &quot;labels of BILL-482&quot;, &quot;expected_contains&quot;: &quot;needs-review&quot; }\n  ],\n  &quot;expected_tools&quot;: [&quot;search_issues&quot;, &quot;get_issue_history&quot;, &quot;update_issue&quot;],\n  &quot;tags&quot;: [&quot;search&quot;, &quot;write&quot;]\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Поле \u003Ccode>split\u003C/code> отделяет задачи для настройки от отложенных. Поле \u003Ccode>expected_tools\u003C/code> сравнивается со стенограммой, но не решает исход.\u003C/p>\n\u003Ch2 id=\"запуск-оценки\" class=\"wiki-heading\">Запуск оценки\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"запуск-оценки\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"агентный-цикл\" class=\"wiki-heading\">Агентный цикл\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"агентный-цикл\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Anthropic рекомендует запускать оценку прямыми вызовами API модели, а не через чат-интерфейс. У каждой задачи свой цикл: модель вызывает инструменты и получает результаты, пока не даст итоговый ответ.\u003C/p>\n\u003Cdiv class=\"wiki-code wiki-code--plain\">\u003Cpre>\u003Ccode>Evaluation harness\n |\n +-- tools/list --------------------------&gt; MCP server (version under test)\n |     name, description, inputSchema\n |\n +-- task prompt + tool definitions ------&gt; model API\n |                                            |\n |   &lt;------------------------------------ tool call (name, arguments)\n +-- tools/call --------------------------&gt; MCP server\n |   &lt;------------------------------------ result or isError: true\n +-- tool result ------------------------&gt; model API\n |     ... repeated until a final answer ...\n |\n +-- final answer + environment state ----&gt; graders\n +-- transcript, counters, timings -------&gt; result record\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Описания инструментов, которые получает модель, берутся из \u003Ccode>tools/list\u003C/code> проверяемой версии сервера, поэтому изменённое описание доходит до модели без правок стенда.\u003C/p>\n\u003Cp>Системный промпт просит агента дать структурированный ответ, который может разобрать оценщик, и писать рассуждения и обратную связь перед вызовами инструментов; по ним в стенограмме видно, почему агент выбрал инструмент или не стал его вызывать.\u003C/p>\n\u003Ch3 id=\"изолированные-попытки\" class=\"wiki-heading\">Изолированные попытки\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"изолированные-попытки\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Каждая попытка начинается с чистого окружения: общее состояние делает сбои связанными, а в примере из статьи «Demystifying evals» Claude прочитал историю git, оставшуюся от предыдущих попыток. Для MCP-сервера это означает сброс тестовых данных перед каждой попыткой и \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"state-handle\">идентификаторы состояния\u003C/span>, которые не переживают попытку.\u003C/p>\n\u003Ch3 id=\"запись-результата\" class=\"wiki-heading\">Запись результата\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"запись-результата\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Каждая попытка даёт запись, в которой входные параметры прогона хранятся вместе с результатами. Пример ниже - один из возможных форматов; имена полей произвольные.\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;task_id&quot;: &quot;issues-017&quot;,\n  &quot;trial&quot;: 3,\n  &quot;model&quot;: &quot;model-a&quot;,\n  &quot;agent_harness&quot;: &quot;eval-loop-1.2&quot;,\n  &quot;server_version&quot;: &quot;1.5.0&quot;,\n  &quot;passed&quot;: false,\n  &quot;graders&quot;: [\n    { &quot;type&quot;: &quot;exact_answer&quot;, &quot;passed&quot;: true },\n    { &quot;type&quot;: &quot;state_check&quot;, &quot;passed&quot;: false }\n  ],\n  &quot;tool_calls&quot;: 14,\n  &quot;tool_errors&quot;: 3,\n  &quot;protocol_errors&quot;: 0,\n  &quot;input_tokens&quot;: 48210,\n  &quot;output_tokens&quot;: 2315,\n  &quot;duration_ms&quot;: 41870,\n  &quot;transcript&quot;: &quot;runs/2026-11-03/issues-017-3.jsonl&quot;\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"tool-execution-error\">Ошибки выполнения инструмента\u003C/span> (результаты с \u003Ccode>isError: true\u003C/code>) и \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"protocol-error\">ошибки протокола\u003C/span> (ошибки JSON-RPC) считаются отдельно: первые доходят до модели, вторые обычно нет.\u003C/p>\n\u003Ch2 id=\"повторные-попытки-и-доли-успеха\" class=\"wiki-heading\">Повторные попытки и доли успеха\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"повторные-попытки-и-доли-успеха\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Одна и та же задача в разных попытках даёт разные последовательности вызовов инструментов. Одна успешная попытка показывает, что задачу можно решить, но не что она решается надёжно, поэтому результат задачи - доля успешных попыток. Результаты k попыток одной задачи описывают две метрики.\u003C/p>\n\u003Cp>\u003Cstrong>pass@k\u003C/strong> - вероятность, что успешна хотя бы одна из k попыток. Метрику ввела статья «Evaluating Large Language Models Trained on Code» (Chen и соавторы, июль 2021) для генерации кода. Статья оценивает её по n ≥ k попыткам, из которых c успешны, как 1 - C(n-c, k) / C(n, k) с усреднением по задачам; C - биномиальный коэффициент.\u003C/p>\n\u003Cp>\u003Cstrong>pass^k\u003C/strong> - вероятность, что успешны все k попыток. Метрику предложила статья о τ-bench (Yao и соавторы, июнь 2024) для измерения надёжности агентов.\u003C/p>\n\u003Cp>При k = 1 обе метрики равны доле успешных попыток. С ростом k pass@k приближается к 100 процентам, а pass^k - к нулю. Статья «Demystifying evals» приводит пример: при 75 процентах успеха на попытку вероятность, что три попытки подряд успешны, равна 0,75³, около 42 процентов.\u003C/p>\n\u003Cp>В таблице обе метрики для независимых попыток с постоянной долей успеха на попытку p, посчитанные как 1 - (1 - p)^k и p^k.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Доля успеха на попытку\u003C/th>\n\u003Cth>pass@3\u003C/th>\n\u003Cth>pass^3\u003C/th>\n\u003Cth>pass^10\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>50%\u003C/td>\n\u003Ctd>87.5%\u003C/td>\n\u003Ctd>12.5%\u003C/td>\n\u003Ctd>0.1%\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>75%\u003C/td>\n\u003Ctd>98.4%\u003C/td>\n\u003Ctd>42.2%\u003C/td>\n\u003Ctd>5.6%\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>90%\u003C/td>\n\u003Ctd>99.9%\u003C/td>\n\u003Ctd>72.9%\u003C/td>\n\u003Ctd>34.9%\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>99%\u003C/td>\n\u003Ctd>100%\u003C/td>\n\u003Ctd>97.0%\u003C/td>\n\u003Ctd>90.4%\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>pass@k подходит для сценария, где достаточно одного успеха, например когда разработчик может повторить запрос. pass^k подходит для сценария, где каждый запуск обязан быть успешным, например для агента, который обслуживает пользователей без надзора.\u003C/p>\n\u003Ch2 id=\"метрики\" class=\"wiki-heading\">Метрики\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"метрики\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>В таблице - метрики, которые рекомендует собирать Anthropic, и на что они указывают для MCP-сервера.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Метрика\u003C/th>\n\u003Cth>Что показывает\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Доля успешных попыток\u003C/td>\n\u003Ctd>Доля попыток, в которых прошли все оценщики\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Число вызовов инструментов\u003C/td>\n\u003Ctd>Насколько прямо агент идёт к результату; рост указывает на недостающие инструменты или фильтры\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Токены\u003C/td>\n\u003Ctd>Объём описаний и результатов в контексте модели\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Время задач и вызовов инструментов\u003C/td>\n\u003Ctd>Задержка сервера и всего цикла\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Ошибки инструментов\u003C/td>\n\u003Ctd>Вызовы с \u003Ccode>isError: true\u003C/code>: неверные аргументы, сбои системы за сервером\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Последовательности вызовов\u003C/td>\n\u003Ctd>Типовые сценарии работы и кандидаты на объединение инструментов\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Метрики сравнимы только на одном и том же наборе задач.\u003C/p>\n\u003Ch2 id=\"матрица-моделей-и-хостов\" class=\"wiki-heading\">Матрица моделей и хостов\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"матрица-моделей-и-хостов\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Модели по-разному выбирают инструменты. По данным Anthropic, даже схема имён инструментов, префикс или суффикс с названием сервиса, даёт разные результаты на разных моделях.\u003C/p>\n\u003Cp>На результат влияет и хост, потому что он собирает контекст модели: какие инструменты видит модель, какой системный промпт их окружает, как обрабатываются длинные результаты. Пример - поле \u003Ccode>instructions\u003C/code> в результате \u003Ccode>server/discover\u003C/code>: по схеме клиент может его использовать, например добавить в системный промпт, но не обязан. Anthropic упоминает ещё одну особенность конкретного хоста: Claude Code по умолчанию ограничивает ответ инструмента 25 000 токенов.\u003C/p>\n\u003Cp>Поэтому оценку проводят матрицей: группы задач в строках, сочетания модели и обвязки в столбцах. Пример показывает структуру; значения условные.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Группа задач\u003C/th>\n\u003Cth>Модель A, своя обвязка\u003C/th>\n\u003Cth>Модель B, своя обвязка\u003C/th>\n\u003Cth>Модель A в хосте X\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Поиск\u003C/td>\n\u003Ctd>46 из 50 попыток\u003C/td>\n\u003Ctd>39 из 50 попыток\u003C/td>\n\u003Ctd>44 из 50 попыток\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Задачи без вызова инструмента\u003C/td>\n\u003Ctd>50 из 50 попыток\u003C/td>\n\u003Ctd>47 из 50 попыток\u003C/td>\n\u003Ctd>48 из 50 попыток\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Число попыток растёт с каждой осью: тридцать задач по пять попыток на четырёх сочетаниях - 600 попыток. Сочетания выбирают по моделям и хостам, с которыми работают пользователи сервера.\u003C/p>\n\u003Ch2 id=\"анализ-стенограмм\" class=\"wiki-heading\">Анализ стенограмм\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"анализ-стенограмм\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Числа показывают, что что-то не так; стенограммы показывают почему. Anthropic рекомендует читать рассуждения и обратную связь агента, а затем сырые вызовы инструментов и результаты: то, что агент упустил, может значить больше, чем то, что он сделал. По статье «Demystifying evals», оценкам не доверяют, пока не прочитаны стенограммы.\u003C/p>\n\u003Cp>В таблице - закономерности, описанные Anthropic, и изменения на стороне сервера, на которые они указывают.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Закономерность в стенограммах\u003C/th>\n\u003Cth>Вероятная причина\u003C/th>\n\u003Cth>Изменение на сервере\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Много повторных вызовов одного инструмента\u003C/td>\n\u003Ctd>Нет постраничной выдачи, фильтров или выбора диапазона\u003C/td>\n\u003Ctd>Добавить параметры, которые сужают результат\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Частые неверные аргументы\u003C/td>\n\u003Ctd>Неясное описание или названия параметров\u003C/td>\n\u003Ctd>Переписать описание, добавить примеры, переименовать параметры\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Цепочка низкоуровневых вызовов ради одной операции\u003C/td>\n\u003Ctd>Инструменты повторяют отдельные эндпоинты API\u003C/td>\n\u003Ctd>Добавить инструмент для всего сценария\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Модель путает инструменты разных серверов\u003C/td>\n\u003Ctd>Похожие имена без пространства имён\u003C/td>\n\u003Ctd>Группировать имена по сервису и ресурсу\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Модель плохо работает с непрозрачными идентификаторами\u003C/td>\n\u003Ctd>В результатах только технические ID\u003C/td>\n\u003Ctd>Возвращать понятные человеку названия рядом с ID\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Один из примеров в статье - инструмент веб-поиска Claude: модель без нужды дописывала «2025» в параметр \u003Ccode>query\u003C/code>, и это искажало результаты. Исправило это изменение описания инструмента.\u003C/p>\n\u003Cp>Сбой может вызвать и оценщик. В примере с CORE-Bench из статьи «Demystifying evals» Claude Opus 4.5 набирал 42 процента, пока не исправили ошибки проверки, и 95 процентов после; одна из ошибок отклоняла ответ «96.12» при эталоне «96.124991». Стенограммы неуспешных попыток отделяют ошибки агента от ошибок оценщика.\u003C/p>\n\u003Cp>Устройство инструментов и результатов, к которому ведут эти закономерности, описано в статьях \u003Ca href=\"/ru/wiki/mcp/mcp-tools\" class=\"wiki-link wiki-link--article\">Инструменты (tools) в MCP\u003C/a> и \u003Ca href=\"/ru/wiki/mcp/mcp-server-for-existing-api\" class=\"wiki-link wiki-link--article\">MCP-сервер поверх существующего API\u003C/a>.\u003C/p>\n\u003Ch2 id=\"отложенная-выборка\" class=\"wiki-heading\">Отложенная выборка\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"отложенная-выборка\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Настройка описаний на тех же задачах, которые измеряют результат, ведёт к переобучению: описания улучшаются для этих задач, а не в целом. Поэтому Anthropic держит отложенную выборку (held-out set), которую не используют, пока меняют инструменты.\u003C/p>\n\u003Cp>Статья «Demystifying evals» разделяет два назначения оценки:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Оценка возможностей\u003C/strong> (capability eval) отвечает на вопрос, что агент умеет делать хорошо. Её доля успеха начинается с низкой и оставляет место для роста.\u003C/li>\n\u003Cli>\u003Cstrong>Регрессионная оценка\u003C/strong> (regression eval) отвечает на вопрос, делает ли агент то, что делал раньше. Её доля успеха держится около 100 процентов.\u003C/li>\n\u003C/ul>\n\u003Cp>Задача оценки возможностей, которая стабильно проходит, переходит в регрессионный набор. Набор, где проходят все задачи, показывает только регрессии, а не улучшения; статья называет это насыщением. Повторный запуск оценки после изменений сервера описан в статье \u003Ca href=\"/ru/wiki/mcp/mcp-server-regression-testing\" class=\"wiki-link wiki-link--article\">Регрессионное тестирование MCP-сервера\u003C/a>.\u003C/p>\n\u003Ch2 id=\"малые-выборки\" class=\"wiki-heading\">Малые выборки\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"малые-выборки\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Наборы задач для MCP-серверов обычно небольшие. Статья Anthropic «A statistical approach to model evaluations» (19 ноября 2024) и сопровождающая её работа «Adding Error Bars to Evals» рекомендуют:\u003C/p>\n\u003Cul>\n\u003Cli>указывать при каждой оценке стандартную ошибку среднего; 95-процентный доверительный интервал - оценка плюс-минус 1,96 стандартной ошибки;\u003C/li>\n\u003Cli>кластеризовать стандартные ошибки, когда результаты не независимы, например при нескольких попытках одной задачи; по данным статьи, кластеризованные ошибки на популярных наборах могут быть больше наивных более чем в три раза;\u003C/li>\n\u003Cli>запускать несколько попыток на задачу и усреднять их;\u003C/li>\n\u003Cli>сравнивать две версии на одних и тех же задачах по парным разностям, что убирает разброс сложности задач;\u003C/li>\n\u003Cli>выбирать число задач с помощью анализа мощности.\u003C/li>\n\u003C/ul>\n\u003Cp>Для доли успехов p на n задачах стандартная ошибка равна квадратному корню из p(1 - p) / n. При 80 процентах на 20 задачах это около 8,9 процентного пункта, а 95-процентный интервал - около плюс-минус 17,5 пункта. На 20 задачах одна задача меняет долю на 5 пунктов, поэтому 80 процентов против 90 на таком наборе сами по себе не показывают, что одна версия лучше.\u003C/p>\n\u003Ch2 id=\"оценка-тестирование-соответствия-и-модульные-тесты\" class=\"wiki-heading\">Оценка, тестирование соответствия и модульные тесты\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"оценка-тестирование-соответствия-и-модульные-тесты\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Таблица сравнивает три вида проверок, которые часто запускают на одном сервере.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003C/th>\n\u003Cth>Модульные тесты\u003C/th>\n\u003Cth>Тестирование соответствия\u003C/th>\n\u003Cth>Оценка на моделях\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Что проверяется\u003C/td>\n\u003Ctd>Код обработчиков инструментов\u003C/td>\n\u003Ctd>Поведение сервера по протоколу\u003C/td>\n\u003Ctd>Выполнение задач моделью\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Детерминированность\u003C/td>\n\u003Ctd>Детерминированы\u003C/td>\n\u003Ctd>Детерминировано\u003C/td>\n\u003Ctd>Недетерминирована\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Результат\u003C/td>\n\u003Ctd>Прошёл или нет\u003C/td>\n\u003Ctd>Прошла или нет каждая проверка\u003C/td>\n\u003Ctd>Доли успешных попыток, метрики\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стоимость и время\u003C/td>\n\u003Ctd>Секунды, без модели\u003C/td>\n\u003Ctd>Секунды или минуты, без модели\u003C/td>\n\u003Ctd>Минуты или часы, расход ресурсов модели\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Когда запускается\u003C/td>\n\u003Ctd>При каждом изменении\u003C/td>\n\u003Ctd>При каждом изменении\u003C/td>\n\u003Ctd>При изменении инструментов и описаний, по расписанию\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Модульные тесты и тестирование соответствия отвечают, правилен ли сервер; оценка отвечает, может ли модель им пользоваться.\u003C/p>\n\u003Cp>Виды проверок не заменяют друг друга. Дефект кода быстрее и дешевле находит модульный тест, дефект протокола - тестирование соответствия. Поэтому оценку запускают после того, как детерминированные проверки прошли.\u003C/p>\n\u003Ch2 id=\"термины\" class=\"wiki-heading\">Термины\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"термины\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Термин\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Задача (task)\u003C/td>\n\u003Ctd>Отдельный тест с заданными входными данными и критериями успеха\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Попытка (trial)\u003C/td>\n\u003Ctd>Одно выполнение задачи; задачу запускают в нескольких попытках\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Оценщик (grader)\u003C/td>\n\u003Ctd>Логика, которая оценивает одну сторону попытки: точный ответ, проверка состояния, LLM-as-judge\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стенограмма (transcript)\u003C/td>\n\u003Ctd>Полная запись попытки: сообщения, вызовы инструментов, результаты, рассуждения\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Итоговое состояние (outcome)\u003C/td>\n\u003Ctd>Состояние окружения после попытки\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стенд оценки (evaluation harness)\u003C/td>\n\u003Ctd>Инфраструктура, которая запускает задачи, записывает шаги, проверяет и сводит результаты\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>pass@k\u003C/td>\n\u003Ctd>Вероятность, что успешна хотя бы одна из k попыток задачи\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>pass^k\u003C/td>\n\u003Ctd>Вероятность, что успешны все k попыток задачи\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Отложенная выборка (held-out set)\u003C/td>\n\u003Ctd>Задачи, которые не используют при настройке инструментов; они подтверждают результат после\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"источники\" class=\"wiki-heading\">Источники\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"источники\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://www.anthropic.com/engineering/writing-tools-for-agents\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Writing effective tools for agents, Anthropic, 11 сентября 2025\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Demystifying evals for AI agents, Anthropic, 9 января 2026\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.anthropic.com/research/statistical-approach-to-model-evals\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">A statistical approach to model evaluations, Anthropic, 19 ноября 2024\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://arxiv.org/abs/2411.00640\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Adding Error Bars to Evals: A Statistical Approach to Language Model Evaluations, E. Miller, arXiv:2411.00640\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://arxiv.org/abs/2107.03374\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Evaluating Large Language Models Trained on Code, M. Chen и соавторы, arXiv:2107.03374\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://arxiv.org/abs/2406.12045\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains, S. Yao и соавторы, arXiv:2406.12045\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/anthropics/skills/blob/main/skills/mcp-builder/reference/evaluation.md\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">MCP Server Evaluation Guide, скил mcp-builder, anthropics/skills, GitHub\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/specification/2026-07-28/server/tools\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Tools, спецификация 2026-07-28\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/specification/2026-07-28/server/discover\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Discovery, спецификация 2026-07-28\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003C/ul>\n",[10,14,17,20,23,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69],{"id":11,"level":12,"text":13},"кратко",2,"Кратко",{"id":15,"level":12,"text":16},"какую-задачу-решает","Какую задачу решает",{"id":18,"level":12,"text":19},"из-чего-состоит-оценка","Из чего состоит оценка",{"id":21,"level":12,"text":22},"задачи","Задачи",{"id":24,"level":25,"text":26},"какой-должна-быть-задача",3,"Какой должна быть задача",{"id":28,"level":25,"text":29},"проверяемый-результат","Проверяемый результат",{"id":31,"level":25,"text":32},"описание-задачи","Описание задачи",{"id":34,"level":12,"text":35},"запуск-оценки","Запуск оценки",{"id":37,"level":25,"text":38},"агентный-цикл","Агентный цикл",{"id":40,"level":25,"text":41},"изолированные-попытки","Изолированные попытки",{"id":43,"level":25,"text":44},"запись-результата","Запись результата",{"id":46,"level":12,"text":47},"повторные-попытки-и-доли-успеха","Повторные попытки и доли успеха",{"id":49,"level":12,"text":50},"метрики","Метрики",{"id":52,"level":12,"text":53},"матрица-моделей-и-хостов","Матрица моделей и хостов",{"id":55,"level":12,"text":56},"анализ-стенограмм","Анализ стенограмм",{"id":58,"level":12,"text":59},"отложенная-выборка","Отложенная выборка",{"id":61,"level":12,"text":62},"малые-выборки","Малые выборки",{"id":64,"level":12,"text":65},"оценка-тестирование-соответствия-и-модульные-тесты","Оценка, тестирование соответствия и модульные тесты",{"id":67,"level":12,"text":68},"термины","Термины",{"id":70,"level":12,"text":71},"источники","Источники",2315,1793718889797]