Профессор Мичиганского университета Джейсон Марс представил Jac для ИИ-агентов — Python-подобный язык и среду выполнения Jaseci, которые пытаются заменить привычную связку из нескольких языков, библиотек и оркестраторов. Идея амбициозна: дать агентам единый слой разработки с доступом к экосистемам Python и JavaScript, а командам — меньше дорогих переводов кода между несовместимыми стеками.
О проекте, который Марс показал на конференции All Things Open в Роли, сообщает The Register. По его версии, проблема агентной разработки не в том, что модели не умеют писать код, а в том, что им приходится разбираться в инструментах, изначально созданных для людей: отдельных языках, пакетных менеджерах, сборщиках, API и форматах данных.
В качестве показательного антипримера Марс привёл историю Джарреда Самнера, создателя Bun. По данным, озвученным на конференции, на перевод кода Bun с Zig на Rust с помощью предрелизной версии Mythos ушло около 165 тыс. долларов в токенах Anthropic. Марс не утверждает, что сам переход между Zig и Rust был технически невозможен. Его тезис проще и неприятнее: агенту приходится оплачивать вычислениями каждую человеческую границу между языками, типами, инструментами и соглашениями проекта.
Jac пытается убрать часть этих границ. Синтаксис языка близок к Python, но среда заявляет интеграцию с рантаймами и инструментами Python и TypeScript. Код Jac может компилироваться в байткод Python, JavaScript и нативный машинный код; разработчик получает доступ к библиотекам из PyPI и npm. Через LLVM проект также задействует подходы Rust к владению данными и заимствованиям, а заодно может подключать библиотеки на C и C++. Java в этот список пока не входит: Марс прямо предупредил, что тем, кому критичен Java-стек, Jac не подходит.
Есть и корпоративная уступка, без которой любой «новый универсальный язык» быстро упирается в архитектурный комитет. В Jac предусмотрена функция eject: она должна преобразовывать код Jac обратно в TypeScript, Python или C. Это не отменяет вопросов к качеству такого кода и поддержке после обратного преобразования, но делает проект интереснее для компаний, где исходники должны проходить аудит, жить в утверждённом стеке и обслуживаться командами без желания мигрировать на новый язык ради красивой демо-сессии.
Второй ключевой элемент Jac для ИИ-агентов — графовая модель данных. Вместо того чтобы собирать состояние из таблиц, JSON-документов, объектных моделей и очередных адаптеров, разработчик описывает сущности как узлы, а связи — как рёбра. По графу перемещаются «ходоки» — исполняемые сущности, которые могут обрабатывать данные на месте. Несколько таких ходоков способны идти по разным веткам одновременно. Марс считает, что это снижает количество операций по извлечению, преобразованию и повторной упаковке контекста для модели, а параллельное прохождение графа даёт естественный выигрыш в скорости.
На конференции разработчик сравнил Jac с LangGraph — популярным подходом к оркестрации агентов на Python. Он попросил агента собрать на обеих платформах аналог Greptile, сервиса для проверки кода с помощью ИИ. В демонстрации Jac позволил получить многоэтапное приложение с параллельными вызовами инструментов, тогда как вариант на LangGraph оказался линейной машиной состояний. Это не независимый бенчмарк и не повод списывать LangGraph со счетов: постановка задачи, модель, промпты и набор инструментов заметно влияют на результат. Но эксперимент хорошо иллюстрирует главный аргумент Марса: архитектура среды ограничивает агента не меньше, чем сама модель.
Для российских команд проект интересен не как срочная замена Python, а как проверка гипотезы о будущем агентных платформ. Если агентам действительно нужен доступ к нескольким экосистемам, памяти, графу задач и параллельным инструментам, то бесконечное наращивание обвязки вокруг LLM станет всё дороже. Jac уже применяется в нескольких небольших ИИ-сервисах, включая платформу GraphClaw, планировщик Skooch и сервис персональной памяти Tobu. Открытый вопрос — захотят ли разработчики доверить одному языку и бизнес-логику, и работу с данными, и агентную оркестрацию, или мультиъязычный стек всё же окажется менее элегантным, но более живучим.
