Создание автономного терминального агента на Emacs Lisp с использованием локальных LLM

Источник
Мастерим суверенного терминального агента из Opencode с помощью Opencode

В рамках эксперимента, проведенного с конца апреля по конец октября 2026 года, была разработана автономная терминальная среда для разработки программного обеспечения, не зависящая от внешних сервисов. Исходной базой для проекта стал проект Opencode, который был перенесен с языка Go на Emacs Lisp. Выбор языка программирования обусловлен открытостью исходного кода Emacs, возможностью расширения функционала через встроенные библиотеки и наличием активного сообщества. Для защиты пользовательских данных все процессы, включая работу агента и генерацию кода, осуществлялись внутри изолированных Docker-контейнеров.

В ходе тестирования были опробованы различные локальные модели из семейств minimax, deepseek, mimo, glm и nemotron. В качестве хранилища сессий и артефактов разработки была выбрана платформа Apache Jena Fuseki с поддержкой OWL/RDF и SPARQL, что позволяет организовать федеративные запросы и обмен информацией между агентами в распределенной сети. Типовой сценарий работы прототипа, прошедший более 500 итераций и 2000 задач, включает анализ запроса пользователя, генерацию наброска кода, формирование спецификаций и требований, рефакторинг с учетом этих данных, написание и прогон тестов, а также автоматическую корректировку кода при обнаружении ошибок.

Особое внимание уделено проблеме генерации корректного кода на Emacs Lisp, который синтаксически представляет собой вложенные списки. Трансформерные модели часто допускают ошибки в расстановке скобок, что требует дополнительных итераций для исправления. В качестве наиболее эффективной модели для прототипа была выбрана ministral-3:8b, поддерживающая контекст 32К и демонстрирующая высокую скорость работы на видеокарте RTX3060 12Gb. На данный момент прототип состоит из нескольких модулей на Emacs Lisp общим объемом около 22 тысяч строк кода и требует для работы локального API Ollama и базы данных Apache Jena Fuseki с загруженными онтологиями процессов.

Текст подготовлен нейросетью Loople по материалам источника.

Читайте также

Похожие новости

Поиск по Loople

Назад