Autolith: саморефлексивный терминальный агент на Common Lisp

Autolith — это саморефлексивный инструмент на базе Common Lisp, который действует как терминальный агент, способный к саморефлексии и модификации. Он может адаптироваться под предпочтения пользователя и выполнять задачи, изменяя свой код и состояние в реальном времени.

Проект предоставляет возможность создавать поколения образа, что позволяет откатываться к более стабильным версиям. Несмотря на то, что это может показаться рискованным, Autolith включает механизм восстановления, который предотвращает серьезные сбои. В отличие от традиционных сред программирования, он предлагает высокий уровень интерактивности и визуализации, приближаясь к функционалу Lisp-машины.

Autolith работает на Linux, MacOS, FreeBSD, NetBSD, OpenBSD и Windows (последнее — только из исходников). Установка возможна через бинарные релизы или с использованием Nix. Будь внимателен: проект активно развивается, и лучше проверять команды установки в руководстве.

Autolith (или AL) — это терминальный агент, работающий внутри живого образа Common Lisp. Проект позволяет агенту наблюдать за собой, модифицировать свой код, а также исследовать свое текущее состояние и выполняемые задачи. Это дает Autolith возможность адаптироваться к предпочтениям пользователя или требованиям конкретной задачи. Несмотря на возможность модификации, Autolith создает поколения своего образа, что позволяет откатываться к предыдущим состояниям. В случае серьезной проблемы (например, сбоя) он может загрузить резервный образ и диагностировать произошедшее.

Проект ориентирован на хорошую эргономику и визуализацию, соответствует стандартам XDG и минимально вмешивается в рабочий процесс. Autolith не является "маленьким игровым движком", но он близок к концепции Lisp-машины.

Установка и запуск

Autolith поддерживает Linux, MacOS и BSD через независимые бинарные релизы и Nix. На Windows можно запустить его из исходного кода. Для установки или обновления можно использовать скрипт установки:

curl -fsSL https://sh.lambda-symbolics.com/autolith | sh

Также можно запустить Autolith с помощью Nix:

nix run github:lambda-symbolics/autolith

Если ты предпочитаешь собирать из исходников, следуй подробной инструкции в руководстве. Чтобы запустить Autolith, просто введи:

autolith

Основные функции

  • Фуллскрин режим: По умолчанию Autolith работает в инлайн-режиме. Для запуска в полноэкранном режиме используй флаг --fullscreen.
  • Интерактивный REPL: Ввод сообщений выполняется через REPL, что позволяет использовать привычный синтаксис языка Lisp.
  • Инструменты для саморефлексии: Autolith предлагает набор инструментов для самонаблюдения и модификации в реальном времени, позволяя избегать проблем при изменениях.
  • Рекурсивные выводы: Autolith может обрабатывать большие объемы ввода, не затрагивая основное взаимодействие пользователя, что обеспечивает более безопасное извлечение данных.
  • Состояние и восстановление: Проект использует файлы, доступные для чтения, которые сохраняют все сообщения для восстановления после сбоев.

Ограничения

Несмотря на широкий функционал, Autolith все еще зависит от контекста и может ограничиваться доступными ресурсами, поэтому для выполнения запросов требуется соблюдать условия бюджета. При необходимости можно восстановить пропущенные сообщения и взаимодействия через внутреннюю "сокровищницу", но повторная отправка не производится автоматически, чтобы можно было диагностировать проблему перед возобновлением работы.

Лицензия

Проект Autolith распространяется под лицензией ISC. Для получения подробной информации об условиях лицензирования можно ознакомиться с файлом LICENSE в репозитории.

Открыть на GitHub: lambda-symbolics/autolith →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте