Интеграция

ИИ-агенты и MCP

Один загружаемый файл, который учит ассистента писать корректный код на Топазе, и сервер MCP для ассистентов, умеющих ещё и проверить написанное.

Результат: вы направите на этот язык ассистента, который умеет получить URL или запускать инструменты.

Что нужно знать: для первого раздела ничего. Серверу MCP нужен инструментарий, установленный так, как описано в разделе Первая программа.

Начните с одного запроса

Для ассистента, который может получить URL, но не имеет настроенных инструментов, самый доступный общий интерфейс — один самодостаточный файл.

https://topaz.ooo/agents.md

В нём есть строение файла, формы, граница хоста и профиля продукта, а также особенно важный для модели, уже знающей другие языки, перечень несуществующих форм. Он предостерегает от Vec<T>, async, try, синтаксиса классов и использования null как универсального отсутствия, сохраняя при этом поддерживаемую форму границы данных T | null. Такие явные различия не дают уверенной догадке превратиться в неверный исходный код.

Рядом с ним есть ещё две машинные поверхности. https://topaz.ooo/llms.txt содержит указатель всех актуальных страниц, а https://topaz.ooo/version.json сообщает, какая версия отвечает.

Если вы настраиваете ассистента для кого-то другого, выдать ему этот один URL и есть вся настройка.

Какую задачу решают инструменты

Загрузка файла приводит ассистента к правильным формам. Она не говорит, компилируется ли на самом деле программа, которую он только что написал.

Ассистент, пишущий на незнакомом языке, делает одно из двух. Либо читает документацию и угадывает, либо пишет, получает точное указание на ошибку и исправляет её. Второй цикл даёт работающий код даже при скудной документации. Первый даёт уверенный текст, который не компилируется. Один только справочник оставляет ассистента в первом цикле. Проверяющий инструмент переводит его во второй.

Четыре инструмента

ИнструментНа какой вопрос отвечает
topaz_specКакова точная форма для этой части языка?
topaz_examplesПокажи проверенный код для этого понятия.
topaz_checkПравильно ли то, что я только что написал, и если нет, то где именно?
topaz_runЧто оно на самом деле печатает?

Именно topaz_check задуман как инструмент, меняющий результат. Планируемый сервер возвращает собственную диагностику компилятора, её код и позицию в исходном коде без изменений. Ассистент сможет исправлять результат по точным данным, а не по пересказу.

Что необходимо изолировать при выполнении

Топаз направляет наблюдаемые эффекты через границу хоста или профиля продукта. Это упрощает создание хоста без возможностей, но не превращает обычный нативный CLI в песочницу: нативное выполнение может предоставлять файловые операции и ввод-вывод.

Поэтому планируемый topaz_run обязан иметь два независимых барьера. Он использует проверенный хост Топаза без возможностей и запускается в песочнице операционной системы, которая запрещает сеть и дочерние процессы и открывает только временный присланный исходник. Обычный неограниченный topaz run не подходит в качестве серверной границы.

Изоляция сама по себе не ограничивает ресурсы. Присланная программа может крутиться, выделять память или печатать без конца, поэтому каждому запуску нужны пределы реального времени, памяти и вывода, а после него не должно оставаться дочерних процессов.

Проект также требует не сохранять и не журналировать присланный исходный код и не оставлять состояние между вызовами. Это условия приёмки реализации, а не утверждение о уже существующем сервере.

Дескриптор для машинного чтения

Клиенты и поисковые роботы могут прочитать описание сервера напрямую.

https://topaz.ooo/mcp.json

Там в структурированном виде перечислены планируемые инструменты, их входные данные, версия языка и обязательные границы безопасности. После выпуска список инструментов сервера должен совпадать с дескриптором. Дескриптор, расходящийся со своим сервером, хуже, чем его отсутствие.

Текущее состояние

Дескриптор опубликован со значением "status": "planned", а сам сервер пока не поставлен. Для выпуска упакованный сервер должен пройти проверки изоляции и ограничений ресурсов, а также проверку удобства: ассистент без прежнего знакомства с языком, получив только сервер, со второй попытки проверяет и запускает небольшую программу. После этого статус изменится, а на странице появится блок настройки клиента.

Готовы двигаться дальше, если

Вы можете сказать, на какой вопрос отвечает каждый из четырёх планируемых инструментов, и объяснить, почему для выполнения нужны и граница хоста языка, и независимая изоляция операционной системы и ресурсов.

О том, до чего программа может и не может дотянуться, читайте в разделе Границы интеграции. Формы, которые будет искать ассистент, собраны в разделе Краткий обзор синтаксиса.