Skillscript: декларативный язык для детерминированного управления ИИ-агентами
Hacker News · оригинал
Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Разработчик Скотт представил Skillscript — минималистичный язык, позволяющий фиксировать процедуры для локальных ИИ-агентов в виде читаемых файлов. Инструмент призван решить проблему нестабильности поведения моделей и снизить затраты на токены при выполнении рутинных задач.
Проект предлагает альтернативу традиционному промптингу, переводя взаимодействие с ИИ из плоскости вероятностных инструкций в плоскость детерминированного программирования. Это может повысить надежность автономных агентов и снизить риски при работе с локальными моделями.
В экосистеме локальных ИИ-агентов сохраняется фундаментальная проблема: даже при наличии четких целей модели часто «забывают» или искажают порядок действий, пересчитывая логику заново в каждой сессии. Разработчик Скотт, автор проекта Skillscript, столкнулся с этой ситуацией, пытаясь настроить своего агента NanoClaw на ежедневное выполнение утреннего брифинга: проверку тикетов, анализ пайплайна деплоя и выделение срочных задач. Несмотря на то что процедура была фиксированной, модель каждый раз тратила токены на «размышление» о том, как именно ее выполнить, что приводило к дрейфу поведения и непредсказуемым затратам ресурсов.
Существующие подходы, такие как использование системных промптов или файлов навыков в формате Markdown, не решали проблему полностью. Эти методы остаются инструкциями, которые модель интерпретирует и «думает» над ними каждый раз. Скотт искал способ передать модели конкретную программу для исполнения, а не набор рекомендаций для анализа. Дополнительным стимулом стала необходимость эффективно использовать малые локальные модели: они способны выполнять простые задачи, но склонны «заблудиться», если им предоставить полную свободу действий без жесткой структуры.
Skillscript представляет собой декларативный язык, в котором программа отделена от интерпретатора. Файл скрипта содержит именованные шаги, переменные, условия и вызовы внешних инструментов, таких как MCP-коннекторы, локальные модели или команды оболочки из белого списка оператора. Ключевой особенностью является принцип «ограниченной сложности»: в языке намеренно отсутствуют механизмы, способные привести к нежелательным последствиям, такие как eval, произвольный импорт библиотек, запуск подпроцессов или неограниченные циклы. Все возможности скрипта прозрачны и видны непосредственно в тексте файла, что позволяет пользователю точно понимать, какие действия будут выполнены.
Архитектурно проект позиционируется как MCP-native (нативно поддерживающий Model Context Protocol) и предназначен для self-hosted развёртывания. Текущая версия 0.30 считается пред-релизной (pre-1.0). Автор честно указывает на существующие недостатки: настройка при первом запуске требует больше шагов, чем хотелось бы, синтаксис языка еще претерпевает изменения, а интеграция с локальными моделями в данный момент жестко завязана на Ollama. Несмотря на это, разработчик утверждает, что использует инструмент ежедневно, хотя и не считает его полностью готовым к промышленному применению.
Философия Skillscript строится на концепции, где модель выступает в роли рантайма (среды выполнения), а скрипт — как программа. Это позволяет использовать передовые модели или человека для написания сложных процедур, которые затем безопасно исполняются более дешевыми локальными моделями. Такой подход смещает фокус с надежды на «правильное» поведение ИИ на верифицируемость кода. Скотт открыт к критике со стороны сообщества, особенно в вопросах дизайна языка (достаточно ли он минималистичен) и модели доверия к навыкам, созданным самими агентами.
Проект доступен для скачивания через npm-пакет skillscript-runtime, а документация размещена на отдельном сайте. Для тех, кто ищет способы сделать работу с локальными LLM более предсказуемой и экономичной, Skillscript предлагает интересный компромисс между гибкостью промптинга и строгостью классического программирования.